RDMA Host-Based Erasure Code Recovery for Storage Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Erasure code recovery in storage clusters incurs high overhead and latency, particularly in distributed systems, due to network interactions and node-level recovery requirements.
Innovation Solution
Shift erasure code recovery from storage nodes to application hosts or clients, utilizing GPUs and NICs for data processing, and employing remote direct memory access (RDMA) protocols to directly place data in host memory, enabling on-the-fly recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If erasure code recovery is performed by storage nodes in a distributed storage cluster, then data recovery can be completed, but network overhead and latency increase significantly
Solution Approach 1:
The patent inverts the traditional erasure code recovery architecture by moving the recovery computation from storage nodes back to the client/host. Instead of storage nodes performing recovery operations and exchanging data over the network, the client retrieves data blocks from storage nodes and performs erasure code recovery locally using a GPU, eliminating network overhead for recovery operations.
Solution Approach 2:
The patent extracts the erasure code recovery computation from the storage node system and relocates it to the client side. By separating the recovery function from the storage infrastructure, the system eliminates the network communication overhead that would otherwise be required for storage nodes to perform recovery operations collaboratively.
2Reliability
If erasure code recovery is performed by storage nodes, then data can be recovered from failures, but network bandwidth is consumed by recovery traffic
Solution Approach 1:
The patent inverts the recovery architecture so that instead of storage nodes communicating over the network to perform recovery, the client performs recovery locally after retrieving necessary data blocks from storage nodes. This eliminates network bandwidth consumption for recovery operations while maintaining failure recovery capability.
Solution Approach 2:
The client acts as an intermediary that retrieves data blocks from storage nodes and performs recovery locally. This intermediary approach allows the system to maintain distributed storage reliability while avoiding the network overhead of node-to-node recovery communication.
3Reliability
If storage nodes perform erasure code recovery, then recovery can be completed, but the process incurs high overhead in the storage cluster
Solution Approach 1:
The patent extracts the computationally intensive erasure code recovery operation from the storage node infrastructure and relocates it to the client side with GPU acceleration. This extraction eliminates the complexity overhead that would otherwise burden the storage cluster management while preserving data recovery functionality.
Solution Approach 2:
The patent replaces the mechanical/network-based recovery system (storage nodes communicating over the network) with a computational system (GPU-based erasure code decoding at the client). This substitution eliminates the need for complex network coordination and storage node involvement in recovery operations.
Data Source
AI summary
A system and method for client and network based erasure code recovery. In some embodiments, the method includes: receiving, by a storage node, a get command; storing, by the storage node, in a memory of a host, using remote direct memory access, data specified by the get command, at a memory address specified by the get command; sending, by the storage node, a response, indicating successful execution of the get command; and performing, by the host, erasure code recovery based on the data.


