A method and system for RDMA congestion control based on erasure code in a wide area network
Patent Information
- Application Number
- CN202611281680.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-24
- Publication Date
- 2026-09-22
AI Technical Summary
[0005]总体而言,现有技术普遍缺少拥塞控制与底层容错机制之间的协同设计,难以同时兼顾网络状态感知、随机丢包恢复以及带宽利用率等需求
提高网络状态感知能力:本发明通过确认报文保留字段反馈显式拥塞通知标记密度、队列深度等网络状态信息,发送端利用多维指标计算网络拥塞程度参数Ω,相比仅依赖单一显式拥塞通知标记,能够更准确地反映当前网络状态。
Smart Images

Figure CN122802435A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer network communication technology, and specifically to an RDMA congestion control method and system based on erasure coding in wide area networks. Background Technology
[0002] With the development of distributed training, distributed storage, and cross-data center computing for large models, Remote Direct Memory Access (RDMA) technology has gradually expanded from traditional data center LAN environments to cross-domain WAN environments. In high bandwidth delay product (High BDP) lossy WAN scenarios, due to the large link latency and lack of lossless flow control mechanisms, problems such as network congestion, link jitter, and random packet loss become more prominent, placing higher demands on the transmission performance of Remote Direct Memory Access.
[0003] Existing RoCEv2 (a protocol based on Ethernet-based RDMA) networks typically employ a Distributed Congestion Notification (DCQCN) mechanism for congestion control. This mechanism involves switches marking data packets with a 1-bit explicit congestion notification (ECN), and the sending end adjusts its transmission rate based on the feedback information. This type of method is primarily designed for lossless network environments in data centers. When applied to high-bandwidth, high-latency wide area networks (WANs), the increased feedback latency makes it difficult for a single explicit congestion notification to reflect network state changes in a timely manner, easily leading to delayed control responses. Furthermore, random physical packet loss can trigger out-of-order events and retransmissions in upper-layer reliable transmission mechanisms, further increasing link load and reducing bandwidth utilization.
[0004] To address the aforementioned issues, existing technologies employ two main approaches: one is to improve convergence efficiency by optimizing end-side congestion control parameters and rate adjustment mechanisms, such as DCQCN+ and DCQCN-p schemes; the other is to alleviate congestion by introducing switch-assisted mechanisms, queue trend prediction, or flow control strategies, such as P-PFC and ICI-DCQCN schemes. While these methods improve congestion control performance to some extent, they mostly focus on transport layer rate adjustment or switch-side auxiliary control.
[0005] Overall, existing technologies generally lack a coordinated design between congestion control and underlying fault tolerance mechanisms, making it difficult to simultaneously address requirements such as network state awareness, random packet loss recovery, and bandwidth utilization. In high-bandwidth, lossy WAN environments, random packet loss can still induce significant retransmission traffic and rate fluctuations, thereby impacting transmission performance and link utilization.
[0006] Therefore, it is necessary to propose a remote direct memory access congestion control method and system based on erasure coding in wide area networks to improve network state awareness and transmission stability, and reduce the impact of random packet loss on transmission performance. Summary of the Invention
[0007] To address the aforementioned technical problems, this invention provides a method and system for RDMA congestion control based on erasure coding in wide area networks.
[0008] In this application, the sending end obtains multi-dimensional network status information from the reserved fields of the acknowledgment (ACK) message and calculates the network congestion level parameter Ω. The system periodically judges the network status based on the sliding window statistical results, and only performs state switching when the judgment results remain consistent for several consecutive periods, thereby distinguishing between instantaneous fluctuations and continuous congestion. On this basis, the system uniformly drives adaptive adjustment of the transmission rate, adjusts packet shaping parameters, and switches erasure coding redundancy levels to reduce the probability of Go-Back-N cascaded retransmissions and false congestion judgments, thereby improving the throughput and utilization of high-bandwidth delay product (BDP) links.
[0009] This application adopts a hierarchical linkage architecture, which realizes the coordinated adjustment of rate control and erasure coding matrix based on unified congestion assessment, eliminating the overreaction and architectural fragmentation caused by the independent operation of rate control and fault tolerance modules.
[0010] This application adopts a sliding window-based state confirmation mechanism, which uses the sliding window statistical results to drive the state machine and introduces a continuous periodic confirmation mechanism to suppress misjudgments and rate oscillations caused by random noise and instantaneous traffic fluctuations in the wide area network.
[0011] This application adopts a multi-dimensional network indicator fusion mechanism, which combines explicit congestion notification label density, queue depth and round-trip time (RTT) indicators to make decisions at the sending end, avoiding complex cross-end coordination overhead and achieving fast and stable response of control decisions.
[0012] To solve the above-mentioned technical problems, the present invention adopts the following technical solution: In a first aspect, the present invention provides a method for RDMA congestion control based on erasure coding in a wide area network, comprising: The receiving end extracts the explicit congestion notification tag density and real-time queue depth based on a sliding window, writes the explicit congestion notification tag density and real-time queue depth into the reserved fields of the acknowledgment message, and feeds them back to the sending end through the acknowledgment message. The sending end parses the acknowledgment message, obtains the explicit congestion notification marker density and real-time queue depth, and calculates the network congestion level parameters by combining the measured round-trip time. The sending end calculates the network congestion level parameter Ω at a fixed decision period, determines the current network state based on the preset threshold range in which Ω falls, and verifies the current network state continuously and periodically through a counter. When the counter reaches a preset threshold, the network state switch is confirmed. Based on the determined network conditions, the sending end coordinates the sending rate, packet shaping interval, and erasure coding mode according to three congestion levels: mild, moderate, and severe. The receiving end performs local decoding and recovery of the lost data according to the current erasure coding mode.
[0013] In one embodiment, the receiving end extracts the explicit congestion notification tag density and real-time queue depth based on a sliding window, specifically including: Explicit congestion notification label density for: ; in, This indicates the number of packets carrying the congestion flag within the current sliding window. This indicates the total number of data packets received within the current sliding window; The fixed decision-making period is consistent with the statistical period of the sliding window.
[0014] In one embodiment, the sending end parses the acknowledgment message, obtains the explicit congestion notification tag density and real-time queue depth, and calculates network congestion level parameters in conjunction with the measured round-trip time, specifically including: The formula for calculating the network congestion parameter Ω is: ; in, For explicit congestion notification label density, For the current round-trip delay, Based on round-trip time; The receiving network adapter receives the current real-time queue depth of the rearranged buffer; The maximum physical buffer capacity preset for the receiving network adapter; To set an upper limit for abnormal expansion of round-trip time delay and prevent noise in single measurements; , , This is the weighting factor.
[0015] In one embodiment, determining the current network state based on the preset threshold range into which Ω falls specifically includes: Set the first advancement threshold. Second upgrade threshold First reduction threshold Second reduction threshold And satisfy ; When the current network state is mildly congested: if the following conditions are met... If the conditions are met, the congestion level will be upgraded to moderate; It can directly switch to a severely congested state; When the current network state is moderately congested: if the following conditions are met The congestion level is reduced to a mild congestion state; if the conditions are met... The congestion level has been upgraded to severe congestion. When the current network state is heavily congested: if the following conditions are met If so, it will be downgraded to a moderate congestion state; when If any of the above migration conditions are not met, the current network state remains unchanged.
[0016] In one embodiment, the step of collaboratively adjusting the transmission rate, packet shaping interval, and erasure coding mode according to three congestion levels—mild, moderate, and severe—specifically includes: When the network status escalates from a lightly congested state to a moderately congested state, the transmission rate decreases multiplicatively, the packet shaping interval returns to the baseline value, and the system switches to a low-redundancy erasure coding mode. When the network state deteriorates from moderate congestion to mild congestion, the sending rate is increased according to the additive increase mechanism, the packet shaping interval is reduced, and the non-redundant erasure coding mode is adopted. When the network status escalates from moderate congestion to severe congestion, the sending rate decreases multiplicatively, the packet shaping interval is increased, and the system switches to a high redundancy erasure coding mode. When the network status degrades from a heavily congested state to a moderately congested state, the sending rate is reduced, the packet shaping interval is increased, and the erasure coding mode with a low redundancy level is switched.
[0017] In one embodiment, when the network state degrades from a moderately congested state to a lightly congested state, the sending rate is increased according to an additive increment mechanism, the packet shaping interval is reduced, and a non-redundant erasure coding mode is adopted, specifically including: The sending end operates in fixed steps within each decision cycle. Gradually and smoothly increase the transmission rate to probe the remaining bandwidth of the link: ; Let be the transmission rate at time t. The transmission rate at time t+1 This represents the maximum allowed transmission rate at the sending end. The low redundancy level erasure coding mode adopts a 20+1 encoding configuration, that is, every 20 original data packets correspond to 1 check packet; The high redundancy level erasure coding mode adopts a 10+2 encoding configuration, with 2 check packets corresponding to every 10 original data packets.
[0018] In one embodiment, the step of continuously and periodically verifying the current network state using a counter, and confirming a network state switch when the counter reaches a preset threshold, specifically includes: Within each decision cycle, the sending end verifies the sequence number or timestamp of the acknowledgment message. Only when a fresh acknowledgment message is received does it determine the current network state based on network congestion parameters. If the determined network state is consistent with the previous record, the counter is incremented. If the determined network state is inconsistent with the previous record, the counter is reset to zero. If no new acknowledgment message is received in the current cycle, the decision is skipped and the counter remains frozen. When the counter reaches a preset threshold, the network state switch is confirmed.
[0019] In one embodiment, the receiving end performs local decoding and recovery of lost data according to the current erasure coding mode, specifically including: The receiving end receives the encoded data stream sent by the sending end, wherein the encoded data stream contains raw data packets and check packets in units of encoded blocks; The receiving end counts the number of lost data packets in the current coding block and determines whether the number of lost data packets exceeds the error correction limit M corresponding to the current erasure coding mode; When the number of lost data packets is less than or equal to M, the receiving end performs erasure coding decoding operation using the received original data packets and check packets to recover the lost data packets, and temporarily stores the subsequently arriving data packets in the reordering buffer. After the recovery is completed, the recovered data packets are submitted to the upper-layer protocol stack together with the recovered data packets in the original order.
[0020] In a second aspect, the present invention provides an erasure coding-based RDMA congestion control system for wide area networks, used to implement the method of any embodiment of the first aspect, comprising: The receiver metric extraction module, located at the receiver, is used to extract the explicit congestion notification marker density and real-time queue depth based on a sliding window. The receiver feedback encapsulation module, located at the receiver, is used to write the explicit congestion notification tag density and real-time queue depth into the reserved fields of the acknowledgment message and feed them back to the sender through the acknowledgment message. The sending-end parsing and calculation module, located at the sending end, is used to parse acknowledgment messages, obtain the explicit congestion notification marker density and real-time queue depth, and calculate network congestion level parameters in combination with the measured round-trip time. The sending end status verification module is set at the sending end and is used to calculate the network congestion level parameter Ω at a fixed decision period. It determines the current network status based on the preset threshold range in which Ω falls. It performs continuous periodic verification of the current network status through a counter. When the counter reaches a preset threshold, it confirms the network status switch. The sending end linkage control module is set at the sending end and is used to coordinately adjust the sending rate, packet shaping interval and erasure coding mode according to the determined network status and three congestion levels: mild, moderate and severe. The receiver-side local recovery module, located on the receiver, is used to locally decode and recover lost data according to the current erasure coding mode.
[0021] In one embodiment, it further includes: The erasure coding module at the sending end is set up at the sending end and is used to perform erasure coding redundancy encoding on the original data packet according to the determined network status and the corresponding erasure coding mode to generate a check packet. The mode information encapsulation module, located at the sending end, is used to write the current coding block number, packet position index, and erasure code mode number into the extended header or reserved field of the data packet and send it to the receiving end.
[0022] The system and method in this invention correspond to each other; the specific technical solutions applicable to the method are also applicable to the system.
[0023] Compared with the prior art, the beneficial technical effects of the present invention are: Enhancing network status awareness: This invention uses the reserved fields in the confirmation message to feed back network status information such as explicit congestion notification tag density and queue depth. The sending end uses multi-dimensional indicators to calculate the network congestion level parameter Ω, which can more accurately reflect the current network status compared to relying solely on a single explicit congestion notification tag.
[0024] Reduce misjudgments caused by network fluctuations: This invention employs a sliding window statistics and continuous periodic verification mechanism, which only switches states when the network state meets the conditions for multiple consecutive periods, thereby reducing misjudgments caused by instantaneous traffic fluctuations and random noise, and reducing transmission rate oscillations.
[0025] Improving the adaptability of the control strategy: This invention dynamically adjusts the transmission rate, packet interval, and erasure code redundancy level according to the changes in the network congestion parameter Ω, so that the control strength matches the network status, reducing unnecessary redundancy overhead while ensuring transmission efficiency.
[0026] To reduce retransmission overhead caused by random packet loss, this invention incorporates an erasure coding recovery mechanism at the receiving end. When the number of lost packets is within the recovery capability of the current erasure coding mode, local recovery can be completed directly and data can be submitted in sequence, reducing out-of-order and retransmission requests caused by random packet loss.
[0027] Improving transmission stability in lossy WAN environments: This invention dynamically selects erasure coding modes with different redundancy levels based on link status, thereby enhancing data recovery capabilities while increasing limited bandwidth overhead, reducing the impact of random packet loss on transmission performance, and improving link utilization and transmission stability in WAN environments. Attached Figure Description
[0028] Figure 1 This is a flowchart of a method according to an embodiment of the present invention.
[0029] Figure 2This is a schematic diagram of the hierarchical state machine and control actions of the present invention.
[0030] Figure 3 This is a flowchart of the state machine time-domain smoothing determination process of the present invention.
[0031] Figure 4 This is a flowchart illustrating the calculation process for the network congestion parameter Ω in this invention.
[0032] Figure 5 This is a flowchart of the erasure code recovery process at the receiving end of the present invention. Detailed Implementation
[0033] A preferred embodiment of the present invention will now be described in detail with reference to the accompanying drawings.
[0034] like Figure 1 As shown, a method for RDMA congestion control based on erasure coding in a wide area network according to the present invention includes the following steps: S1, the receiving end extracts the explicit congestion notification label density and real-time queue depth based on the sliding window, writes the explicit congestion notification label density and real-time queue depth into the reserved field of the acknowledgment message, and feeds it back to the sending end through the acknowledgment message; S2, the sending end parses the acknowledgment message, obtains the explicit congestion notification marker density and real-time queue depth, and calculates the network congestion level parameters in combination with the measured round-trip time. S3, the sending end calculates the network congestion level parameter Ω at a fixed decision period, determines the current network state according to the preset threshold range in which Ω falls, and continuously verifies the current network state through a counter. When the counter reaches the preset threshold, the network state switch is confirmed. S4, the sending end adjusts the sending rate, packet shaping interval and erasure coding mode in coordination according to the determined network status and three congestion levels: mild, moderate and severe. S5, the receiving end performs local decoding and recovery of lost data according to the current erasure coding mode.
[0035] In this invention, the receiving end extracts network status indicators through a sliding window and writes them into the reserved field of the acknowledgment message, then feeds them back to the sending end. The sending end combines the feedback information and round-trip time to calculate the network congestion level parameter Ω, and performs continuous determination through a time-domain verification state machine.
[0036] Based on the judgment results, the sending end coordinates and adjusts the sending rate, packet shaping interval, and erasure coding mode to achieve linked control. The receiving end performs local recovery of lost data according to the current erasure coding configuration, reducing the probability of out-of-order retransmission triggered by random packet loss, thereby improving transmission efficiency and link utilization in a wide area network environment.
[0037] The technical solution of the present invention will be described in detail below in several parts.
[0038] 1. Extraction and field encapsulation of network status indicators at the receiving end.
[0039] The receiving end uses a time-window-based statistical method to collect network status information. To reduce the impact of instantaneous jitter and single sampling on control decisions, the system maintains a sliding window with a fixed time span at the receiving end. The statistical period of the sliding window can be from 10 microseconds to 500 microseconds, with 50 microseconds being preferred.
[0040] At the end of each statistical period, the receiver extracts the current network status metrics. These metrics include the explicit congestion notification label density (ECDI). ) and real-time queue depth ( ), where Explicit Congestion Notification Mark Density is used to represent the proportion of data packets carrying congestion marker bits (CE) in the current statistical window to the total number of received data packets; Real-time Queue Depth is used to represent the number of currently queued data packets in the receiver's buffer queue.
[0041] In one embodiment, the explicit congestion notification tag density is calculated according to the following formula: ; in, This indicates the number of data packets carrying the congestion flag within the current window. This indicates the total number of data packets received within the current window.
[0042] After acquiring the above indicators, the receiving end encodes each indicator according to a preset format and writes the encoding result into a reserved field of the acknowledgment message. Since the existing fields of the acknowledgment message are used to carry the status information, there is no need to add additional control messages to realize the feedback transmission of network status information to the sending end, providing a data basis for the sending end to judge the congestion status subsequently.
[0043] 2. Calculation of network congestion parameters at the sending end.
[0044] After receiving the acknowledgment message, the sender parses the explicit congestion notification flag density and real-time queue depth from the reserved fields. Simultaneously, it obtains the current round-trip time using a timestamp measurement mechanism. .
[0045] To uniformly represent network status, the sending end constructs a network congestion level parameter. The network congestion level parameter comprehensively considers network congestion labeling, buffer queuing pressure, and link latency trends. Its calculation formula is as follows: ; in, The density of explicit congestion notification markers reflects the explicit congestion status of intermediate nodes in the network. For the current round-trip delay, Based on round-trip time; The receiving network adapter receives the current real-time queue depth of the rearranged buffer; The maximum physical buffer capacity preset for the receiving network adapter; To set an upper limit for abnormal expansion of round-trip time delay and prevent noise in single measurements; , , The weighting factor is used. The round-trip time (RTT) variation characterizes the link congestion evolution trend and forms a single control input through a unified mapping.
[0046] The network congestion parameter Ω is calculated from the explicit congestion notification (ECN) density, queue depth, and round-trip time (RTT) information, and is used as a comprehensive decision-making reference for the sending end state machine. Among them, the explicit congestion notification (ECN) density serves as the primary congestion indication signal, reflecting the explicit congestion status of intermediate nodes in the network; queue depth and round-trip time (RTT) serve as auxiliary compensation signals, correcting the lag error of explicit congestion notification (ECN) feedback in long-latency scenarios. It is used to fuse and map multi-source signals and output a unified congestion assessment result.
[0047] The sending end calculates the network congestion level parameter Ω in real time based on the above parameters, and uses it as the input for subsequent time-domain verification and hierarchical state machine.
[0048] Low-latency WAN configuration: In one embodiment, when the link round-trip time is less than 500 μs, the sliding window period can be appropriately reduced, for example, set to 10 μs to 30 μs. A shorter statistical window can reflect link state changes more quickly, improving the congestion perception speed and control response speed of the transmitter.
[0049] High-latency WAN configuration: In one embodiment, when the link round-trip time is greater than 1ms, the number of consecutive verifications N can be appropriately increased, for example, set to 5. By increasing the number of consecutive verifications, the impact of instantaneous fluctuations on state determination in a long-latency feedback environment can be reduced, thereby improving control stability.
[0050] Figure 4 This paper describes the process of calculating the network congestion level parameter Ω based on the explicit congestion notification label density, queue depth, and round-trip time (RTT) parameters, and outputting it to the state machine.
[0051] 3. Counter verification and hierarchical decision state machine.
[0052] The sending end constructs a hierarchical decision state machine based on the network congestion level parameter Ω. To reduce the impact of instantaneous network fluctuations on control decisions, the state machine employs a continuous periodic verification mechanism for state determination.
[0053] The system is set with a fixed decision cycle, which can be consistent with the sliding window statistical cycle. The decision cycle is matched with the network card processing granularity, ranging from 10 microseconds to 500 microseconds, with 50 microseconds being preferred.
[0054] Within each decision cycle, the sending end verifies the sequence number or timestamp of the acknowledgment message. The network state is calculated based on the current Ω only when a fresh acknowledgment message is received. If the calculated network state is consistent with the previous record, the counter is incremented. If it changes, the counter is reset to zero. If no new acknowledgment message is received in the current cycle, the decision is skipped and the counter remains frozen.
[0055] The system sets a continuous verification threshold N, which can be 2 to 10 cycles, preferably 3 to 5 cycles. When the counter cnt reaches the threshold N, the state machine confirms that the current network state has changed and executes the corresponding state transition; when the counter has not reached the threshold, the current control state remains unchanged. This continuous cycle verification mechanism avoids frequent state switching caused by short-term jitter.
[0056] If an acknowledgment packet is lost, the counter remains frozen and ready to run; if the timeout threshold (preferably) is exceeded consecutively... If no feedback is received, the system determines that the feedback link is interrupted and forcibly resets the counter; if the current state is mildly congested, it forcibly switches to a moderately congested state; if the current state is moderately or severely congested, it maintains the current network state until the link resumes normal feedback.
[0057] Figure 3 It demonstrates the periodic calculation of network congestion level parameters, hierarchical region identification, counter increment and reset rules, as well as the triggering process of continuous periodic threshold verification and linkage control.
[0058] 4. Hierarchical linkage and collaborative control mechanism.
[0059] This invention employs a unified state machine to coordinate and adjust the transmission rate control, packet shaping, and erasure coding, thereby achieving linked control. Figure 2 It demonstrates the adjustment actions of rate and erasure coding modes for mild, moderate, and severe congestion, state switching thresholds, and the corresponding levels.
[0060] Set the first advancement threshold. Second upgrade threshold First reduction threshold Second reduction threshold And satisfy .
[0061] When the current network state is mildly congested: if the following conditions are met... If the conditions are met, the congestion level will be upgraded to moderate; It can directly switch to a severely congested state; When the current network state is moderately congested: if the following conditions are met The congestion level is reduced to a mild congestion state; if the conditions are met... The system escalates to a state of severe congestion and quickly activates a high-redundancy erasure coding mode for protection. When the current network state is heavily congested: if the following conditions are met If the congestion level is not cleared, the system will downgrade to a moderate congestion state and reset the counter. Direct downgrading to a mild congestion state is prohibited. After switching to a moderate congestion state, the system must continuously receive fresh acknowledgment messages. The system will only be activated when the counter continuously reaches a preset threshold, and the system determines the level based on the number of fresh acknowledgment messages received. Only after receiving the confirmation message can the system be further downgraded to a mild congestion state.
[0062] when If any of the above migration conditions are not met, the current network state remains unchanged.
[0063] When the network state escalates from mild congestion to moderate congestion, the transmission rate decreases multiplicatively, meaning the sender operates according to the first backoff factor. Reduce the sending rate: The packet-pacing interval is restored to the baseline value, and the erasure coding mode with a low redundancy level is switched. , Let be the transmission rate at time t. The transmission rate at time t+1.
[0064] When the network state deteriorates from moderate congestion to mild congestion, the sending rate is smoothly increased according to the additive increase mechanism, the packet shaping interval is reduced, and a non-redundant erasure coding mode is adopted.
[0065] When the network state escalates to a state of severe congestion, the transmission rate decreases multiplicatively, meaning the sender operates according to the second backoff factor. Reduce the sending rate: , Increase the packet shaping interval and switch to a high redundancy level erasure coding mode.
[0066] When the network status degrades from a heavily congested state to a moderately congested state, the sending rate is increased, the packet shaping interval is reduced, and the erasure coding mode with a low redundancy level is switched.
[0067] The erasure coding mode can be dynamically configured based on link bandwidth, latency, packet loss rate, and service type. In an exemplary configuration, a non-redundant erasure coding mode can be used in a lightly congested state; a 20+1 erasure coding mode can be used in a moderately congested state, i.e., one check packet corresponds to every 20 original data packets; and a 10+2 erasure coding mode can be used in a heavily congested state, i.e., two check packets correspond to every 10 original data packets. Those skilled in the art can adopt other redundancy ratios according to the actual link quality and transmission requirements without affecting the implementation of the technical solution of this invention.
[0068] As network congestion increases, the risks of link queuing, random packet loss, and retransmission also increase. The system gradually increases the redundancy level of error correction coding. Compared to the additional traffic overhead caused by retransmission mechanisms triggered after random packet loss, appropriately increasing forward error correction redundancy can improve data recovery capabilities at a lower cost, thereby reducing out-of-order events and retransmission traffic, and improving transmission stability and bandwidth utilization in wide area network environments.
[0069] The control results output by the state machine simultaneously affect the transport layer rate control, the link layer packet shaping, and erasure coding, thereby maintaining a consistent control strategy across the speed regulation, shaping, and fault tolerance processes.
[0070] In one embodiment of high packet loss rate link configuration, when the random packet loss rate of the link reaches 0.5% or higher, a high-redundancy erasure coding mode can be adopted, for example, the erasure coding mode can be set to 10+2. By increasing the redundancy ratio of the erasure coding, the local recovery capability can be enhanced, thereby reducing the impact of packet loss on upper-layer protocols and improving link stability.
[0071] 5. Lowest-level local algebra decoding and in-situ restoration at the receiving end.
[0072] After receiving the encoded data stream, the receiving end performs data recovery processing according to the currently running erasure coding mode.
[0073] The receiving end first counts the number of lost data packets in the current coding block and determines whether it exceeds the error correction limit M corresponding to the current coding mode. The error correction limit M is determined by the current erasure coding configuration, and it represents the maximum number of lost data packets that the current coding block can recover.
[0074] When the number of lost data packets is less than or equal to M, the receiving end performs erasure coding decoding using the received original data packets and check packets to recover the missing data packets. During erasure coding recovery, subsequently arriving data packets are temporarily stored in a reordering buffer. After recovery is complete, the recovered data packets are submitted to the upper-layer protocol stack in their original order.
[0075] When the number of lost data packets exceeds the recovery capacity of the current mode, subsequent processing will be carried out according to the existing reliable transmission mechanism.
[0076] By performing local recovery at the receiving end, the propagation of random physical packet loss to upper-layer protocols can be reduced, the probability of out-of-order retransmission can be lowered, thereby improving transmission stability and link utilization in lossy wide area network environments.
[0077] Figure 5 It explains the process of detecting the number of lost data packets, judging recovery capability, erasure coding recovery, and reordering submission.
[0078] In one embodiment, the low redundancy level erasure coding mode can adopt a 20+1 encoding configuration, and its corresponding error correction limit M can be set to 1; the high redundancy level erasure coding mode can adopt a 10+2 encoding configuration, and its corresponding error correction limit M can be set to 2.
[0079] In one optional verification method, a 100Gbps link, 2ms RTT and random packet loss environment can be constructed, and the throughput, retransmission count, recovery success rate and flow completion time can be recorded to evaluate the congestion state discrimination and erasure coding recovery effect of the present invention.
[0080] 6. Implementation examples of engineering parameter configuration and collaborative control.
[0081] This embodiment provides the specific engineering parameter settings, message encapsulation format, and abnormal boundary handling logic for each module of the present invention in the High Bandwidth Delay Product (High BDP) scenario of wide area networks.
[0082] (1) Feedback message expansion and status quantization mechanism: In one specific embodiment, the receiving end inserts a 24-bit (3-byte) custom control extension field, denoted as CC_EC_Header, after the Base Transport Header (BTH) of the RoCEv2 standard acknowledgment message (ACK).
[0083] The CC_EC_Header field contains the following quantification information: The explicit congestion notification label density, ecn_density, occupies 8 bits and has a quantization order of 2. 8 =256 levels, used to represent the percentage of packets with congestion flags received within the sliding window, with a mapping range of 0.0 to 1.0; The receiver queue depth normalization value q_norm, occupying 8 bits and with 256 quantization levels, is used for mapping. The percentage is mapped from 0% to 100%.
[0084] The CC_EC_Header also carries a 4-bit incrementing feedback sequence number, Feedback_Seq, which is used by the sender to identify the freshness of the acknowledgment message and prevent old feedback from being counted repeatedly.
[0085] (2) Queue depth and RTT acquisition filtering rules: In one specific embodiment, the real-time queue depth at the receiving end The number of queued packets in real time, directly sampled from the ring buffer of the receiving network adapter; normalized reference upper limit. Set the maximum physical buffer capacity preset by the receiving network adapter, for example, 512 data packets.
[0086] The baseline round-trip time is initialized during the establishment phase of a remote direct memory access connection by taking the minimum round-trip time of 10 handshake messages. If a long-distance route switch occurs during operation, it must satisfy 5 consecutive round-trip times. At that time, the sampling and flushing of RTT_base will be triggered 10 times again.
[0087] For the round-trip delay sample values, an exponentially weighted moving average with a smoothing coefficient α=0.125 is used to calculate the smoothed delay. If a single sampling satisfies Then the automatic clamping is reset to zero; if If the sample is identified as a hardware interrupt glitch, it is discarded.
[0088] (3) Dual-threshold hysteresis state machine and threshold parameters: In one specific embodiment, the fixed decision period can be set according to the network interface card's processing capacity, for example, to 50μs.
[0089] The threshold parameters are set as follows: First order-up threshold First order reduction threshold Second upgrade threshold Second reduction threshold The continuous verification threshold N is set to 3 fresh confirmation messages, that is, the switching is triggered only when 3 consecutive samples with incrementing Feedback_Seq support the same candidate state.
[0090] (4) Erasure code block structure and line-rate hard estimation: In one specific embodiment, encoding mode switching is strictly locked to be performed at the boundaries of encoding blocks. An encoding block consists of consecutive original data packet sequence numbers and generated check packet sequence numbers.
[0091] The low redundancy level erasure coding mode can adopt a 20+1 configuration, that is, every 20 original data packets correspond to 1 XOR (exclusive OR) check packet, the coding block size is 21 packets, and the theoretical maximum packet loss tolerance rate is 4.76%; The high redundancy erasure coding mode can adopt a 10+2 configuration, that is, every 10 original data packets correspond to 2 Reed-Solomon check packets, the coding block size is 12 packets, and the theoretical maximum packet loss tolerance rate is 16.67%.
[0092] Each data packet's extended header carries a 2-bit Mode_ID (00 indicates no redundancy, 01 indicates low redundancy, and 10 indicates high redundancy). After the sender switches modes at the block boundary, the receiver dynamically loads the decoding matrix by reading the Mode_ID of the first arriving packet of the new coded block.
[0093] Let the linear velocity budget be When switching from a non-redundant erasure coding mode to a low-redundancy erasure coding mode (20+1), the original data transmission rate is automatically discounted and compressed to: ; Ensure physical bus speed This will prevent redundant check packets from exacerbating network congestion.
[0094] (5) Retransmission suppression, decoding timeout and degradation fallback mechanism: In one specific embodiment, when the receiving end detects a hole in the packet sequence number and the number of lost packets L does not exceed the current erasure coding mode error correction limit M, the network card hardware automatically postpones the generation of negative acknowledgment (NAK) messages, freezes the local retransmission waiting timer, and temporarily stores the subsequently arriving data packets in the rearrangement buffer.
[0095] The receiver is set to a maximum algebraic decoding timeout period of 1 / 3. .
[0096] If the number of lost packets L is greater than M, decoding times out, or Mode_ID is corrupted, the receiving end immediately terminates local decoding, removes the suppression of negative acknowledgment (NAK) generation, sends back a standard negative acknowledgment message with the specified starting missing packet sequence number, and triggers the sending end's native Go-Back-N hardware retransmission process.
[0097] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0098] It should be understood that although the steps in the flowcharts of the accompanying drawings are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the flowcharts of the accompanying drawings may include multiple steps or stages, which are not necessarily completed at the same time, but may be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but may be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0099] This invention also provides a system. The system can be a system that uses software (applications), modules, components, servers, clients, etc., employing the methods described in the embodiments of this specification, combined with necessary hardware implementation. Since the implementation schemes and methods for solving the problem are similar, the specific system implementations in the embodiments of this specification can be found in the implementations of the foregoing methods, and repeated details will not be elaborated upon. Although the system is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0100] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0101] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the invention can be implemented in other specific forms without departing from its spirit or essential characteristics. Therefore, the embodiments should be considered in all respects as exemplary and non-limiting, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be included within the present invention, and no reference numerals in the claims should be construed as limiting the scope of the claims.
[0102] Furthermore, it should be understood that although this specification describes embodiments, not every embodiment contains only one independent technical solution. This narrative style is merely for clarity. Those skilled in the art should consider the specification as a whole, and the technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.
Claims
1. A method for RDMA congestion control based on erasure coding in a wide area network, characterized in that, include: The receiving end extracts the explicit congestion notification tag density and real-time queue depth based on a sliding window, writes the explicit congestion notification tag density and real-time queue depth into the reserved fields of the acknowledgment message, and feeds them back to the sending end through the acknowledgment message. The sending end parses the acknowledgment message, obtains the explicit congestion notification marker density and real-time queue depth, and calculates the network congestion level parameters by combining the measured round-trip time. The sending end calculates the network congestion level parameter Ω at a fixed decision period, determines the current network state based on the preset threshold range in which Ω falls, and continuously verifies the current network state through a counter. When the counter reaches a preset threshold, the network state switch is confirmed. Based on the determined network conditions, the sending end coordinates the sending rate, packet shaping interval, and erasure coding mode according to three congestion levels: mild, moderate, and severe. The receiving end performs local decoding and recovery of the lost data according to the current erasure coding mode.
2. The RDMA congestion control method based on erasure coding in a wide area network according to claim 1, characterized in that, The receiving end extracts the explicit congestion notification tag density and real-time queue depth based on a sliding window, specifically including: Explicit congestion notification label density for: ; in, This indicates the number of packets carrying the congestion flag within the current sliding window. This indicates the total number of data packets received within the current sliding window; The fixed decision-making period is consistent with the statistical period of the sliding window.
3. The RDMA congestion control method based on erasure coding in a wide area network according to claim 1, characterized in that, The sending end parses the acknowledgment message, obtains the explicit congestion notification tag density and real-time queue depth, and calculates network congestion level parameters based on the measured round-trip time, specifically including: The formula for calculating the network congestion parameter Ω is: ; in, For explicit congestion notification label density, For the current round-trip delay, Based on round-trip time; The receiving network adapter receives the current real-time queue depth of the rearranged buffer; The maximum physical buffer capacity preset for the receiving network adapter; To set an upper limit for abnormal expansion of round-trip time delay and prevent noise in single measurements; , , This is the weighting factor.
4. The RDMA congestion control method based on erasure coding in a wide area network according to claim 1, characterized in that, The step of determining the current network state based on the preset threshold range into which Ω falls specifically includes: Set the first advancement threshold. Second upgrade threshold First reduction threshold Second reduction threshold And satisfy ; When the current network state is mildly congested: if the following conditions are met... If the conditions are met, the congestion level will be upgraded to moderate; It can directly switch to a severely congested state; When the current network state is moderately congested: if the following conditions are met The congestion level is reduced to a mild congestion state; if the conditions are met... The congestion level has been upgraded to severe congestion. When the current network state is heavily congested: if the following conditions are met If so, it will be downgraded to a moderate congestion state; when If any of the above migration conditions are not met, the current network state remains unchanged.
5. The RDMA congestion control method based on erasure coding in a wide area network according to claim 4, characterized in that, The method of collaboratively adjusting the transmission rate, packet shaping interval, and erasure coding mode according to three congestion levels—mild, moderate, and severe—specifically includes: When the network status escalates from a lightly congested state to a moderately congested state, the transmission rate decreases multiplicatively, the packet shaping interval returns to the baseline value, and the system switches to a low-redundancy erasure coding mode. When the network state deteriorates from moderate congestion to mild congestion, the sending rate is increased according to the additive increase mechanism, the packet shaping interval is reduced, and the redundancy-free erasure coding mode is adopted. When the network status escalates from moderate congestion to severe congestion, the sending rate decreases multiplicatively, the packet shaping interval is increased, and the system switches to a high redundancy erasure coding mode. When the network status degrades from a heavily congested state to a moderately congested state, the sending rate is increased, the packet shaping interval is reduced, and the erasure coding mode with a low redundancy level is switched.
6. The RDMA congestion control method based on erasure coding in a wide area network according to claim 5, characterized in that, When the network state degrades from moderate congestion to mild congestion, the sending rate is increased according to an additive increment mechanism, the packet shaping interval is reduced, and a non-redundant erasure coding mode is adopted, specifically including: The sending end operates in fixed steps within each decision cycle. Gradually and smoothly increase the transmission rate to probe the remaining bandwidth of the link: ; Let be the transmission rate at time t. The transmission rate at time t+1 This represents the maximum allowed transmission rate at the sending end. The low redundancy level erasure coding mode adopts a 20+1 encoding configuration, that is, every 20 original data packets correspond to 1 check packet. The high redundancy level erasure coding mode adopts a 10+2 encoding configuration, with 2 check packets corresponding to every 10 original data packets.
7. The RDMA congestion control method based on erasure coding in a wide area network according to claim 1, characterized in that, The step of continuously and periodically verifying the current network state using a counter, and confirming a network state switch when the counter reaches a preset threshold, specifically includes: Within each decision cycle, the sending end verifies the sequence number or timestamp of the acknowledgment message. Only when a fresh acknowledgment message is received does it determine the current network state based on network congestion parameters. If the determined network state is consistent with the previous record, the counter is incremented. If the determined network state is inconsistent with the previous record, the counter is reset to zero. If no new acknowledgment message is received in the current cycle, the decision is skipped and the counter remains frozen. When the counter reaches a preset threshold, the network state switch is confirmed.
8. The RDMA congestion control method based on erasure coding in a wide area network according to claim 1, characterized in that, The receiving end performs local decoding and recovery of lost data according to the current erasure coding mode, specifically including: The receiving end receives the encoded data stream sent by the sending end, wherein the encoded data stream contains raw data packets and check packets in units of encoded blocks; The receiving end counts the number of lost data packets in the current coding block and determines whether the number of lost data packets exceeds the error correction limit M corresponding to the current erasure coding mode; When the number of lost data packets is less than or equal to M, the receiving end performs erasure coding decoding operation using the received original data packets and check packets to recover the lost data packets, and temporarily stores the subsequently arriving data packets in the reordering buffer. After the recovery is completed, the recovered data packets are submitted to the upper-layer protocol stack together with the recovered data packets in the original order.
9. A wide area network RDMA congestion control system based on erasure coding, used to implement the method according to any one of claims 1 to 8, characterized in that, include: The receiver metric extraction module, located at the receiver, is used to extract the explicit congestion notification marker density and real-time queue depth based on a sliding window. The receiver feedback encapsulation module, located at the receiver, is used to write the explicit congestion notification tag density and real-time queue depth into the reserved fields of the acknowledgment message and feed them back to the sender through the acknowledgment message. The sending-end parsing and calculation module, located at the sending end, is used to parse acknowledgment messages, obtain the explicit congestion notification marker density and real-time queue depth, and calculate network congestion level parameters in combination with the measured round-trip time. The sending end status verification module is set at the sending end and is used to calculate the network congestion level parameter Ω at a fixed decision period. It determines the current network status based on the preset threshold range in which Ω falls. It performs continuous periodic verification of the current network status through a counter. When the counter reaches a preset threshold, it confirms the network status switch. The sending end linkage control module is set at the sending end and is used to coordinately adjust the sending rate, packet shaping interval and erasure coding mode according to the determined network status and three congestion levels: mild, moderate and severe. The receiver-side local recovery module, located on the receiver, is used to locally decode and recover lost data according to the current erasure coding mode.
10. The system according to claim 9, characterized in that, Also includes: The erasure coding module at the sending end is set up at the sending end and is used to perform erasure coding redundancy encoding on the original data packet according to the determined network status and the corresponding erasure coding mode to generate a check packet. The mode information encapsulation module, located at the sending end, is used to write the current coding block number, packet position index, and erasure code mode number into the extended header or reserved field of the data packet and send it to the receiving end.