Proxying Computing Resources Across EDA Process Invocations

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveEDA process execution efficiencyVSAvoidExecution latency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

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

Engineering Contradiction:
ImproveResource acquisition timeVSAvoidResource management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If resources are proxied across multiple invocations, then execution efficiency improves, but resource provisioning complexity increases

Engineering Contradiction:
ImproveWorkflow execution efficiencyVSAvoidResource provisioning system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11294729B2Resource provisioning for multiple invocations to an electronic design automation application
Publication Date: 2022.04.05 SIEMENS INDUSTRY SOFTWARE INC
  • US11294729B2 patent drawing
  • US11294729B2 patent drawing
  • US11294729B2 patent drawing

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.