Distributed Engine Attribute Queries With Lookahead Data Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed static timing analysis (DSTA) systems face inefficiencies in handling large numbers of attribute queries due to high setup times and memory overhead, particularly in iterative loops, which can lead to slow performance and scalability issues with existing distributed architectures.
Innovation Solution
Implement a lookahead scan to gather attribute data in chunks, using a shared storage server to store and retrieve information efficiently, minimizing memory requirements and reducing the number of fetch operations, and maintaining minimal changes to user scripts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If distributed architecture is used to handle large circuit designs, then scalability and ability to handle large designs are improved, but setup time and query performance deteriorate
Solution Approach 1:
The system performs a lookahead scan of the circuit design file before executing the iterative loop to pre-extract and store attribute information that will be needed during query execution. This preliminary action eliminates the need to fetch attribute data during the iterative loop, significantly reducing setup time and query performance degradation in distributed architecture
Solution Approach 2:
The circuit design is divided into multiple partitions that can be processed independently across distributed machines. Each partition's attribute information is extracted and stored separately, allowing parallel processing while maintaining the ability to handle large designs that exceed single-machine capacity
2Measurement precision
If attribute information is fetched during iterative loop execution, then query accuracy is maintained, but runtime performance and productivity deteriorate
Solution Approach 1:
Attribute information is extracted and stored in a lookup table before the iterative loop executes. The lookahead scan identifies all attributes that will be queried and pre-loads them into memory, ensuring accurate query results while eliminating the performance penalty of repeated data fetching during iteration
Solution Approach 2:
The system creates a copy of the necessary attribute information from the circuit design file and stores it in a separate lookup structure. This copy can be quickly accessed during the iterative loop without requiring repeated access to the original design file, maintaining query accuracy while dramatically improving runtime performance
3Adaptability or versatility
If distributed architecture with frequent data fetching is used, then comprehensive attribute querying is achieved, but memory overhead and device complexity increase
Solution Approach 1:
The system performs a preliminary scan to identify all attributes that will be queried and pre-loads only those specific attributes into memory in a structured lookup format. This selective pre-loading reduces memory overhead compared to loading all possible attributes, while still enabling comprehensive querying of the needed attributes without repeated fetching
Solution Approach 2:
A lookup table or cache structure serves as an intermediary between the distributed storage system and the iterative loop. This intermediary layer stores attribute information in an optimized format that allows fast retrieval during queries, reducing the complexity of direct access to distributed storage while maintaining comprehensive querying capability
Data Source
AI summary
A method, a system, and a non-transitory computer readable medium are provided. The method includes performing, by one or more computing devices, a lookahead scan of a file of a circuit design to extract information associated with a query in an iterative loop, performing an action to retrieve attribute information from one or more partitions of the circuit design before executing the iterative loop, and querying the iterative loop using the stored attribute information. The action stores the attribute information based on the extracted information.


