Lock Recycle List Reuse Under a Single Latch
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing locks in computer systems with multiple computing nodes is cumbersome and time-consuming, especially when processes on one node need to access resources owned by another node, requiring complex lock management and increasing operation times.
Innovation Solution
Implementing a lock management system that uses resource lists and recycle lists managed by shared latches, with a one-to-one relationship between resource and recycle lists and a one-to-many relationship between these lists and a free list, allowing efficient lock grant and release without acquiring multiple latches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If a single resource is in charge of managing all locks on any given resource in a system comprising multiple computing nodes, then lock management can be centralized, but the difficulty of managing locks and the time required for each operation increases
Solution Approach 1:
The patent segments the lock management system into multiple lock managers distributed across different computing nodes. Each lock manager is responsible for managing locks on specific resources within its own address space, eliminating the need for a single centralized lock manager and reducing the complexity and operational time of lock management.
Solution Approach 2:
The patent introduces a new dimension to lock management by allowing processes to access resources on remote computing nodes through inter-process communication mechanisms. This enables lock management to occur in both local and remote address spaces, reducing the burden on any single lock manager and distributing the management complexity across multiple nodes.
2Adaptability or versatility
If a process on one computing node wants to access a resource owned by another computing node, then resource sharing across nodes is enabled, but the complexity of lock management increases due to requiring locks on multiple management structures
Solution Approach 1:
The patent uses inter-process communication mechanisms as intermediaries to enable processes on one computing node to access resources on another node. The communication mechanism handles the complexity of remote lock management, allowing processes to request and release locks on remote resources without directly managing multiple lock structures, thus reducing the perceived complexity for the accessing process.
Solution Approach 2:
The patent segments lock management responsibilities by computing node, with each node's lock manager handling locks within its own address space. This segmentation prevents the need for a single process to manage locks across multiple nodes simultaneously, reducing the complexity of lock management structures required for cross-node resource access.
3Adaptability or versatility
If allocation of a new lock or release of a lock requires modification of one or more parts of the management structure, then lock management is flexible, but the overhead and processing time increase
Solution Approach 1:
The patent segments the lock management structure into multiple independent lock managers, each responsible for its own address space. This segmentation allows lock allocation and release operations to be performed locally without requiring modifications to global management structures, significantly reducing the overhead and processing time for lock operations while maintaining flexibility through the distributed architecture.
Solution Approach 2:
Each lock manager independently manages its own lock structures without requiring coordination with other lock managers for basic operations. This self-service approach eliminates the need for complex inter-lock-manager communication during lock allocation and release, reducing operational overhead and processing time while maintaining system flexibility.
Data Source
AI summary
A computer program product, system, and computer implemented method for fast reuse of locking data structures prior movement of entries to a cache free list. The approach disclosed herein enables management of lock management structures. Specifically, the approaches provided herein are directed towards use of lock management structures where items are managed using at least a recycle list. A recycle list and a resource list pair associated with the recycle list are controlled using a single latch, where there are any number of buckets that each include a recycle list and a resource list pair. In addition, in some embodiments, a free list is also maintained, whereas resource lists and recycle lists have a one-to-one relationship with each other, the free list has a one-to-many relationship with the buckets and lists therein.


