CN112491736A - Congestion control method and device, electronic equipment and storage medium - Google Patents

Congestion control method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112491736A
CN112491736A CN202011267449.6A CN202011267449A CN112491736A CN 112491736 A CN112491736 A CN 112491736A CN 202011267449 A CN202011267449 A CN 202011267449A CN 112491736 A CN112491736 A CN 112491736A
Authority
CN
China
Prior art keywords
controlled
queue
ecn
pfc
egress
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.)
Granted
Application number
CN202011267449.6A
Other languages
Chinese (zh)
Other versions
CN112491736B (en
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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks Co Ltd
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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN202011267449.6A priority Critical patent/CN112491736B/en
Publication of CN112491736A publication Critical patent/CN112491736A/en
Application granted granted Critical
Publication of CN112491736B publication Critical patent/CN112491736B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a congestion control method and device, electronic equipment and a storage medium. The method and the device are used for solving the problem of low congestion control efficiency caused by unreasonable ECN threshold setting in the prior art. The congestion control method comprises the following steps: acquiring configuration information and network state information of an exit queue to be controlled of a current switch in a current turn; if the network state information is determined not to meet the preset condition, determining an ECN threshold adjustment factor of the to-be-controlled exit queue according to the configuration information and the network state information; determining the ECN threshold of the exit queue to be controlled in the next round according to the ECN threshold of the exit queue to be controlled in the current round included in the ECN threshold adjustment factor and the configuration information; and issuing the ECN threshold of the next round to the current switch so that the current switch performs congestion control on the exit queue to be controlled in the next round according to the ECN threshold of the next round.

Description

Congestion control method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of computer networks and communication technologies, and in particular, to a congestion control method and apparatus, an electronic device, and a storage medium.
Background
In the current data center, in order to realize low delay and high throughput of data transmission, an RDMA (Remote Direct Memory Access) network is started to be used in a large scale, and the RDMA network with zero packet loss needs to be realized because the efficiency of the RDMA network is greatly reduced by the packet loss rate. In the prior art, a DCQCN (Data quantum Congestion notification) technology and a PFC (Priority-based Flow Control) technology are combined to solve a Data packet loss problem. The DCQCN technology senses Congestion conditions at a switch by using ECN (Explicit Congestion Notification) and when the switch detects Congestion, ECN marks are carried out on data packets, when a receiving end receives the data packets, the ECN marks are checked, if the receiving end receives the data packets with the ECN marks, CNP (Congestion Notification Packet) is sent to a sending end to inform the sending end of controlling flow rate, and the flow rate is reduced when the sending end receives the CNP, so that Congestion control is realized. The ECN technique specifically relies on an ECN threshold, which includes an upper threshold and a lower threshold, where two thresholds of the ECN threshold define a marking probability, and when the queue length of the switch is lower than the lower threshold, the ECN bit is not marked, when the queue length exceeds the upper threshold, all packets transmitted from the queue are ECN marked with a maximum marking probability, and when the queue length is between the upper threshold and the lower threshold, the packets are ECN marked with a probability that increases linearly with the queue length. The PFC technology specifically comprises the following steps: when the switch monitors that the queue length exceeds the PFC threshold, the PAUSE frame is sent to the upstream equipment, so that the upstream equipment stops sending the data packet, and therefore, the buffer overflow of a buffer area of the switch is avoided, and the data packet loss is avoided.
At present, a static empirical value is generally used when setting the ECN threshold, and if the ECN threshold is not reasonably set, when the ECN threshold is matched with the PFC threshold, the PFC may be over-triggered, so that the overall delay and throughput of the network are affected. In addition, since the flows of different services have different sizes, the transmission targets to be achieved are also different, generally, a small flow (with a few single bytes) requires low delay, a large flow (with a large number of single bytes) requires high throughput, and the ECN threshold uses a static empirical value, and cannot provide services with different requirements for different services. For a typical incust (many-to-one) scenario in a data center, a plurality of ingress queues correspond to one egress queue, and when the number of ingress queues is large, a low threshold is required to ensure low latency, otherwise, a high threshold is required to improve throughput.
Therefore, how to set the ECN threshold to improve the congestion control efficiency is one of the technical problems to be solved in the prior art.
Disclosure of Invention
In order to solve the problem of low congestion control efficiency caused by unreasonable ECN threshold setting in the prior art, embodiments of the present invention provide a congestion control method and apparatus, an electronic device, and a storage medium.
In a first aspect, an embodiment of the present invention provides a congestion control method, which is applied to a congestion control device corresponding to at least one switch, where each switch includes at least one egress queue, and each egress queue corresponds to at least two ingress queues, where the method includes:
acquiring configuration information and network state information of an exit queue to be controlled of a current switch in a current turn;
if the network state information is determined not to meet the preset condition, determining a display congestion notification ECN threshold adjustment factor of the to-be-controlled exit queue according to the configuration information and the network state information;
determining the ECN threshold of the exit queue to be controlled in the next round according to the ECN threshold of the exit queue to be controlled in the current round included in the ECN threshold adjustment factor and the configuration information;
and issuing the ECN threshold of the to-be-controlled egress queue in the next round to the current switch, so that the current switch performs congestion control on the to-be-controlled egress queue in the next round according to the ECN threshold of the to-be-controlled egress queue in the next round.
The congestion control method provided by the embodiment of the invention is applied to congestion control equipment corresponding to at least one switch, each switch comprises at least one outlet queue, each outlet queue corresponds to at least two inlet queues, the congestion control equipment acquires configuration information and network state information of an outlet queue to be controlled of the current switch in the current round, if the network state information is determined not to meet the preset condition, an ECN threshold adjustment factor of the outlet queue to be controlled is determined according to the configuration information and the network state information of the outlet queue to be controlled in the current round, an ECN threshold of the outlet queue to be controlled in the next round is determined according to the ECN threshold adjustment factor and the ECN threshold of the outlet queue to be controlled in the current round contained in the configuration information, and the ECN of the outlet queue to be controlled in the next round is issued to the current switch, compared with the prior art, the congestion control method provided by the embodiment of the invention acquires the configuration information and the network state information of the to-be-controlled egress queue of the switch according to the turn, determines the adjustment degree of the ECN threshold of the to-be-controlled egress queue together according to the information of the two layers when the ECN threshold adjustment condition is met, and performs corresponding adjustment according to the ECN threshold of the to-be-controlled egress queue in the current turn to serve as the ECN threshold of the to-be-controlled egress queue in the next turn, namely, realizes dynamic configuration of different ECN thresholds according to the related information of the to-be-controlled egress queues of different switches in an iterative manner, realizes dynamic adjustment of the ECN thresholds, and improves the congestion control efficiency, in addition, the invention only needs to collect the relevant data of the exit queue to be controlled of the switch on a single switch, and is irrelevant to other equipment, thereby reducing the difficulty of data collection and ensuring that the ECN threshold dynamic adjustment method provided by the invention has stronger adaptability and expansion capability.
In one embodiment, if the network state information includes the number of PFC triggers for flow control based on priority, throughput, and time delay of the egress queue to be controlled, where the throughput is an average rate of packet output of the egress queue to be controlled, and the time delay is an average forwarding time delay of the egress queue to be controlled, the preset condition is that an expected time delay is greater than or equal to the time delay, an expected throughput is less than or equal to the throughput, and an expected number of PFC triggers is greater than or equal to the number of PFC triggers of the egress queue to be controlled.
In the embodiment of the invention, whether the ECN threshold of the egress queue to be controlled needs to be adjusted is determined according to the time delay and the throughput of the current round, the PFC triggering times of the egress queue to be controlled, the expected time delay, the expected throughput and the expected PFC triggering times, so that the actual requirements are met.
In one embodiment, if the network state information further includes ECN triggering times of the egress queue to be controlled and a minimum forwarding delay of the egress queue to be controlled, and the configuration information further includes a PFC threshold of the egress queue to be controlled, a PFC threshold of each ingress queue of the egress queue to be controlled, and an ECN maximum flag probability of the egress queue to be controlled, determining an ECN threshold adjustment factor of the egress queue to be controlled according to the configuration information and the network state information, specifically including:
determining a delay error of the to-be-controlled outlet queue according to the delay, the expected delay, the lowest forwarding delay of the to-be-controlled outlet queue, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue;
determining a throughput error of the to-be-controlled outlet queue according to the throughput, the expected throughput, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue;
determining a PFC triggering time error of the egress queue to be controlled according to the PFC triggering time of the egress queue to be controlled, the expected PFC triggering time and the ECN maximum marking probability of the egress queue to be controlled;
determining an ECN threshold adjustment error of the to-be-controlled outlet queue according to the delay error of the to-be-controlled outlet queue, the throughput error of the to-be-controlled outlet queue and the PFC triggering frequency error of the to-be-controlled outlet queue;
and determining the ECN threshold adjusting factor of the to-be-controlled outlet queue according to the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold adjusting error of the to-be-controlled outlet queue.
In the embodiment of the present invention, it is considered that the ECN maximum flag probability of the egress queue to be controlled affects the ECN threshold, therefore, when determining the ECN threshold adjustment factor (that is, the ECN threshold adjustment degree) of the egress queue to be controlled, the ECN maximum flag probability is considered, in the actual operation process of the network, PFC triggering may suspend a data stream, which may reduce queue throughput and increase delay, and should be avoided as much as possible, in order to avoid triggering the PFC as much as possible, the ECN threshold of the egress queue to be controlled is set by the PFC threshold of the ingress queue of the egress queue to be controlled, and therefore, when determining the ECN threshold adjustment degree, the PFC threshold of the ingress queue of the egress queue to be controlled is also considered, according to the delay of the current round, the expected delay, the lowest forwarding delay of the egress queue to be controlled, and the PFC thresholds of each ingress queue of the egress queue to be controlled, Determining the delay error of the to-be-controlled outlet queue together with the ECN threshold of the to-be-controlled outlet queue, determining the throughput error of the to-be-controlled outlet queue according to the throughput and the expected throughput of the current round, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue, determining the PFC triggering time error of the to-be-controlled outlet queue according to the PFC triggering time, the expected PFC triggering time and the ECN maximum marking probability of the to-be-controlled outlet queue of the current round, and further determining the ECN threshold adjustment error of the to-be-controlled outlet queue according to the delay error, the throughput error and the PFC triggering time error of the to-be-controlled outlet queue, furthermore, the ECN threshold adjustment factor of the to-be-controlled egress queue is determined according to the ECN maximum marking probability of the to-be-controlled egress queue and the ECN threshold adjustment error of the to-be-controlled egress queue, the ECN threshold adjustment factor of the to-be-controlled egress queue is determined according to the above manner, the ECN threshold adjustment degree is determined by considering the time delay of the current round and the deviation of the expected time delay, the throughput of the current round and the deviation of the expected throughput, and the PFC trigger times of the to-be-controlled egress queue of the current round and the deviation of the expected PFC trigger times, so that the ECN threshold is adjusted more reasonably and pertinently, and the congestion control efficiency can be improved.
In one embodiment, determining the ECN threshold of the egress queue to be controlled in the next round according to the ECN threshold of the egress queue to be controlled in the current round included in the configuration information and the ECN threshold of the egress queue to be controlled in the current round specifically includes:
calculating the ECN threshold of the egress queue to be controlled in the next round by the following formula:
Ki+1=(1-f)Ki
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjusting factor of the exit queue to be controlled.
In one embodiment, the ECN threshold adjustment factor of the egress queue to be controlled is calculated by the following formula:
f=Pmax·h
wherein f represents an ECN threshold adjustment factor of the egress queue to be controlled;
Pmaxrepresenting the ECN maximum marking probability of the egress queue to be controlled;
h represents the ECN threshold adjustment error of the egress queue to be controlled, and h is alpha.h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset),h1(timelog,timelogpreset) Representing the time delay error of the outlet queue to be controlled, representing the time delay by the time delaypresetRepresenting the expected time delay, alpha representing the weight of the time delay error of the to-be-controlled egress queue, h2(throughtput,throughtputpreset) Indicating the outlet to be controlledThroughput error of the queue, throughput representing the throughput, throughputpresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Represents the error of PFC trigger times of the egress queue to be controlled, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected PFC trigger times, δ represents the weight of PFC trigger time error of the egress queue to be controlled, α + β + δ is 1, wherein:
Figure BDA0002776510870000061
Figure BDA0002776510870000062
Figure BDA0002776510870000063
low represents the lower limit value of the ECN threshold adjustment error of the to-be-controlled exit queue, up represents the upper limit value of the ECN threshold adjustment error of the to-be-controlled exit queue,
Figure BDA0002776510870000064
Figure BDA0002776510870000065
a PFC threshold value representing the jth ingress queue of the egress queue to be controlled, n representing the number of ingress queues of the egress queue to be controlled, t0And representing the lowest forwarding time delay of the egress queue to be controlled.
In a second aspect, an embodiment of the present invention provides a congestion control apparatus, which is applied to a congestion control device corresponding to at least one switch, where each switch includes at least one egress queue, and each egress queue corresponds to at least two ingress queues, where the apparatus includes:
the acquisition unit is used for acquiring the configuration information and the network state information of the exit queue to be controlled of the current switch in the current turn;
a first determining unit, configured to determine, according to the configuration information and the network state information, a congestion notification display ECN threshold adjustment factor of the to-be-controlled egress queue if it is determined that the network state information does not satisfy a preset condition;
a second determining unit, configured to determine, according to the ECN threshold adjustment factor and the ECN threshold of the to-be-controlled egress queue in the current round included in the configuration information, an ECN threshold of the to-be-controlled egress queue in a next round;
and the congestion control unit is used for sending the ECN threshold of the to-be-controlled outlet queue in the next round to the current switch so that the current switch carries out congestion control on the to-be-controlled outlet queue in the next round according to the ECN threshold of the to-be-controlled outlet queue in the next round.
In one embodiment, if the network state information includes the number of PFC triggers for flow control based on priority, throughput, and time delay of the egress queue to be controlled, where the throughput is an average rate of packet output of the egress queue to be controlled, and the time delay is an average forwarding time delay of the egress queue to be controlled, the preset condition is that an expected time delay is greater than or equal to the time delay, an expected throughput is less than or equal to the throughput, and an expected number of PFC triggers is greater than or equal to the number of PFC triggers of the egress queue to be controlled.
In one embodiment, if the network state information further includes ECN triggering times of the egress queue to be controlled and a lowest forwarding delay of the egress queue to be controlled, and the configuration information further includes a PFC threshold of the egress queue to be controlled, a PFC threshold of each ingress queue of the egress queue to be controlled, and an ECN maximum flag probability of the egress queue to be controlled, the first determining unit is specifically configured to determine a delay error of the egress queue to be controlled according to the delay, the expected delay, the lowest forwarding delay of the egress queue to be controlled, the PFC threshold of each ingress queue of the egress queue to be controlled, the ECN maximum flag probability of the egress queue to be controlled, and the ECN threshold of the egress queue to be controlled; determining a throughput error of the to-be-controlled outlet queue according to the throughput, the expected throughput, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue; determining a PFC triggering time error of the egress queue to be controlled according to the PFC triggering time of the egress queue to be controlled, the expected PFC triggering time and the ECN maximum marking probability of the egress queue to be controlled; determining an ECN threshold adjustment error of the to-be-controlled outlet queue according to the delay error of the to-be-controlled outlet queue, the throughput error of the to-be-controlled outlet queue and the PFC triggering frequency error of the to-be-controlled outlet queue; and determining the ECN threshold adjusting factor of the to-be-controlled outlet queue according to the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold adjusting error of the to-be-controlled outlet queue.
In one embodiment, the second determining unit is specifically configured to calculate an ECN threshold of the egress queue to be controlled in the next round according to the following formula:
Ki+1=(1-f)Ki
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjusting factor of the exit queue to be controlled.
In one embodiment, the first determining unit is specifically configured to calculate an ECN threshold adjustment factor of the egress queue to be controlled according to the following formula:
f=Pmax·h
wherein f represents an ECN threshold adjustment factor of the egress queue to be controlled;
Pmaxrepresenting the ECN maximum marking probability of the egress queue to be controlled;
h represents the ECN threshold adjustment error of the egress queue to be controlled, and h is equal toα·h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset),h1(timelog,timelogpreset) Representing the time delay error of the outlet queue to be controlled, representing the time delay by the time delaypresetRepresenting the expected time delay, alpha representing the weight of the time delay error of the to-be-controlled egress queue, h2(throughtput,throughtputpreset) Representing the throughput error of the exit queue to be controlled, wherein throughput represents the throughput, and throughput represents the throughputpresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Represents the error of PFC trigger times of the egress queue to be controlled, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected PFC trigger times, δ represents the weight of PFC trigger time error of the egress queue to be controlled, α + β + δ is 1, wherein:
Figure BDA0002776510870000091
Figure BDA0002776510870000092
Figure BDA0002776510870000093
low represents the lower limit value of the ECN threshold adjustment error of the to-be-controlled exit queue, up represents the upper limit value of the ECN threshold adjustment error of the to-be-controlled exit queue,
Figure BDA0002776510870000094
Figure BDA0002776510870000095
a PFC threshold, n-table, representing the jth ingress queue of said egress queue to be controlledShowing the number of ingress queues, t, of said egress queues to be controlled0And representing the lowest forwarding time delay of the egress queue to be controlled.
For technical effects of the congestion control device provided by the present invention, reference may be made to the technical effects of the first aspect or each implementation manner of the first aspect, and details are not described here.
In a third aspect, an embodiment of the present invention provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the congestion control method according to the present invention when executing the computer program.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps in the congestion control method according to the present invention.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by 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 claims hereof as well as the appended drawings.
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 specification, illustrate embodiments of the invention and together with the description serve to explain the invention and not to limit the invention. In the drawings:
fig. 1 is a schematic view of an application scenario of a congestion control method according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of an implementation of a congestion control method according to an embodiment of the present invention;
fig. 3 is a schematic diagram illustrating an implementation flow of determining an ECN threshold adjustment factor of an egress queue to be controlled according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a congestion control apparatus according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
In order to solve the problem of low congestion control efficiency caused by unreasonable ECN threshold setting in the prior art, embodiments of the present invention provide a congestion control method and apparatus, an electronic device, and a storage medium.
The preferred embodiments of the present invention will be described below with reference to the accompanying drawings of the specification, it being understood that the preferred embodiments described herein are merely for illustrating and explaining the present invention, and are not intended to limit the present invention, and that the embodiments and features of the embodiments in the present invention may be combined with each other without conflict.
Fig. 1 is a schematic view of an application scenario of the congestion control method according to the embodiment of the present invention, which is a typical many-to-one (Incast) scenario of a data center. In fig. 1, only the congestion control device and one of the switches controlled by the congestion control device are taken as an example to illustrate, each switch at least includes one Egress queue, each Egress queue corresponds to at least two Ingress queues, the congestion control device and the switch are connected through a network, it is assumed that a port a is an Egress (Egress) port on the switch, ports 1 to n are Ingress (Ingress) ports of the port a, data in an Egress queue to be controlled of the switch is output from the port a, and data in the Egress queue to be controlled is input into the switch through the ports 1 to n by the Ingress queues 1 to n of the Egress queue to be controlled, respectively. The congestion control device collects configuration information and Network state information of queues to be controlled in the current round from the switch, when the ECN threshold adjustment condition is met, determines the adjustment degree of the ECN threshold of an egress queue to be controlled (namely, an ECN threshold adjustment factor) according to the information of the two layers, determines the ECN threshold of the egress queue to be controlled in the next round according to the ECN threshold of the egress queue to be controlled in the current round and the ECN threshold adjustment factor of the egress queue to be controlled, sends the ECN threshold of the egress queue to be controlled in the next round to the switch, and performs congestion control on the egress queue to be controlled in the next round according to the received ECN threshold of the egress queue to be controlled in the next round, so that different ECN thresholds are dynamically configured for relevant information of egress queues to be controlled of different switches, and the congestion control device can operate an SDN (Software Defined Network, software defined network) controller, which may be implemented by an SDN controller to control a switch, and is not limited in this embodiment of the present invention.
In the following, in connection with the application scenario of fig. 1, a congestion control method according to an exemplary embodiment of the present invention is described with reference to fig. 2 to 3. It should be noted that the above application scenarios are only presented to facilitate understanding of the spirit and principles of the present invention, and the embodiments of the present invention are not limited in any way herein. Rather, embodiments of the present invention may be applied to any scenario where applicable.
As shown in fig. 2, which is a schematic diagram illustrating an implementation flow of a congestion control method according to an embodiment of the present invention, where the congestion control method is applied to a congestion control device corresponding to at least one switch, each switch includes at least one egress queue, and each egress queue corresponds to at least two ingress queues, and the congestion control method may include the following steps:
and S11, acquiring the configuration information and the network state information of the exit queue to be controlled of the current switch in the current round.
In specific implementation, the congestion control device collects configuration information and network state information of the exit queue to be controlled of the current switch in the current round. The configuration information of the to-be-controlled egress queue at least includes an ECN threshold of the to-be-controlled egress queue, a PFC threshold of each ingress queue of the to-be-controlled egress queue, and an ECN maximum marking probability of the to-be-controlled egress queue. The network state information of the to-be-controlled outlet queue comprises throughput, time delay, PFC triggering times of the to-be-controlled outlet queue, ECN triggering times of the to-be-controlled outlet queue and the lowest forwarding time delay of the to-be-controlled outlet queue, wherein the throughput is the average message output rate of the to-be-controlled outlet queue, and the time delay is the average forwarding time delay of the to-be-controlled outlet queue. Each round is a preset time period, and may be set according to needs, for example, one round may be set to 20s, which is not limited in the embodiment of the present invention. The ECN threshold of the to-be-controlled exit queue can be the upper threshold limit of the ECN threshold, the ECN threshold comprises two thresholds, namely the upper threshold limit and the lower threshold limit, and the upper threshold limit has a large influence on the adjustment result, so that the upper threshold limit of the ECN threshold is adjusted by default in the embodiment of the invention, and the lower threshold limit of the ECN threshold can be obtained only by performing equal proportion adjustment after the upper threshold limit of the ECN threshold is determined. In the embodiment of the present invention, the switch is a network device managed by the congestion control device, and the switch is a switch at least having the following functions: ecn (dcqcn) function, PFC function, gPRC (Remote Procedure Call) function, and INT (IN-band Network Telemetry) function, wherein gPRC is a high-precision Telemetry technology. During implementation, the switch acquires PFC triggering times of the to-be-controlled outlet queue, an ECN threshold of the to-be-controlled outlet queue, a PFC threshold of the to-be-controlled outlet queue, ECN triggering times of the to-be-controlled outlet queue and message output average rate (throughput) of the to-be-controlled outlet queue through a gPRC function, and acquires average forwarding delay (time delay) of the to-be-controlled outlet queue through an INT function.
The network device managed by the congestion control device may also be other network devices having the above functions, such as a router, and the like, which is not limited in this embodiment of the present invention.
And S12, if the network state information is determined not to meet the preset condition, determining an ECN threshold adjustment factor of the exit queue to be controlled according to the configuration information and the network state information.
In specific implementation, when determining that the network state information of the to-be-controlled egress queue does not satisfy the preset condition, the congestion control device determines an ECN threshold adjustment factor of the to-be-controlled egress queue according to the configuration information and the network state information of the to-be-controlled egress queue, where the ECN threshold adjustment factor represents an adjustment degree of an ECN threshold.
Specifically, the preset conditions include the following three conditions:
the first condition is as follows: the expected latency is greater than or equal to the latency.
And a second condition: the expected throughput is less than or equal to the throughput.
And (3) carrying out a third condition: and the expected PFC triggering times are more than or equal to the PFC triggering times of the to-be-controlled egress queue.
And when any one of the three conditions is not met, determining that the network state information of the to-be-controlled exit queue does not meet the preset condition.
Specifically, the congestion control apparatus determines that either of the following conditions is not satisfied: and if the expected time delay is larger than or equal to the time delay of the to-be-controlled outlet queue in the current round, the expected throughput is smaller than or equal to the throughput of the to-be-controlled outlet queue in the current round, and the expected PFC triggering times are larger than or equal to the PFC triggering times of the to-be-controlled outlet queue in the current round, adjusting the ECN threshold of the to-be-controlled outlet queue. And when the three conditions are met simultaneously, the ECN threshold of the exit queue to be controlled in the current round is considered to be reasonably set, and the ECN threshold is not adjusted. The expected time delay, the expected throughput and the expected PFC triggering times may be manually set by the client according to different services, or may be preset by the congestion control device according to different services, which is not limited in the embodiment of the present invention.
In specific implementation, based on the idea of iteration, the ECN threshold iteration formula of the egress queue to be controlled is designed as follows:
Ki+1=(1-f)Ki (1)
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjustment factor of the egress queue to be controlled.
Wherein, the ith round is the current round, and the (i + 1) th round is the next round.
Determining the ECN threshold adjustment factor of the egress queue to be controlled according to the process shown in fig. 3 may include the following steps:
and S21, determining the delay error of the exit queue to be controlled according to the delay, the expected delay, the lowest forwarding delay of the exit queue to be controlled, the PFC threshold of each entry queue of the exit queue to be controlled, the ECN maximum marking probability of the exit queue to be controlled and the ECN threshold of the exit queue to be controlled.
In specific implementation, the congestion control device determines the delay error of the egress queue to be controlled according to the delay of the egress queue to be controlled in the current round, the expected delay, the lowest forwarding delay of the egress queue to be controlled, the PFC threshold of each ingress queue of the egress queue to be controlled, the ECN maximum marking probability of the egress queue to be controlled, and the ECN threshold of the egress queue to be controlled.
Specifically, the delay error of the egress queue to be controlled can be calculated by the following formula:
Figure BDA0002776510870000131
wherein h is1(timelog,timelogpreset) Representing the delay error of the egress queue to be controlled, representing the delay of the egress queue to be controlled by a timerpresetRepresenting an expected time delay; low represents the lower limit value of the ECN threshold adjustment error of the exit queue to be controlled, up represents the upper limit value of the ECN threshold adjustment error of the exit queue to be controlled,
Figure BDA0002776510870000141
Kiindicating the ECN threshold of the egress queue to be controlled in the current round,
Figure BDA0002776510870000142
and well showing the PFC threshold value of the j-th inlet queue of the outlet queue to be controlled, wherein j is 1-n, and n represents the number of the inlet queues of the outlet queue to be controlled.
Specifically, in a many-to-one Incast scenario (i.e. the scenario shown in fig. 1), PFC triggering may cause data flow to be suspended, which may cause queue throughput to decrease and delay to increase, and it should be avoided as much as possible that, in order to not trigger PFC as much as possible, the ECN threshold is also limited by the size of the PFC threshold, and therefore, the ECN threshold of the egress queue to be controlled should be made to be equal to the ECN threshold of the egress queue to be controlled
Figure BDA0002776510870000143
The formula shows that ECN can not be triggered after entry queue PFC of an exit queue to be controlled is triggered completely, the upper threshold limit of ECN threshold is given, and the ECN threshold is larger than 0 after adjustment according to actual physical significance, so that Ki+1The iteration range of (a) is:
Figure BDA0002776510870000144
then it can be obtained from the formula (1)
Figure BDA0002776510870000145
The range of f is then found to be:
Figure BDA0002776510870000146
logically, when the ECN max marking probability of the egress queue to be controlled is high, the ECN threshold can be appropriately lowered, so the ECN threshold is also related to the ECN max marking probability.
f is an ECN threshold adjusting function of parameters of time delay, expected time delay, throughput of the to-be-controlled outlet queue, expected throughput, lowest forwarding time delay of the to-be-controlled outlet queue, PFC threshold values of all inlet queues of the to-be-controlled outlet queue, ECN maximum marking probability of the to-be-controlled outlet queue, ECN threshold values of the to-be-controlled outlet queue, PFC triggering times of the to-be-controlled outlet queue and expected PFC triggering times of the to-be-controlled outlet queue. Wherein the ECN maximum marking probability P of the egress queue to be controlledmaxThis parameter may appear as a constant, since it is constant for each adjustment. Considering Pmax∈(0,1]And the range of equation (3), designed as follows:
f=Pmax·h (4)
wherein h represents the ECN threshold adjustment error of the egress queue to be controlled.
Substituting the above equation (4) into equation (3) can obtain the range of h as:
Figure BDA0002776510870000147
Figure BDA0002776510870000151
the lower limit value of the ECN threshold adjustment error h of the exit queue to be controlled is recorded as low, namely
Figure BDA0002776510870000152
Figure BDA0002776510870000153
The upper limit value of the ECN threshold adjusting error h of the exit queue to be controlled is recorded as up,
Figure BDA0002776510870000154
the design logic for function h is as follows:
aiming at different flow conditions, the sensitivity of the network to time delay, throughput and PFC triggering times is different, so that h is set to be in a form of weighted summation of time delay errors, throughput errors and PFC triggering time errors, and the method specifically comprises the following steps: h is alpha h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset) (6)
Wherein h is1(timelog,timelogpreset) Representing the delay error of the egress queue to be controlled, alpha representing the weight of the delay error of the egress queue to be controlled, h2(throughtput,throughtputpreset) Representing the throughput error of the to-be-controlled outlet queue, wherein the throughput represents the throughput of the to-be-controlled outlet queue, and the throughput represents the throughput of the to-be-controlled outlet queuepresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Represents the error of PFC trigger times of the egress queue to be controlled, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected number of PFC triggers, δ represents the numberThe weight of the error of the PFC triggering times of the egress queue to be controlled, α + β + δ is 1, where values of α, β, and δ may be set according to the importance of time delay, throughput, and PFC triggering times in different services, and this is not limited in the embodiments of the present invention.
Logically, h should decrease (i.e., monotonically decrease) with increasing delay, and when the delay is greater than the expected delay, the shadow response to h is positive for the following reasons: as can be seen from equations (4) and (5), when the delay is greater than the expected delay, Ki+1<KiIf the physical expectation is met (i.e., the larger the ECN threshold, the larger the delay), then according to equation (5), it can be deduced:
Figure BDA0002776510870000155
when the delay equals the expected delay, h10, i.e. without adjustment, i.e.:
h1(timelog,timelogpreset)=0 (7)
when the time delay tends to infinity, the ECN threshold is adjusted to 0, that is:
Figure BDA0002776510870000161
when the time delay is the lowest forwarding time delay t of the egress queue to be controlled0And then, the lowest forwarding time delay of the to-be-controlled egress queue represents the shortest time required by forwarding the message of the to-be-controlled egress queue, and the ECN threshold is adjusted to be equal to the PFC, namely:
Figure BDA0002776510870000162
consider logically a timelog e [ t ∈ ]0Infinity), function h1(timelog,timelogpreset) Can be designed as an exponential function with a natural constant as a base number:
Figure BDA0002776510870000163
combining equations (6) - (9) with the lowest forwarding delay t of the egress queue to be controlled0Substituting the above equation (10) yields:
Figure BDA0002776510870000164
and S22, determining the throughput error of the egress queue to be controlled according to the throughput, the expected throughput, the PFC threshold of each ingress queue of the egress queue to be controlled, the ECN maximum marking probability of the egress queue to be controlled and the ECN threshold of the egress queue to be controlled.
In specific implementation, the congestion control device determines the throughput error of the to-be-controlled egress queue according to the throughput and the expected throughput of the to-be-controlled egress queue in the current round, the PFC threshold of each ingress queue of the to-be-controlled egress queue, the ECN maximum marking probability of the to-be-controlled egress queue, and the ECN threshold of the to-be-controlled egress queue.
Specifically, the throughput error of the egress queue to be controlled can be calculated by the following formula:
Figure BDA0002776510870000171
generally default to throughtputpreset1, therefore, the above formula is represented as:
Figure BDA0002776510870000172
in specific implementation, the logic design function h of step S21 may be referred to2(throughtput,throughtputpreset) At this time, the function h2(throughtput,throughtputpreset) Can be designed as an exponential function with a natural constant as a base number:
h2=aebx+c
(wherein x is a throughput-throughputpreset,throughtputpreset1), which will not be described herein.
And S23, determining the PFC triggering time error of the egress queue to be controlled according to the PFC triggering time of the egress queue to be controlled, the expected PFC triggering time and the ECN maximum marking probability of the egress queue to be controlled.
In specific implementation, the congestion control device determines the error of the PFC triggering times of the egress queue to be controlled according to the PFC triggering times of the egress queue to be controlled, the expected PFC triggering times and the ECN maximum marking probability of the egress queue to be controlled.
Specifically, the error of the number of PFC triggers of the egress queue to be controlled may be calculated by the following formula:
Figure BDA0002776510870000173
default N in generalPFCpresetWhen the value is 0, the formula is:
Figure BDA0002776510870000174
in particular implementations, PFCs are not triggered as much as possible, and therefore, the number of triggers is expected to be set to 0 by default. Function h3(NPFC,NPFCpreset) Can refer to the logic of step S21, in which case, the function h3(NPFC,NPFCpreset) Can be designed as an exponential function with a natural constant as a base number:
h3=aebx+c
(wherein x is N)PFCpreset-NPFC,NPFCpreset0), which will not be described herein.
It should be noted that, in the embodiment of the present invention, the function h is designed1、h2And h3In this case, the formula form may be changed according to the actual situation, and only the corresponding logics (such as formulas (7) to (9)) of the function form need to be ensured, for example, formula (10), (9) may be further usedI.e. function h1) Set to logarithmic form: h is1A, logbx + c, wherein, can make
Figure BDA0002776510870000181
The function h can be expressed2Set to logarithmic form: h is2Wherein x may be each throughput-throughput + cpreset
throughtputpresetThe function h can be given as 13Set to logarithmic form: h is3Wherein x may be N ═ logbx + cPFCpreset-NPFC,NPFCpresetThe present invention is not limited to this embodiment as 0. Moreover, the collected parameters can be increased according to the actual situation, and only the function and the weight corresponding to the corresponding parameters need to be increased after the formula (6).
It should be noted that the execution sequence of steps S21 to S23 is not limited in the embodiment of the present invention, and steps S21 to S23 may be executed simultaneously.
And S24, determining an ECN threshold adjustment error of the to-be-controlled outlet queue according to the time delay error of the to-be-controlled outlet queue, the throughput error of the to-be-controlled outlet queue and the PFC triggering time error of the to-be-controlled outlet queue.
In specific implementation, the ECN threshold adjustment error of the egress queue to be controlled may be calculated by the following formula (i.e. formula (6)):
h=α·h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset)
and S25, determining an ECN threshold adjusting factor of the egress queue to be controlled according to the ECN maximum marking probability of the egress queue to be controlled and the ECN threshold adjusting error of the egress queue to be controlled.
In specific implementation, the ECN threshold adjustment factor of the egress queue to be controlled may be calculated by the following formula:
f=Pmax·h
wherein f represents an ECN threshold adjustment factor of the egress queue to be controlled;
Pmaxrepresenting the ECN maximum marking probability of the egress queue to be controlled;
h represents the ECN threshold adjustment error of the egress queue to be controlled, and h is alpha.h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset),h1(timelog,timelogpreset) Representing the time delay error of the outlet queue to be controlled, representing the time delay by the time delaypresetRepresenting the expected time delay, alpha representing the weight of the time delay error of the to-be-controlled egress queue, h2(throughtput,throughtputpreset) Representing the throughput error of the exit queue to be controlled, wherein throughput represents the throughput, and throughput represents the throughputpresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Represents the error of PFC trigger times of the egress queue to be controlled, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected PFC trigger times, δ represents the weight of PFC trigger time error of the egress queue to be controlled, α + β + δ is 1, wherein:
Figure BDA0002776510870000191
Figure BDA0002776510870000192
Figure BDA0002776510870000193
low represents the lower limit value of the ECN threshold adjustment error of the to-be-controlled exit queue, up represents the upper limit value of the ECN threshold adjustment error of the to-be-controlled exit queue,
Figure BDA0002776510870000194
Kiindicating the ECN threshold of the egress queue to be controlled in the ith round (i.e. the current round),
Figure BDA0002776510870000195
a PFC threshold value representing the jth ingress queue of the egress queue to be controlled, n representing the number of ingress queues of the egress queue to be controlled, t0And representing the lowest forwarding time delay of the egress queue to be controlled.
S13, determining the ECN threshold of the exit queue to be controlled in the next round according to the ECN threshold of the exit queue to be controlled in the current round included in the ECN threshold adjusting factor and the configuration information.
In specific implementation, the congestion control device determines the ECN threshold of the egress queue to be controlled in the next round according to the ECN threshold adjustment factor of the egress queue to be controlled and the ECN threshold of the egress queue to be controlled in the current round.
Specifically, the ECN threshold of the next round of the egress queue to be controlled may be calculated by the following formula:
Ki+1=(1-f)Ki
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjustment factor of the exit queue to be controlled;
wherein, the ith round is the current round, and the (i + 1) th round is the next round.
And S14, issuing the ECN threshold of the to-be-controlled egress queue in the next round to the current switch, so that the current switch performs congestion control on the to-be-controlled egress queue in the next round according to the ECN threshold of the to-be-controlled egress queue in the next round.
In specific implementation, the congestion control device issues the ECN threshold of the to-be-controlled egress queue in the next round to the current switch, and the current switch performs congestion control on the to-be-controlled egress queue in the next round according to the ECN threshold of the to-be-controlled egress queue in the next round.
The congestion control method provided by the embodiment of the invention is applied to congestion control equipment corresponding to at least one switch, each switch comprises at least one outlet queue, each outlet queue corresponds to at least two inlet queues, the congestion control equipment acquires configuration information and network state information of an outlet queue to be controlled of the current switch in the current round, if the network state information is determined not to meet the preset condition, an ECN threshold adjustment factor of the outlet queue to be controlled is determined according to the configuration information and the network state information of the outlet queue to be controlled in the current round, an ECN threshold of the outlet queue to be controlled in the next round is determined according to the ECN threshold adjustment factor and the ECN threshold of the outlet queue to be controlled in the current round contained in the configuration information, and the ECN of the outlet queue to be controlled in the next round is issued to the current switch, compared with the prior art, the congestion control method provided by the embodiment of the invention acquires the configuration information and the network state information of the to-be-controlled egress queue of the switch according to the turn, determines the adjustment degree of the ECN threshold of the to-be-controlled egress queue together according to the information of the two layers when the ECN threshold adjustment condition is met, and performs corresponding adjustment according to the ECN threshold of the to-be-controlled egress queue in the current turn to serve as the ECN threshold of the to-be-controlled egress queue in the next turn, namely, realizes dynamic configuration of different ECN thresholds according to the related information of the to-be-controlled egress queues of different switches in an iterative manner, realizes dynamic adjustment of the ECN thresholds, and improves the congestion control efficiency, in addition, the invention only needs to collect the relevant data of the exit queue to be controlled of the switch on a single switch, and is irrelevant to other equipment, thereby reducing the difficulty of data collection and ensuring that the ECN threshold dynamic adjustment method provided by the invention has stronger adaptability and expansion capability.
Based on the same inventive concept, embodiments of the present invention further provide a congestion control device, and since the principle of the congestion control device for solving the problem is similar to that of the congestion control method, the implementation of the device may refer to the implementation of the method, and repeated details are not repeated.
As shown in fig. 4, which is a schematic structural diagram of a congestion control apparatus according to an embodiment of the present invention, where the congestion control apparatus is applied to a congestion control device corresponding to at least one switch, each switch includes at least one egress queue, and each egress queue corresponds to at least two ingress queues, and the apparatus may include:
the acquisition unit 31 is configured to acquire configuration information and network state information of an egress queue to be controlled of a current switch in a current round;
a first determining unit 32, configured to determine, according to the configuration information and the network state information, a congestion notification display ECN threshold adjustment factor of the to-be-controlled egress queue if it is determined that the network state information does not satisfy a preset condition;
a second determining unit 33, configured to determine, according to the ECN threshold adjustment factor and the ECN threshold of the to-be-controlled egress queue in the current round included in the configuration information, an ECN threshold of the to-be-controlled egress queue in a next round;
and the congestion control unit 34 is configured to send the ECN threshold of the to-be-controlled egress queue in the next round to the current switch, so that the current switch performs congestion control on the to-be-controlled egress queue in the next round according to the ECN threshold of the to-be-controlled egress queue in the next round.
Preferably, if the network state information includes the number of PFC triggers, throughput, and time delay for priority-based flow control of the egress queue to be controlled, where the throughput is an average rate of packet output of the egress queue to be controlled, and the time delay is an average forwarding time delay of the egress queue to be controlled, the preset condition is that an expected time delay is greater than or equal to the time delay, an expected throughput is less than or equal to the throughput, and an expected number of PFC triggers is greater than or equal to the number of PFC triggers of the egress queue to be controlled.
Preferably, if the network status information further includes ECN triggering times of the to-be-controlled egress queue and a lowest forwarding delay of the to-be-controlled egress queue, and the configuration information includes a PFC threshold of the to-be-controlled egress queue, a PFC threshold of each ingress queue of the to-be-controlled egress queue, and an ECN maximum flag probability of the to-be-controlled egress queue, the first determining unit 32 is specifically configured to determine a delay error of the to-be-controlled egress queue according to the delay, the expected delay, the lowest forwarding delay of the to-be-controlled egress queue, the PFC thresholds of each ingress queue of the to-be-controlled egress queue, the ECN maximum flag probability of the to-be-controlled egress queue, and the ECN threshold of the to-be-controlled egress queue; determining a throughput error of the to-be-controlled outlet queue according to the throughput, the expected throughput, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue; determining a PFC triggering time error of the egress queue to be controlled according to the PFC triggering time of the egress queue to be controlled, the expected PFC triggering time and the ECN maximum marking probability of the egress queue to be controlled; determining an ECN threshold adjustment error of the to-be-controlled outlet queue according to the delay error of the to-be-controlled outlet queue, the throughput error of the to-be-controlled outlet queue and the PFC triggering frequency error of the to-be-controlled outlet queue; and determining the ECN threshold adjusting factor of the to-be-controlled outlet queue according to the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold adjusting error of the to-be-controlled outlet queue.
Preferably, the second determining unit 33 is specifically configured to calculate the ECN threshold of the egress queue to be controlled in the next round according to the following formula:
Ki+1=(1-f)Ki
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjusting factor of the exit queue to be controlled.
Preferably, the first determining unit 32 is specifically configured to calculate an ECN threshold adjustment factor of the egress queue to be controlled according to the following formula:
f=Pmax·h
wherein f represents an ECN threshold adjustment factor of the egress queue to be controlled;
Pmaxrepresenting the ECN maximum marking probability of the egress queue to be controlled;
h represents the ECN threshold adjustment error of the egress queue to be controlled, and h is alpha.h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset),h1(timelog,timelogpreset) Representing the time delay error of the outlet queue to be controlled, representing the time delay by the time delaypresetRepresenting the expected time delay, alpha representing the weight of the time delay error of the to-be-controlled egress queue, h2(throughtput,throughtputpreset) Representing the throughput error of the exit queue to be controlled, wherein throughput represents the throughput, and throughput represents the throughputpresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Represents the error of PFC trigger times of the egress queue to be controlled, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected PFC trigger times, δ represents the weight of PFC trigger time error of the egress queue to be controlled, α + β + δ is 1, wherein:
Figure BDA0002776510870000231
Figure BDA0002776510870000232
Figure BDA0002776510870000233
low represents the lower limit value of the ECN threshold adjustment error of the to-be-controlled exit queue, up represents the upper limit value of the ECN threshold adjustment error of the to-be-controlled exit queue,
Figure BDA0002776510870000234
Figure BDA0002776510870000235
a PFC threshold value representing the jth ingress queue of the egress queue to be controlled, n representing the number of ingress queues of the egress queue to be controlled, t0And representing the lowest forwarding time delay of the egress queue to be controlled.
Based on the same technical concept, an embodiment of the present invention further provides an electronic device 400, and referring to fig. 5, the electronic device 400 is configured to implement the congestion control method described in the foregoing method embodiment, where the electronic device 400 of this embodiment may include: a memory 401, a processor 402 and a computer program, such as a congestion control program, stored in the memory and executable on the processor. The processor, when executing the computer program, implements the steps in the various congestion control method embodiments described above, such as step S11 shown in fig. 2. Alternatively, the processor, when executing the computer program, implements the functions of the modules/units in the above-described device embodiments, for example, 31.
The embodiment of the present invention does not limit the specific connection medium between the memory 401 and the processor 402. In the embodiment of the present application, the memory 401 and the processor 402 are connected by the bus 403 in fig. 5, the bus 403 is represented by a thick line in fig. 5, and the connection manner between other components is merely illustrative and is not limited thereto. The bus 403 may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 5, but this is not intended to represent only one bus or type of bus.
The memory 401 may be a volatile memory (volatile memory), such as a random-access memory (RAM); the memory 401 may also be a non-volatile memory (non-volatile memory) such as, but not limited to, a read-only memory (rom), a flash memory (flash memory), a Hard Disk Drive (HDD) or a solid-state drive (SSD), or the memory 401 may be any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 401 may be a combination of the above memories.
Processor 402 configured to implement a congestion control method as shown in fig. 2, comprising:
the processor 402 is configured to invoke the computer program stored in the memory 401 to execute step S11 shown in fig. 4, collect configuration information and network status information of the egress queue to be controlled of the current switch in the current round, step S12, if it is determined that the network status information does not satisfy the preset condition, determining an ECN threshold adjustment factor of the egress queue to be controlled according to the configuration information and the network status information, step S13, determining an ECN threshold of the egress queue to be controlled in the next round according to the ECN threshold adjustment factor and the ECN threshold of the egress queue to be controlled in the current round included in the configuration information, and step S14, issuing the ECN threshold of the exit queue to be controlled in the next round to the current switch, and the current switch carries out congestion control on the egress queue to be controlled in the next round according to the ECN threshold of the egress queue to be controlled in the next round.
The embodiment of the present application further provides a computer-readable storage medium, which stores computer-executable instructions required to be executed by the processor, and includes a program required to be executed by the processor.
In some possible embodiments, various aspects of the congestion control method provided by the present invention may also be implemented as a program product, which includes program code for causing an electronic device to execute the steps in the congestion control method according to various exemplary embodiments of the present invention described above in this specification when the program product runs on the electronic device, for example, the electronic device may execute step S11 shown in fig. 2, collect configuration information and network status information of an egress queue to be controlled of a current switch in a current round, step S12, determine an ECN threshold adjustment factor of the egress queue to be controlled according to the configuration information and the network status information if it is determined that the network status information does not satisfy a preset condition, step S13, determine the egress queue to be controlled according to the ECN threshold adjustment factor and an ECN threshold of the egress queue to be controlled in the current round included in the configuration information And step S14, sending the ECN threshold of the egress queue to be controlled in the next round to the current switch, so that the current switch performs congestion control on the egress queue to be controlled in the next round according to the ECN threshold of the egress queue to be controlled in the next round.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (12)

1. A congestion control method applied to a congestion control device corresponding to at least one switch, each switch comprising at least one egress queue, each egress queue corresponding to at least two ingress queues, the method comprising:
acquiring configuration information and network state information of an exit queue to be controlled of a current switch in a current turn;
if the network state information is determined not to meet the preset condition, determining a display congestion notification ECN threshold adjustment factor of the to-be-controlled exit queue according to the configuration information and the network state information;
determining the ECN threshold of the exit queue to be controlled in the next round according to the ECN threshold of the exit queue to be controlled in the current round included in the ECN threshold adjustment factor and the configuration information;
and issuing the ECN threshold of the to-be-controlled egress queue in the next round to the current switch, so that the current switch performs congestion control on the to-be-controlled egress queue in the next round according to the ECN threshold of the to-be-controlled egress queue in the next round.
2. The method of claim 1, wherein if the network status information includes a number of PFC triggers for the egress queue to be controlled based on priority level, a throughput and a time delay, the throughput is an average packet output rate of the egress queue to be controlled, and the time delay is an average forwarding time delay of the egress queue to be controlled, the preset condition is that an expected time delay is greater than or equal to the time delay, an expected throughput is less than or equal to the throughput, and an expected number of PFC triggers is greater than or equal to the number of PFC triggers of the egress queue to be controlled.
3. The method according to claim 2, wherein if the network status information further includes ECN triggering times of the egress queue to be controlled and a lowest forwarding delay of the egress queue to be controlled, and the configuration information includes a PFC threshold of the egress queue to be controlled, a PFC threshold of each ingress queue of the egress queue to be controlled, and an ECN maximum flag probability of the egress queue to be controlled, determining an ECN threshold adjustment factor of the egress queue to be controlled according to the configuration information and the network status information specifically includes:
determining a delay error of the to-be-controlled outlet queue according to the delay, the expected delay, the lowest forwarding delay of the to-be-controlled outlet queue, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue;
determining a throughput error of the to-be-controlled outlet queue according to the throughput, the expected throughput, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue;
determining a PFC triggering time error of the egress queue to be controlled according to the PFC triggering time of the egress queue to be controlled, the expected PFC triggering time and the ECN maximum marking probability of the egress queue to be controlled;
determining an ECN threshold adjustment error of the to-be-controlled outlet queue according to the delay error of the to-be-controlled outlet queue, the throughput error of the to-be-controlled outlet queue and the PFC triggering frequency error of the to-be-controlled outlet queue;
and determining the ECN threshold adjusting factor of the to-be-controlled outlet queue according to the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold adjusting error of the to-be-controlled outlet queue.
4. The method as claimed in claim 3, wherein determining the ECN threshold of the egress queue to be controlled in the next round according to the ECN threshold of the egress queue to be controlled in the current round included in the configuration information and the ECN threshold of the egress queue to be controlled in the current round specifically includes:
calculating the ECN threshold of the egress queue to be controlled in the next round by the following formula:
Ki+1=(1-f)Ki
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjusting factor of the exit queue to be controlled.
5. The method of claim 4, wherein the ECN threshold adjustment factor for the egress queue to be controlled is calculated by the following equation:
f=Pmax·h
wherein f represents an ECN threshold adjustment factor of the egress queue to be controlled;
Pmaxrepresenting the ECN maximum marking probability of the egress queue to be controlled;
h represents the ECN threshold adjustment error of the egress queue to be controlled, and h is alpha.h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset),h1(timelog,timelogpreset) Representing the time delay error of the outlet queue to be controlled, representing the time delay by the time delaypresetRepresenting the expected time delay, alpha representing the weight of the time delay error of the to-be-controlled egress queue, h2(throughtput,throughtputpreset) Representing the throughput error of the exit queue to be controlled, wherein throughput represents the throughput, and throughput represents the throughputpresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Represents the error of PFC trigger times of the egress queue to be controlled, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected PFC trigger times, δ represents the weight of PFC trigger time error of the egress queue to be controlled, α + β + δ is 1, wherein:
Figure FDA0002776510860000031
Figure FDA0002776510860000032
Figure FDA0002776510860000033
low represents the lower limit value of the ECN threshold adjustment error of the egress queue to be controlledUp represents the upper limit value of the ECN threshold adjustment error of the exit queue to be controlled,
Figure FDA0002776510860000034
Figure FDA0002776510860000035
a PFC threshold value representing the jth ingress queue of the egress queue to be controlled, n representing the number of ingress queues of the egress queue to be controlled, t0And representing the lowest forwarding time delay of the egress queue to be controlled.
6. A congestion control apparatus, applied to a congestion control device corresponding to at least one switch, each switch including at least one egress queue, each egress queue corresponding to at least two ingress queues, the apparatus comprising:
the acquisition unit is used for acquiring the configuration information and the network state information of the exit queue to be controlled of the current switch in the current turn;
a first determining unit, configured to determine, according to the configuration information and the network state information, a congestion notification display ECN threshold adjustment factor of the to-be-controlled egress queue if it is determined that the network state information does not satisfy a preset condition;
a second determining unit, configured to determine, according to the ECN threshold adjustment factor and the ECN threshold of the to-be-controlled egress queue in the current round included in the configuration information, an ECN threshold of the to-be-controlled egress queue in a next round;
and the congestion control unit is used for sending the ECN threshold of the to-be-controlled outlet queue in the next round to the current switch so that the current switch carries out congestion control on the to-be-controlled outlet queue in the next round according to the ECN threshold of the to-be-controlled outlet queue in the next round.
7. The apparatus of claim 6, wherein if the network status information includes a number of PFC triggers, a throughput and a time delay of the egress queue to be controlled based on priority, the throughput is an average packet output rate of the egress queue to be controlled, and the time delay is an average forwarding time delay of the egress queue to be controlled, the preset condition is that an expected time delay is greater than or equal to the time delay, an expected throughput is less than or equal to the throughput, and an expected number of PFC triggers is greater than or equal to the number of PFC triggers of the egress queue to be controlled.
8. The apparatus according to claim 7, wherein if the network status information further includes ECN triggering times of the egress queue to be controlled and a lowest forwarding delay of the egress queue to be controlled, and the configuration information includes a PFC threshold of the egress queue to be controlled, a PFC threshold of each ingress queue of the egress queue to be controlled, and an ECN maximum flag probability of the egress queue to be controlled, the first determining unit is specifically configured to determine the delay error of the egress queue to be controlled according to the delay, the expected delay, the lowest forwarding delay of the egress queue to be controlled, the PFC threshold of each ingress queue of the egress queue to be controlled, the ECN maximum flag probability of the egress queue to be controlled, and the ECN of the egress queue to be controlled; determining a throughput error of the to-be-controlled outlet queue according to the throughput, the expected throughput, the PFC threshold of each inlet queue of the to-be-controlled outlet queue, the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold of the to-be-controlled outlet queue; determining a PFC triggering time error of the egress queue to be controlled according to the PFC triggering time of the egress queue to be controlled, the expected PFC triggering time and the ECN maximum marking probability of the egress queue to be controlled; determining an ECN threshold adjustment error of the to-be-controlled outlet queue according to the delay error of the to-be-controlled outlet queue, the throughput error of the to-be-controlled outlet queue and the PFC triggering frequency error of the to-be-controlled outlet queue; and determining the ECN threshold adjusting factor of the to-be-controlled outlet queue according to the ECN maximum marking probability of the to-be-controlled outlet queue and the ECN threshold adjusting error of the to-be-controlled outlet queue.
9. The apparatus of claim 8,
the second determining unit is specifically configured to calculate an ECN threshold of the egress queue to be controlled in the next round according to the following formula:
Ki+1=(1-f)Ki
wherein, KiRepresenting the ECN threshold of the exit queue to be controlled in the ith round;
Ki+1representing the ECN threshold of the exit queue to be controlled in the (i + 1) th round;
f represents the ECN threshold adjusting factor of the exit queue to be controlled.
10. The apparatus of claim 9,
the first determining unit is specifically configured to calculate an ECN threshold adjustment factor of the egress queue to be controlled according to the following formula:
f=Pmax·h
wherein f represents an ECN threshold adjustment factor of the egress queue to be controlled;
Pmaxrepresenting the ECN maximum marking probability of the egress queue to be controlled;
h represents the ECN threshold adjustment error of the egress queue to be controlled, and h is alpha.h1(timelog,timelogpreset)+β·h2(throughtput,throughtputpreset)+δ·h3(NPFC,NPFCpreset),h1(timelog,timelogpreset) Representing the time delay error of the outlet queue to be controlled, representing the time delay by the time delaypresetRepresenting the expected time delay, alpha representing the weight of the time delay error of the to-be-controlled egress queue, h2(throughtput,throughtputpreset) Representing the throughput error of the exit queue to be controlled, wherein throughput represents the throughput, and throughput represents the throughputpresetRepresenting the expected throughput, beta representing a weight of the throughput error of the egress queue to be controlled, h3(NPFC,NPFCpreset) Indicating that the control is to be performedPFC trigger number error of egress queue, NPFCRepresents the PFC trigger times, N, of the egress queue to be controlledPFCpresetRepresents the expected PFC trigger times, δ represents the weight of PFC trigger time error of the egress queue to be controlled, α + β + δ is 1, wherein:
Figure FDA0002776510860000061
Figure FDA0002776510860000062
Figure FDA0002776510860000063
low represents the lower limit value of the ECN threshold adjustment error of the to-be-controlled exit queue, up represents the upper limit value of the ECN threshold adjustment error of the to-be-controlled exit queue,
Figure FDA0002776510860000064
Figure FDA0002776510860000065
a PFC threshold value representing the jth ingress queue of the egress queue to be controlled, n representing the number of ingress queues of the egress queue to be controlled, t0And representing the lowest forwarding time delay of the egress queue to be controlled.
11. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the congestion control method according to any one of claims 1 to 5 when executing the program.
12. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, carries out the steps of the congestion control method according to any one of claims 1 to 5.
CN202011267449.6A 2020-11-13 2020-11-13 Congestion control method and device, electronic equipment and storage medium Active CN112491736B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011267449.6A CN112491736B (en) 2020-11-13 2020-11-13 Congestion control method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011267449.6A CN112491736B (en) 2020-11-13 2020-11-13 Congestion control method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112491736A true CN112491736A (en) 2021-03-12
CN112491736B CN112491736B (en) 2022-11-11

Family

ID=74930127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011267449.6A Active CN112491736B (en) 2020-11-13 2020-11-13 Congestion control method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112491736B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872885A (en) * 2021-09-30 2021-12-31 新华三信息安全技术有限公司 Method and equipment for controlling message forwarding
CN114844837A (en) * 2022-04-25 2022-08-02 西安交通大学 Congestion control mechanism and control device based on time delay in multi-service queue environment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150055478A1 (en) * 2013-08-23 2015-02-26 Broadcom Corporation Congestion detection and management at congestion-tree roots
CN105024946A (en) * 2015-06-16 2015-11-04 清华大学 Bandwidth allocation method based on sliding window, device and system
CN106789701A (en) * 2016-12-30 2017-05-31 北京邮电大学 Self adaptation ECN labeling methods and device in a kind of data center
US20170339062A1 (en) * 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Congestion avoidance in a network device
CN108965151A (en) * 2018-08-27 2018-12-07 华中科技大学 A kind of Explicit Congestion control method based on queuing delay
CN108989235A (en) * 2018-08-28 2018-12-11 新华三技术有限公司 A kind of message transmission control method and device
CN111464452A (en) * 2020-03-30 2020-07-28 南京理工大学 Fast congestion feedback method based on DCTCP
US20200280518A1 (en) * 2020-01-28 2020-09-03 Intel Corporation Congestion management techniques

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150055478A1 (en) * 2013-08-23 2015-02-26 Broadcom Corporation Congestion detection and management at congestion-tree roots
CN105024946A (en) * 2015-06-16 2015-11-04 清华大学 Bandwidth allocation method based on sliding window, device and system
US20170339062A1 (en) * 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Congestion avoidance in a network device
CN106789701A (en) * 2016-12-30 2017-05-31 北京邮电大学 Self adaptation ECN labeling methods and device in a kind of data center
CN108965151A (en) * 2018-08-27 2018-12-07 华中科技大学 A kind of Explicit Congestion control method based on queuing delay
CN108989235A (en) * 2018-08-28 2018-12-11 新华三技术有限公司 A kind of message transmission control method and device
US20200280518A1 (en) * 2020-01-28 2020-09-03 Intel Corporation Congestion management techniques
CN111464452A (en) * 2020-03-30 2020-07-28 南京理工大学 Fast congestion feedback method based on DCTCP

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S. HARHALAKIS 等: "An Experimental Study of the Efficiency of Explicit Congestion Notification", 《2011 15TH PANHELLENIC CONFERENCE ON INFORMATICS》 *
刘军等: "数据中心RoCE和无损网络技术", 《中国电信业》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872885A (en) * 2021-09-30 2021-12-31 新华三信息安全技术有限公司 Method and equipment for controlling message forwarding
CN113872885B (en) * 2021-09-30 2024-02-09 新华三信息安全技术有限公司 Method and equipment for controlling message forwarding
CN114844837A (en) * 2022-04-25 2022-08-02 西安交通大学 Congestion control mechanism and control device based on time delay in multi-service queue environment
CN114844837B (en) * 2022-04-25 2023-09-26 西安交通大学 Congestion control method and device based on time delay in multi-service queue environment

Also Published As

Publication number Publication date
CN112491736B (en) 2022-11-11

Similar Documents

Publication Publication Date Title
CN109039936B (en) Transmission rate control method, device, sending equipment and receiving equipment
Devkota et al. Performance of quantized congestion notification in TCP incast scenarios of data centers
US9025443B2 (en) Network equipment and frame transmission control method
US11671332B2 (en) Adjusting triggers for automatic scaling of virtual network functions
WO2003090093A1 (en) System and method for dynamically tuning interrupt coalescing parameters
CN112491736B (en) Congestion control method and device, electronic equipment and storage medium
US20220286402A1 (en) Method and apparatus for controlling data packet sending, model training method and apparatus, and system
CN108768781B (en) Loss-free flow control method and device for avoiding deadlock
CN104734985A (en) Data receiving flow control method and system
US7843825B2 (en) Method and system for packet rate shaping
WO2018149228A1 (en) Packet transmission method and device
CN113315720B (en) Data flow control method, system and equipment
CN113162789A (en) Method, device, equipment, system and storage medium for adjusting service level
US10467161B2 (en) Dynamically-tuned interrupt moderation
KR101737516B1 (en) Method and apparatus for packet scheduling based on allocating fair bandwidth
Liang et al. Effective idle_timeout value for instant messaging in software defined networks
CN107786371B (en) Data acceleration method and device and storage medium
CN111431812B (en) Message forwarding control method and device
JP7127743B2 (en) Communication device, communication method and program
CN116302578A (en) QoS (quality of service) constraint stream application delay ensuring method and system
CN111079948A (en) SDN-based distributed machine learning training acceleration method
CN116471238A (en) Congestion management method based on novel network congestion notification and rate adjustment strategy
CN112491573A (en) Network parameter configuration method and device
CN115514709A (en) Congestion control event queue scheduling method, device, equipment and storage medium
Tarasov et al. Analysis of intervals between traffic packets on the Software Defined Networks depending on the TCP window size

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
GR01 Patent grant
GR01 Patent grant