RDMA Messaging Interface for Lossless Data Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current messaging schemes in data centers do not consider the state of the receiver, leading to backpressure and packet drops when receiving server nodes are unable to process incoming packets due to insufficient buffers, causing congestion collapse and inefficient buffering requirements.
Innovation Solution
Implementing a multi-layer software stack with an RDMA messaging interface module between the RDMA-capable network interface and upper software layers, allowing for efficient message transfers by determining resource availability at the destination node before sending packets, thereby reducing buffering needs and preventing congestion collapse.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional messaging schemes are used without considering receiver state, then message transmission can proceed without complex coordination, but packet drops and congestion collapse occur when receiver buffers are insufficient
Solution Approach 1:
The receiver node performs preliminary actions by pre-announcing its buffer availability state to sender nodes before actual message transmission occurs. This allows senders to proactively adjust their transmission behavior based on known receiver capacity, preventing packet drops before they happen and eliminating the need for complex reactive congestion control protocols.
2Reliability
If receiver buffer state is monitored and communicated to prevent packet drops, then message delivery reliability improves, but system complexity and overhead increase
Solution Approach 1:
The system implements a feedback mechanism where receiver nodes continuously monitor their buffer state and communicate this information back to sender nodes. This feedback loop enables senders to dynamically adjust their transmission rates and buffer allocation, achieving reliable packet delivery while optimizing the use of buffering resources across the network rather than requiring excessive buffers at every node.
3Productivity
If sender nodes transmit messages without knowing receiver buffer availability, then transmission speed is maintained, but backpressure causes packet drops and congestion
Solution Approach 1:
Receiver nodes perform preliminary actions by announcing their buffer availability state to potential senders before message transmission begins. This preliminary information exchange enables senders to make informed transmission decisions, maintaining high throughput by transmitting only when receiver buffers are available, while preventing packet drops by avoiding transmissions when buffers are full.
Data Source
AI summary
Described are a system and method for lossless message delivery between two processing devices. Each device includes a remote direct memory access (RDMA) messaging interface. The RDMA messaging interface at the first device generates one or more messages that are processed by the RDMA messaging interface of the second device. The RDMA messaging interface of the first device outputs a notification to the second device that a message of the one or more messages is available at the first device. A determination is made that the second device has resources to accommodate the message. The second device performs an operation in response to determining that the processing device has the resources to accommodate the message.


