Atomic Lock Array for Distributed Storage Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed storage systems face latency and workload imbalances due to synchronous communication paths, leading to delays and complexity in handling node failures and data synchronization.
Innovation Solution
Implementing a method that uses atomic operations to manage locks on storage nodes without synchronous communication, allowing for scalable storage by allocating and releasing locks without caching metadata, and handling node failures through unique identifiers and mirrored lock arrays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous communication path is used for coordinating requests in distributed storage systems, then request coordination and data consistency can be achieved, but latency increases and workload imbalances occur that overload nodes
Solution Approach 1:
The patent extracts the locking mechanism from the synchronous communication path and implements it using atomic operations directly on storage nodes. The lock array is stored in the metadata of storage nodes, allowing compute nodes to acquire locks without synchronous communication with the storage node, thereby reducing latency while maintaining data consistency through the atomic nature of the lock operations.
Solution Approach 2:
The patent introduces a lock array in the metadata as an intermediary mechanism. This lock array acts as a mediator that coordinates access to storage portions without requiring synchronous communication between compute nodes and storage nodes. The atomic operations on the lock array provide the necessary coordination while avoiding the latency of synchronous paths.
2Reliability
If synchronous communication path is used for request coordination, then proper locking and metadata updates can be ensured, but workload imbalances occur that overload certain nodes
Solution Approach 1:
The patent segments the locking mechanism into individual lock entries in the metadata lock array, each corresponding to a specific storage portion. This segmentation allows different compute nodes to independently acquire locks on different storage portions without interfering with each other, thereby distributing workload evenly across nodes and preventing overload while maintaining reliable locking through atomic operations on each lock entry.
3Reliability
If existing locking techniques are used in distributed storage systems, then request coordination is possible, but the system complexity increases and scalability is limited
Solution Approach 1:
The patent implements a self-service locking mechanism where compute nodes can independently acquire and release locks using atomic operations on the lock array stored in metadata. This eliminates the need for complex centralized locking management or synchronous communication protocols, reducing system complexity while maintaining reliable request coordination through the self-contained atomic lock operations.
Data Source
AI summary
A system and method for scalable storage. The method includes placing a lock on a portion of a storage node, wherein placing the lock further comprises replacing a first value stored in the storage node with a second value using an atomic operation, wherein the atomic operation replaces the first value with the second value when the first value indicates an empty lock status, wherein the second value indicates an active lock status; allocating a storage location in the storage node by updating metadata stored in the locked portion of the storage node when the lock has been placed; and releasing the lock, wherein releasing the lock further comprises replacing the second value with a third value, wherein the third value indicates the empty lock status.


