Method and apparatus for congestion control of cross-data-center rdma network based on near-end control
By employing a near-end control approach in cross-data center networks, and leveraging the coordinated adjustment of transmission rates by switches and data centers, the problems of excessively long feedback loops and unfair flow contention in congestion control across cross-data center networks are resolved, achieving rapid convergence and efficient network performance.
Patent Information
- Application Number
- CN202310953493.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2043-07-31
AI Technical Summary
Existing congestion control protocols have excessively long feedback loops in cross-data center network scenarios, leading to queue congestion and unfair flow contention. Furthermore, switch-based congestion control protocols require large-scale modifications to the switches, resulting in mediocre control performance.
A near-end control-based approach is adopted, in which a pre-defined congestion control algorithm is implemented at the switch between the upstream and downstream data centers. The sending rate is adjusted by sending out notification messages, arrival notification messages and long-distance notification messages respectively, forming a three-part flow control to ensure that the congestion control algorithm of the switch is consistent with that of the data center.
It shortens the congestion control loop, improves fairness among flows, and reduces large-scale modifications to switches, achieving fast convergence and efficient network performance.
Smart Images

Figure CN117135117B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of network transmission control, and particularly relates to a cross-data-center RDMA network congestion control method and device based on near-end control. BACKGROUND
[0002] In recent years, with the gradual increase of data center network demand, more and more service providers and cloud network suppliers choose to deploy services on multiple data center networks. These data center networks can be distributed in different regions and countries. The deployment architecture of multiple data center networks provides many benefits for upper-layer cross-data-center applications: upper-layer applications deployed in different regions can provide users with a faster application access experience; distributed deployment can guarantee the privacy of user data; cross-data-center networks can enhance data disaster recovery and improve the reliability of data center networks.
[0003] RDMA is a new network technology that can provide high throughput, low latency and ultra-low CPU load. RDMA has gradually become a standard technology for data center networks. In order to better utilize the convenience of RDMA technology, it is hoped that RDMA can also be deployed in cross-data-center networks. However, RDMA technology requires the support of lossless networks at the bottom layer, and the existing PFC (Priority Flow Control) is usually used to ensure lossless at the switch port. However, the use of PFC usually causes header congestion, PFC pause frame storm and other problems. Therefore, when deploying an RDMA network, a suitable congestion control algorithm is usually also needed to avoid the triggering of PFC.
[0004] The design of congestion control protocols has always been the focus of research in the field of data center networks. In the early days, some improvement schemes of TCP protocol were proposed in the context of the Internet. However, all of them are based on the idea of TCP protocol, using in-network packet loss signals as congestion signals to adjust the sending rate.
[0005] Considering that when the sending end discovers packet loss, there is usually a serious congestion problem in the network, and in addition to the loss of packets as a congestion signal, there are other congestion signals inside the data center (some signals cannot be obtained on the Internet or are large fluctuations), such as ECN (congestion notification signal) marking of the switch, end-to-end RTT (Round-Trip Time, round-trip time) delay and INT (in-band network telemetry technology). By using these signals, the sending end can more quickly and more quickly adjust the rate to reduce the queuing of data packets. Based on the above signals, some more efficient congestion control protocols are proposed, such as the DCQCN algorithm, the TIMELY algorithm, the HPCC algorithm, etc.; in addition to the end-to-end congestion control protocol, there are also some congestion control algorithms based on switch control, such as the BFC algorithm, the RoCC algorithm, etc.
[0006] The control loop of the end-to-end congestion control protocol is from the sending end to the receiving end and back to the sending end, that is, the entire RTT. For a cross-data center network, the feedback loop is long, the RTT is long, and the sending end needs to wait for a long RTT to respond to congestion, and during this period, the sending end will continue to send data packets, causing queue accumulation; and for the scenario of competition between long-distance traffic (cross-data center traffic) and short-distance traffic (traffic within the data center), different traffic has different RTT, that is, different congestion time, and the rate changes of these flows will not be synchronized, resulting in unfair results.
[0007] The existing switch-based congestion control protocol usually needs to be deployed on most of the switches in the data center network, for example, the RoCC and BFC algorithms need to be deployed on all switches in the data center, which greatly increases the difficulty of algorithm deployment and is not conducive to incremental deployment on existing data centers. On the other hand, a single switch has limited judgment of the overall congestion of the network, and the control effect of congestion from different sending ends is also general. SUMMARY
[0008] Therefore, the embodiments of the present application provide a cross-data center RDMA network congestion control method and device based on near-end control to eliminate or improve one or more defects in the prior art, solve the problem that the end-to-end congestion control protocol in the existing congestion control protocol has a too long feedback loop in the cross-data center network scenario, which is easy to cause queue accumulation, and the problem of unfair competition between cross-data center flows and data center flows; the problem that the switch-based congestion control protocol needs to be greatly changed and the control effect is general.
[0009] In one aspect, the application provides a method for congestion control of a cross-data center RDMA network based on near-end control, characterized in that the method is performed on a cross-data center network, the cross-data center network at least comprising an upstream data center, an upstream switch, a downstream switch and a downstream data center connected in sequence, and the method comprises the following steps:
[0010] The upstream data center arranges data to be sent to generate a data packet and sends it to the upstream switch; the upstream switch forwards the data packet to the downstream switch; the downstream switch sends the data packet to the downstream data center; and the downstream data center receives and processes the data packet.
[0011] In the upstream switch, when it is detected that the data packet sent by the upstream data center to the upstream switch forms congestion, a preset congestion control algorithm is used to generate a departure notification packet and send it to the upstream data center; and the upstream data center adjusts the sending rate according to the departure notification packet.
[0012] In the downstream data center, when it is detected that the data packet sent by the downstream switch to the downstream data center forms congestion, the preset congestion control algorithm is used to generate an arrival notification packet and send it to the downstream switch, and the downstream switch adjusts the sending rate according to the arrival notification packet; wherein the preset congestion control algorithm is consistent with the congestion control algorithm used by the upstream data center and the downstream data center.
[0013] In the downstream switch, the total amount of data packets that have been forwarded is counted every preset time period, a long-distance notification packet is generated according to the total amount of data packets, and the long-distance notification packet is sent to the upstream switch; the upstream switch compares the long-distance notification packet with a preset limit of the number of data packets to adjust the forwarding rate.
[0014] In some embodiments of the application, the preset congestion control algorithm includes but is not limited to DCQCN algorithm, TIMELY algorithm and HPCC algorithm.
[0015] In some embodiments of the application, when the preset congestion control algorithm uses DCQCN algorithm:
[0016] In the upstream switch, when the queue length of the data packet sent by the upstream data center to the upstream switch is greater than a first preset value, there is congestion, an explicit congestion notification flag is added to the data packet header to generate a first congestion notification packet, the first congestion notification packet is used as the generated departure notification packet and sent to the upstream data center; and the upstream data center adjusts the sending rate according to the departure notification packet.
[0017] When the queue length of the data packet sent by the downstream switch to the downstream data center is greater than a second preset value, there is congestion in the downstream data center, an explicit congestion notification mark is added to the data packet header, a second congestion notification packet is generated, the second congestion notification packet is sent to the downstream switch as the arrival notification message, and the downstream switch adjusts the sending rate according to the arrival notification message.
[0018] In some embodiments of the present application, when the preset congestion control algorithm adopts the TIMELY algorithm:
[0019] In the upstream switch, the upstream data center sends the data packet to the upstream switch, generates a corresponding first acknowledgement message after successfully receiving the data packet, sends the first acknowledgement message to the upstream data center as the departure notification message, and calculates a first round-trip time; the upstream data center adjusts the sending rate according to a comparison between the first round-trip time and a first reference round-trip time.
[0020] In the downstream data center, the downstream switch sends the data packet to the downstream data center, generates a corresponding second acknowledgement message after successfully receiving the data packet, sends the second acknowledgement message to the downstream switch as the arrival notification message, and calculates a second round-trip time; the downstream switch adjusts the sending rate according to a comparison between the second round-trip time and a second reference round-trip time.
[0021] In some embodiments of the present application, when the upstream switch forwards the data packet to the downstream switch, the explicit congestion notification mark in the data packet header is cleared to reduce the transitional feedback.
[0022] In some embodiments of the present application, in the downstream switch, data packets with the same destination IP server are put into the same virtual output queue to separate different flows.
[0023] In some embodiments of the present application, the forwarding rate of the virtual output queue is calculated according to the preset congestion control algorithm based on the arrival notification message; the arrival notification message carries the limit rate of the corresponding virtual output queue to avoid the head congestion problem of different flows arriving at the same destination IP server in the same virtual output queue.
[0024] In some embodiments of the present application, the preset data packet limit quantity is twice the delay-bandwidth product, and the delay-bandwidth product is calculated according to the bandwidth and delay of the long-distance link between the upstream switch and the downstream switch.
[0025] In another aspect, the present application provides an electronic device comprising a processor and a memory, wherein the memory stores computer instructions, and the processor is configured to execute the computer instructions stored in the memory, and the device implements the steps of the method according to any one of the above aspects when the computer instructions are executed by the processor.
[0026] In another aspect, the present application also provides a computer readable storage medium, which stores a computer program, and the computer program, when executed by a processor, implements the steps of the method according to any one of the above aspects.
[0027] The present application has at least the following beneficial effects:
[0028] The present application provides a congestion control method and device for a cross-data center RDMA network based on near-end control, comprising: an upstream data center sends data packets to a downstream data center via an upstream switch and a downstream switch in sequence; the control of the flow in the whole data transmission process is divided into three parts: departure flow control, arrival flow control and long-distance flow control; the departure flow control: in the upstream switch, when the data packet congestion sent by the upstream data center to the upstream switch is detected, a preset congestion control algorithm is used to generate a departure notification packet, and the upstream data center adjusts the sending rate according to the departure notification packet; the arrival flow control: in the downstream data center, when the data packet congestion sent by the downstream switch to the downstream data center is detected, a preset congestion control algorithm is used to generate an arrival notification packet, and the downstream switch adjusts the sending rate according to the arrival notification packet; the long-distance flow control: in the downstream switch, a long-distance notification packet is generated according to the total amount of data packets that have been forwarded by periodic statistics, and the upstream switch adjusts the forwarding rate according to the long-distance notification packet and a preset data packet limit number. The congestion control method provided by the present application is divided into three parts, is suitable for a cross-data center network, controls the congestion in the two-end data centers through the switches at the two ends (i.e. the near-ends of the two-end data centers), controls the congestion in the long-distance link through the long-distance notification packet, at the same time, the preset congestion control algorithm used is consistent with the congestion control algorithm used by the two-end data centers, the congestion control loop is short, and the fairness of the competition between the flows is ensured.
[0029] Additional advantages, objects, and features of the application will be set forth in part by the description that follows, and will become apparent to those skilled in the art upon examination of the following detailed description and drawings in which
[0030] Those skilled in the art will appreciate that the objects and advantages of the application can be accomplished by the devices and processes described in detail herein, and that the application can be used with any number of other devices and processes without departing from the scope of the application. Attached Figure Description
[0031] 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:
[0032] Figure 1 This is a schematic diagram illustrating the steps of a cross-data center RDMA network congestion control method based on near-end control in one embodiment of the present invention.
[0033] Figure 2 This is a schematic diagram of a cross-data center network topology in one embodiment of the present invention.
[0034] Figure 3 This is a flowchart illustrating a cross-data center RDMA network congestion control method based on near-end control according to an embodiment of the present invention. Detailed Implementation
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] It should be emphasized here that the step markers mentioned below are not a limitation on the order of the steps, but should be understood as meaning that the steps can be executed in the order mentioned in the embodiments, or in a different order than in the embodiments, or several steps can be executed simultaneously.
[0041] In order to solve the problems that the feedback loop of the end-to-end congestion control protocol is too long in the cross-data center network scene, the queue is easy to accumulate, and the flow across the data center competes with the flow in the data center and is unfair; the congestion control protocol based on the switch needs to be greatly changed, and the control effect is general, the application provides a kind of congestion control method of cross-data center RDMA network based on near-end control, as shown in Figure 1 The method comprises the following steps S101-S105:
[0042] Step S101: the upstream data center arranges and generates a data packet from the data to be sent to the upstream switch; the upstream switch forwards the data packet to the downstream switch; the downstream switch sends the data packet to the downstream data center; the downstream data center receives and processes the data packet.
[0043] Step S102: in the upstream switch, when it is detected that the data packet sent by the upstream data center to the upstream switch forms congestion, a preset congestion control algorithm is used to generate a departure notification message and send it to the upstream data center; the upstream data center adjusts the sending rate according to the departure notification message.
[0044] Step S103: in the downstream data center, when it is detected that the data packet sent by the downstream switch to the downstream data center forms congestion, a congestion control algorithm is used to generate an arrival notification message and send it to the downstream switch, and the downstream switch adjusts the sending rate according to the arrival notification message; wherein the preset congestion control algorithm is consistent with the congestion control algorithm used by the upstream data center and the downstream data center.
[0045] Step S104: in the downstream switch, the total amount of data packets completed forwarding is counted every preset time period, a long-distance notification message is generated according to the total amount of data packets, and the upstream switch is sent; the upstream switch compares the long-distance notification message with the preset data packet limit number to adjust the forwarding rate.
[0046] The method is executed on the cross-data center network, as shown in Figure 2 The cross-data center network at least comprises the upstream data center, the upstream switch, the downstream switch and the downstream data center connected in sequence.
[0047] Among them, the upstream data center and the downstream data center comprise the core layer, the convergence layer and the access layer connected in sequence from top to bottom, the access layer is a physical connection server, generally placed at the top of the cabinet, also called ToR switch.
[0048] In some embodiments, the upstream switch and the downstream switch adopt a DCI-Switch (Data Center Interconnect-Switch). The upstream switch is interconnected with core switches of a core layer in an upstream data center for data transmission and communication; the downstream switch is interconnected with core switches of a core layer in a downstream data center for data transmission and communication. The upstream switch and the downstream switch are connected through long-distance optical fibers, and a wavelength division multiplexing technology is used to improve the rate.
[0049] As shown in Figure 3 , a flowchart of a cross-data center RDMA network congestion control method based on near-end control.
[0050] In step S101, the upstream data center is taken as a departure point, and the downstream data center is taken as an arrival point. The upstream data center first sends data packets to the upstream switch, the upstream switch forwards the data packets to the downstream switch through long-distance optical fibers, and the downstream switch sends the data packets to the downstream data center.
[0051] Based on the above data packet transmission direction, the network congestion control method provided by the application is divided into three parts: departure flow control, long-distance flow control, and arrival flow control. Among them, the departure flow refers to the number of data packets sent by the upstream data center to the upstream switch within a specified time period, the long-distance flow refers to the number of data packets forwarded by the upstream switch to the downstream switch within a specified time period, and the arrival flow refers to the number of data packets sent by the downstream switch to the downstream data center within a specified time period.
[0052] In step S102, the departure flow control is further described.
[0053] The departure flow is controlled through the upstream switch, as shown in Figure 3 , the upstream switch is taken as a departure control point. When the upstream switch detects that the data packets sent by the upstream data center to the upstream switch form congestion, a preset congestion control algorithm is used to generate a departure notification packet and send it to the upstream data center; the upstream data center adjusts the corresponding sending rate according to the departure notification packet.
[0054] In step S103, the arrival flow control is further described.
[0055] The arrival flow is controlled through the downstream data center. When the downstream data center detects that the data packets sent by the downstream switch to the downstream data center form congestion, a preset congestion control algorithm is used to generate an arrival notification packet and send it to the downstream switch, and the downstream switch adjusts the corresponding sending rate according to the arrival notification packet.
[0056] The upstream data center and the downstream data center use the same congestion control algorithm by default in a normal state. In steps S102 and S103, in order to better adapt the congestion control algorithm in the upstream data center and the downstream data center, the preset congestion control algorithm used by the upstream switch when generating the departure notification packet and the downstream data center when generating the arrival notification packet is consistent with the congestion control algorithm used in the upstream data center and the downstream data center.
[0057] In some embodiments, the preset congestion control algorithm includes but is not limited to a DCQCN algorithm, a TIMELY algorithm, and an HPCC algorithm.
[0058] The DCQCN algorithm is an end-to-end congestion control protocol, and uses a congestion signal of a switch as a congestion signal to adjust a corresponding sending rate of a sending end.
[0059] Specifically, when the preset congestion control algorithm uses the DCQCN algorithm:
[0060] In the upstream switch, when the length of the waiting queue of the data packet sent by the upstream data center to the upstream switch is greater than a first preset value, it indicates that there is congestion, an Explicit Congestion Notification (ECN) mark is added to the data packet header, a first congestion notification packet (CNP) is generated, the first congestion notification packet is used as the generated departure notification packet, and the first congestion notification packet is sent to the upstream data center.
[0061] In the downstream data center, when the length of the waiting queue of the data packet sent by the downstream switch to the downstream data center is greater than a second preset value, it indicates that there is congestion, an Explicit Congestion Notification (ECN) mark is added to the data packet header, a second congestion notification packet (CNP) is generated, the second congestion notification packet is used as the arrival notification packet, and the second congestion notification packet is sent to the downstream switch.
[0062] The TIMELY algorithm is also an end-to-end congestion control protocol, and uses a round-trip time (RTT) signal as a congestion signal, and a sending end adjusts a corresponding sending rate by comparing a measured RTT with a reference RTT.
[0063] Specifically, when the preset congestion control algorithm uses the TIMELY algorithm:
[0064] In the upstream switch, the upstream data center sends the data packet to the upstream switch, and after successfully receiving the data packet, generates a corresponding first acknowledgement packet (ACK) as a departure notification packet, and sends the first acknowledgement packet to the upstream data center to calculate the first round trip time; the upstream data center adjusts the sending rate according to the comparison between the first round trip time and the first reference round trip time.
[0065] In the downstream data center, the downstream switch sends the data packet to the downstream data center, and after successfully receiving the data packet, generates a corresponding second acknowledgement packet (ACK) as an arrival notification packet, and sends the second acknowledgement packet to the downstream switch to calculate the second round trip time; the downstream switch adjusts the sending rate according to the comparison between the second round trip time and the second reference round trip time.
[0066] There are many congestion control algorithms, which are not limited in the present application, and other algorithms will not be described one by one.
[0067] When the upstream data center receives the departure notification packet or the downstream switch receives the arrival notification packet, the congestion control algorithm provided by the present application will adopt the same congestion control algorithm in the upstream data center (downstream data center) to calculate and adjust the sending rate of the upstream data center or the forwarding rate of the downstream switch. Through this method, the congestion control loop can be shortened to the scale of one data center, and the rate update algorithm is synchronized with the rate update algorithm in the original data center, which can ensure the fairness between different flows.
[0068] In some embodiments, when the upstream data center sends the data packet to the upstream switch, and the upstream switch forwards the data packet to the downstream switch, the congestion information in the data packet header needs to be cleared to reduce the transitional feedback. For example, when the preset congestion control algorithm adopts the DCQCN algorithm, the upstream switch adds an explicit congestion notification mark to the header of the congested data packet, and when the upstream switch forwards it to the downstream switch, the explicit congestion notification mark in the data packet header needs to be cleared to reduce the transitional feedback.
[0069] In some embodiments, in order to avoid the problem of header congestion in the downstream switch, the present application uses virtual output queue (Virtual Output Queue, VOQ) to separate different flows in the downstream switch, that is, data packets with the same destination IP server are placed in the same VOQ queue. The forwarding rate of the VOQ queue is calculated according to the received arrival notification packet, and the calculation method is the same as the congestion control algorithm used in the upstream data center (downstream data center).
[0070] In some embodiments, in order to avoid the problem of head congestion in the same VOQ caused by different flows reaching the same IP server, the application carries the limit rate of the corresponding VOQ in the arrival notification message header to further limit the sending rate.
[0071] In step S104, the long-distance flow control is further described.
[0072] In order to reduce the use of VOQ in the downstream switch, the application controls the forwarding of data packets between the upstream switch and the downstream switch through the long-distance notification message. Specifically, the long-distance flow is controlled through the downstream switch, as shown in the figure, the downstream switch is taken as the arrival control point. In the downstream switch, the total amount of data packets completed forwarding is counted every preset time period, the long-distance notification message is generated according to the total amount of data packets, and is sent to the upstream switch; the upstream switch compares the long-distance notification message (i.e. the total amount of data packets completed forwarding) with the preset data packet limit number to adjust the forwarding rate. Figure 3
[0073] In some embodiments, the preset data packet limit number is twice the product of the delay bandwidth, 2*BDP. Wherein, the BDP is the BDP of the long-distance link, which is calculated according to the bandwidth and delay of the long-distance link between the upstream switch and the downstream switch.
[0074] The simulation and real experiment environment show that the cross-data center RDMA network congestion control method based on near-end control provided by the application can converge more quickly and guarantee the fairness between flows, and has high network performance under different network conditions, and has stronger practicability.
[0075] The application further provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to realize the steps of the cross-data center RDMA network congestion control method based on near-end control.
[0076] Corresponding to the above method, the application further provides a device, which comprises a computer device, the computer device comprises a processor and a memory, the memory stores computer instructions, and the processor is used to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the device realizes the steps of the above method.
[0077] The embodiment of the present application also provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the edge computing server deployment method. The computer readable storage medium can be a tangible storage medium, such as a random access memory (RAM), a memory, a read only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a floppy disk, a hard disk, a removable storage disk, a CD-ROM, or any other form of storage medium known in the technical field.
[0078] In conclusion, the present application provides a congestion control method and device for a cross-data center RDMA network based on near-end control, which comprises: an upstream data center sending data packets to a downstream data center via an upstream switch and a downstream switch in sequence; dividing the control of the flow in the whole data transmission process into three parts: departure flow control, arrival flow control and long-distance flow control; the departure flow control: in the upstream switch, when the data packet congestion sent by the upstream data center to the upstream switch is detected, a preset congestion control algorithm is used to generate a departure notification packet, and the upstream data center adjusts the sending rate according to the departure notification packet; the arrival flow control: in the downstream data center, when the data packet congestion sent by the downstream switch to the downstream data center is detected, a preset congestion control algorithm is used to generate an arrival notification packet, and the downstream switch adjusts the sending rate according to the arrival notification packet; the long-distance flow control: in the downstream switch, a long-distance notification packet is generated according to the total amount of data packets that have been forwarded by periodic statistics, and the upstream switch adjusts the forwarding rate according to the long-distance notification packet and a preset data packet limit amount. The congestion control method provided by the present application is divided into three parts, is suitable for a cross-data center network, controls the congestion in the two-end data centers through the switches at the two ends (i.e. the near-ends of the two-end data centers), controls the congestion in the long-distance link through the long-distance notification packet, and at the same time, the preset congestion control algorithm used is consistent with the congestion control algorithm used by the two-end data centers, the congestion control loop is short, and the fairness of the competition between the flows is ensured.
[0079] Those of ordinary skill in the art will appreciate that the various illustrative components, systems and methods described in connection with the embodiments disclosed herein can be implemented as hardware, software, or both. The particular implementation is dependent on the specific application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application. When implemented in hardware, for example, the hardware can comprise an electronic circuit, an Application Specific Integrated Circuit (ASIC), a suitable firmware, a plug-in, a functional card, etc. When implemented in software, the elements of the application are the program or code segments to perform a specific task. The program or code segments can be stored in a machine-readable medium, or transmitted by a carrier wave as data signals over a transmission medium or communication link.
[0080] It is to be understood that the application is not limited to the particular configurations and processes described herein and shown in the drawings. For simplicity, detailed descriptions of known methods and apparatuses are omitted so as not to obscure the disclosure. In the above-described embodiments, several specific steps are described and illustrated as examples. However, the method processes of the present application are not limited to the specific steps described and illustrated, and the order of the steps can be changed, or other steps can be added, or replaced, or eliminated, depending on the application.
[0081] In the present application, features described and / or illustrated with respect to one embodiment can be used in the same or a similar way in one or more other embodiments, and / or in combination with or instead of features of other embodiments.
[0082] The above description is only preferred embodiments of the present application, and is not intended to limit the present application. The embodiments of the present application can be variously changed and modified by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the present application.
Claims
1. A method for congestion control of a cross-data-center RDMA network based on near-end control, the method comprising: The method is performed on a cross-data center network comprising at least an upstream data center, an upstream switch, a downstream switch and a downstream data center connected in sequence, and comprises the following steps: The upstream data center arranges data to be sent into a data packet and sends it to the upstream switch; the upstream switch forwards the data packet to the downstream switch; the downstream switch sends the data packet to the downstream data center; and the downstream data center receives and processes the data packet; In the upstream switch, when it is detected that the data packet sent by the upstream data center to the upstream switch forms a congestion, a preset congestion control algorithm is used to generate a departure notification message and send it to the upstream data center; the upstream data center adjusts the sending rate according to the departure notification message; In the downstream data center, when it is detected that the data packet sent by the downstream switch to the downstream data center forms a congestion, the preset congestion control algorithm is used to generate an arrival notification message and send it to the downstream switch, and the downstream switch adjusts the sending rate according to the arrival notification message; wherein the preset congestion control algorithm is consistent with the congestion control algorithm used by the upstream data center and the downstream data center; In the downstream switch, the total amount of data packets that have been forwarded is counted every preset time period, a long-distance notification message is generated according to the total amount of data packets, and is sent to the upstream switch; the upstream switch compares the long-distance notification message with a preset data packet limit to adjust the forwarding rate. 2.The near-end control based cross-data-center RDMA network congestion control method of claim 1, wherein, The preset congestion control algorithm includes but is not limited to DCQCN algorithm, TIMELY algorithm and HPCC algorithm. 3.The near-end control based cross-data-center RDMA network congestion control method of claim 2, wherein, When the preset congestion control algorithm uses DCQCN algorithm: In the upstream switch, when the queue length of the data packet sent by the upstream data center to the upstream switch is greater than a first preset value, there is congestion, an explicit congestion notification flag is added to the data packet header, a first congestion notification packet is generated, the first congestion notification packet is used as the generated departure notification message, and is sent to the upstream data center; the upstream data center adjusts the sending rate according to the departure notification message; In the downstream data center, when the queue length of the data packet sent by the downstream switch to the downstream data center is greater than a second preset value, there is congestion, an explicit congestion notification flag is added to the data packet header, a second congestion notification packet is generated, the second congestion notification packet is used as the arrival notification message, and is sent to the downstream switch, and the downstream switch adjusts the sending rate according to the arrival notification message.
4. The near-end control based cross-data center RDMA network congestion control method of claim 2, wherein, When the preset congestion control algorithm uses TIMELY algorithm: In the upstream switch, the upstream data center sends the data packet to the upstream switch, successfully receives the data packet, generates a corresponding first acknowledgement message, sends the first acknowledgement message to the upstream data center as the departure notification message, and calculates a first round-trip time; The upstream data center adjusts a sending rate according to a comparison between the first round-trip time and a first reference round-trip time. In the downstream data center, the downstream switch sends the data packet to the downstream data center, and after successfully receiving the data packet, generates a corresponding second acknowledgement receipt message, sends the second acknowledgement receipt message to the downstream switch as the arrival notification message, and calculates a second round-trip time; the downstream switch adjusts a sending rate according to a comparison between the second round-trip time and a second reference round-trip time.
5. The near-end control based cross-data center RDMA network congestion control method of claim 3, wherein, The upstream switch clears an explicit congestion notification flag in the data packet header when forwarding the data packet to the downstream switch, so as to reduce transient feedback.
6. The near-end control based cross-data center RDMA network congestion control method of claim 1, wherein, In the downstream switch, data packets with the same destination IP server are put into a same virtual output queue, so as to separate different flows.
7. The near-end control based cross-data-center RDMA network congestion control method of claim 6, wherein, A forwarding rate of the virtual output queue is calculated according to the preset congestion control algorithm by using the arrival notification message; the arrival notification message carries a limit rate of a corresponding virtual output queue, so as to avoid a head congestion problem of different flows arriving at a same destination IP server in a same virtual output queue.
8. The near-end control based cross-data center RDMA network congestion control method of claim 1, wherein, The preset data packet limit quantity is twice a delay-bandwidth product, and the delay-bandwidth product is calculated according to a bandwidth and a delay of a long-distance link between the upstream switch and the downstream switch. 9.An electronic device comprising a processor and a memory, wherein, The memory stores computer instructions, and the processor is configured to execute the computer instructions stored in the memory; when the computer instructions are executed by the processor, the device implements steps of the method in any one of claims 1 to 8.
10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement steps of the method in any one of claims 1 to 8.