Proxying Computing Resources Across EDA Process Invocations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic design automation (EDA) applications face inefficiencies due to separate resource reservations and allocations for distinct EDA tools and processes, leading to increased execution latency and reduced efficiency during multiple invocations.
Innovation Solution
Implementing a system with a resource acquisition engine and a resource provision engine that acquires and proxies a common set of computing resources across multiple EDA processes, allowing sharing of resources without releasing them between invocations, thereby reducing the need for separate resource requests and improving execution efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If separate resource reservations are made for each EDA process invocation, then resource allocation is simple and straightforward, but execution latency increases and efficiency decreases
Solution Approach 1:
The system performs preliminary resource acquisition for the entire application flow before individual EDA processes are invoked. The resource acquisition engine secures computing resources in advance, and the resource provision engine maintains these resources across multiple invocations, eliminating the need for repeated resource requests and reducing execution latency.
Solution Approach 2:
The patent implements continuous resource provisioning across multiple EDA process invocations. Instead of releasing and re-acquiring resources between each invocation, the system maintains the resource allocation continuously, allowing EDA processes to execute back-to-back without interruption or resource acquisition overhead, thereby improving productivity and reducing time loss.
2Loss of time
If computing resources are released after each EDA process completion, then resource management is simple, but resource acquisition time increases for subsequent invocations
Solution Approach 1:
The resource provision engine serves multiple functions: it manages resource allocation for the first EDA process, maintains resources after completion, proxies resources to subsequent invocations, and coordinates resource release only when the entire application flow is complete. This multi-functional approach consolidates resource management tasks, reducing acquisition time without proportionally increasing complexity.
Solution Approach 2:
The resource provision engine acts as an intermediary between the resource acquisition engine and multiple EDA process invocations. It receives resources from the acquisition engine, holds them during process execution, and proxies them to subsequent invocations without requiring direct re-acquisition. This intermediary layer abstracts the complexity of resource management while minimizing acquisition time for each invocation.
3Productivity
If resources are proxied across multiple invocations, then execution efficiency improves, but resource provisioning complexity increases
Solution Approach 1:
The resource provisioning system is segmented into two distinct components: the resource acquisition engine that handles resource securation, and the resource provision engine that handles resource maintenance and proxying across invocations. This segmentation distributes complexity across specialized modules, making the overall system more manageable while enabling efficient resource proxying that improves workflow execution.
Data Source
AI summary
A system may include a resource acquisition engine configured to acquire a set of computing resources for execution of an application flow comprising multiple invocations to an EDA application. The system may also include a resource provision engine configured to provide the set of computing resources for execution of a first EDA process of the EDA application launched by a first invocation in the application flow and identify a second invocation subsequent to the first invocation in the application flow, the second invocation to launch a second EDA process of the EDA application. The resource provision engine may be further configured to, without releasing the set of computing resources provided to the first EDA process, proxy the set of computing resources into a proxied set of computing resources and provide the proxied set of computing resources for execution of the second EDA process of the EDA application.


