RoCEv2 Congestion Window Control Using ECN ACK Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing RoCEv2 congestion control mechanisms rely on congestion notification packets (CNPs), which consume network bandwidth and do not effectively manage congestion in RDMA read response packets.
Innovation Solution
Implementing a system that uses congestion encountered (CE) codepoints in IP headers and BECN bits in RDMA acknowledgment packets to dynamically update the congestion window based on acknowledged packets, allowing the requester device to adjust its transmission rate proportionally to network congestion without relying on CNPs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If congestion notification packets (CNPs) are used for RoCEv2 congestion control, then congestion information can be transmitted to the source device, but network bandwidth is consumed by these notification packets
Solution Approach 1:
The patent merges congestion notification functionality into existing RDMA acknowledgment packets. Instead of using separate CNP packets, the congestion status is embedded in the BTH (Base Transport Header) of regular RDMA ACK packets through the ECN (Explicit Congestion Notification) field. This combines two functions (congestion notification and data acknowledgment) into a single packet, eliminating the need for separate CNP packets and reducing network bandwidth consumption.
Solution Approach 2:
The RDMA acknowledgment packet is given multiple functions: it serves both as an acknowledgment for received data and as a congestion notification carrier. The ECN field in the BTH enables the packet to convey congestion status information while maintaining its primary function as an acknowledgment packet, making the system more efficient by avoiding dedicated notification packets.
2Speed
If RDMA read response packets are transmitted without window control, then fast data retrieval is enabled, but network congestion can occur
Solution Approach 1:
The patent implements feedback-based congestion control for RDMA read response packets. The responder device monitors network congestion status and feeds this information back to the requester device through the ECN field in RDMA ACK packets. The requester device uses this feedback to dynamically adjust its congestion window size, controlling the transmission rate of read response packets to prevent network congestion while maintaining high throughput.
Solution Approach 2:
The congestion window size for RDMA read response packets is made dynamic rather than static. The requester device adjusts the congestion window based on real-time congestion feedback received in RDMA ACK packets. This dynamic adjustment allows the system to optimize between fast data retrieval (larger window) and congestion prevention (smaller window) based on current network conditions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Technologies for remote direct memory access (RDMA) congestion control include a requester device and a responder device in communication over an Ethernet network. The requester device sends routable RDMA packets to the responder device over the Ethernet network. The packets may be RDMA over Converged Ethernet version 2 (RoCEv2) packets. The responder device determines whether any of the received packets have been marked by the network with a congestion encountered codepoint. If so, the responder device sends an acknowledgment packet with an express congestion notification bit set in the RDMA base transport header. The requester device updates a congestion window as a function of a number of congested packets acknowledged and a total number of packets acknowledged. Those operations may be performed by a network controller of each of the requester device and the responder device. Other embodiments are described and claimed.