A low-overhead retransmission system for packet-based lossy RDMA networks
By using an adaptive group partitioning and logical group retransmission mechanism with pseudo-acknowledgment feedback packets, the problem of limited RNIC resources in RDMA networks is solved, achieving efficient packet loss management and high-performance transmission for large-scale connections.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-03
- Publication Date
- 2026-04-03
AI Technical Summary
Existing RDMA networks suffer from redundant retransmissions and congestion propagation issues due to limited RNIC resources. The high caching overhead and host access latency caused by the bitmap mechanism limit connection expansion and performance.
A low-overhead retransmission system based on packet-based lossy RDMA networks is adopted. The logical group size is dynamically adjusted through an adaptive group partitioning module, and pseudo-GACK and pseudo-GNAK feedback packets are used for accurate retransmission, reducing bitmap storage space and the number of control messages.
It efficiently manages packet loss status under limited RNIC resources, reduces redundancy overhead, supports large-scale concurrent connections, and improves the performance and stability of RDMA transmission.
Smart Images

Figure CN121261854B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data communication technology, and in particular to a low-overhead retransmission system for packet-based lossy RDMA networks. Background Technology
[0002] Remote Direct Memory Access (RDMA) is a high-performance communication technology that allows for direct memory read and write operations between network ends, bypassing the operating system kernel. This technology offloads traditional CPU and kernel-processed communication protocol operations to hardware implementation, significantly reducing communication latency and improving bandwidth utilization. Deploying RDMA-enabled network interface cards (RNICs) and switching equipment in data centers can achieve higher throughput and lower latency than traditional TCP / IP networks.
[0003] RDMA supports multiple protocol implementations, with the most widely adopted being RDMA over Converged Ethernet v2 (RoCEv2). The RoCEv2 protocol primarily relies on the Go-Back-N (GBN) retransmission mechanism for packet loss recovery. Under GBN, once a single packet is lost, all subsequent unacknowledged packets are retransmitted as a whole. This retransmission method undoubtedly results in a large amount of redundant data transmission, significantly reducing network transmission efficiency. To mitigate the performance degradation caused by GBN, RoCEv2 typically relies on Ethernet's Priority-based Flow Control (PFC) mechanism. This mechanism alleviates port congestion by pausing data flows of specific priorities, thereby creating a near-lossless transmission environment. PFC limits sender traffic by sending pause frames, effectively preventing buffer overflows and packet loss. However, PFC introduces serious side effects. First, pausing the entire priority queue can cause head-end blocking, hindering subsequent data transmission. Second, congestion propagation can cause congestion on one port to spread to multiple upstream nodes. These problems are particularly prominent in large-scale data centers, where multiple flows share a link. Congestion in any one flow can trigger PFC, leading to an increase in overall completion time and a decrease in effective throughput, which seriously affects the scalability and stability of RDMA networks.
[0004] To address the efficiency and reliability issues introduced by GBN and PFC, researchers proposed a lossy RDMA network architecture based on Selective Repeat (SR). Under the SR mechanism, the system maintains a bitmap to record the reception status of each data packet. Each bit in the bitmap corresponds to a packet, with 0 or 1 indicating whether the packet successfully arrived at the receiver. When some data packets are lost, only these lost packets are retransmitted, thus avoiding the redundant overall retransmission problem in the GBN mechanism. However, the SR mechanism also introduces new overhead bottlenecks. Since each RDMA connection needs to maintain a separate bitmap to track the status of all its unacknowledged data packets, the size of the bitmap grows linearly with the increase of link bandwidth. Simultaneously, due to the limited buffer resources on the RNIC, as the bitmap size increases, it encroaches on the storage space of the Queue PairContext (QPC) on the RNIC (QPC is a key data structure used to describe and manage the status of each RDMA connection, typically stored in the internal storage space of the RNIC). When the bitmap size becomes too large and encroaches on the QPC storage space on the RNIC, it is necessary to access the host memory via PCIe to obtain the QPC, which greatly increases data transmission latency. At the same time, if the bitmap is moved to the host memory to work with the RNIC, although this method frees up the network card cache resources, in high-frequency data access scenarios, it is still necessary to frequently access the host memory, thus weakening the latency advantage of RDMA.
[0005] RDMA networks relying on the PFC mechanism face problems such as redundant retransmission and congestion propagation. Although the SR protocol improves packet loss handling capabilities, the high caching overhead and host access latency brought by its bitmap mechanism limit connection expansion and performance. Therefore, a high-performance RDMA transmission system that can efficiently manage packet loss status, reduce redundancy overhead, and support large-scale concurrent connections under limited RNIC resources is needed to achieve a breakthrough and optimization of RDMA communication capabilities in lossy network environments. Summary of the Invention
[0006] The purpose of this invention is to propose a low-overhead retransmission system for lossy RDMA networks based on packets, in order to efficiently manage packet loss status, reduce redundancy overhead, and support high-performance RDMA transmission with large-scale concurrent connections under limited RNIC resources. The system uses an RNIC as the execution unit and includes a transmitter and a receiver. The transmitter includes an adaptive group partitioning module, a group header construction module, a retransmission module, and a bitmap module. The receiver includes an initialization and judgment module, a packet loss processing module, and a bitmap module.
[0007] At the sending end, the adaptive group partitioning module dynamically adjusts the logical group size according to the feedback packets sent by the packet loss processing module, and the bitmap module at the sending end updates the local bitmap according to the feedback packets sent by the packet loss processing module, saving the sending status bitmap divided by logical group; the group header construction module inserts an extended protocol header into each data packet according to the logical group size and the local bitmap information.
[0008] At the receiving end, the initialization and judgment module parses the extended protocol header. If the logical group to which the received data packet belongs is the first arriving group, the bitmap module initializes a logical group tracking structure for the first arriving logical group to track the data packets in that group. If the logical group to which the received data packet belongs is not the first arriving group, the logical group tracking structure of the logical group to which the received data packet belongs detects the continuity of the data packets according to the sequence number within the group. If the sequence numbers are not continuous, the packet loss handling module generates a feedback packet and sends it back to the sending end through the RNIC. The retransmission module retransmits the lost data packets according to the feedback packet.
[0009] Furthermore, the feedback packets generated by the packet loss processing module are pseudo-GACK and pseudo-GNAK. Pseudo-GACK is used to confirm the data segments that have been continuously received, carrying the group number and the length of the received data. Pseudo-GNAK is used to mark the currently missing packet segments, carrying the group number and the missing interval information.
[0010] Furthermore, the transmission of data packets adopts the RoCEv2 protocol. The header of the data packet includes: Ethernet header, IP header, UDP header, and extended RoCEv2 header. The extended RoCEv2 header is an extension of the original BTH structure of RoCEv2, adding a packet header and an extended header. The packet header includes a 2-byte group ID, a 1-byte packet size, and a 1-byte intra-group sequence number. The extended header includes a 4-byte pseudo-GACK and a 4-byte pseudo-GNAK.
[0011] Furthermore, the data packets in the logical group are consecutive data packets.
[0012] Furthermore, the adaptive group partitioning module dynamically adjusts the logical group size based on the feedback packets sent by the packet loss handling module, as shown below:
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020] Initialize to 0, as x increases from 1 to... Execute the following loop:
[0021] prob_success=
[0022] prob_loss_at_x=
[0023] remaining=
[0024] delta2_term+=prob_success×prob_loss_at_x×remaining
[0025] End the loop;
[0026] renew : ,turn up smallest ;
[0027] in, Indicates the number of redundant retransmitted packets. This indicates the expected amount of data to be retransmitted due to bitmap overflow. This represents the size of the logic group in round (k+1). This indicates that in the (k+1)th round, based on the prediction coefficients... Predict packet loss rate This indicates that the group size in the kth round is... The actual packet loss rate is as follows. This indicates the number of logic groups in round k+1. Represents the prediction coefficient for the k-th round. Indicates The number of lost logical groups generated during the first transmission of the logical group size. Indicated by The number of packets sent for the first time as the logical group size. Indicates the size of the logic group in round k. Indicates based on prediction coefficients The predicted packet loss rate for the (k+1)th round is obtained. This represents the prediction coefficient for the (k+1)th round. Indicated by The number of lost logical groups in the second transmission, representing the logical group size. Indicates The number of packets sent the second time, as the logical group size. Indicated by The network transmission rate during the second round of sending, based on the group size. Indicated by The round-trip delay for the second transmission of the group size. Indicates the maximum transmission unit. This represents the maximum number of logical groups that the bitmap supports in the (k+1)th round. This represents the smoothing factor, and prob_success represents the preceding x. The probability that all packets are successfully transmitted, prob_loss_at_x represents the probability that the x-th packet is lost, remaininging represents the number of additional packets that need to be retransmitted when the x-th packet causes bitmap overflow, and delta2_term is an intermediate variable.
[0028] This invention also proposes a low-overhead retransmission method for lossy RDMA networks based on packets. Based on the above system implementation, the system uses an RNIC as the execution unit and includes: a transmitter and a receiver; the transmitter includes: an adaptive group partitioning module, a group header construction module, a retransmission module, and a bitmap module; the receiver includes: an initialization and judgment module, a packet loss processing module, and a bitmap module.
[0029] At the sending end, the adaptive group partitioning module dynamically adjusts the logical group size according to the feedback packets sent by the packet loss processing module, and the bitmap module at the sending end updates the local bitmap according to the feedback packets sent by the packet loss processing module, saving the sending status bitmap divided by logical group; the group header construction module inserts an extended protocol header into each data packet according to the logical group size and the local bitmap information.
[0030] At the receiving end, the initialization and judgment module parses the extended protocol header. If the logical group to which the received data packet belongs is the first arriving group, the bitmap module initializes a logical group tracking structure for the first arriving logical group to track the data packets in that group. If the logical group to which the received data packet belongs is not the first arriving group, the logical group tracking structure of the logical group to which the received data packet belongs checks the continuity of the data packets according to the sequence number within the group. If the sequence numbers are not continuous, the packet loss handling module generates a feedback packet and sends it back to the sending end through the RNIC. The retransmission module retransmits the lost data packets according to the feedback packet. When all data packets in the logical group tracking structure have arrived, the bitmap module is updated.
[0031] The present invention also proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described low-overhead retransmission method for packet-based lossy RDMA networks.
[0032] The present invention also proposes an electronic device including a processor and a memory, wherein the processor is interconnected with the memory, the memory is used to store a computer program, the computer program including computer-readable instructions, and the processor is configured to invoke the computer-readable instructions to execute the above-described packet-based lossy RDMA network low-overhead retransmission method.
[0033] The present invention also proposes a computer program product, including a computer program / instruction that, when executed by a processor, implements the steps of the above-described packet-based lossy RDMA network low-overhead retransmission method.
[0034] The beneficial effects of the technical solution provided by this invention are:
[0035] This invention proposes a logical packet transmission and retransmission system that divides continuous data packets into logical groups. A bitmap records whether each group has arrived accurately and adjusts the group size in real time, significantly reducing the storage space of the bitmap. This group division is logical; physically, the data packets remain independent. By introducing metadata such as group ID, group size, and sequence number within the group into the protocol header, the sender and receiver can treat these data packets as a single logical group at the protocol semantic level. The system incorporates lightweight sender and receiver processing modules on the RNIC. When packet loss occurs, the receiver generates a feedback packet and sends it back to the sender via a protocol extension header. The sender only retransmits the lost data packets, avoiding the need to retransmit the entire logical group and thus preventing unnecessary network overhead. This invention enables efficient management of packet loss states, reduces redundancy overhead, and supports high-performance RDMA transmission with large-scale concurrent connections under limited RNIC resources, achieving a breakthrough and optimization of RDMA communication capabilities in lossy network environments. Attached Figure Description
[0036] Figure 1 This is a block diagram of a low-overhead retransmission system for a lossy RDMA network based on packet processing, according to an embodiment of the present invention.
[0037] Figure 2 This is the header structure of the data packet in an embodiment of the present invention;
[0038] Figure 3 The system (group-level bitmap) and IRN (32-bit bitmap), IRN (1024-bit bitmap), and GBN in this embodiment of the invention have average stream completion time and effective throughput under different message sizes;
[0039] Figure 4 The system (group-level bitmap) and IRN (32-bit bitmap), IRN (1024-bit bitmap), and GBN in this embodiment of the invention have average flow completion time and effective throughput under different packet loss rates;
[0040] Figure 5 This is a block diagram of an electronic device according to an exemplary embodiment of the present invention. Detailed Implementation
[0041] To make the objectives, technical solutions, and advantages of the present invention clearer, the embodiments of the present invention will be further described below with reference to the accompanying drawings.
[0042] A block diagram of the low-overhead retransmission system for packet-based lossy RDMA networks according to an embodiment of the present invention is shown below. Figure 1 The system comprises a sender and a receiver. The sender includes an adaptive group partitioning module, a group header construction module, a retransmission module, and a bitmap module. The receiver includes an initialization and judgment module, a packet loss handling module, and a bitmap module. In this system, data transmission uses the RNIC as the core execution unit, leveraging its zero-copy and low-latency characteristics to achieve high-performance data communication.
[0043] In traditional designs, packet-level bitmap recording consumes significant storage resources as throughput increases, putting pressure on hardware implementation. To address this issue, this invention effectively alleviates the limited storage space problem in RDMA network cards by introducing coarse-grained logical group abstraction. Multiple consecutive data packets are aggregated into logical groups, and their transmission status is recorded on a group-by-group basis, thus compressing the originally fine-grained packet-level bitmap into a coarse-grained group-level bitmap. For example, dividing eight consecutive data packets into two logical transmission groups reduces the number of bitmap entries from eight to two. Although retransmission operations remain at the packet level, by compressing only the granularity of the bitmap representation, the space overhead occupied by status recording is significantly reduced, thereby alleviating the limited on-chip storage pressure of RDMA network cards and improving the system's feasibility and scalability in high-throughput environments.
[0044] At the sending end, upon receiving a transmission request instruction from the upper-layer application, the RNIC first proactively initiates a host memory read operation through its internal DMA engine, directly moving the data to be transmitted to the RNIC's internal transmit buffer, avoiding the overhead of frequent data copying between traditional kernel mode and user mode. Then, the adaptive group partitioning module dynamically adjusts the logical group partitioning strategy based on the feedback packet sent by the packet loss handling module, and determines the logical group size used for this transmission. The sending end's bitmap module updates its local bitmap based on the feedback packet sent by the packet loss handling module, saving the transmission status bitmap divided by logical groups and recording the transmission and acknowledgment status of data packets in each logical group. The logical group size information and the local bitmap are synchronously transmitted to the group header construction module. Upon receiving the current logical group number (Group ID), group size, and sequence number of packets within the group, the group header construction module inserts an extended protocol header for each data packet based on the local bitmap information (transmission status divided by logical groups), containing metadata such as the group number, group sequence number, and group size, ensuring that the receiving end can accurately identify the group structure. The encapsulated data packets are then transmitted to the network frame by frame through the MAC layer. During transmission, the RNIC continuously listens for acknowledgment packets from the receiving end and updates the local bitmap and logical group status based on the acknowledgment content.
[0045] At the receiving end, after receiving a data packet, the RNIC writes the data portion into the local receive buffer using the DMA engine. Simultaneously, the initialization and judgment module parses the extended protocol header, extracting key information such as group number, group size, and sequence number within the group. If the logical group to which the received data packet belongs is the first arriving group, the corresponding group tracking structure is immediately initialized. The bitmap module initializes a logical group tracking structure for the first arriving logical group to track data packets within that group. If the logical group to which the received data packet belongs is not the first arriving group, the logical group tracking structure of the logical group to which the received data packet belongs checks the continuity of data packets based on the sequence number within the group. If the sequence numbers are not continuous, it indicates a packet loss event. The packet loss handling module generates a feedback packet and sends it back to the sending end via the RNIC. The retransmission module then retransmits the lost data packets based on the feedback packet.
[0046] The feedback packets generated by the packet loss handling module are pseudo-GACK (Group Acknowledgment) and pseudo-GNAK (Group Negative Acknowledgment). Pseudo-GACK confirms the currently received data segments, carrying the group number and the length of the received data. Pseudo-GNAK marks currently missing segments, carrying the group number and missing interval information. Both types of feedback information are encapsulated in an extended protocol header and transmitted back to the sender via RNIC. Upon receiving the feedback, the sender's adaptive grouping module parses it to update subsequent group size settings. The sender's bitmap module updates its local bitmap based on the feedback packets sent by the packet loss handling module. Simultaneously, the feedback information is also passed to the retransmission module, which precisely triggers the retransmission of the required data packets based on the missing positions provided in the pseudo-GNAK, minimizing redundant retransmissions and improving the effective bandwidth utilization of the system under high packet loss rates.
[0047] In this embodiment of the invention, the data packet transmission adopts the RoCEv2 protocol. The data packet header includes: Ethernet header, IP header, UDP header, and extended RoCEv2 header. The header structure of the data packet in this embodiment of the invention is shown in the reference diagram. Figure 2 The extended RoCEv2 header expands upon the existing 12-byte BTH structure by adding a packet header and an extended header. The packet header includes a 2-byte group ID, a 1-byte packet size, and a 1-byte intra-group sequence number. This header identifies logical group information, thus semantically grouping multiple consecutive data packets into the same logical group. The extended header includes 4 bytes of pseudo-GACK and 4 bytes of pseudo-GNAK, representing acknowledgment or negative acknowledgment for a logical group, respectively. By reusing fields in the packet header (such as the group ID), they achieve group-level reliability control while maintaining a lightweight design. This design eliminates the need for physically aggregating data packets; instead, it achieves logical group identification, tracking, and feedback at the protocol layer through fine-grained header extensions, significantly reducing the control overhead of traditional sequence number-based tracking mechanisms.
[0048] Adaptive group partitioning module: Since group size determines the overall transmission efficiency of the system, a large group may lead to excessive redundant retransmissions, thus reducing effective throughput. A small group may cause bitmap overflow, causing the entire retransmission system to fall back to GBN, resulting in more severe performance degradation. The adaptive group partitioning module dynamically adjusts the group size based on packet loss information.
[0049] Sending end bitmap module: Used to store the sending status bitmap divided by logical groups, recording the sending and acknowledgment status of data packets in each logical group.
[0050] The header construction module is primarily responsible for encapsulating logical packet metadata for data packets to be sent at the protocol stack level. This module extends the RoCEv2 protocol stack by inserting a 4-byte header into each data packet, describing the logical group identifier, group size, and intra-group sequence number. This approach avoids significant modifications to the RNIC protocol stack, ensuring compatibility with the existing RoCEv2 protocol and enabling protocol extensions without altering the basic transport semantics. Logically, this module appends a 4-byte group header to each data packet and performs group information insertion, numbering management, and structural organization within the protocol stack. Compared to traditional mechanisms that rely on independent acknowledgment for each data packet, its group-based acknowledgment strategy constructs group-level acknowledgment (pseudo-GACK) and negative acknowledgment (pseudo-GNAK) messages, allowing the receiver to provide feedback on the status of the entire logical group at once, effectively reducing the number of control messages and processing overhead. Especially in high-bandwidth, high-latency network scenarios, traditional mechanisms require maintaining the status of a large number of unacknowledged packets, with an overhead of O(N), while this mechanism reduces this to O(N / K) through logical aggregation, where K is the average group size.
[0051] Receiver bitmap module: Records the transmission status of each logical group. When it is found that the sequence number in the group is not continuous, that is, a data packet is lost, the packet loss handling module will be triggered and the exception handling process will be entered.
[0052] Packet Loss Handling Module: For received consecutive data segments, the receiver constructs a pseudo-GACK to notify the sender that all data in that segment has been received. Simultaneously, this segment is "marked as complete" by adding a special identifier 0xFFFF to its group header, indicating that the pseudo-group is complete. For lost data segments, the receiver generates a pseudo-GNAK to inform the sender that this segment needs to be retransmitted. Although the original group identifier is used, the group size field is modified to include only the lost portion. These two feedback packets (received segment and lost segment) are sent back to the sender as feedback via the protocol extension header. Upon receiving these packets, the sender can retransmit only the lost data packets, avoiding the need to retransmit the entire logical group and preventing unnecessary network overhead. This "intra-group segmentation" method improves retransmission accuracy; simultaneously, it requires no new control messages, achieving this only through clever reuse of protocol header fields, and is a lightweight extension based on the existing RoCEv2 structure.
[0053] The adaptive group partitioning module dynamically adjusts the logical group size based on the feedback packets sent by the packet loss handling module, as expressed by the formula:
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061] Initialize to 0, as x increases from 1 to... Execute the following loop:
[0062] prob_success=
[0063] prob_loss_at_x=
[0064] remaining=
[0065] delta2_term+=prob_success×prob_loss_at_x×remaining
[0066] End the loop;
[0067] renew : ,turn up smallest ;
[0068] in, Indicates the number of redundant retransmitted packets. This indicates the expected amount of data to be retransmitted due to bitmap overflow. This represents the size of the logic group in round (k+1). This indicates that in the (k+1)th round, based on the prediction coefficients... Predict packet loss rate This indicates that the group size in the kth round is... The actual packet loss rate is as follows. This indicates the number of logic groups in round k+1. Represents the prediction coefficient for the k-th round. Indicated by The number of lost logical groups generated during the first transmission of the logical group size. Indicated by The number of packets sent for the first time as the logical group size. Indicates the size of the logic group in round k. Indicates based on prediction coefficients The predicted packet loss rate for the (k+1)th round is obtained. This represents the prediction coefficient for the (k+1)th round. Indicated by The number of lost logical groups in the second transmission, representing the logical group size. Indicated by The number of packets sent the second time, as the logical group size. Indicated by The network transmission rate during the second round of sending, based on the group size. Indicated by The round-trip delay for the second transmission of the group size. Indicates the maximum transmission unit. This represents the maximum number of logical groups that the bitmap supports in the (k+1)th round. This represents the smoothing factor, and prob_success represents the preceding x. The probability that all packets are successfully transmitted, prob_loss_at_x represents the probability that the x-th packet is lost, remaininging represents the number of additional packets that need to be retransmitted when the x-th packet causes bitmap overflow, and delta2_term is an intermediate variable.
[0069] In one exemplary embodiment, a low-overhead retransmission method for a packet-based lossy RDMA network is provided. Based on the system implementation described above, the system uses an RNIC as the execution unit and includes: a transmitter and a receiver; the transmitter includes: an adaptive group partitioning module, a group header construction module, a retransmission module, and a bitmap module; the receiver includes: an initialization and judgment module, a packet loss processing module, and a bitmap module.
[0070] At the sending end, the adaptive group partitioning module dynamically adjusts the logical group size according to the feedback packets sent by the packet loss processing module, and the bitmap module at the sending end updates the local bitmap according to the feedback packets sent by the packet loss processing module, saving the sending status bitmap divided by logical group; the group header construction module inserts an extended protocol header into each data packet according to the logical group size and the local bitmap information.
[0071] At the receiving end, the initialization and judgment module parses the extended protocol header. If the logical group to which the received data packet belongs is the first arriving group, the bitmap module initializes a logical group tracking structure for the first arriving logical group to track the data packets in that group. If the logical group to which the received data packet belongs is not the first arriving group, the logical group tracking structure of the logical group to which the received data packet belongs checks the continuity of the data packets according to the sequence number within the group. If the sequence numbers are not continuous, the packet loss handling module generates a feedback packet and sends it back to the sending end through the RNIC. The retransmission module retransmits the lost data packets according to the feedback packet. When all data packets in the logical group tracking structure have arrived, the bitmap module is updated.
[0072] The performance of this invention was evaluated, focusing primarily on two metrics: average flow completion time (FCT) and effective throughput (goodput). Both metrics effectively reflect network transmission performance and are closely related to the retransmission method. Experiments were conducted using an FPGA simulator built with the VITIS_HLS tool. The simulation platform consisted of a transmitter, a receiver, and a network. This invention implemented a switch with random packet loss capability using HLS to simulate a network environment. The average flow completion time and effective throughput of group-level bitmap, IRN (improved RoCE NIC, a RoCE-based network protocol), and GBN were compared under different message sizes and packet loss rates. IRN is currently a widely used solution for lossy RDMA. In the evaluation, IRN was implemented in two forms: a 1024-bit bitmap IRN and a 32-bit bitmap IRN. The only difference between them was the bitmap overhead, while the rest of the transmission control logic remained unchanged. IRN (1024-bit) demonstrates the performance achievable when the RNIC state overhead is ignored, while IRN (32-bit) limits the bitmap size to 32 bits, which is comparable to the size of a group-level bitmap.
[0073] This invention configures the size of each data packet and network parameters to ensure fairness in evaluation across different methods. The data payload of each data packet is set to 1024 bytes. A dedicated priority queue is enabled on the switch to transmit retransmission signals and feedback control messages to prevent their loss from triggering timeout-based retransmissions and introducing additional uncertainty into the experimental results. The basic data transfer rate is set to 1MB, and the RTT (Round-Trip Time) is 12.8 microseconds.
[0074] Figure 3 The average stream completion time and effective throughput of the system (group-level bitmap) in this embodiment of the invention, along with IRN (32-bit bitmap), IRN (1024-bit bitmap), and GBN, under different message sizes are compared. As the message size increases from 10KB to 5MB, the average stream completion time of all transmission mechanisms increases significantly. When the message size exceeds 100KB, the transmission process needs to span multiple RTTs; the larger the message, the longer the overall transmission delay. The increase in average stream completion time for IRN (32-bit bitmap) is particularly pronounced when the bitmap is compressed to 32 bits. When the message reaches 5MB, its average stream completion time increases by approximately 59.5% compared to using a large bitmap IRN (1024-bit bitmap). In contrast, even with the same 32-bit bitmap condition, the average stream completion time of the group-level bitmap of this invention only increases by 0.3%, demonstrating stronger robustness. The FCT increases by 13.1% at a message size of 5MB.
[0075] Figure 4 This paper presents the average flow completion time and effective throughput of the system (group-level bitmap) and IRN (32-bit bitmap), IRN (1024-bit bitmap), and GBN under different packet loss rates in embodiments of the present invention, demonstrating the impact of different packet loss rates on the performance of each scheme. The left figure shows the average flow completion time performance under increasing packet loss rate. The average flow completion time of GBN and IRN (32-bit bitmap) deteriorates sharply with increasing packet loss rate, while the group-level bitmap and IRN (1024-bit bitmap) show stable performance under various packet loss environments, indicating their stronger robustness and more effective retransmission strategy. The right figure reveals the effective throughput performance under the same packet loss conditions. The throughput of GBN and IRN (32-bit bitmap) schemes decreases significantly, while the group-level bitmap and IRN (1024-bit bitmap) maintain a near-full speed level, further verifying their superior performance in high packet loss environments.
[0076] In one exemplary embodiment, a computer-readable storage medium is included, which stores a computer program that, when executed by a processor, implements the above-described packet-based lossy RDMA network low-overhead retransmission method.
[0077] Please see Figure 5 In one exemplary embodiment, the device further includes an electronic device including at least one processor, at least one memory, and at least one communication bus.
[0078] The memory stores a computer program, which includes computer-readable instructions. The processor calls the computer-readable instructions stored in the memory through the communication bus to execute the aforementioned low-overhead retransmission method for packet-based lossy RDMA networks.
[0079] In one exemplary embodiment, a computer program product is proposed, including a computer program / instructions that, when executed by a processor, implement the steps of the packet-based lossy RDMA network low-overhead retransmission method described above.
[0080] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A low-overhead retransmission system for packet-based lossy RDMA networks, characterized in that, The system uses RNIC as the execution unit and includes: a transmitter and a receiver; the transmitter includes: an adaptive group partitioning module, a group header construction module, a retransmission module, and a bitmap module; the receiver includes: an initialization and judgment module, a packet loss handling module, and a bitmap module. At the sending end, the adaptive group partitioning module dynamically adjusts the logical group size according to the feedback packets sent by the packet loss processing module, and the bitmap module at the sending end updates the local bitmap according to the feedback packets sent by the packet loss processing module, saving the sending status bitmap divided by logical group; the group header construction module inserts an extended protocol header into each data packet according to the logical group size and the local bitmap information. At the receiving end, the initialization and judgment module parses the extended protocol header. If the logical group to which the received data packet belongs is the first arriving group, the bitmap module initializes a logical group tracking structure for the first arriving logical group to track the data packets in that group. If the logical group to which the received data packet belongs is not the first arriving group, the logical group tracking structure of the logical group to which the received data packet belongs checks the continuity of the data packets according to the sequence number within the group. If the sequence numbers are not continuous, the packet loss handling module generates a feedback packet and sends it back to the sending end through the RNIC. The retransmission module retransmits the lost data packets according to the feedback packet. When all data packets in the logical group tracking structure have arrived, the bitmap module is updated. The adaptive group partitioning module dynamically adjusts the logical group size based on the feedback packets sent by the packet loss handling module, as shown below: Initialize to 0, as x increases from 1 to... Execute the following loop: prob_success= prob_loss_at_x= remaining= delta2_term+=prob_success×prob_loss_at_x×remaining End the loop; renew : ,turn up smallest ; in, Indicates the number of redundant retransmitted packets. This indicates the expected amount of data to be retransmitted due to bitmap overflow. This indicates the size of the logic group in round (k+1). This indicates that in the (k+1)th round, based on the prediction coefficients... Predict packet loss rate This indicates that the group size in the kth round is... The actual packet loss rate is as follows. This indicates the number of logic groups in round k+1. Represents the prediction coefficient for the k-th round. Indicates The number of lost logical groups generated during the first transmission of the logical group size. Indicates The number of packets sent for the first time as the logical group size. This indicates the size of the logic group in round k. Indicates based on prediction coefficients The predicted packet loss rate for the (k+1)th round is obtained. This represents the prediction coefficient for the (k+1)th round. Indicated by The number of lost logical groups in the second transmission, representing the logical group size. Indicates The number of packets sent the second time, as the logical group size. Indicated by The network transmission rate during the second round of sending, based on the group size. Indicates The round-trip delay for the second transmission of the group size. Indicates the maximum transmission unit. This represents the maximum number of logical groups that the bitmap supports in the (k+1)th round. This represents the smoothing factor, and prob_success represents the preceding x. The probability that all packets are successfully transmitted, prob_loss_at_x represents the probability that the x-th packet is lost, remaininging represents the number of additional packets that need to be retransmitted when the x-th packet causes bitmap overflow, and delta2_term is an intermediate variable.
2. The low-overhead retransmission system for packet-based lossy RDMA networks according to claim 1, characterized in that, The feedback packets generated by the packet loss processing module are pseudo-GACK and pseudo-GNAK. Pseudo-GACK is used to confirm the data segments that have been continuously received, carrying the group number and the length of the received data. Pseudo-GNAK is used to mark the currently missing packet segments, carrying the group number and the missing interval information.
3. A low-overhead retransmission system for packet-based lossy RDMA networks according to claim 2, characterized in that, The transmission of data packets uses the RoCEv2 protocol. The header of the data packet includes: Ethernet header, IP header, UDP header, and extended RoCEv2 header. The extended RoCEv2 header is an extension of the original RoCEv2 BTH structure, adding a packet header and an extended header. The packet header includes a 2-byte group ID, a 1-byte packet size, and a 1-byte intra-group sequence number. The extended header includes a 4-byte pseudo-GACK and a 4-byte pseudo-GNAK.
4. A low-overhead retransmission system for packet-based lossy RDMA networks according to claim 1, characterized in that, The data packets in a logical group are consecutive data packets.
5. A low-overhead retransmission method for packet-based lossy RDMA networks, characterized in that, The system implementation based on any one of claims 1-4 includes: At the sending end, the adaptive group partitioning module dynamically adjusts the logical group size according to the feedback packets sent by the packet loss processing module, and the bitmap module at the sending end updates the local bitmap according to the feedback packets sent by the packet loss processing module, saving the sending status bitmap divided by logical group; the group header construction module inserts an extended protocol header into each data packet according to the logical group size and the local bitmap information. At the receiving end, the initialization and judgment module parses the extended protocol header. If the logical group to which the received data packet belongs is the first arriving group, the bitmap module initializes a logical group tracking structure for the first arriving logical group to track the data packets in that group. If the logical group to which the received data packet belongs is not the first arriving group, the logical group tracking structure of the logical group to which the received data packet belongs checks the continuity of the data packets according to the sequence number within the group. If the sequence numbers are not continuous, the packet loss handling module generates a feedback packet and sends it back to the sending end through the RNIC. The retransmission module retransmits the lost data packets according to the feedback packet. When all data packets in the logical group tracking structure have arrived, the bitmap module is updated.
6. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it implements the method as described in claim 5.
7. An electronic device, characterized in that, The system includes a processor and a memory interconnected thereto, wherein the memory is used to store a computer program, the computer program including computer-readable instructions, and the processor is configured to invoke the computer-readable instructions to perform the method as described in claim 5.
8. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method of claim 5.
Citation Information
Patent Citations
RDMA network transmission packet loss recovery method and system
CN120150906A
Packet Retransmission Method and Apparatus
US20230224084A1