Distributed Storage RDMA Cache Manager for Low Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata access functionalityVSAvoidaccess latency
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveresource utilizationVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If file descriptors are stored only in curator memory, then centralized control is maintained, but access speed decreases due to RPC overhead

Engineering Contradiction:
Improvecentralized control structureVSAvoidaccess speed
Core Design Contradiction:
Device complexityVSSpeed

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.

Inventive Principle:
Principle #26Copying

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

Methodology Applied
Scientific EffectRemote direct memory access (RDMA):

Data Source

PatentUS9977760B1Accessing data on distributed storage systems
Publication Date: 2018.05.22 GOOGLE LLC
  • US9977760B1 patent drawing
  • US9977760B1 patent drawing
  • US9977760B1 patent drawing

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.