RDMA Transaction Execution in Distributed Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems face high and unpredictable latency due to mismatched processor and storage resource utilization, where processor-heavy utilization leaves storage requests unserviced despite available storage bandwidth.
Innovation Solution
The method involves using remote direct memory access (RDMA) to read and write data chunks while managing locks and version numbers, allowing for efficient transaction execution by ensuring data validity and releasing locks, and incorporating a durable intent log for reliable transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If processor resources are heavily utilized to service computing tasks, then processing capacity is improved, but storage request latency increases and storage bandwidth remains underutilized
Solution Approach 1:
The patent extracts the storage request servicing function from the processor-heavy software path and places it in a dedicated hardware storage resource path. This allows storage requests to be serviced independently of processor availability, eliminating the bottleneck where storage requests must wait for processor availability even when storage bandwidth is available.
Solution Approach 2:
The patent introduces a storage resource (dedicated storage processor or hardware component) as an intermediary between the client and the storage medium. This intermediary can service storage requests directly using storage bandwidth without requiring general-purpose processor intervention, thus decoupling storage I/O performance from CPU utilization.
2Loss of time
If dedicated processors are used to service storage requests, then storage request latency is improved, but processing capacity for nominal tasks decreases
Solution Approach 1:
The patent segments the system into two independent paths: a software path for computing tasks that uses general-purpose processors, and a hardware path for storage requests that uses dedicated storage resources. This segmentation allows each path to operate independently at optimal capacity without one constraining the other.
Solution Approach 2:
The patent makes the dedicated storage resource universally available for all storage requests regardless of processor utilization state. This multi-functional approach allows the same storage resource to handle both normal storage I/O and bursty storage demands without affecting the general-purpose processors' ability to handle computing tasks.
3Power
If storage requests wait for processor availability, then processor resources are preserved for computing tasks, but storage bandwidth utilization decreases
Solution Approach 1:
The patent enables storage requests to service themselves through dedicated storage resources without requiring processor intervention. The storage resource can directly access the storage medium and service requests using available storage bandwidth, making the system self-sufficient for storage operations and eliminating the need to hold processor resources for storage I/O.
Data Source
AI summary
A method of executing a transaction in a distributed storage system includes, for data chunks of a read set of the transaction, reading data of the data chunks of the read set through remote direct memory access and determining a validity of the read data by evaluating a version and a lock of each data chunk of the read set. For data chunks of a write set of the transaction, the method includes setting locks on the data chunks of the write set, writing data to the locked data chunks through remote direct memory access, releasing the locks of the locked data chunks, and incrementing a version number of each released data chunk.


