Hardware RDMA Transport with Selective ACKs for Packet Loss Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hardware-based RDMA transports suffer from reduced goodput in best-effort datacenter networks due to packet loss, network congestion, asymmetric goodput, and inefficient resource allocation, leading to performance degradation and scalability issues.
Innovation Solution
A hardware-based RDMA transport system that minimizes on-chip complexity, supports all RDMA operations, and decouples from congestion-control solutions, using selective packet-level acknowledgments and out-of-order data placement with optimized resource allocation to enhance goodput and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If GoBackN reliability protocol is used for packet loss recovery, then reliability is improved, but all correctly received packets posterior to a lost packet must be retransmitted, causing loss of time and reduced productivity
Solution Approach 1:
The patent implements selective acknowledgment (SACK) feedback mechanism where the receiver sends ACK packets containing bitmaps indicating which specific packets were received successfully. This allows the sender to identify exactly which packets need retransmission rather than retransmitting all packets after a loss, optimizing the feedback loop for efficient error recovery.
Solution Approach 2:
The patent enables the receiver to discard correctly received packets that arrive after a lost packet (using the DDP pointer mechanism) and only request retransmission of the specific lost packets. This prevents unnecessary retransmission of good packets, allowing the system to recover only what is actually needed.
2Productivity
If out-of-order placement with selective acknowledgment is used, then productivity is improved by allowing out-of-order delivery, but signaling to notify sender about receiver running out of tracking resources is missing, causing loss of information
Solution Approach 1:
The patent extends the SACK mechanism to include a new packet type (type 0x20) that carries explicit signaling about out-of-order tracking resource depletion. When the receiver's out-of-order buffer is full, it sends this special packet to notify the sender to stop transmitting out-of-order packets, preventing silent data loss while maintaining high productivity through out-of-order delivery.
3Device complexity
If asymmetric transports provide reliability signaling only for requester flow, then device complexity is reduced, but goodput is reduced due to asymmetric performance between requester and responder flows
Solution Approach 1:
The patent implements asymmetric reliability signaling where the requester flow uses cumulative ACKs (simple bitmap) while the responder flow uses selective ACKs with DDP pointers (complex bitmap). This asymmetric approach matches the different reliability needs of request and response flows, optimizing goodput for each direction without requiring full symmetric complexity in both directions.
Solution Approach 2:
The patent applies different acknowledgment mechanisms locally to different flows: cumulative ACKs for the requester flow and selective ACKs with DDP pointers for the responder flow. This local quality differentiation allows each flow to use the most appropriate reliability mechanism for its specific needs, improving overall system productivity.
4Device complexity
If static retransmission timeout with maximum attempts is used, then device complexity is reduced, but goodput is degraded when tail drops occur due to unnecessary retransmissions
Solution Approach 1:
The patent implements dynamic retransmission timeout adjustment based on network conditions and packet type. Instead of fixed timeouts, the system adapts RTO values based on whether packets are data or signaling, and adjusts based on observed network behavior. This dynamic approach prevents premature retransmissions under tail drop conditions while maintaining simple control logic.
Data Source
AI summary
A best efforts (BE) hardware remote direct memory access (RDMA) transport being performed by a smart network interface controller (NIC). Elements from RoCEv2 and iWARP are utilized in combination with extensions to improve flexibility and packet error recovery. Flexibility is provided by allowing RDMA roles to be individually specified. Flexibility is also provided by additional packet numbering options to allow interleaving of request and response messages at a packet boundary. Error recovery is improved by utilized new acknowledgement responses, SNAK provided for each new hole detected and RACK for each received packet after a SNAK. SNAK allows the indication of resource exhaustion at the receiver, causing entry into a recovery mode where only packets in a hole are transmitted until resources are recovered.


