Storage Object Affinity for Active-Active Cluster Write Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Active-active clustered systems experience significant latency and performance degradation due to the high amount of internode communications required to obtain locks and synchronize writes, which hampers read-write IO operations.
Innovation Solution
Implementing storage object affinity by designating a primary storage node as the owner of a storage object, allowing it to set local locks and perform IO operations independently without internode communications, while the secondary node communicates only to obtain locks and transfer ownership after a predetermined number of requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage nodes communicate with each other to obtain locks and synchronize writes in an active-active clustered system, then data consistency and reliability are ensured, but latency increases and IO performance degrades
Solution Approach 1:
The patent segments the storage system into primary and secondary storage nodes with distinct roles. The primary node handles write operations and maintains the authoritative copy of data, while secondary nodes serve read operations and maintain copies. This segmentation eliminates the need for continuous inter-node communication during normal operations, reducing latency while maintaining data consistency through controlled synchronization only when ownership changes occur.
Solution Approach 2:
The system performs preliminary actions by pre-establishing ownership relationships between storage nodes and storage objects before operations occur. The primary storage node is designated in advance as the owner of specific storage objects, allowing it to independently handle write operations without real-time communication with secondary nodes. This preliminary assignment of ownership enables fast local operations while ensuring reliability through predefined responsibility allocation.
2Reliability
If storage nodes engage in internode communications to obtain locks and synchronize outstanding writes, then data integrity is maintained, but IO bandwidth and throughput are reduced
Solution Approach 1:
The patent extracts the lock management and synchronization functions from the critical write path. Instead of requiring inter-node communication for every write operation, the primary storage node independently manages locks and performs writes using locally accessible buffers. This extraction of synchronization overhead from the main IO path eliminates the bottleneck caused by internode communications, significantly improving IO bandwidth while maintaining data integrity through the primary node's authoritative control.
Solution Approach 2:
The primary storage node provides self-service by independently managing its own write operations, lock acquisition, and data synchronization without requiring continuous assistance from secondary nodes. It uses its locally accessible buffer to store data and only communicates with secondary nodes when ownership transfer is needed. This self-service approach enables high-speed local operations while maintaining system-wide data integrity through controlled synchronization events.
3Reliability
If multiple storage nodes simultaneously access the same storage objects with read-write permissions, then system availability and fault tolerance are improved, but coordination overhead and processing complexity increase
Solution Approach 1:
The patent introduces asymmetry in the roles of storage nodes within the cluster. Instead of all nodes having equal read-write access to all storage objects, one node is designated as primary with full write permissions, while other nodes are secondary with restricted access. This asymmetric architecture maintains high availability through role redundancy but dramatically reduces coordination overhead by eliminating the need for symmetric lock management and synchronization protocols that would be required in a fully peer-to-peer system.
Data Source
AI summary
Techniques for optimizing write IO bandwidth and latency in an active-active clustered system using storage object affinity to a single node. The active-active clustered system can include at least a primary storage node and a secondary storage node that maintain their own journals. The respective journals are directly accessible to both storage nodes. The journals are synchronized for each page or entity of a storage object when a storage IO request is issued to a storage node to which the storage object does not have affinity. Such synchronization is performed in the framework of acquiring a lock on the entity of the storage object during internode communications. To facilitate recovery from a disaster, data loss, and/or data corruption, transaction IDs associated with storage IO operations are employed to facilitate identification of the most up-to-date reference or description information for a given data or metadata page of a storage object.


