Dynamic Lock Table Management for Concurrent Design Files
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing concurrent access to design files in integrated circuit (IC) design hierarchies incur significant performance overhead due to excessive creation and deletion of lock files and exclusive locks, especially when only one user is accessing the files.
Innovation Solution
A computer-implemented method and system that utilize a lock table to manage design file access, moving it from private memory to common memory within the same computer or to a shared disk library as needed based on user processes, reducing unnecessary lock file operations and improving efficiency by using a master lock file and process identification files to track user access and update the lock table accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional lock file and exclusive lock mechanism is used to manage concurrent access to design files, then data integrity is ensured, but performance overhead increases significantly when only one user is accessing the files
Solution Approach 1:
The lock table is made dynamic by moving it between different storage locations (process memory, common memory, disk) based on the number of active users and their access patterns. When only one user is accessing files, the lock table remains in process memory avoiding overhead. When multiple users are present, it moves to common memory or disk to ensure data integrity while minimizing performance impact.
Solution Approach 2:
The system changes the storage parameter of the lock table based on user access conditions. The lock table transitions between different memory spaces and disk locations depending on whether one or multiple users are accessing the design files concurrently, optimizing the balance between data integrity and performance overhead.
2Speed
If lock table is kept in process memory for fast access, then access speed is improved, but data consistency across multiple users and computers cannot be ensured
Solution Approach 1:
The lock table's storage location is dynamic rather than fixed. It resides in process memory for fast single-user access, but automatically moves to common memory or disk when multiple users or computers are involved, ensuring data consistency is maintained through the appropriate storage mechanism for the current access scenario.
Solution Approach 2:
Common memory and disk act as intermediaries between process memory and the design files. When multiple users are present, the lock table is moved to these intermediary storage locations that can be shared and accessed by multiple processes and computers, ensuring data consistency while maintaining access capability.
3Reliability
If lock table is moved to common memory or disk to ensure multi-user access, then data consistency is improved, but access speed decreases
Solution Approach 1:
The system dynamically positions the lock table in the optimal location based on current usage patterns. For single-user scenarios, it remains in fast process memory. For multi-user scenarios, it moves to common memory or disk where it can be shared, accepting the speed trade-off for the gain in data consistency and multi-user accessibility.
Data Source
AI summary
A method for managing design files shared by multiple users is provided. A plurality of design files are stored in a design library. A lock table is moved to a memory of a first computer when information of the lock table indicates that the design files were locked by a first process corresponding to a first user, wherein the memory is only accessible to performance of the first process. The lock table is moved from the memory to a common memory of the first computer when one design file is locked by a second process corresponding to a second user. The first and second processes are being performed in the first computer. The lock table is moved from the memory to the design library when the one design file is locked by the second process corresponding to the second user, wherein the second process is performed in a second computer.


