Intermediate Device Buffer Management for RDMA Long-Distance Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Remote Direct Memory Access (RDMA) communication protocols face performance degradation over long distances due to increased transfer times and the need for packet acknowledgment, which limits high-speed and high-reliability data transfer.
Innovation Solution
The implementation of intermediate devices with buffer management units that determine buffer sizes based on network delay, secure buffers, and manage credits to facilitate pseudo-response generation and discarding of actual responses, allowing for efficient data transfer even over long distances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data transfer is performed using RDMA protocol over long distances, then high-speed communication is achieved, but transfer performance deteriorates due to increased transfer time and acknowledgment requirements
Solution Approach 1:
The system performs preliminary actions by sending pseudo-acknowledgments before actual data transfer completion. The intermediate device generates pseudo-acknowledgments based on buffer availability and credit information, allowing the transmitting device to continue sending data without waiting for actual receipt confirmation, thus reducing the impact of long transfer times on overall performance
Solution Approach 2:
An intermediate device is introduced between the transmitting and receiving devices to mediate the acknowledgment process. This intermediary generates pseudo-acknowledgments independently without waiting for actual data receipt, decoupling the acknowledgment timing from the actual transfer time and maintaining high transfer speeds over long distances
2Reliability
If buffer size is increased to handle long-distance transfer, then data loss is prevented, but device complexity increases
Solution Approach 1:
The buffer size is made dynamic rather than fixed. The intermediate device adjusts the buffer size based on network conditions, delay information, and credit availability. This dynamic adjustment allows the system to maintain reliability by allocating sufficient buffer space when needed while reducing complexity by releasing buffer resources when not required
Solution Approach 2:
The system changes the parameter of buffer size based on delay information and network conditions. By calculating appropriate buffer sizes using delay measurements and adjusting them dynamically, the system achieves reliable data transfer without permanently allocating large buffers that would increase device complexity
3Reliability
If credit-based flow control is implemented, then data loss is prevented, but communication overhead increases
Solution Approach 1:
The system extracts the essential function of flow control from complex credit management. Instead of implementing full credit-based flow control with extensive bookkeeping, the intermediate device uses simplified credit information exchanged between devices to make buffer allocation decisions, reducing communication overhead while maintaining reliability
Solution Approach 2:
The intermediate device performs self-service by autonomously generating pseudo-acknowledgments based on its own buffer status and credit information. This eliminates the need for complex coordination and messaging protocols, reducing communication overhead while maintaining reliable data transfer through automated buffer management
Data Source
AI summary
A communication system includes a first intermediate device 10A and a second intermediate device 10B, in which the first intermediate device includes a buffer management unit 15 that determines a buffer size based on delay information and secures a buffer, a transfer unit 11 that, when data to be transferred to a second device 50 is smaller than a credit of the second intermediate device, transfers a request including the data to the second intermediate device, and a generation unit 12A that generates a pseudo-response to the request and returns the pseudo-response to the first device, and the second intermediate device includes a buffer management unit 15 that determines a buffer size based on the delay information and secures a buffer, a transfer unit 11 that transfers the request to the second device and stores the request in the buffer to update the credit of its own device, and a discarding unit 12B that discards a response received from the second device, deletes the request stored in the buffer, and updates the credit.


