Distributed Storage RDMA Cache Manager for Low Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed cache systems in general-purpose computing clusters face low utilization and high latency due to the coupling of storage and computation requirements, leading to inefficiencies in accessing data through remote procedure calls (RPCs) and the need for CPU resources.
Innovation Solution
A distributed storage system is implemented with memory hosts, a curator, and a cache manager, utilizing remote direct memory access (RDMA) and a curator that manages file striping and generates file descriptors for efficient data access, decoupling storage and computation by allowing direct access to storage resources through network interface controllers, reducing reliance on CPU cycles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If remote procedure calls (RPCs) are used to access data in distributed cache systems, then data access functionality is provided, but CPU resources are consumed and latency increases
Solution Approach 1:
The patent extracts the file descriptor data from curator memory to client-local memory, eliminating the need for repeated RPC calls to access file descriptor information. This extraction principle reduces CPU involvement and access latency by keeping frequently accessed metadata locally available at the client side.
Solution Approach 2:
The system performs preliminary action by pre-fetching and caching file descriptors in client-local memory before they are needed for data access operations. This preliminary caching of metadata allows subsequent data access operations to proceed without requiring real-time RPC communication with the curator, thereby reducing latency.
2Productivity
If server jobs are co-located with other jobs on cluster nodes, then resource utilization is maximized, but storage and computation requirements are coupled causing low utilization and high latency
Solution Approach 1:
The patent segments the distributed cache system into distinct components: curators that manage data storage, clients that cache file descriptors locally, and a separation between computation and storage management. This segmentation allows server jobs to be co-located with other jobs while maintaining low latency through local file descriptor caching at client nodes, effectively decoupling storage and computation requirements.
3Device complexity
If file descriptors are stored only in curator memory, then centralized control is maintained, but access speed decreases due to RPC overhead
Solution Approach 1:
The patent applies the copying principle by creating and distributing copies of file descriptors from curator memory to client-local memory. This copying mechanism maintains centralized control (the curator remains the authoritative source) while significantly improving access speed through local caching at client nodes, eliminating RPC overhead for frequent file descriptor accesses.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach enhances throughput and reduces latency by allowing direct access to storage resources without CPU involvement, leading to higher utilization of cluster resources and predictable low latency, even under high CPU utilization conditions.
Implementation Method 1
Each memory host includes remote direct memory accessible non-transitory memory and a network interface controller that services remote direct memory access requests
Data Source
AI summary
A distributed storage system includes memory hosts, a curator, and a cache manager. Each memory host includes remote direct memory accessible non-transitory memory and a network interface controller that is in communication with the memory. The network interface controller services remote direct memory access requests. The curator communicates with the memory hosts, manages striping of a file amongst the memory hosts, and generates a file descriptor for the file that maps the striping of the file to corresponding storage locations on memory hosts. In addition, the cache manager stores copies of file descriptors generated by the curator in the memory of the memory hosts for remote direct memory access by a client in communication with the memory hosts.


