Stable Memory Layer for Clustered Storage Write Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Synchronous write transactions in clustered file systems suffer from performance penalties due to high write latency and the inability to delay write transactions, affecting workloads with a high ratio of commits and requiring immediate data storage acknowledgement.
Innovation Solution
Integrating a file system cache with a distributed non-volatile memory layer to temporarily hold committed data, replicate it across nodes, and distinguish between master and replica copies, allowing for delayed flushing to persistent storage while ensuring data integrity and availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous write transactions are performed in a clustered file system, then data integrity and availability are ensured, but write latency increases significantly
Solution Approach 1:
The patent introduces a stable memory layer as an intermediary between the file system cache and persistent storage. This mediator layer accepts write transactions immediately, providing fast acknowledgment to clients, while asynchronously synchronizing data to persistent storage in the background. This resolves the contradiction by decoupling the immediate write acknowledgment from the slower persistent storage operations.
Solution Approach 2:
The system performs preliminary actions by pre-allocating and pre-configuring the stable memory layer before write transactions occur. The stable memory is prepared in advance to accept and hold write data, allowing immediate acknowledgment without waiting for persistent storage operations. This preliminary preparation enables fast synchronous writes while maintaining data integrity through subsequent async synchronization.
2Reliability
If data is immediately written to persistent storage for every synchronous write transaction, then data persistence is ensured, but write performance deteriorates
Solution Approach 1:
The stable memory layer serves as a mediator that accepts write transactions and provides immediate acknowledgment, while asynchronously persisting data to stable storage. This intermediary approach ensures data persistence through the stable memory layer's reliability while maintaining high write performance by avoiding synchronous waits for persistent storage operations.
Solution Approach 2:
The system performs preliminary actions by pre-configuring the stable memory layer to handle write transactions before they arrive. The stable memory is prepared in advance to immediately accept and acknowledge writes, while persistence operations are performed asynchronously in the background, thus maintaining high write performance while ensuring data persistence.
3Reliability
If multiple replicas are maintained across cluster nodes for fault tolerance, then availability is improved, but system complexity increases
Solution Approach 1:
The patent implements copying by creating replicas of data across multiple cluster nodes. Each node maintains copies of the stable memory layer, allowing any node to serve read requests and providing fault tolerance. This copying approach improves availability while managing complexity through standardized replication mechanisms and automatic synchronization protocols.
Solution Approach 2:
The stable memory layer is designed with multi-functionality, serving as both a fast write buffer and a fault-tolerant replica storage. The same stable memory infrastructure provides both performance optimization and availability guarantees, reducing overall system complexity by consolidating multiple functions into a single universal component.
Data Source
AI summary
Embodiments relate to supporting transaction data committed to a stable storage. Committed data in the cluster is stored in the persistent cache layer and replicated and stored in the cache layer of one or more secondary nodes. One copy is designated as a master copy and all other copies are designated as replica, with an exclusive write lock assigned to the master and a shared write lock extended to the replica. An acknowledgement of receiving the data is communicated following confirmation that the data has been replicated to each node designated to receive the replica. Managers and a director are provided to support management of the master copy and the replicas within the file system, including invalidation of replicas, fault tolerance associated with failure of a node holding a master copy, recovery from a failed node, recovered of the file system from a power failure, and transferring master and replica copies within the file system.


