Elastic CPU for Physical Verification Jobs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing complexity of integrated circuit (IC) designs and the unpredictability of design rule interactions pose challenges in determining the optimal allocation of computing resources for physical verification, leading to either prolonged runtime or wasteful resource usage.
Innovation Solution
An automatic elastic CPU system that dynamically allocates and releases computing resources based on a dependency graph, adding resources when needed and releasing idle resources to optimize runtime and resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more computing resources are allocated to physical verification jobs, then the runtime is reduced, but resource waste increases when resources remain idle
Solution Approach 1:
The system dynamically adjusts the number of CPUs allocated to physical verification jobs based on real-time queue depth and estimated processing time. The elastic CPU feature automatically adds or removes computing resources during job execution, transforming the static resource allocation into a dynamic system that adapts to changing workloads, thereby reducing both runtime and resource waste
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring the queue depth, estimated time to complete queued commands, and actual resource utilization. This feedback loop enables the automatic elastic CPU feature to make informed decisions about resource allocation, adding resources when queue depth indicates backlog and removing resources when utilization is low, thus optimizing the trade-off between runtime and resource waste
2Reliability
If computing resources are increased to handle complex design rules, then verification completeness improves, but resource utilization efficiency deteriorates
Solution Approach 1:
The system dynamically scales computing resources based on the actual verification workload and queue depth rather than allocating fixed resources for all scenarios. This dynamic approach ensures sufficient resources are available for complex design rule verification while avoiding over-provisioning that would reduce utilization efficiency
Solution Approach 2:
The system changes the parameter of CPU allocation based on workload characteristics, queue depth, and estimated processing times. By adjusting this key parameter dynamically, the system maintains verification completeness for complex designs while optimizing resource utilization efficiency through data-driven allocation decisions
Data Source
AI summary
Disclosed herein are a method, a system, and a computer-readable storage-medium embodiments of automatic elastic CPU for a physical verification job. An embodiment includes generating multiple commands for a physical verification job of a design. The multiple commands are related by a dependency graph. The embodiment further includes allocating an initial amount of computing resources to execute the multiple commands, queuing a subset of the multiple commands for execution based on the dependency graph, adding an estimated amount of computing resources to the initial amount based on the number of the queued subset of commands and an estimated time to complete the queued subset of commands, and releasing a portion of the estimated amount of computing resources in response to the portion of the estimated amount of computing resources being idle for an amount of time greater than a target time.


