A method and apparatus for intra-host congestion control based on RDMA

By sending probe and acknowledgment packets in the RDMA network, combined with congestion control algorithms and bandwidth allocation tools, the problem of congestion control latency within hosts in the RDMA network is solved, enabling flexible bandwidth allocation and resource optimization, and improving network performance.

CN118646707BActive Publication Date: 2025-12-02BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410837439.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-26
Publication Date
2025-12-02
Estimated Expiration
2044-06-26

AI Technical Summary

Technical Problem

In existing technologies, congestion signals within hosts in RDMA networks are difficult to capture effectively, resulting in long congestion control delays and an inability to take timely and effective measures. Furthermore, bandwidth allocation tools do not support complex allocation functions, leading to insufficient optimization of network resource utilization and application performance.

Method used

By sending periodic probe packets and receiving return probe acknowledgment packets at the transmitting end of the RDMA network, timestamps are marked to calculate the receiving end delay. The target transmission rate is calculated in conjunction with the congestion control algorithm, and a bandwidth allocation tool is used to reduce CPU memory bandwidth and allocate it to the network card to buffer congested data.

Benefits of technology

It achieves timely congestion control, avoids bandwidth waste, ensures that the CPU and network card obtain the required bandwidth, and improves network resource utilization and application performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118646707B_ABST
    Figure CN118646707B_ABST
Patent Text Reader

Abstract

This invention provides a host-based congestion control method and apparatus based on RDMA. The method is executed at the sending end of a remote direct memory access network. The sending end obtains the host-based traffic congestion signal transmitted by the receiving end in a timely manner through periodic probe packets and return probe acknowledgment packets. The current receiving end delay is obtained through the timestamps of the periodic probe packets and return probe acknowledgment packets. The current receiving end receiving rate is calculated based on the current receiving end delay, the previous receiving end delay, the target delay, and the previous receiving end receiving rate. The current receiving rate is compared with the alternative sending rate calculated based on a preset congestion control algorithm to obtain the target sending rate that needs to be adjusted under the current congestion situation. At the same time, the host-based traffic congestion signal is also used to instruct the receiving end to reduce the available memory bandwidth of the CPU and allocate the remaining available bandwidth to the network card through a bandwidth allocation tool. This timely and effective method can achieve host-based congestion control while avoiding waste of available bandwidth.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network transmission control technology, and in particular to a host-based congestion control method and apparatus based on RDMA. Background Technology

[0002] In recent years, Remote Direct Memory Access (RDMA) has been widely deployed in data centers to provide high-speed network services for applications such as machine learning, storage, and high-performance computing. Modern data center servers are typically equipped with RDMA network interface cards (RNICs), which, together with the memory controller, integrated I / O controller (IIO), and cache / master agent (CHA), form a complex intra-host network via mesh interconnection. In an RDMA network, data packets no longer pass through the CPU core but are transmitted from the RDMA NIC to the integrated I / O controller and then through the mesh architecture to the memory controller. To meet the ever-increasing network transmission demands, the intra-host network can provide sufficient bandwidth and a lossless interconnect structure, thus enabling continuous high-performance network transmission. However, because RNIC traffic cannot obtain sufficient available memory bandwidth when competing with CPU traffic, it can lead to intra-host traffic congestion problems.

[0003] In existing technologies, due to the fact that congestion signals are usually far from the actual congestion points and the lossless nature of the network within a host, existing congestion control schemes fail to effectively capture congestion signals within the host. This makes it difficult for congestion signals to directly reflect the actual congestion situation. At the same time, there is a lack of effective intra-host responses and the feedback delay is relatively long, making it impossible to take timely and effective congestion control measures to control intra-host congestion. In addition, existing intra-host bandwidth allocation tools do not support complex allocation functions, which increases the difficulty of bandwidth resource allocation. When dealing with complex and ever-changing intra-host congestion situations, existing solutions fail to provide a comprehensive and flexible bandwidth allocation and congestion control strategy, and cannot fully optimize network resource utilization and application performance. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a host-based congestion control method and apparatus based on RDMA to eliminate or improve one or more defects existing in the prior art, and solve the problem that the prior art cannot take congestion control methods in a timely manner based on congestion signals.

[0005] One aspect of the present invention provides an intra-host congestion control method based on RDMA, the method operating at the transmitting end of a remote direct memory access network, the method comprising the following steps:

[0006] Periodic probe packets are sent to the receiving end at set intervals, and return probe acknowledgment packets are received; the periodic probe packets and the return probe acknowledgment packets are transmitted between the sending end and the receiving end by recording unique identifiers and marked with timestamps for calculating the receiving end delay;

[0007] The receiver receives a host-internal traffic congestion signal transmitted by the receiving end through a return probe confirmation packet; the host-internal traffic congestion signal is generated when the receiving end detects that the occupancy value of the local integrated I / O controller buffer is higher than a set threshold.

[0008] The current receiver delay is calculated based on the periodic probe packet and the return probe confirmation packet, and the current receiver rate is calculated by combining the receiver delay at the previous moment, the target delay, and the receiver rate at the previous moment.

[0009] Based on a preset congestion control algorithm, alternative transmission rates are calculated, and the smaller of the alternative transmission rates and the current receiving rate is taken as the target transmission rate of the transmitter.

[0010] The host-internal traffic congestion signal is also used to instruct the receiving end to reduce the available memory bandwidth in the CPU through a bandwidth allocation tool, and to allocate the remaining available bandwidth to the network card of the receiving end for performing congestion data caching.

[0011] In some embodiments, calculating the current receiver delay based on the periodic probe packets and the returned probe acknowledgment packets includes:

[0012] The timestamps of the periodic probe packets received by the receiving end and the timestamps of the return probe acknowledgment packets sent by the receiving end are recorded; the timestamps of the periodic probe packets are used to mark the time when the receiving end receives the periodic probe packets. The timestamp of the returned probe acknowledgment packet is used to mark the time when the receiving end sends the returned probe acknowledgment packet. ;

[0013] Calculate the current receiver delay based on the sending time and the receiving time. The expression is:

[0014] ;

[0015] In some embodiments, based on the current receiver delay Receiver delay at the previous moment Target delay and the receiving rate of the receiver at the previous moment Calculate the current receiver rate. The expression is:

[0016] ;

[0017] in, and These are the parameters that are set.

[0018] In some embodiments, the host-internal traffic congestion signal is generated when the receiver detects that the occupancy value of the local integrated I / O controller buffer is higher than a set threshold. The occupancy value of the local integrated I / O controller buffer is obtained by reading the registers set in the CPU, calculating the average value of the performance data and smoothing it.

[0019] In some embodiments, a historical data analysis method is used to analyze the occupancy of the local integrated I / O controller buffer under different loads based on historical traffic data and set an occupancy threshold, or a real-time monitoring method is used to monitor traffic characteristics in real time and set the occupancy threshold of the local integrated I / O controller buffer based on traffic changes.

[0020] In some embodiments, reducing the available memory bandwidth within a CPU using a bandwidth allocation tool includes: configuring multiple service levels for a CPU core using the bandwidth allocation tool and reducing the available memory bandwidth within the CPU to a limited available memory bandwidth set according to each service level, wherein the limited available memory bandwidth is obtained by directly setting the size of the limited available memory bandwidth or by setting the percentage of the limited available memory bandwidth to the total bandwidth.

[0021] In some embodiments, the method further includes: storing status and performance data during the transmission of traffic congestion signals within the host, the adjustment of the target transmission rate, and the allocation of available bandwidth as logs.

[0022] On the other hand, the present invention also provides an in-host congestion control device, including a processor, a memory, and a computer program / instructions stored in the memory, wherein the processor is used to execute the computer program / instructions, and when the computer program / instructions are executed, the device implements the steps of the above method.

[0023] On the other hand, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.

[0024] On the other hand, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described method.

[0025] The beneficial effects of the present invention are at least as follows:

[0026] In the RDMA-based intra-host congestion control method and apparatus of the present invention, when the receiving end detects a congestion signal, the sending end can promptly transmit the intra-host traffic congestion signal obtained by the receiving end to the sending end through the periodic probe packets and the received return probe acknowledgment packets. The current receiving end delay is obtained through the timestamps of the periodic probe packets and the return probe acknowledgment packets, and the current receiving end receiving rate is calculated based on the current receiving end delay, the previous receiving end delay, the target delay, and the previous receiving end receiving rate. Based on the current receiving end receiving rate and the alternative sending rate, the target sending rate that the sending end needs to adjust to achieve under the current congestion situation is obtained, and effective methods are taken in a timely manner to realize intra-host congestion control.

[0027] Furthermore, the present invention uses the bandwidth allocation tool to configure multiple service levels for the CPU core and sets a limit on the available memory bandwidth according to each service level. The limit on the available memory bandwidth is flexibly adjusted and used as a standard for reducing the available memory bandwidth of the CPU. At the same time, bandwidth is allocated according to priority, and the remaining available bandwidth is allocated to the network card to ensure that the CPU and the network card obtain the required available bandwidth and avoid waste of available bandwidth.

[0028] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows, and will also become apparent in part to those skilled in the art upon studying the description, or may be learned by practice of the invention. The objects and other advantages of the invention can be realized and obtained by means of the structures specifically pointed out in the description and drawings.

[0029] Those skilled in the art will understand that the objectives and advantages achievable with the present invention are not limited to those specifically described above, and that the above and other objectives achievable with the present invention will become clearer from the following detailed description. Attached Figure Description

[0030] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, are not intended to limit the scope of the invention. In the drawings:

[0031] Figure 1 This is a schematic flowchart of an RDMA-based in-host congestion control method according to an embodiment of the present invention.

[0032] Figure 2 This is a schematic diagram of the structure of an RDMA-based in-host congestion control method according to an embodiment of the present invention. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and descriptions of this invention are used to explain the invention, but are not intended to limit the invention.

[0034] It should also be noted that, in order to avoid obscuring the invention with unnecessary details, only the structures and / or processing steps closely related to the solution according to the invention are shown in the accompanying drawings, while other details that are not closely related to the invention are omitted.

[0035] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.

[0036] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.

[0037] In the following description, embodiments of the invention will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.

[0038] Existing congestion control methods fail to effectively capture congestion signals within the host, making it difficult for these signals to directly reflect the actual congestion situation. Furthermore, they lack effective intra-host responses and suffer from long feedback delays, hindering timely implementation of effective congestion control measures. Additionally, existing intra-host bandwidth allocation tools do not support complex allocation functions, increasing the difficulty of bandwidth resource allocation. These methods fail to provide a comprehensive and flexible bandwidth allocation and congestion control strategy when dealing with complex and ever-changing intra-host congestion scenarios. This invention proposes an intra-host congestion control method and apparatus based on RDMA. The method is executed at the sending end of a Remote Direct Memory Access Network (RDA). The receiving end sends periodic probe packets and receives return probe acknowledgment packets containing the intra-host traffic congestion signal. The current receiving rate is calculated based on the current receiving delay, the previous receiving delay, the target delay, and the previous receiving rate. The current receiving rate is compared with alternative sending rates to obtain the target sending rate to which the sending rate needs to be adjusted. A bandwidth allocation tool is used to reduce the available memory bandwidth of the CPU and allocate the remaining available bandwidth to the network interface card (NIC).

[0039] Figure 1This is a flowchart illustrating an embodiment of an intra-host congestion control method based on RDMA according to the present invention. Specifically, this application provides an intra-host congestion control method based on RDMA, which operates on the sending end of a remote direct memory access network. The method includes the following steps S101~S105:

[0040] Step S101: Send periodic probe packets to the receiving end at a set interval and receive return probe acknowledgment packets; the periodic probe packets and return probe acknowledgment packets are transmitted between the sending end and the receiving end by recording unique identifiers and are marked with timestamps for calculating the receiving end delay.

[0041] Step S102: Receive the host internal traffic congestion signal transmitted by the receiver through the return probe confirmation packet; the host internal traffic congestion signal is generated when the receiver detects that the occupancy value of the local integrated I / O controller buffer is higher than a set threshold.

[0042] Step S103: Calculate the current receiver delay based on the periodic probe packets and the return probe confirmation packets, and calculate the current receiver rate by combining the receiver delay, target delay and receiver rate of the previous moment.

[0043] Step S104: Calculate the alternative transmission rate based on the preset congestion control algorithm, and take the smaller of the alternative transmission rate and the current receiving rate as the target transmission rate of the transmitter.

[0044] Among them, the host-internal traffic congestion signal is also used to instruct the receiving end to reduce the available memory bandwidth in the CPU through the bandwidth allocation tool, and allocate the remaining available bandwidth to the network card of the receiving end to perform congestion data caching.

[0045] Specifically, this invention runs on RDMA (Remote Direct Memory Access) and uses an RNIC (RDMA Network Interface Card). The network card supports direct data transfer between the memory of two computers via RDMA. In RDMA technology, the network card is located at both ends of the data transmission, interacting directly with the computer's memory management system and operating system, and allowing data to be transferred directly between the memory of the two computers without going through the traditional operating system-level copying process. This improves transmission efficiency while preventing data loss during transmission. When allocating bandwidth, a coarse-grained allocation strategy is adopted, and a limit is set on the available memory bandwidth within the CPU to allocate the remaining bandwidth to the network card and avoid bandwidth waste.

[0046] In steps S101 and S102, the timestamps marked on the periodic probe packets and return probe acknowledgment packets indicate the sending time of the sender and the receiving time after processing by the receiver. The return probe acknowledgment packet indicates that the data packet from the sender has been successfully received and the next data packet can be sent, thereby obtaining the receiver status and transmitting the traffic congestion signal within the host. When queuing occurs in the local integrated I / O controller buffer, the occupancy value of the local integrated I / O controller buffer is used to respond to the traffic congestion within the host and accurately and timely reflect the location and scale of the congestion within the host. Queuing in the local integrated I / O controller buffer is caused by memory interconnect congestion, which leads to an increased delay in the credit replenishment of the memory controller. Credit replenishment is the process by which the sender, after sending a data packet and receiving a data acknowledgment packet, adjusts the credit replenishment based on the consumed data. The credit replenishment mechanism replenishes the sender's credits before sending new data packets. If no acknowledgment packet is received, the sender must wait for the credit replenishment to complete, resulting in a credit replenishment delay. This delay affects data transmission, network resource utilization, and application performance. Furthermore, the credit replenishment mechanism requires the sender to wait for the receiver to return sufficient credits to support data transmission before sending data packets, ensuring that the data transmission does not exceed the receiver's data receiving capacity, thus avoiding data loss and congestion. The local integrated I / O controller buffer occupancy is used to respond to host traffic congestion. The local integrated I / O controller buffer occupancy increases when the memory controller is congested, thereby obtaining the time and location of host congestion.

[0047] Furthermore, RTT granularity (Round-Trip Time) describes the transmission time from the sender to the receiver and back. RTT is used to measure network transmission performance, affecting data transmission efficiency and network connection quality. In this invention, network congestion causes the time required from the sender to the receiver and from the receiver back to the sender to be unequal, i.e., the time delays in the two directions are not equal. Therefore, this invention uses sub-RTT granularity and monitors changes in sub-RTT to obtain network congestion information. Based on the fluctuations in sub-RTT, the traffic and transmission rate at the sender are adjusted, thereby quickly obtaining information on network congestion and changes in network conditions.

[0048] In some embodiments, the host-internal traffic congestion signal is generated when the receiver detects that the occupancy value of the local integrated I / O controller buffer exceeds a set threshold. Performance data is obtained by reading registers set in the CPU, and the average value of the performance data is calculated and smoothed to obtain the occupancy value of the local integrated I / O controller buffer. In some embodiments, historical data analysis methods are used to analyze the occupancy of the local integrated I / O controller buffer under different loads based on historical traffic data and set an occupancy threshold, or real-time monitoring methods are used to monitor traffic characteristics in real time and set the occupancy threshold of the local integrated I / O controller buffer based on traffic changes.

[0049] Specifically, the registers used in this invention are MSRs (Model Specific Registers). After reading the performance data from the registers, averaging and smoothing are performed to obtain more stable and reliable data, thereby obtaining a reliable occupancy value. Averaging can be implemented using simple averaging and moving average, while smoothing can be implemented using exponential moving average and low-pass filter. The threshold setting needs to be set according to the CPU and memory bandwidth of each server. The historical data analysis method uses traffic data to analyze the occupancy of the local integrated I / O controller buffer under different loads and sets the threshold accordingly. The real-time monitoring method is based on real-time monitoring of traffic characteristics and sets the corresponding threshold according to changes.

[0050] Furthermore, in addition to setting the threshold value of the local integrated I / O controller buffer based on historical data analysis methods and real-time monitoring methods, it can also be set according to network performance indicators, including latency, packet loss rate, and throughput. Specifically, when monitoring network latency, if the latency starts to increase significantly, the threshold value of the local integrated I / O controller buffer needs to be reduced; when observing packet loss rate, if the packet loss rate increases, the threshold value of the local integrated I / O controller buffer needs to be adjusted; and the threshold value of the local integrated I / O controller buffer can be set in combination with changes in throughput.

[0051] In steps S103 and S104, traffic congestion within the host causes a delay at the receiving end and affects the timeliness of the receiving end in processing periodic probe packets, resulting in a time delay in returning probe acknowledgment packets. This allows the current receiving end delay to be obtained, and the current receiving rate of the receiving end to be calculated. This rate is then compared with the selected transmission rate to obtain the target transmission rate that the transmitting end needs to adjust.

[0052] In some embodiments, calculating the current receiver delay based on periodic probe packets and returned probe acknowledgment packets includes:

[0053] Record the timestamps of the periodic probe packets received by the receiver and the timestamps of the probe acknowledgment packets sent back by the receiver; the timestamps of the periodic probe packets are used to mark the time when the receiver receives the periodic probe packets. The timestamp of the returned probe acknowledgment packet is used to mark the time when the receiving end sent the returned probe acknowledgment packet. .

[0054] Calculate the current receiver delay based on the sending and receiving times. The expression is:

[0055] .

[0056] In some embodiments, based on the current receiver delay Receiver delay at the previous moment Target delay and the receiving rate of the receiver at the previous moment Calculate the current receiver rate. The expression is:

[0057] ;

[0058] in, and These are the parameters that are set.

[0059] Specifically, the current receiver latency can be calculated using a processing delay separation algorithm and a TSC (Timestamp Counter) synchronization algorithm. The current receiver rate calculation formula is the receiver rate update formula. As time changes, the current receiver transmits data based on the receiver rate of the previous moment. Alternative transmission rates are calculated using preset congestion control algorithms deployed between hosts. These preset congestion control algorithms include, but are not limited to, DCQCN, TIMELY, HPCC, and Swift algorithms. The receiver adjusts its transmission rate according to the calculated target transmission rate. The receiver adjusts its transmission rate using the latest network interface card (NIC) or data processing unit (DPU). High-performance NICs include ConnectX-6 and ConnectX-7, and data processing units include BlueField-2 and BlueField-3 DPUs. The latest NICs or data processing units provide a Programmable Congestion Control (PCC) framework. Programmable congestion control allows code to be written and the programmable congestion control interface to adjust the transmitter's transmission rate to the target transmission rate.

[0060] In some embodiments, reducing the available memory bandwidth within the CPU using a bandwidth allocation tool includes: configuring multiple service levels for the CPU core using the bandwidth allocation tool and reducing the available memory bandwidth within the CPU to a limit set according to each service level. The limit on available memory bandwidth is obtained by directly setting the limit on the available memory bandwidth or by setting the limit on the percentage of the total bandwidth.

[0061] Specifically, the problem of intra-host traffic congestion arises because network interface card (NIC) traffic and intra-host traffic cannot obtain sufficient bandwidth resources when competing for bandwidth, resulting in intra-host traffic congestion. When intra-host congestion occurs, it is necessary to reduce the available memory bandwidth of the CPU and use the bandwidth allocation tool MBA to allocate the available memory of the CPU and NIC. The bandwidth allocation tool binds CPU cores to multiple Class of Service (COS). Class of Service is a mechanism used in the network to distinguish different types of traffic and allocate resources. By providing bandwidth guarantees for CPU traffic and NIC traffic through the class of service, the memory bandwidth of COS is directly limited. The memory bandwidth of COS can be directly limited through the Linux command line on the receiving end. Five levels of limits are set for the available memory bandwidth of CPU traffic. After adjusting the sending rate and allocating memory, the maximum-minimum fairness of NIC traffic is achieved, ensuring that the NIC obtains the minimum bandwidth guarantee while preventing other traffic from consuming too much bandwidth, thus achieving fair sharing of network resources.

[0062] In some embodiments, the method further includes storing status and performance data during the processes of host-internal traffic congestion signaling, target transmission rate adjustment, and available bandwidth allocation as logs.

[0063] On the other hand, the present invention also provides an in-host congestion control device, including a processor, a memory, and a computer program / instructions stored in the memory, wherein the processor is used to execute the computer program / instructions, and the device implements the steps of the above method when the computer program / instructions are executed.

[0064] On the other hand, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.

[0065] On the other hand, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described method.

[0066] The present invention will now be described with reference to a specific embodiment:

[0067] Figure 2This is a schematic diagram illustrating the structure of an RDMA-based intra-host congestion control method according to an embodiment of the present invention. The congestion management mechanism proposed in this invention aims to solve the problem of intra-host traffic congestion in RDMA networks by combining sub-RTT (Asymmetric Round-Trip Time) granularity intra-host traffic congestion avoidance and RNIC traffic adjustment. Its core technology lies in the fact that the receiving end continuously monitors the congestion signal IIO Buffer (IIO Buffer, Integrated I / O Controller Buffer) within the host and rationally allocates resources within the host. Simultaneously, the sending end periodically sends probe packets and returns probe acknowledgment packets to obtain the receiving end's processing delay and adjusts the sending rate accordingly. The periodic sending of probe packets and returning probe acknowledgment packets are also marked with timestamps (ts). This mechanism is implemented on commercial servers and RNIC devices, and its performance has been verified through experiments.

[0068] 1. Internal traffic congestion response process of the host.

[0069] Internal host traffic congestion response is primarily achieved by monitoring IIO buffer occupancy. IIO buffer occupancy can accurately and promptly reflect the location and scale of internal host congestion, because memory interconnect congestion leads to increased delays in memory controller credit replenishment, thereby causing IIO buffer queuing, which is used at the CPU socket to insert and secure the CPU.

[0070] 1.1 Monitoring IIO Buffer Occupancy: IIO buffer occupancy is monitored in real time using specific registers (MSRs) provided by the Intel CPU hardware. The current IIO occupancy value is measured, and a threshold is set; exceeding this threshold indicates congestion, while the value below it indicates no congestion.

[0071] 1.2 Resource Allocation (Allocating Resources): Since standard host internal resource allocation tools do not support complex allocation functions, this invention adopts a coarse-grained allocation strategy, setting five levels of limits on the available memory bandwidth of host traffic and releasing the remaining bandwidth to RNIC traffic. When congestion is detected, this invention reduces the available memory bandwidth of host internal traffic to avoid bandwidth waste. Specifically, this invention uses the Intel Memory Bandwidth Allocation Tool (MBA) to introduce memory request latency to change the available memory bandwidth of CPU cores, thereby achieving a flexible resource allocation strategy.

[0072] 2. RNIC traffic congestion response process.

[0073] To address congestion caused by RNIC traffic, this invention proposes a traffic adjustment method based on a probe mechanism. The RNIC traffic sender periodically transmits probe packets and calculates the receiver's processing delay based on the probe acknowledgments returned by the receiver. Using this probe mechanism, the sender can dynamically adjust its transmission rate to achieve maximum-minimum fairness among RNIC traffic.

[0074] Specifically, each time a new probe acknowledgment packet is received, the sending end measures the receiving end's processing delay, denoted as . And calculate the target delay value, denoted as If the current processing delay exceeds the target delay, it indicates congestion. The sender will then calculate the appropriate rate for the receiving process based on the current delay and the delay of the previous round. .

[0075] ;

[0076] in It is the reception delay from the previous moment. and These are the set parameters; finally, adjust the sending rate according to the following formula. .

[0077] ;

[0078] The transmission rate is calculated by the deployed inter-host congestion control algorithm. In this way, the present invention can transparently support upper-layer applications without modifying data packets, while adapting to congestion control mechanisms deployed in different commercial data centers. The latest network interface cards (NICs) and data processing units are widely deployed, including ConnectX-6 and ConnectX-7 NICs, and BlueField-2 and BlueField-3 data processing units. The programmable functions of these devices can support the implementation and deployment of this mechanism.

[0079] In summary, this invention provides a host-based congestion control method and apparatus based on RDMA. The method is executed by the sending end of a remote direct memory access network. The receiving end sends periodic probe packets and receives return probe acknowledgment packets and their transmitted host-based traffic congestion signals. The current receiving end receiving rate is calculated based on the current receiving end delay, the previous receiving end delay, the target delay, and the previous receiving end receiving rate. The current receiving end receiving rate is compared with the alternative sending rates to obtain the target sending rate to which the sending end needs to adjust its sending rate. A bandwidth allocation tool is used to reduce the available memory bandwidth of the CPU and allocate the remaining available bandwidth to the network card.

[0080] Furthermore, this invention uses a bandwidth allocation tool to configure multiple service levels for the CPU core and sets limits on available memory bandwidth according to each service level. The limits on available memory bandwidth are flexibly adjusted and used as a standard for reducing the available memory bandwidth of the CPU. At the same time, bandwidth is allocated according to priority to ensure that the CPU and network card obtain the required available bandwidth.

[0081] This invention also provides a computer device, which may include a processor and a memory, wherein the processor and the memory may be connected via a bus or other means.

[0082] The processor can be a CPU (Central Processing Unit). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.

[0083] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the button blocking method of the vehicle display device in this embodiment of the invention. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory.

[0084] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0085] The one or more modules are stored in the memory, and when executed by the processor, they perform the method described in this embodiment.

[0086] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aforementioned edge computing server deployment method. The computer-readable storage medium can be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.

[0087] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this invention are programs or code segments used to perform the desired tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried in a carrier wave.

[0088] It should be clarified that the present invention is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of the present invention.

[0089] In this invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.

[0090] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, various modifications and variations of the embodiments of the present invention are possible. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A host-based congestion control method based on RDMA, characterized in that, The method operates on the sending end of a remote direct memory access network and includes the following steps: Periodic probe packets are sent to the receiving end at set intervals, and return probe acknowledgment packets are received; the periodic probe packets and the return probe acknowledgment packets are transmitted between the sending end and the receiving end by recording unique identifiers and marked with timestamps for calculating the receiving end delay; The receiver receives a host-internal traffic congestion signal transmitted by the receiving end through a return probe confirmation packet; the host-internal traffic congestion signal is generated when the receiving end detects that the occupancy value of the local integrated I / O controller buffer is higher than a set threshold. The current receiver delay is calculated based on the periodic probe packet and the return probe confirmation packet, and the current receiver rate is calculated by combining the receiver delay at the previous moment, the target delay, and the receiver rate at the previous moment. Based on a preset congestion control algorithm, alternative transmission rates are calculated, and the smaller of the alternative transmission rates and the current receiving rate is taken as the target transmission rate of the transmitter. The host-internal traffic congestion signal is also used to instruct the receiving end to reduce the available memory bandwidth in the CPU through a bandwidth allocation tool, and to allocate the remaining available bandwidth to the network card of the receiving end for performing congestion data caching.

2. The host-based congestion control method based on RDMA according to claim 1, characterized in that, The current receiver delay is calculated based on the periodic probe packets and the returned probe acknowledgment packets, including: The timestamps of the periodic probe packets received by the receiving end and the timestamps of the return probe acknowledgment packets sent by the receiving end are recorded; the timestamps of the periodic probe packets are used to mark the time when the receiving end receives the periodic probe packets. The timestamp of the returned probe acknowledgment packet is used to mark the time when the receiving end sends the returned probe acknowledgment packet. ; Calculate the current receiver delay based on the sending time and the receiving time. The expression is: 。 3. The host-based congestion control method based on RDMA according to claim 1, characterized in that, Based on the current receiver delay Receiver delay at the previous moment Target delay and the receiving rate of the receiver at the previous moment Calculate the current receiver rate. The expression is: ; in, and These are the parameters that are set.

4. The host-based congestion control method based on RDMA according to claim 1, characterized in that, The host-internal traffic congestion signal is generated when the receiver detects that the occupancy value of the local integrated I / O controller buffer is higher than a set threshold. The occupancy value of the local integrated I / O controller buffer is obtained by reading the registers set in the CPU, calculating the average value of the performance data and smoothing it.

5. The host-based congestion control method based on RDMA according to claim 4, characterized in that, Historical data analysis methods can be used to analyze the occupancy of the local integrated I / O controller buffer under different loads based on historical traffic data, and set an occupancy threshold. Alternatively, real-time monitoring methods can be used to monitor traffic characteristics in real time and set the occupancy threshold of the local integrated I / O controller buffer based on traffic changes.

6. The host-based congestion control method based on RDMA according to claim 1, characterized in that, Reducing the available memory bandwidth within a CPU using a bandwidth allocation tool includes: configuring multiple service levels for a CPU core using the bandwidth allocation tool, reducing the available memory bandwidth within the CPU to a limited available memory bandwidth set according to each service level, wherein the limited available memory bandwidth is obtained by directly setting the size of the limited available memory bandwidth or by setting the percentage of the limited available memory bandwidth to the total bandwidth.

7. The host-based congestion control method based on RDMA according to claim 1, characterized in that, The method further includes storing the status and performance data during the transmission of traffic congestion signals within the host, the adjustment of the target transmission rate, and the allocation of available bandwidth as logs.

8. A congestion control device within a host computer, comprising a processor, a memory, and computer programs / instructions stored in the memory, characterized in that, The processor is configured to execute the computer program / instructions, and when the computer program / instructions are executed, the device implements the steps of the method as described in any one of claims 1 to 7.

9. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method as described in any one of claims 1 to 7.

10. 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 according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Congestion control method for multi-tenant virtualized network

    CN116233008A

  • Methods and systems for network congestion management

    US20200336426A1