Nested Hash Map Memory Optimization in EDA Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nested hash maps in electronic design automation (EDA) systems face memory optimization challenges due to exponential growth in memory usage with increasing object levels, leading to performance issues and potential memory exhaustion.
Innovation Solution
Implementing a shared memory structure using templatized shared pointers to reduce duplicate data storage, where each level of the hash map stores a pointer to the previous level, rather than duplicating data, thereby reducing memory footprint and computational resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional nested hash maps are used to store objects in EDA systems, then the system can handle increasing design complexity, but memory usage grows exponentially leading to memory exhaustion
Solution Approach 1:
The patent implements a nested hash map structure where hash maps are organized in multiple levels, with each level containing hash maps that map to shared pointers pointing to lower levels. This nested structure allows efficient organization of complex design data while reducing redundant storage through shared references across levels.
Solution Approach 2:
The patent uses shared pointers to create references to hash maps at lower levels rather than duplicating entire data structures. When the same hash map is needed at multiple upper levels, shared pointers enable efficient referencing without copying, significantly reducing memory consumption while maintaining data accessibility.
2Quantity of substance
If shared pointers are used to reduce memory footprint, then memory efficiency improves, but reference count management complexity increases
Solution Approach 1:
The shared pointer implementation includes automatic reference count management where the system self-adjusts reference counts when hash maps are added to or removed from the nested structure. This automation eliminates manual intervention and reduces the perceived complexity for users while maintaining efficient memory usage.
Solution Approach 2:
The patent implements a reference count mechanism that provides feedback on the number of active references to each shared hash map. This feedback system allows the memory management system to make informed decisions about when to allocate, retain, or deallocating memory resources, optimizing memory usage dynamically.
Data Source
AI summary
Sets of objects may be received which are desired to be stored using a nested hash map, where the nested hash map may include multiple levels, and where each set of objects in the sets of objects may correspond to a level in the nested hash map. The nested hash map may be created from a bottom level of the nested hash map to a top level of the nested hash map, which may include: creating a first hash map at a first level of the nested hash map, creating a first shared pointer which points to the first hash map, and creating a second hash map at a second level which is immediately above the first level, where the second hash map maps at least one object to the first shared pointer.


