Client-Side Global Persistent Cache for Distributed Storage Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional distributed storage systems face challenges in meeting performance-driven needs due to long latency and Quality of Service (QoS) issues, primarily because I/O requests traverse multiple layers and devices, affecting data consistency and robustness.
Innovation Solution
Implementing a client-side global persistent cache that writes data to both local and paired mirror caches, reducing the path for I/O operations and using a global data structure for metadata management to synchronize and manage data states, allowing for direct memory access and efficient cache utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in persistent storage with data recovery protection before notifying the host, then data consistency and robustness are improved, but latency increases
Solution Approach 1:
The system performs preliminary actions by writing data to the persistent cache first, then asynchronously replicating to storage servers in the background. The host receives confirmation immediately after the cache write, while the system continues to replicate data to storage servers without blocking the host, thus maintaining data consistency while reducing latency.
Solution Approach 2:
The storage system is segmented into two independent components: a persistent cache layer for immediate data acceptance and confirmation, and storage servers for background data replication. This segmentation allows the host to proceed without waiting for full replication, reducing latency while maintaining data robustness through the cache's persistent storage capabilities.
2Adaptability or versatility
If I/O requests traverse multiple layers including client servers, switches, network, and storage servers, then distributed storage functionality is achieved, but latency increases
Solution Approach 1:
The persistent cache extracts the critical data storage function from the traditional storage server path. By placing persistent cache on the host system, the patent removes the need for I/O requests to traverse network switches and storage servers for immediate data acceptance, significantly reducing latency while maintaining distributed storage functionality through background replication.
3Reliability
If data is written to paired mirror caches using direct memory access, then high availability and synchronization speed are improved, but device complexity increases
Solution Approach 1:
The patent replaces complex mechanical control systems with direct memory access (DMA) for data replication to paired mirror caches. DMA enables automatic, high-speed data transfer between memory regions without CPU intervention, achieving high availability and synchronization speed while minimizing the complexity of control logic and processing overhead.
Data Source
AI summary
One embodiment of the present invention provides a system for facilitating a distributed storage system. The system receives, by a first client-serving machine, a first request to write data. The system writes the data to a first persistent cache associated with the first client-serving machine, wherein a persistent cache includes non-volatile memory. The system records, in an entry in a global data structure, a status for the data prior to completing a write operation for the data in a storage server, wherein the status indicates that the data has been stored in the first persistent cache but has not yet been stored in the storage server.


