RDMA storage network optimization method based on Go-Back-N retransmission mechanism

By dynamically adjusting the window size and optimizing the packet retransmission strategy, data segment merging and data compression are achieved, which solves the problems of low network utilization, insufficient throughput and poor performance in traditional RDMA storage networks, and improves network efficiency and performance.

CN119728030AActive Publication Date: 2025-03-28GUANGXI POWER GRID CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411859014.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-03-28
Estimated Expiration
2044-12-17

AI Technical Summary

Technical Problem

The traditional RDMA storage network based on the Go-Back-N retransmission mechanism has problems such as fixed window size, poor congestion control accuracy, insufficient optimization of packet retransmission strategy, frequent data transmission times, and unreasonable data compression technology and traffic scheduling, resulting in low network utilization, insufficient throughput and poor performance.

Method used

By dynamically adjusting the window size, automatically optimizing according to the network status, selective retransmission technology is used to optimize the data packet retransmission strategy, implement data segment merging and segment transmission, reduce data transmission volume and optimize network utilization.

Benefits of technology

It improves network utilization and throughput, avoids the waste of network resources caused by fixed window size, reduces unnecessary data packet retransmission, reduces network overhead, and improves transmission efficiency and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728030A_ABST
    Figure CN119728030A_ABST
Patent Text Reader

Abstract

The invention discloses an RDMA storage network optimization method based on a Go-Back-N retransmission mechanism, and relates to the technical field of information interaction, and the method comprises the steps: obtaining network delay and packet loss rate, comparing the network delay and the packet loss rate with a preset network delay threshold value and a packet loss rate threshold value, and judging whether to generate a window size adjustment instruction; presetting a window maximum value, and when the size of the dynamically adjusted window reaches the maximum value, generating a congestion avoiding instruction; based on a congestion avoidance instruction, window growth is stopped and one MSS is added per RTT, with linear growth. Through automatic optimization according to the network state, the network utilization rate and throughput are improved, and network resource waste caused by a fixed window size is avoided; by optimizing a data packet retransmission strategy and adopting a selective retransmission technology, unnecessary data packet retransmission is reduced, network overhead is reduced, and retransmission accuracy and high efficiency are ensured through serial number management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of computer network communication, and in particular relates to an RDMA storage network optimization method based on a Go-Back-N retransmission mechanism. Background Art

[0002] In traditional RDMA storage networks based on the Go-Back-N retransmission mechanism, there are a series of factors that limit the further improvement of data transmission efficiency and performance.

[0003] First, the fixed window size makes it impossible for the network to flexibly adjust resource allocation when facing different traffic conditions, making it difficult for network utilization to reach the optimal state;

[0004] Secondly, the congestion control has poor accuracy and cannot accurately adapt to real-time changes in the network, which can easily cause network congestion or waste of resources;

[0005] Furthermore, insufficient optimization of packet retransmission strategies may lead to unnecessary retransmissions, increasing network burden and latency;

[0006] In addition, the high number of data transmissions not only increases network overhead, but also reduces overall transmission efficiency. When processing large data transmissions, performance is often unsatisfactory and the hardware potential cannot be fully utilized. At the same time, data compression technology is not fully utilized, resulting in excessive bandwidth resources being occupied when data is transmitted in the network.

[0007] Finally, unreasonable traffic scheduling makes it impossible for data in the network to be transmitted according to the optimal path and priority, further affecting the performance and efficiency of the network;

[0008] To this end, the present invention proposes an RDMA storage network optimization method based on the Go-Back-N retransmission mechanism. Summary of the invention

[0009] The present invention aims to solve at least one of the technical problems existing in the prior art. To this end, the present invention proposes an RDMA storage network optimization method based on the Go-Back-N retransmission mechanism, which automatically optimizes according to the network status, improves network utilization and throughput, and avoids the waste of network resources caused by the fixed window size.

[0010] To achieve the above object, the present invention proposes an RDMA storage network optimization method based on the Go-Back-N retransmission mechanism, comprising:

[0011] Obtaining network delay and packet loss rate, comparing the network delay and packet loss rate with preset network delay thresholds and packet loss rate thresholds, and determining whether to generate a window size adjustment instruction;

[0012] The maximum value of the preset window is generated. When the dynamically adjusted window size reaches the maximum value, a congestion avoidance instruction is generated.

[0013] Based on the congestion avoidance instructions, stop the window growth and increase one MSS per RTT, increasing linearly.

[0014] Preferably, the method for determining whether to generate a window size adjustment instruction includes:

[0015] Initialize the window and obtain the network delay and packet loss rate in real time, marked as T and P respectively;

[0016] Compare T and P with the preset network delay threshold and packet loss rate threshold respectively;

[0017] If T is greater than the network delay threshold and P is greater than or equal to the packet loss rate threshold, a window adjustment instruction 1 is generated, and the window adjustment instruction 1 is to reduce the window;

[0018] If T is less than the network delay threshold and P is less than the packet loss rate threshold, a second window adjustment instruction is generated, which is to increase the window.

[0019] If T is equal to the network delay threshold, no window adjustment instruction is generated.

[0020] Preferably, a packet retransmission strategy is deployed based on the packet loss rate:

[0021] When the receiver receives the data packet, it checks the continuity of the data packet;

[0022] If a data packet is found to be lost, a NACK message is immediately sent to the sender, and the NACK message contains the sequence number of the lost data packet;

[0023] After receiving NACK, the sender finds the data packet with the corresponding sequence number from the data packet buffer and retransmits it.

[0024] Preferably, the packet loss determination method is:

[0025] The sender sends the data packet and temporarily stores it in the buffer;

[0026] Wait for the receiver's confirmation message ACK or NACK; if ACK is received, delete the corresponding data packet from the buffer; if NACK is received, find the data packet from the buffer according to the sequence number in the NACK and retransmit it;

[0027] The receiver receives the data packet and checks whether the sequence number of the data packet is continuous; if the sequence number is continuous, it sends an ACK to the sender; if not, it sends a NACK to the sender, indicating the sequence number of the lost data packet.

[0028] Preferably, the data packet sequence number management method is:

[0029] The sender assigns a continuously increasing sequence number to each data packet when sending it;

[0030] The receiver maintains a sequence number of the data packet it expects to receive. When a data packet is received, it checks whether the sequence number is consistent with the expected sequence number;

[0031] During the communication process, the sender and the receiver always judge the integrity and continuity of the data packet based on the sequence number of the data packet; when retransmission occurs, the sender ensures that the sequence number of the retransmitted data packet is consistent with the original data packet, and the receiver correctly processes the retransmitted data packet based on the sequence number.

[0032] Preferably, the processing method based on data packet retransmission is:

[0033] Merge data segments when retransmitting packets;

[0034] A data segment number threshold N and a data segment size threshold S are preset;

[0035] When the number of data segments to be sent reaches N or the total size exceeds S, the data segments are merged.

[0036] Preferably, the data segment merging method:

[0037] Maintain a data segment queue to store data segments to be sent;

[0038] When the number of data segments in the data segment queue reaches N or the total size exceeds S, the data segments are taken out of the queue for merging;

[0039] The merged data segment is sent out and the data segment queue is cleared.

[0040] Preferably, the limiting method based on the maximum value of data packet merging is:

[0041] Obtain network bandwidth, transmission speed and network delay, and calculate the maximum value of the combined data packet based on the network bandwidth, transmission speed and network delay;

[0042] The calculation expression is: Among them, bw is the network bandwidth, tm speed is the transmission speed, nk delay For network delay.

[0043] Compared with the prior art, the present invention has the following beneficial effects:

[0044] 1. Dynamically adjust the window size and automatically optimize according to the network status, which improves network utilization and throughput and avoids the waste of network resources caused by fixed window size.

[0045] 2. Optimize the data packet retransmission strategy and use selective retransmission technology to reduce unnecessary data packet retransmissions and reduce network overhead. At the same time, ensure retransmission accuracy and efficiency through sequence number management.

[0046] 3. The data segment merging and segmented transmission functions reduce the number of transmission times, improve parallel transmission performance, and optimize network utilization.

[0047] 4. The data compression function reduces the amount of data transmission, reduces transmission delay and network load, and improves network transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 It is a flow chart of the RDMA storage network optimization method based on the Go-Back-N retransmission mechanism of the present invention;

[0049] Figure 2 The present invention is a flow chart of a method for determining whether to generate a window size adjustment instruction. DETAILED DESCRIPTION

[0050] The technical solution of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0051] Example 1

[0052] See also Figure 1 As shown, the RDMA storage network optimization method based on the Go-Back-N retransmission mechanism includes: obtaining network delay and packet loss rate, comparing the network delay and packet loss rate with preset network delay thresholds and packet loss rate thresholds, and determining whether to generate a window size adjustment instruction;

[0053] The maximum value of the preset window is generated. When the dynamically adjusted window size reaches the maximum value, a congestion avoidance instruction is generated.

[0054] Based on the congestion avoidance instructions, stop the window growth and increase one MSS per RTT, increasing linearly.

[0055] The purpose is to dynamically adjust the window size in the Go-Back-N protocol to optimize network utilization and throughput. By monitoring network conditions and delays in real time, a specific algorithm is used to automatically adjust the window size according to the network status. When the network delay is low and the bandwidth is sufficient, the window size is increased to increase data transmission. When the network delay increases or there are signs of congestion, the window size is reduced to avoid network congestion.

[0056] Specifically, the method for determining whether to generate a window size adjustment instruction includes:

[0057] Initialize the window and obtain the network delay and packet loss rate in real time, marked as T and P respectively;

[0058] Compare T and P with the preset network delay threshold and packet loss rate threshold respectively;

[0059] If T is greater than the network delay threshold and P is greater than or equal to the packet loss rate threshold, a window adjustment instruction 1 is generated, and the window adjustment instruction 1 is to reduce the window;

[0060] If T is less than the network delay threshold and P is less than the packet loss rate threshold, a second window adjustment instruction is generated, which is to increase the window.

[0061] If T is equal to the network delay threshold, no window adjustment instruction is generated.

[0062] Exemplarily, the initial window size is set to W0; the network delay and packet loss rate are monitored, and the network delay T and packet loss rate P are monitored regularly; the window size is adjusted, if T increases and P remains unchanged or increases, the new window size W = W*0.8, and the window size is reduced, wherein 0.8 is the adjustment coefficient, and the coefficient is adjusted by those skilled in the art according to actual conditions, and is not specifically limited here; if T decreases and P remains unchanged or decreases, the new window size W = W*1.2, and the window size is increased, wherein 1.2 is the adjustment coefficient, and the coefficient is adjusted by those skilled in the art according to actual conditions.

[0063] It is worth mentioning that in practical applications, the algorithm can be further optimized and adjusted according to the specific network environment and requirements.

[0064] Deploy a packet retransmission strategy based on packet loss rate:

[0065] When the receiver receives the data packet, it checks the continuity of the data packet;

[0066] If a data packet is found to be lost, a NACK message is immediately sent to the sender, and the NACK message contains the sequence number of the lost data packet;

[0067] After receiving NACK, the sender finds the data packet with the corresponding sequence number from the data packet buffer and retransmits it.

[0068] Exemplarily, when the receiver receives an out-of-order segment, it immediately sends a duplicate ACK; when the sender receives three consecutive duplicate ACKs, it considers that a segment is lost and immediately retransmits the lost segment without waiting for the timeout timer to be triggered; after fast retransmission, the slow start threshold ssthresh is set to half of the current window size, and the window size is set to ssthresh+3*MSS; each time a duplicate ACK is received, the window size increases by one MSS; when an ACK for new data is received, the fast recovery phase is exited and the congestion avoidance phase is entered.

[0069] It is worth mentioning that this embodiment provides a method of integrating a data packet retransmission strategy module in an RDMA storage network system and designs an interface of the retransmission strategy module: defines an interactive interface with other modules of the RDMA storage network system, including functional interfaces such as sending data packets, receiving data packets, and sending ACK / NACK.

[0070] Specifically, the module integration steps are: integrate the data packet retransmission strategy module with the sending and receiving ends of the RDMA storage network system; ensure that during the data transmission process, the retransmission strategy module can detect data packet loss in time and trigger the retransmission mechanism; data segment merging is a key step to improve network transmission efficiency, which requires the design of a reasonable algorithm and the determination of appropriate merging rules.

[0071] The purpose is to optimize the retransmission strategy of data packets, avoid unnecessary data packet retransmission, and reduce network overhead. By using technologies such as selective retransmission, when the receiver finds that a data packet is lost, it only requests the sender to retransmit the lost data packet instead of retransmitting all of them. At the same time, by managing the sequence number of the data packet, the accuracy and efficiency of the retransmission are ensured.

[0072] Further, the packet loss determination method is:

[0073] The sender sends the data packet and temporarily stores it in the buffer;

[0074] Wait for the receiver's confirmation message ACK or NACK; if ACK is received, delete the corresponding data packet from the buffer; if NACK is received, find the data packet from the buffer according to the sequence number in the NACK and retransmit it;

[0075] The receiver receives the data packet and checks whether the sequence number of the data packet is continuous; if the sequence number is continuous, it sends an ACK to the sender; if not, it sends a NACK to the sender, indicating the sequence number of the lost data packet.

[0076] Specifically, the data packet sequence number management method is: the sender assigns a continuously increasing sequence number to each data packet when sending it; the receiver maintains an expected data packet sequence number, and when a data packet is received, checks whether the sequence number is consistent with the expected sequence number; during the communication process, the sender and the receiver always judge the integrity and continuity of the data packet based on the sequence number of the data packet; when retransmission occurs, the sender ensures that the sequence number of the retransmitted data packet is consistent with the original data packet, and the receiver correctly processes the retransmitted data packet based on the sequence number.

[0077] Furthermore, a processing method based on data packet retransmission is as follows: merging data segments when data packets are retransmitted; presetting a data segment number threshold N and a data segment size threshold S; when the number of data segments to be sent reaches N or the total size exceeds S, merging the data segments.

[0078] Specifically, the data segment merging method is as follows: a data segment queue is maintained to store data segments to be sent; when the number of data segments in the data segment queue reaches N or the total size exceeds S, the data segments are taken out of the queue for merging.

[0079] Exemplarily, a data segment number threshold N and a data segment size threshold S are set; when the number of data segments to be sent reaches N or the total size exceeds S, the data segments are merged into a larger data segment; a data segment queue is maintained to store the data segments to be sent; when the number of data segments in the data segment queue reaches N or the total size exceeds S, the data segments are taken out of the queue for merging; the merged data segments are sent out, and the data segment queue is cleared.

[0080] It should be noted that the limiting method based on the maximum value of the data packet merger is: obtain the network bandwidth, transmission speed and network delay, and calculate the maximum value of the merged data packet based on the network bandwidth, transmission speed and network delay; the calculation expression is: Among them, bw is the network bandwidth, tm speed is the transmission speed, nk delay For network delay.

[0081] The purpose is to determine the size of the combined data packet according to the size of the network bandwidth. If the network bandwidth is large, the size of the combined data packet can be appropriately increased to improve transmission efficiency; avoid the size of the combined data packet exceeding the carrying capacity of the network bandwidth, causing network congestion.

[0082] For delay-sensitive applications, it is necessary to weigh the impact of increased transmission efficiency and increased latency brought about by merging. If the merged data packets cause a significant increase in latency, you can consider reducing the merging threshold or adopting other optimization strategies.

[0083] A high packet loss rate may cause the merged packets to need to be retransmitted; clarifying the specific method to implement the data segment merging function on the sender is crucial to optimizing network transmission.

[0084] This embodiment combines the data transmitted by RDMA to reduce the number of transmissions and improve network efficiency. At the sending end, multiple small data segments are combined into a larger data segment for transmission. After receiving the combined data segment, the receiving end performs a decombination operation. This can reduce transmission overhead and optimize network utilization.

[0085] Example 2

[0086] Based on the above embodiments, this embodiment provides congestion control, implements an effective congestion control mechanism, avoids network congestion and improves network throughput. The congestion control algorithm of TCP is used for reference and optimized in combination with the characteristics of the RDMA storage network. By monitoring parameters such as network traffic and latency, the degree of network congestion is determined and the sending rate is adjusted accordingly. When the network is congested, the sending rate is gradually reduced to alleviate the congestion; when the network condition improves, the sending rate is gradually increased to make full use of the network bandwidth.

[0087] Specifically, TCP congestion control mainly includes the following stages: slow start, with a small initial window size, usually one MSS (Maximum Segment Size);

[0088] Every time an ACK (confirmation) is received, the window size doubles, growing exponentially to quickly detect the available network bandwidth.

[0089] Specifically, based on delay monitoring: continuously monitor the network round-trip time (RTT); when the RTT suddenly increases by more than a certain proportion (for example, an increase of 50% over the average RTT), it is considered that congestion may occur; based on packet loss rate monitoring: calculate the packet loss rate over a period of time; when the packet loss rate exceeds the set threshold (for example, 5%), it is determined that the network is congested; based on bandwidth utilization monitoring: calculate the bandwidth utilization by monitoring network traffic and link bandwidth; when the bandwidth utilization approaches or reaches 100%, it indicates that the network may be congested; clarifying the implementation steps of the packet retransmission strategy is crucial to optimizing the RDMA storage network based on the Go-Back-N retransmission mechanism.

[0090] In addition, the parts of the above-mentioned technical solutions provided in the embodiments of the present application that are consistent with the implementation principles of the corresponding technical solutions in the prior art are not described in detail to avoid excessive redundancy.

[0091] The specific implementation modes as described above further describe the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation mode of the present invention and is not intended to limit the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

[0092] The above preset parameters or preset thresholds are all set by technicians in this field according to actual conditions or obtained by simulating a large amount of data.

[0093] The above embodiments are only used to illustrate the technical method of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical method of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical method of the present invention.

Claims

1. An RDMA storage network optimization method based on the Go-Back-N retransmission mechanism, characterized in that: include: Obtaining network delay and packet loss rate, comparing the network delay and packet loss rate with preset network delay thresholds and packet loss rate thresholds, and determining whether to generate a window size adjustment instruction; The maximum value of the preset window is generated. When the dynamically adjusted window size reaches the maximum value, a congestion avoidance instruction is generated. Based on the congestion avoidance instructions, stop the window growth and increase one MSS per RTT, increasing linearly.

2. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 1 is characterized in that: The method for determining whether to generate a window size adjustment instruction includes: Initialize the window and obtain the network delay and packet loss rate in real time, marked as T and P respectively; Compare T and P with the preset network delay threshold and packet loss rate threshold respectively; If T is greater than the network delay threshold and P is greater than or equal to the packet loss rate threshold, a window adjustment instruction 1 is generated, and the window adjustment instruction 1 is to reduce the window; If T is less than the network delay threshold and P is less than the packet loss rate threshold, a second window adjustment instruction is generated, which is to increase the window. If T is equal to the network delay threshold, no window adjustment instruction is generated.

3. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 1 is characterized in that: Deploy a packet retransmission strategy based on packet loss rate: When the receiver receives the data packet, it checks the continuity of the data packet; If a data packet is found to be lost, a NACK message is immediately sent to the sender, and the NACK message contains the sequence number of the lost data packet; After receiving NACK, the sender finds the data packet with the corresponding sequence number from the data packet buffer and retransmits it.

4. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 3 is characterized in that: Packet loss determination method: The sender sends the data packet and temporarily stores it in the buffer; Wait for the receiver's confirmation message ACK or NACK; if ACK is received, delete the corresponding data packet from the buffer; if NACK is received, find the data packet from the buffer according to the sequence number in the NACK and retransmit it; The receiver receives the data packet and checks whether the sequence number of the data packet is continuous; if the sequence number is continuous, it sends an ACK to the sender; if not, it sends a NACK to the sender, indicating the sequence number of the lost data packet.

5. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 4 is characterized in that: The data packet sequence number management method: The sender assigns a continuously increasing sequence number to each data packet when sending it; The receiver maintains a sequence number of the data packet it expects to receive. When a data packet is received, it checks whether the sequence number is consistent with the expected sequence number; During the communication process, the sender and the receiver always judge the integrity and continuity of the data packet based on the sequence number of the data packet; when retransmission occurs, the sender ensures that the sequence number of the retransmitted data packet is consistent with the original data packet, and the receiver correctly processes the retransmitted data packet based on the sequence number.

6. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 5 is characterized in that: Processing method based on data packet retransmission: Merge data segments when retransmitting packets; A data segment number threshold N and a data segment size threshold S are preset; When the number of data segments to be sent reaches N or the total size exceeds S, the data segments are merged.

7. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 6 is characterized in that: Data segment merging method: Maintain a data segment queue to store data segments to be sent; When the number of data segments in the data segment queue reaches N or the total size exceeds S, the data segments are taken out of the queue for merging; The merged data segment is sent out and the data segment queue is cleared.

8. The RDMA storage network optimization method based on the Go-Back-N retransmission mechanism according to claim 7 is characterized in that: Limitation method based on maximum value of data packet merging: Obtain network bandwidth, transmission speed and network delay, and calculate the maximum value of the combined data packet based on the network bandwidth, transmission speed and network delay; The calculation expression is: Among them, bw is the network bandwidth, tm speed is the transmission speed, nk delay For network delay.

Citation Information

Patent Citations

  • Data transmission method and device based on RDMA

    CN110460533A

  • RDMA long-distance communication retransmission method and system

    CN117879768A

  • TCP convergence control system in wide band, high delay radio network

    JP2006173961A