Circuit Design Tool Resource Allocation via ML Runtime Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Design tools face challenges in reducing the runtime of circuit design implementation flows, especially when computing resources are insufficient to execute multi-process flows for all designs concurrently, leading to prolonged overall processing times.

Innovation Solution

A method using machine learning classification models to predict the runtime of circuit design implementation flows, allowing design tools to selectively choose between single-process and multi-process flows based on predicted runtime durations, thereby efficiently allocating resources by assigning processes to designs with shorter or longer runtimes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of moving object

If multi-process flow is used to process all circuit designs, then the runtime for each design is reduced, but the computing resources required increase beyond available capacity

Engineering Contradiction:
ImproveruntimeVSAvoidcomputing resources
Core Design Contradiction:
Duration of action of moving objectVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating the processing approach based on individual design characteristics. A classification model evaluates features of each circuit design (such as complexity, size, and architecture) to determine whether it should be processed using single-process or multi-process flow. This ensures that computing resources are allocated locally to designs that need them most, rather than uniformly applying multi-process to all designs.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of process allocation based on predicted runtime characteristics. By using a classification model to predict whether a design will have short or long runtime, the system dynamically adjusts the processing mode parameter - assigning multi-process flow to designs with long predicted runtimes and single-process flow to designs with short predicted runtimes. This parameter change optimizes resource utilization while maintaining runtime reduction where beneficial.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If computing resources are allocated to all designs using multi-process flow, then processing capacity is maximized, but the total time to complete all implementations increases due to resource contention

Engineering Contradiction:
Improveprocessing capacityVSAvoidtotal implementation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by evaluating circuit design features before executing the implementation flow to predict runtime characteristics. The classification model is trained on historical data to预先 identify which designs are likely to have long runtimes and benefit from multi-process flow. This preliminary classification allows the system to prepare and allocate resources in advance, avoiding resource contention and optimizing the overall schedule.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback by using the classification model's predictions to guide resource allocation decisions. The model continuously refines its predictions based on the actual runtime performance of previously processed designs, allowing the feedback loop to improve accuracy over time. This feedback mechanism ensures that resource allocation strategies adapt to changing workloads and design characteristics, optimizing total completion time.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If single-process flow is used for all designs, then computing resource consumption is minimized, but the runtime for designs with long processing times increases significantly

Engineering Contradiction:
Improvecomputing resourcesVSAvoidruntime
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The patent applies local quality by differentiating the processing approach based on individual design characteristics. A classification model evaluates features of each circuit design (such as complexity, size, and architecture) to determine whether it should be processed using single-process or multi-process flow. This ensures that computing resources are allocated locally to designs that need them most, rather than uniformly applying multi-process to all designs.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of process allocation based on predicted runtime characteristics. By using a classification model to predict whether a design will have short or long runtime, the system dynamically adjusts the processing mode parameter - assigning multi-process flow to designs with long predicted runtimes and single-process flow to designs with short predicted runtimes. This parameter change optimizes resource utilization while maintaining runtime reduction where beneficial.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12019964B1Optimizing use of computer resources in implementing circuit designs through machine learning
Publication Date: 2024.06.25 XILINX INC
  • US12019964B1 patent drawing
  • US12019964B1 patent drawing
  • US12019964B1 patent drawing

AI summary

Methods and systems for selecting between single-process and multi-process implementation flows involve identifying features of a circuit design by a design tool. A classification model is applied to the features. The classification model indicates whether an implementation flow on the circuit design is likely to have a runtime within a first range of runtimes or a runtime within a second range of runtimes. The implementation flow is executed by the design tool in a single process in response to the classification model indicating the implementation flow on the circuit design is likely to have a runtime within the first range of runtimes. The implementation flow is executed by the design tool in a plurality of processes in response to the classification model indicating the implementation flow on the circuit design is likely to have a runtime within the second range of runtimes.