EDA Workload Scheduling with Dynamic Job Dependency Discovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing environments face challenges in managing dynamic job dependencies and resource allocation for Electronic Design Automation (EDA) workloads, leading to inefficiencies such as peak resource loads and idle times due to unknown job dependencies and varying resource requirements.
Innovation Solution
A processor-implemented method using a Graph Explorer tool to discover and record job dependencies, generate job packing schedules, and optimize resource utilization by creating a Directed Acyclic Graph (DAG) of jobs, which includes profiling CPU, memory, and I/O usage to schedule EDA jobs efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If traditional cloud computing environments manage EDA workloads without dynamic job dependency discovery, then implementation complexity is reduced, but resource utilization deteriorates due to peak resource loads and idle times
Solution Approach 1:
The system performs preliminary action by discovering and recording job dependencies before scheduling EDA workloads. The Graph Explorer tool proactively builds a Directed Acyclic Graph (DAG) representing job dependencies and resource requirements in advance, enabling the scheduler to optimize resource allocation and avoid peak loads and idle times before they occur.
2Productivity
If job dependencies are discovered and recorded using a Graph Explorer tool, then resource utilization is improved, but computational overhead increases
Solution Approach 1:
The system performs preliminary action by discovering and recording job dependencies before scheduling EDA workloads. The Graph Explorer tool proactively builds a Directed Acyclic Graph (DAG) representing job dependencies and resource requirements in advance, enabling the scheduler to optimize resource allocation and avoid peak loads and idle times before they occur.
3Measurement precision
If a Directed Acyclic Graph (DAG) is created to represent job dependencies, then scheduling accuracy is improved, but system complexity increases
Solution Approach 1:
The system applies segmentation by breaking down the complex scheduling problem into manageable components. The job dependency structure is segmented into a Directed Acyclic Graph (DAG) where individual nodes represent jobs and edges represent dependencies. This segmentation enables precise scheduling decisions while keeping the overall system manageable through modular representation.
Solution Approach 2:
The system performs preliminary action by discovering and recording job dependencies before scheduling EDA workloads. The Graph Explorer tool proactively builds a Directed Acyclic Graph (DAG) representing job dependencies and resource requirements in advance, enabling the scheduler to optimize resource allocation and avoid peak loads and idle times before they occur.
4Loss of time
If job packing schedules are generated based on discovered dependencies, then turnaround time is reduced, but computational processing time increases
Solution Approach 1:
The system performs preliminary action by discovering and recording job dependencies before scheduling EDA workloads. The Graph Explorer tool proactively builds a Directed Acyclic Graph (DAG) representing job dependencies and resource requirements in advance, enabling the scheduler to optimize resource allocation and avoid peak loads and idle times before they occur.
Data Source
AI summary
Systems and methods to receive a computing job from an Electronic Design Automation (EDA) software application, and dynamically determine at least one precedence or successor job constraint for the received computing job, are described herein. Further, an edge inference algorithm is used to determine edges of a Dynamic Acyclic Graph (DAG) representing the EDA software application computing jobs, along with jobs that are dependent on the received computing job. In this way, job dependencies are discovered and scheduled dynamically, reducing turnaround time, and increasing efficiency of computing resources.


