RDMA Messaging Interface for Lossless Data Delivery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidmessaging protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If receiver buffer state is monitored and communicated to prevent packet drops, then message delivery reliability improves, but system complexity and overhead increase

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidbuffering resources required
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #23Feedback

3Productivity

If sender nodes transmit messages without knowing receiver buffer availability, then transmission speed is maintained, but backpressure causes packet drops and congestion

Engineering Contradiction:
Improvemessage transmission throughputVSAvoidpacket delivery success rate
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9253287B2Speculation based approach for reliable message communications
Publication Date: 2016.02.02 ADVANCED MICRO DEVICES INC
  • US9253287B2 patent drawing
  • US9253287B2 patent drawing
  • US9253287B2 patent drawing

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.