CN115883463A - Network load-based congestion control method and system in data center - Google Patents

Network load-based congestion control method and system in data center Download PDF

Info

Publication number
CN115883463A
CN115883463A CN202211422371.XA CN202211422371A CN115883463A CN 115883463 A CN115883463 A CN 115883463A CN 202211422371 A CN202211422371 A CN 202211422371A CN 115883463 A CN115883463 A CN 115883463A
Authority
CN
China
Prior art keywords
congestion
data packet
receiving end
load
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211422371.XA
Other languages
Chinese (zh)
Inventor
张娇
万梓睿
潘昊宇
潘恬
黄韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202211422371.XA priority Critical patent/CN115883463A/en
Publication of CN115883463A publication Critical patent/CN115883463A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a method and a system for controlling congestion in a data center based on network load, wherein the method comprises the following steps: receiving a data packet from a switch, and detecting whether the data packet carries a congestion tag or not; if the data packet is marked with the congestion mark, counting the total amount of the data packet received by the receiving end within the preset time as the network load; and adding the network load information and the congestion marking information of the data packet into an ACK message fed back to a sending end, so that the sending end can adjust the size of a sending window to the total amount of the data packet received by a corresponding receiving end based on the congestion marking and the network load information in the received ACK message, and the congestion is relieved.

Description

Network load-based congestion control method and system in data center
Technical Field
The invention relates to the technical field of data center networks, in particular to a method and a system for controlling congestion in a data center based on network load.
Background
Over the last 10 years, driven by the demand for prevalent network applications (e.g., search, online retail, cloud computing, etc.), data centers have built up with previously unprecedented speed and scale around the globe. In particular, in order to guarantee data connection and improve user experience, transport layer protocols in data center networks have attracted extensive attention in academia and industry. The data center network has different characteristics (such as single control desire and homogeneous network architecture) from the traditional internet, which brings great opportunity and challenge to the design of the transport layer protocol in the data center network, and a corresponding series of transport protocols are designed and proposed.
Data centers usually employ commercial devices to interconnect servers and switches through a well-designed network, thereby achieving the needs of telling computation and mass storage in a more economical and convenient manner. Compared with the internet which is a complex, variable and incompletely controllable heterogeneous network, the data center network is a homogeneous network environment under a single autonomous domain. A single autonomous domain means that the end-hosts and the network protocols they use, as well as the requirements of the applications for network services, etc., are relatively controllably predictable. Isomorphism is manifested in that the topology of the data center network has a certain regularity (predictable Round-Trip Time (RTT), and relatively uniform link bandwidth). These features also introduce many opportunities for the design of transport layer protocols, e.g., devices in a data center having relatively consistent congestion signals, all devices in the topology having controllability, etc.
The transport layer protocol is intended to provide high throughput, low latency network data transport services for applications. The transport layer Protocol includes a connectionless best effort Protocol, represented by User Datagram Protocol (UDP); the connection-oriented reliable transport Protocol is represented by a Transmission Control Protocol (TCP). In most network scenarios, the transport protocol used by the application layer is dominated by the connection-oriented reliable transport protocol. The congestion control protocol is the focus of the research on the transport layer protocol.
A number of congestion control protocols have been proposed over the years. In the background of the internet in the early days, some TCP protocol improvements were made such as TCP Tahoe, TCP Reno, TCP Vegas, etc. However, these schemes are based on the idea of the TCP protocol, and utilize a packet loss signal in the network as a congestion signal, and when a sending end finds that a packet loss occurs in a data packet, the network usually has a serious congestion problem. On the other hand, in addition to the way of using packet loss as a congestion signal, there are richer congestion signals (some signals cannot be obtained on the internet or fluctuate greatly) inside the data center, such as an exchange congestion notification signal (ECN) flag, an end-to-end RTT delay, and an in-band Network Telemetry (INT). By using these signals, the sender can more quickly adjust the rate to reduce packet queuing or congestion conditions within the network.
In recent years, more efficient congestion control protocols have been proposed, which use the congestion signals described above to better adapt to the data center network environment. Response type Congestion Control mechanisms such as Data Center Quantized Congestion Notification (DCQCN), time only and High Precision Congestion Control (HPCC), active Congestion Control mechanisms such as ExpressPass and Homa, however, congestion signals in the response type Congestion Control mechanisms respond to Congestion too slowly to support complex measurement functions; the active congestion control mechanism can only process congestion when the network topology convergence ratio is 1, and can not detect congestion occurring in the network.
Therefore, a method for controlling congestion in a data center is needed to control and alleviate congestion in a data center network.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and a system for controlling congestion in a data center based on network load measured by a receiving end, where the size of a sending window is adjusted in a window control manner, so as to more quickly and effectively reduce the queue length of a switch port, thereby alleviating congestion in a network.
A first aspect of the present invention provides a method for controlling congestion in a data center based on network load, the method comprising the steps of:
receiving a data packet from a switch, and detecting whether the data packet carries a congestion tag or not; if the data packet is marked with the congestion mark, counting the total amount of the data packet received by the receiving end within the preset time as the network load;
and adding the network load information and the congestion marking information of the data packet into an Acknowledgement (ACK) message fed back to the sending end, so that the sending end can adjust the size of a sending window to the total amount of the data packet received by the corresponding receiving end based on the congestion marking and the network load information in the received ACK message, and the congestion is relieved.
In some embodiments of the invention, the network load comprises a bottleneck link load and a receiver link load;
the load of the receiving end link is the total amount of data packets received by a receiving end port within preset time;
the load of the bottleneck link is the total amount of data packets of the flow which flow through the bottleneck link within a preset time and are received at a receiving end;
the bottleneck link is a link between switches or a link between an edge switch and a receiving end.
In some embodiments of the present invention, when the bottleneck link is a link between switches, the load of the bottleneck link is a total amount of data packets of a flow received at a receiving end through the bottleneck link within a preset time;
when the bottleneck link is a link between the edge switch and the receiving end, the load of the bottleneck link is the total amount of data packets of the flow which flows through the bottleneck link and is received by the receiving end within a preset time;
wherein the preset time is a round trip time of the data packet.
In some embodiments of the present invention, the adding the information of the network load and the congestion flag information of the data packet to an ACK packet fed back to a sending end so that the sending end can adjust a size of a sending window to a total amount of data packets received by a corresponding receiving end based on the congestion flag and the network load information in the received ACK packet to alleviate congestion includes:
the receiving rate is converted into the total amount of received data packets by counting the receiving rate and adopting the product of the rate and the time, so that the sending end adjusts the size of a sending window into the total amount of the data packets, and the congestion is relieved;
wherein, the rate of the bottleneck link load is the rate of receiving stream by the receiving end; and the rate of the receiving end link load is the total rate of receiving data packets by the receiving end port.
In some embodiments of the present invention, the adding the information of the network load and the congestion flag information of the data packet to an ACK packet fed back to a sending end includes:
based on the statistical network load, adding the information of the network load to an ACK message fed back to a sending end through a kernel protocol stack;
and based on the congestion marking of the data packet, adding the marking bit of the detected congestion marking to the ACK message fed back to the sending end.
A second aspect of the present invention provides a method for controlling congestion in a data center based on network load, the method comprising the steps of:
sending a data packet in a data center network to a switch through a sending window, receiving a return ACK message from a receiving end, and determining whether the return ACK message carries a congestion mark;
under the condition that the received returned ACK message carries the congestion mark, adjusting the size of a sending window to the size of the load of a congestion link according to the congestion mark information and the load network information in the returned ACK message, and relieving congestion;
the size of the congestion link load is the total amount of the data packets received by the corresponding receiving end.
In some embodiments of the invention, the method further comprises: after the data packet sent by the sending end reaches the switch, the switch judges whether the queue length of the data packet exceeds a threshold value;
and if the queue length of the data packet exceeds a threshold value, the switch carries out congestion marking on the data packet and sends the data packet marked with the congestion marking to a receiving end.
In some embodiments of the invention, the method further comprises: when the returned ACK message received by the sending end does not carry congestion information, the sending end increases a window to use idle bandwidth;
the size of the sending window is the data packet amount which is sent by the sending end but does not receive the ACK message.
Another aspect of the present invention provides an intra-data center congestion control system based on receiving-end network load measurement, the system includes a processor, a memory, and a computer program stored in the memory and running on the processor, and the processor executes the computer program to implement the method for controlling congestion in a data center according to the first aspect.
Another aspect of the present invention provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements a method of congestion control in a data center as described above.
The invention provides a method and a system for controlling congestion in a data center based on network load, which can judge whether the data center network has congestion by detecting whether a received data packet has a congestion mark through a receiving end, and count the total amount of the data packet received by the receiving end according to the detected congestion mark, wherein the counted total amount of the data packet is used as the network load of the data center network; the network load information and the congestion mark information can be added into the ACK message, and the ACK message is sent to the sending end, so that the sending end adjusts the size of the sending window to the total amount of the data packets received by the corresponding receiving end based on the congestion mark and the network load information in the received ACK message, the queue length of the switch port is reduced more quickly and effectively, and congestion is relieved.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and drawings.
It will be appreciated by those skilled in the art that the objects and advantages that can be achieved with the present invention are not limited to the specific details set forth above, and that these and other objects that can be achieved with the present invention will be more clearly understood from the detailed description that follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principles of the invention. In the drawings:
fig. 1 is a flowchart illustrating a DCQCN control protocol.
FIG. 2 is a flow diagram of the ExpressPass control protocol.
Fig. 3 is a flow chart of the Homa control protocol.
Fig. 4 is an overall schematic view of an embodiment of the present invention.
Fig. 5 is a schematic diagram of a congestion control method in a data center based on network load performed by a receiving end according to an embodiment of the present invention.
Fig. 6 is a diagram of a data center network architecture.
Fig. 7 is a schematic diagram illustrating a method for controlling congestion in a data center based on network load, performed by a sending end according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the following embodiments and accompanying drawings. The exemplary embodiments and descriptions of the present invention are provided to explain the present invention, but not to limit the present invention.
It should be noted that, in order to avoid obscuring the present invention with unnecessary details, only the structures and/or processing steps closely related to the scheme according to the present invention are shown in the drawings, and other details not so relevant to the present invention are omitted.
It should be emphasized that the term "comprises/comprising" when used herein, is taken to specify the presence of stated features, elements, steps or components, but does not preclude the presence or addition of one or more other features, elements, steps or components.
It is also noted herein that the term "coupled," if not specifically stated, may refer herein to not only a direct connection, but also an indirect connection in which an intermediate is present.
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same reference numerals denote the same or similar parts, or the same or similar steps.
In recent years, some more efficient congestion control protocols have been proposed, including a responsive congestion control protocol, which is an algorithm for adjusting a rate according to a congestion signal by a transmitting end, and a representative responsive congestion control protocol is as follows:
as shown in fig. 1, which is a schematic flow diagram of a DCQCN control protocol, the DCQCN uses an ECN signal at a switch, when the switch finds that a length of a corresponding port queue exceeds a certain threshold, an ECN mark is added to a header of a data Packet, and after a receiving end receives the data Packet with the ECN mark, the receiving end sends a Congestion Notification Packet (CNP) to a corresponding sending end. After receiving the CNP packet, the sending end adjusts the sending rate to reduce the queue length of the switch port.
Timely takes the RTT signal as a congestion signal. Compared with the internet, the data center network has a more uniform topological structure, so that the fluctuation of RTT of each data packet is smaller, the congestion degree in the network can be obtained by measuring the difference value of RTT and reference RTT at the end side, and then the sending rate is modified correspondingly.
By using INT technology, when a packet passes through each hop switch, information such as port queue and port rate of the switch is added to the header of the packet. When the data packet is transmitted back to the sending end, the sending end calculates the link utilization rate according to the link information of the relevant link carried by the data packet and adjusts the sending rate according to the utilization rate.
However, the responsive congestion control protocol has the following problems:
(1) Existing responsive congestion control protocols rely on congestion signals to respond to congestion. However, only after the queues are accumulated to a certain degree, the congestion signal can be generated, and the response speed of the existing congestion signal to congestion is too slow;
(2) In order to avoid excessive increase, the existing responsive congestion control algorithm usually adopts multiple rounds of additive increase, that is, after a flow is ended, the rest flows need to be converged by multiple rounds to occupy the idle bandwidth again, so that the convergence speed is reduced;
(3) Some responsive congestion control algorithms, such as HPCC, utilize in-network information such as INT to converge the rate with more suitable parameters, but this brings great difficulty to algorithm deployment, because the existing data center has limited switch functions, and most of them cannot support complex measurement functions.
Furthermore, in a cloud data center scenario, the INT measurement function cannot be used.
In addition to the above-mentioned responsive congestion control protocols, there have been some proactive congestion control protocols proposed in recent years. The proactive congestion control protocol controls transmission of data packets by actively sending a signaling (credit) packet to a sending end at a receiving end to reduce occurrence of network congestion, and a representative proactive congestion control protocol is as follows:
as shown in fig. 2, which is a schematic flow diagram of an ExpressPass control protocol, a sending end of an ExpressPass sends a data packet to a switch within a first RTT, and then a receiving end continuously sends a signaling packet to the sending end to control sending of the data packet, and the receiving end adjusts a sending rate of the signaling packet according to a packet loss condition of the signaling packet at the switch.
As shown in fig. 3, which is a flowchart of the Homa control protocol, a sending end of the Homa sends an unscheduled (unscheduled) packet within the first RTT time, so as to avoid the waste of bandwidth. And then, after receiving the unscheduled data packet, the receiving end sends a signaling packet to the sending end. After the sending end receives the signaling packet, it sends a scheduled data packet to the receiving end. In addition, homa also downgrades flow completion time at the switch using a multi-priority queuing scheme.
However, there are also some problems with proactive congestion control protocols, as follows:
(1) Some proactive congestion control algorithms require the transmission of credit signaling packets with the time of the first RTT, which wastes the bandwidth of the first RTT. As the bandwidth of the data center link is larger and larger, more and more flows can be sent within the time of one RTT, and the completion time of the flows is greatly reduced by adopting the algorithm;
(2) Some proactive congestion control algorithms send packets directly within the first RTT, creating the Incast problem, accumulating a large number of packets at the switch. To solve this problem, some algorithms use multi-priority queues at the switch to forward higher priority packets preferentially, but this causes two problems. On one hand, priority queues of switches of the cloud data center are generally required to distinguish data packets of different services, and one switch generally has only 8 priority queues; on the other hand, the use of the priority requires that the sending end knows the size of the stream in advance, and the information cannot be acquired in most application scenes;
(3) Some active congestion control algorithms can only handle congestion when the network topology convergence ratio is 1, and when the network topology convergence ratio is greater than 1, the performance of the algorithm is affected. This is because the proactive congestion control algorithm detects congestion at the receiving end and cannot detect congestion occurring within the network.
In order to solve the defects that the response of the existing response type congestion control algorithm is not timely and the convergence speed is slow and the active type congestion control algorithm cannot fully utilize the bandwidth and depends on the support of an underlying network, the invention provides a data center congestion control method and a system based on network load by combining the characteristics of the response type congestion control algorithm and the active type congestion control algorithm, whether the data center network is congested or not can be judged by detecting whether the received data packets have congestion marks through a receiving end, the total amount of the data packets received by the receiving end is counted according to the detected congestion marks, and the counted total amount of the data packets is used as the network load of the data center network; the network load information and the congestion mark information can be added into the ACK message, and the ACK message is sent to the sending end, so that the sending end adjusts the size of the sending window to the total amount of the data packets received by the corresponding receiving end based on the congestion mark and the network load information in the received ACK message, the queue length of the switch port is reduced more quickly and effectively, and congestion is relieved.
Fig. 4 is a view showing an overall scheme of the present invention, which controls the total amount of data packets in the network by means of window control at the transmitting end; at the switch, ECN marking is adopted, when the switch finds that the queue length exceeds a threshold Q threshold Then, ECN marks are added to the subsequent arriving data packets, and the information of congestion in the network can be obtained through the marking mode; and measuring the network load conditions including the load of the bottleneck link and the load of the receiving end link at the receiving end, and then adding the information into the ACK message by the receiving end and returning the ACK message to the transmitting end. The window control mode is to limit the number of packets in the network (similar to the transmission window in TCP) by maintaining a transmission window at the transmitting end, which means that the transmitting end has transmitted a packet but has not been ACK. The sending end limits the total amount of data packets in the network by changing the size of the window, thereby realizing congestion control.
Fig. 5 is a schematic diagram illustrating a method for controlling congestion in a data center based on network load performed by a receiving end according to an embodiment of the present invention, where the method for controlling congestion in a data center based on network load includes:
step S110, receiving a data packet from a switch, and detecting whether the data packet carries a congestion tag; and if the data packet is marked with the congestion mark, counting the total amount of the data packet received by the receiving end within the preset time as the network load.
In an embodiment of the present invention, an ECN marking scheme is deployed at a switch, that is, a threshold is set at the switch, when the switch detects that a queue length of a data packet flowing through the switch exceeds the threshold, ECN marking is performed on the data packet, where the ECN mark is a DSCP bit that modifies a packet header, and the switch sends all the data packets to a receiving end. The present invention is not limited to setting the threshold.
In an embodiment of the present invention, a receiving end receives all data packets from a switch, and detects whether headers of all the received data packets carry ECN marks, and if it is detected that the data packets carry ECN marks, it indicates that a link in a data center network is congested at this time. The receiving end needs to count the total amount of data packets received by the receiving end within one round trip time as network load, and the network load in the data center network includes bottleneck link load and receiving end link load. The bottleneck link load is the total amount of data packets flowing through the bottleneck link within a round-trip time, and the receiving end link load is the total amount of data packets received by the receiving end port within the round-trip time.
In some embodiments of the present invention, for different data center network architectures, the bottleneck link may be a link between switches, or may be a link between an edge switch and a receiving end. For a common topology in a data center, as shown in fig. 6, the data center topology convergence ratio is calculated as the ratio of uplink bandwidths between different layers, for example, the total bandwidth from an edge switch to an aggregation switch divided by the total bandwidth from the aggregation switch to a core switch. The uplink and downlink bandwidths of the same layer are generally equal. For an asymmetric topology architecture, the topology convergence ratio is greater than 1, which indicates that the total bandwidth of the links from the core to the aggregation switch is smaller than the total bandwidth aggregated to the edge switch, and further indicates that congestion may occur in the links from the core to the aggregation switch, i.e., inside the network topology, so the statistical bottleneck link load is the total amount of packets flowing through the flows received by the bottleneck link at the receiving end within one round trip time. Similarly, for a symmetrical topology architecture, i.e. a topology convergence ratio equal to 1, network congestion can only occur in the last hop, i.e. congestion can occur in the link between the edge switch and the receiving end, so the statistical bottleneck link load is the total amount of data packets flowing through the bottleneck link within a round-trip time and received by the receiving end.
Step S120, adding the network load information and the congestion flag information of the data packet to an ACK packet fed back to the sending end, so that the sending end can adjust the size of the sending window to the total amount of the data packet received by the corresponding receiving end based on the congestion flag and the network load information in the received ACK packet, so as to alleviate congestion.
In this step, based on the ECN flag detected in step S110 and the counted network load, the receiving end adds the counted load information of the bottleneck link, the load information of the receiving end link, and the ECN flag information carried in the data packet to the ACK packet fed back to the sending end.
In some embodiments of the present invention, if each returned ACK packet carries the network load information counted by the receiving end, it may respond to congestion more quickly and converge the sending window to the fairness window, where the fairness window is a sending window that can fairly allocate bandwidth of the same link for all flows flowing through the same link. Because the time for feeding back the ACK message in the data center is different from the time for counting the load, the error between the total amount of the data packet which is directly fed back and counted and the real load is caused, the invention selects to convert the receiving rate into the total amount of the received data packet by counting the receiving rate and adopting the product of the rate and the time, and satisfies the following conditions:
B=V*T;
wherein, B is the total amount of data packets received in a round-trip time, V is the receiving rate, and T is a round-trip time; the receiving end can calculate the bottleneck link load and the receiving end link load according to the formula. For the bottleneck link load, the receiving rate is the rate of receiving the stream by the receiving end; for the receiver link load, the rate is the total rate of receiver port reception.
Based on the method for converting the receiving rate into the total amount of the received data packets by counting the receiving rate and adopting the product of the receiving rate and the time, the congestion can be responded more quickly, the convergence speed is increased, the convergence time is reduced, and the problems that the response speed of a response type congestion control protocol is too slow and the convergence time is too long are solved.
In some embodiments of the present invention, when the receiving end generates an ACK packet fed back to the sending end, the network load information counted by the receiving end may be added to the header and the load of the ACK packet through the kernel protocol stack. In addition, the receiving end adds the mark bit of the detected ECN mark into the ACK message, and the receiving end sends the ACK message added with the network load information and the congestion information to the sending end, so that the sending end adjusts the size of a sending window to the total amount of the data packets received by the receiving end based on the received network load information, and the congestion in the network is relieved.
As can be seen from the above description, in the congestion control method in a data center based on a network load provided in the embodiment of the present application, whether congestion occurs in the data center network is determined by detecting whether a received data packet has a congestion flag through a receiving end, and according to the detected congestion flag, the total amount of the data packets received by the receiving end is counted, and the counted total amount of the data packets is used as the network load of the data center network; the network load information and the congestion mark information can be added into the ACK message, and the ACK message is sent to the sending end, so that the sending end adjusts the size of the sending window to the total amount of the data packets received by the corresponding receiving end based on the congestion mark and the network load information in the received ACK message, the queue length of the switch port is reduced more quickly and effectively, and congestion in a data center network is relieved.
Further, in an embodiment of the present application, a method for controlling congestion in a data center based on network load performed by a sending end is shown in fig. 7, which is a schematic diagram of the method for controlling congestion in the data center based on network load performed by the sending end in an embodiment of the present invention, and the method for controlling congestion in the data center based on network load further includes the following steps:
step S130, sending a data packet in the data center network to the switch through the sending window, receiving a return ACK message from the receiving end, and determining whether the received return ACK message carries a congestion mark.
In an embodiment of the present invention, a sending end in a data center network sends a data packet to a switch through a sending window, and at this time, the size of the sending window is the amount of the data packet that has been sent by the sending end but has not received an ACK message.
In an embodiment of the present invention, a sending end receives a return ACK message from a receiving end, and detects whether the received ACK message carries an ECN flag, if the received ACK message does not carry the ECN flag, then no network congestion occurs in a data center network at this time, a data stream does not pass through a congested link, the sending end reduces window convergence time by multiplicatively increasing a sending window, so as to use idle bandwidth, and the multiplicatively increasing a sending window satisfies the following requirements:
Figure BDA0003942467300000101
wherein, W i To the size of the transmission window, gamma denotes a calculation parameter,
Figure BDA0003942467300000102
indicating the receive port load, Q threshold Indicating a threshold value, W AI The preset additive growth factor is shown.
For the calculation parameter γ:
γ=γ*(1-g)+γ max *g;
wherein g represents a predetermined moving average parameter, γ max Indicated are preset parameters, typically set to 1.
For receive port loading
Figure BDA0003942467300000103
Satisfies the following conditions:
Figure BDA0003942467300000104
wherein the content of the first and second substances,
Figure BDA0003942467300000105
the receiver link load is indicated and the lineRate indicates the receiver link bandwidth.
Based on the multiplicative growth mode, on one hand, the convergence time of the sending window is greatly shortened, and the bandwidth waste is reduced; on the other hand, the dynamically adjusted growth parameters are used, so that the method can adapt to different network topology environments, and the problem that the existing active congestion control protocol cannot solve the congestion with the convergence ratio larger than 1 in the topology is solved.
Step S140, under the condition that the received returned ACK message carries the congestion mark, the size of the sending window is adjusted to the size of the congestion link load according to the congestion mark information and the load network information in the returned ACK message, and the congestion is relieved.
In an embodiment of the present invention, if the received return ACK packet carries the ECN flag, it indicates that the data flow passes through the congested link, and the sending end adjusts the size of the sending window to the load size of the congested link, that is, the total amount of data packets received by the receiving end within one round trip time, based on the network load information in the received ACK packet.
It can be understood that, within a round-trip time, the total amount of packets received by the receiving end is equal to the total amount of packets allowed to flow through the bottleneck link. Because the data packets exceeding the bandwidth of the bottleneck link are accumulated in the queue and are not sent, the sending end sets the size of the sending window of the sending end to be the total amount of the data packets received by the corresponding receiving end, namely the amount of the data packets sent by the flow allowed by the bottleneck link, so that the queue accumulated in the link is eliminated, therefore, the total sending window size can also be the total bandwidth-delay product of the bottleneck link, and the total sending window size meets the following requirements:
BDP=Bandwidth*RTT;
the BDP is a total Bandwidth-delay product of the bottleneck link, the Bandwidth is a Bandwidth of the bottleneck link, and the RTT is a round trip time.
In an embodiment of the present invention, the sending end adjusts the size of the sending window based on the network load information in the received ACK packet, and the adjustment mode also satisfies:
Figure BDA0003942467300000111
and adjusting the size of the sending window according to the bottleneck link load and the receiving end link load counted in the ACK message and combining the multiplicative growth parameter, and when the sending window converges to a fair window, namely when the flow sent by the sending window can both fairly distribute the bandwidth of the link, the congestion in the data center network is relieved.
As can be seen from the above description, according to the congestion control method in a data center based on network load provided in the embodiment of the present application, on one hand, the convergence time of a flow can be greatly shortened and bandwidth waste can be reduced by multiplicatively increasing a window, and on the other hand, when congestion scales are different, different additive growth strategies can be adopted by using a dynamically adjusted growth parameter, so that congestion can be found in an additive growth stage more quickly under the condition of an asymmetric topology, a congestion control algorithm is prevented from entering a subsequent multiplicative growth stage, excessive rate increase is avoided, different network topology environments can be adapted, and the problem that congestion with a convergence ratio greater than 1 in a topology cannot be solved by an existing active congestion control protocol is avoided.
In summary, the congestion control method in a data center based on network load according to the present application can determine whether congestion occurs in the data center network by detecting whether a received data packet has a congestion flag through a receiving end, and according to the detected congestion flag, count the total amount of the data packets received by the receiving end, and use the counted total amount of the data packets as the network load of the data center network; the network load information and the congestion marking information can be added into the ACK message, and the ACK message is sent to the sending end; the method can receive the ACK message from the receiving end at the sending end, and adjust the size of the sending window to the total amount of the data packets received by the receiving end according to the load information and the congestion marking information in the ACK message in combination with the multiplicative growth parameter, so that the length of the port queue of the switch can be reduced more quickly and effectively, and the congestion in the data center network can be relieved.
In accordance with the above method, the present invention also provides a congestion control system in a data center based on network load, which comprises a computer device including a processor and a memory, wherein the memory stores computer instructions, the processor is configured to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the system realizes the steps of the method.
An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps of the foregoing edge computing server deployment method. The computer readable storage medium may be a tangible storage medium such as Random Access Memory (RAM), 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.
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 may be implemented as hardware, software, or combinations of both. Whether this is done in hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may 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 invention. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, plug-in, function card, or the like. When implemented in software, the elements of the invention are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine-readable medium or transmitted by a data signal carried in a carrier wave over a transmission medium or a communication link.
It is to be understood that the invention is not limited to the specific arrangements and instrumentality described above and shown in the drawings. A detailed description of known methods is omitted herein for the sake of brevity. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present invention are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications and additions or change the order between the steps after comprehending the spirit of the present invention.
Features that are described and/or illustrated with respect to one embodiment may be used in the same way or in a similar way in one or more other embodiments and/or in combination with or instead of the features of the other embodiments in the present invention.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made to the embodiment of the present invention by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method for controlling congestion in a data center based on network load, comprising:
receiving a data packet from a switch, and detecting whether the data packet carries a congestion tag or not; if the data packet is marked with the congestion mark, counting the total amount of the data packet received by the receiving end within the preset time as the network load;
and adding the network load information and the congestion marking information of the data packet into an ACK message fed back to a sending end, so that the sending end can adjust the size of a sending window to the total amount of the data packet received by a corresponding receiving end based on the congestion marking and the network load information in the received ACK message, and the congestion is relieved.
2. The method of congestion control in a data center of claim 1, wherein the network load comprises a bottleneck link load and a receiver link load;
the load of the receiving end link is the total amount of data packets received by a receiving end port within preset time;
the load of the bottleneck link is the total amount of data packets of the flow which flow through the bottleneck link within a preset time and are received at a receiving end;
the bottleneck link is a link between switches or a link between an edge switch and a receiving end.
3. The method of congestion control in a data center according to claim 2,
when the bottleneck link is a link between the switches, the load of the bottleneck link is the total amount of data packets of the flow which flows through the bottleneck link within the preset time and is received by a receiving end;
when the bottleneck link is a link between the edge switch and the receiving end, the load of the bottleneck link is the total amount of data packets of the flow which flows through the bottleneck link and is received by the receiving end within a preset time;
wherein, the preset time is a round trip time of the data packet.
4. The method according to claim 3, wherein the adding the information of the network load and the congestion flag information of the data packet to an ACK packet fed back to a sending end so that the sending end can adjust the size of a sending window to the total amount of the data packet received by a corresponding receiving end based on the congestion flag and the network load information in the received ACK packet to alleviate the congestion comprises:
converting the receiving rate into the total amount of received data packets by counting the receiving rate and adopting the product of the rate and the time, so that the sending end adjusts the size of a sending window into the total amount of the data packets, and the congestion is relieved;
wherein, the rate of the bottleneck link load is the rate of receiving flow by a receiving end; the rate of the receiving end link load is the total rate of receiving data packets by the receiving end port.
5. The method according to claim 1, wherein the adding the information about the network load and the congestion flag information about the data packet to an ACK packet fed back to a sending end includes:
based on the statistical network load, adding the information of the network load to an ACK message fed back to a sending end through a kernel protocol stack;
and based on the congestion marking of the data packet, adding the marking bit of the detected congestion marking to the ACK message fed back to the sending end.
6. A method for controlling congestion in a data center based on network load, comprising:
sending a data packet in a data center network to a switch through a sending window, receiving a return ACK message from a receiving end, and determining whether the return ACK message carries a congestion mark;
under the condition that the received returned ACK message carries the congestion mark, adjusting the size of a sending window to the size of the congestion link load according to the congestion mark information and the load network information in the returned ACK message, and relieving congestion;
the size of the congestion link load is the total amount of the data packets received by the corresponding receiving end.
7. The method of congestion control in a data center of claim 6, further comprising:
after the data packet sent by the sending end reaches the switch, the switch judges whether the queue length of the data packet exceeds a threshold value;
and if the queue length of the data packet exceeds a threshold value, the switch marks the congestion of the data packet and sends the data packet marked with the congestion mark to a receiving end.
8. The method of congestion control in a data center of claim 6, further comprising:
when the returned ACK message received by the sending end does not carry congestion information, the sending end increases a window to use idle bandwidth;
the size of the sending window is the data packet amount which is sent by the sending end but does not receive the ACK message.
9. A network load based intra-data center congestion control system comprising a processor and a memory, wherein the memory has stored therein computer instructions for executing the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the system implements the intra-data center congestion control method according to any one of claims 1 to 5, or implements the intra-data center congestion control method according to claims 6 to 8.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements a method for congestion control in a data center according to any one of claims 1 to 5, or implements a method for congestion control in a data center according to claims 6 to 8.
CN202211422371.XA 2022-11-14 2022-11-14 Network load-based congestion control method and system in data center Pending CN115883463A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211422371.XA CN115883463A (en) 2022-11-14 2022-11-14 Network load-based congestion control method and system in data center

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211422371.XA CN115883463A (en) 2022-11-14 2022-11-14 Network load-based congestion control method and system in data center

Publications (1)

Publication Number Publication Date
CN115883463A true CN115883463A (en) 2023-03-31

Family

ID=85759848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211422371.XA Pending CN115883463A (en) 2022-11-14 2022-11-14 Network load-based congestion control method and system in data center

Country Status (1)

Country Link
CN (1) CN115883463A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544567A (en) * 2024-01-09 2024-02-09 南京邮电大学 Memory transfer integrated RDMA data center congestion control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544567A (en) * 2024-01-09 2024-02-09 南京邮电大学 Memory transfer integrated RDMA data center congestion control method
CN117544567B (en) * 2024-01-09 2024-03-19 南京邮电大学 Memory transfer integrated RDMA data center congestion control method

Similar Documents

Publication Publication Date Title
US11876711B2 (en) Packet transmission system and method
US6894974B1 (en) Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US7047312B1 (en) TCP rate control with adaptive thresholds
US6625118B1 (en) Receiver based congestion control
US6535482B1 (en) Congestion notification from router
US6622172B1 (en) Dynamically delayed acknowledgement transmission system
US7974195B2 (en) Method and apparatus for network congestion control
US8787378B2 (en) Systems and methods to improve performance of TCP over large bandwidth-delay-product networks
EP1432207A2 (en) Adaptive delayed ACK switching for TCP applications
CN110808884B (en) Network congestion control method
CN107360101B (en) TCP congestion control algorithm based on adaptive parameters
CN104618258B (en) A kind of control method of message transmission rate
EP2219343A1 (en) Modification of explicit congestion notification (ECN) by skipping congestion experienced (CE) events
CN106878192B (en) Data scheduling method of self-adaptive MPTCP
CN104581422A (en) Method and device for processing network data transmission
CN115883463A (en) Network load-based congestion control method and system in data center
WO2010092323A2 (en) Data transmission
US10063489B2 (en) Buffer bloat control
JP3853784B2 (en) Data communication management method
Szilágyi et al. Efficient LTE PDCP buffer management
CN114760252B (en) Data center network congestion control method and system
Raniwala et al. Evaluation of a stateful transport protocol for multi-channel wireless mesh networks
CN114884884A (en) Congestion control method and device
CN114760252A (en) Data center network congestion control method and system
Hindawi et al. A proposed method for TCP congestion control using AIMD approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination