Cross-Site Distributed Storage Virtual Channels for RDMA Write Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cross-site high-availability distributed cloud storage systems face performance bottlenecks due to limited interconnect bandwidth between storage nodes, especially in cloud environments, which restricts the scalability of write performance with increasing compute instance capabilities.
Innovation Solution
Implementing a method that generates multiple interconnect (IC) channels and splits data traffic into multiple transport layer sessions using RDMA streams, assigning unique transaction IDs and data offsets to packets, enabling efficient data replication and reordering across storage nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple IC channels and transport layer sessions are implemented to increase bandwidth, then data transfer performance is improved, but device complexity increases
Solution Approach 1:
The patent segments data traffic into multiple IC channels, which are further divided into multiple transport layer sessions. Each session handles specific data packets with assigned transaction IDs and data offsets, enabling parallel data transfer paths that increase overall bandwidth without requiring a single complex monolithic channel
Solution Approach 2:
The patent introduces multiple dimensions of abstraction: physical channels become virtual IC channels, which become transport layer sessions, which become packet streams. This multi-layer virtualization adds dimensional complexity management, allowing the system to scale bandwidth by adding sessions rather than physical infrastructure
2Productivity
If RDMA streams with multiple IC channels are used to replicate data, then write performance scalability is improved, but network bandwidth limitations are more challenging
Solution Approach 1:
The patent segments the replication process across multiple IC channels and transport layer sessions, allowing data to be replicated in parallel through multiple network paths. This segmentation enables the system to overcome single-channel bandwidth limitations by distributing the replication load across multiple sessions
Solution Approach 2:
The patent changes the parameters of data packet transmission by assigning unique transaction IDs and data offsets to each packet, enabling the receiver to reassemble packets in the correct order even though they arrive through multiple parallel sessions with different bandwidth characteristics
3Productivity
If packets are split across multiple transport layer sessions, then data transfer bandwidth is increased, but packet reordering complexity increases
Solution Approach 1:
The patent performs preliminary actions by assigning unique transaction IDs and data offsets to each packet before transmission. This pre-tagging enables the receiving end to automatically reorder packets correctly without complex reordering algorithms, as the ordering information is already embedded in the packet headers
Solution Approach 2:
The patent implements feedback mechanisms where the receiving end tracks which packets have been received and their expected order based on transaction IDs and data offsets. This feedback loop enables automatic packet reassembly and reordering, managing the complexity of multi-session data transfer
Data Source
AI summary
Systems and methods are described for a cross-site high availability distributed storage system. According to one embodiment, a computer implemented method includes providing a remote direct memory access (RDMA) request for a RDMA stream, and generating, with an interconnect (IC) layer of the first storage node, multiple IC channels and associated IC requests for the RDMA request. The method further includes mapping an IC channel to a group of multiple transport layer sessions to split data traffic of the IC channel into multiple packets for the group of multiple transport layer sessions using an IC transport layer of the first storage node and assigning, with the IC transport layer, a unique transaction identification (ID) to each IC request and assigning a different data offset to each packet of a transport layer session.


