Data center network congestion control method and system
By monitoring the dwell time and traffic arrival curve of data packets in the queue, dynamically adjusting the explicit congestion notification mark threshold and selective packet loss, the congestion problem in the data center network is solved and system performance and network resource utilization are improved.
Patent Information
- Application Number
- CN202510011719.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-05
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2045-01-05
AI Technical Summary
Due to the rapid growth of traffic in data center networks, traditional network management methods cannot effectively deal with congestion, resulting in waste of network resources and poor system performance.
By monitoring the time the data packet stays in the queue, it is determined whether congestion control is required. Classify traffic, calculate the arrival curve for each traffic, and predict the degree of possible congestion according to the arrival curve and service rate, dynamically adjust the explicit congestion notification mark threshold, and selectively perform packet loss or explicit congestion notification. After ease of congestion, the slow start phase is entered, and the congestion window growth is controlled in combination with the arrival curve and random jitter.
It effectively avoids network congestion and improves the overall performance of the system. By dynamically adjusting the ECN marking threshold and selective packet loss, the requirements of different types of traffic are balanced and the utilization rate of network resources is improved.
Smart Images

Figure CN119583456A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer networks, and in particular to a data center network congestion control method and system. Background Art
[0002] Data centers are important infrastructures that support information flow and are core platforms for digital transformation and large-scale data processing in all walks of life. In data centers, tens of thousands of servers, storage devices, network switches, and routers form a complex network architecture that carries the task of transmitting and storing massive amounts of data. With the widespread application of technologies such as cloud computing, big data, artificial intelligence, and the Internet of Things, the network traffic in data centers has grown exponentially, and traditional network architectures and management models can no longer meet the needs of high bandwidth, low latency, and high availability. Network congestion is when the transmission speed of data packets in the network cannot meet business needs, resulting in packet backlogs and increased latency, and even packet loss. In the complex network environment of data centers, especially in application scenarios such as large-scale parallel computing, high-frequency trading, big data storage, and real-time video streaming, congestion is particularly serious. Traditional network management methods rely on static configuration and simple traffic control methods, which cannot cope with dynamically changing traffic patterns and sudden traffic loads, resulting in waste of network resources and poor system performance. Therefore, how to avoid network congestion and improve the overall performance of the system is one of the core issues in data center network management. Summary of the invention
[0003] In order to avoid the impact of network congestion on a data center, a first aspect of the present invention provides a data center network congestion control method, the method comprising: Determine whether congestion control is needed by monitoring the time the data packet stays in the queue; If so, classify the traffic, calculate the arrival curve of each type of traffic, and predict the possible congestion level based on the arrival curve and service rate. Dynamically adjust the explicit congestion notification marking threshold based on the traffic type and arrival curve, and selectively drop packets or perform explicit congestion notification marking based on the congestion level and traffic characteristics; When congestion is relieved, the system first enters the slow start phase, combining the arrival curve and random jitter to control the growth of the congestion window; when the congestion window reaches the threshold, it enters the congestion avoidance phase.
[0004] Optionally, predicting the possible congestion degree according to the arrival curve and the service rate is specifically: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Combine service rate and total arrival curve to predict queue length changes; The congestion degree is determined according to the predicted queue length change; the congestion degree is light congestion, moderate congestion, and severe congestion.
[0005] Optionally, the dynamically adjusting the explicit congestion notification flag threshold in combination with the traffic type and the arrival curve is specifically: Determine the weight according to the traffic type and determine the average slope of the arrival curve; If the average slope is greater than the upper limit, lowering the explicit congestion notification marking threshold based on the baseline threshold according to the average slope and the weight; If the average slope is less than the lower limit, increasing the explicit congestion notification marking threshold based on the reference threshold according to the average slope and the weight; Otherwise, the base threshold is used as the display congestion notification mark threshold.
[0006] Optionally, the selective packet loss or explicit congestion notification marking based on the congestion degree and traffic characteristics is specifically: If the congestion is mild, the congestion notification flag of the data packet is marked when the queue length reaches the congestion notification marking threshold of the traffic type; If the congestion is moderate, when the queue delay exceeds the preset value, the congestion notification flag of the data packet is marked for the traffic that is sensitive to packet loss; for other traffic, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability; otherwise, for other traffic, the congestion notification flag of the data packet is marked; If there is severe congestion, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability.
[0007] Optionally, the combination of the arrival curve and random jitter to control the growth of the congestion window is specifically: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Calculate the average value of the total arrival curve in the next period of time, and use the ratio of the benchmark value to the average value as a weight; The weight is used to obtain a congestion window increment, a random number is generated using random jitter, and the sum of the congestion window increment and the random number is used as the final congestion window growth amount.
[0008] In another aspect of the present invention, a data center network congestion control system is provided, the system comprising: A congestion judgment module is used to judge whether congestion control is needed by monitoring the time that the data packet stays in the queue; The congestion relief module is used to classify traffic, calculate the arrival curve of each type of traffic, and predict the possible congestion level based on the arrival curve and service rate. It dynamically adjusts the explicit congestion notification marking threshold based on the traffic type and arrival curve, and selectively drops packets or explicitly marks congestion notifications based on the congestion level and traffic characteristics. The congestion window control module is used to enter the slow start phase after congestion is relieved, and control the growth of the congestion window by combining the arrival curve and random jitter; when the congestion window reaches the threshold, it enters the congestion avoidance phase.
[0009] Optionally, predicting the possible congestion degree according to the arrival curve and the service rate is specifically: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Combine service rate and total arrival curve to predict queue length changes; The congestion degree is determined according to the predicted queue length change; the congestion degree is light congestion, moderate congestion, and severe congestion.
[0010] Optionally, the dynamically adjusting the explicit congestion notification flag threshold in combination with the traffic type and the arrival curve is specifically: Determine the weight according to the traffic type and determine the average slope of the arrival curve; If the average slope is greater than the upper limit, lowering the explicit congestion notification marking threshold based on the baseline threshold according to the average slope and the weight; If the average slope is less than the lower limit, increasing the explicit congestion notification marking threshold based on the reference threshold according to the average slope and the weight; Otherwise, the base threshold is used as the display congestion notification mark threshold.
[0011] Optionally, the selective packet loss or explicit congestion notification marking based on the congestion degree and traffic characteristics is specifically: If the congestion is mild, the congestion notification flag of the data packet is marked when the queue length reaches the congestion notification marking threshold of the traffic type; If the congestion is moderate, when the queue delay exceeds the preset value, the congestion notification flag of the data packet is marked for the traffic that is sensitive to packet loss; for other traffic, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability; otherwise, for other traffic, the congestion notification flag of the data packet is marked; If there is severe congestion, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability.
[0012] Optionally, the combination of the arrival curve and random jitter to control the growth of the congestion window is specifically: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Calculate the average value of the total arrival curve in the next period of time, and use the ratio of the benchmark value to the average value as a weight; The weight is used to obtain a congestion window increment, a random number is generated using random jitter, and the sum of the congestion window increment and the random number is used as the final congestion window growth amount.
[0013] In view of the situation that the data center is prone to congestion due to large data volume, the present invention calculates the arrival curve for each type of traffic, predicts the next traffic, and further predicts the degree of congestion that may occur in the future. By dynamically adjusting the ECN marking threshold in combination with the traffic type and the arrival curve, packet loss or ECN marking can be selectively performed based on the characteristics of different types of traffic and network conditions, specifically, based on the degree of congestion and traffic characteristics, so as to better balance the needs of different types of traffic and improve the utilization of network resources. By analyzing the arrival curve, the growth rate of cwnd is adjusted according to the actual load of the network to avoid cwnd growing too fast or too slow, and by introducing random jitter, the possibility of synchronous congestion caused by multiple sending ends increasing the rate at the same time can be avoided. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 It is a schematic diagram of the process of embodiment 1; Figure 2 A schematic diagram of an arrival curve is shown; Figure 3 A schematic diagram of the prediction of the arrival curve is shown; Figure 4 A schematic diagram showing ECN marking thresholds for real-time traffic and non-real-time traffic. DETAILED DESCRIPTION
[0015] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0016] It should be noted that the acquisition, storage, use, and processing of data in the technical solutions of the embodiments of the present invention are in compliance with the relevant provisions of national laws and regulations.
[0017] Embodiment 1 provides a data center network congestion control method, such as Figure 1 As shown, the method includes: S1, determines whether congestion control is needed by monitoring the time the packet stays in the queue; After receiving data packets, network devices usually put them into a queue to wait for processing and forwarding. If the network is unobstructed, the data packets will be processed and forwarded quickly, and stay in the queue for a short time. However, if the network is congested, for example, the network traffic is too large and exceeds the processing capacity of the device, then the data packets will need to wait in the queue for a longer time, and may even be discarded because the queue is full. By monitoring the time that the data packet stays in the queue, that is, the queuing delay, it is possible to effectively determine whether the network is congested. If the queuing delay exceeds the preset threshold, the network is congested and corresponding congestion control measures need to be taken.
[0018] S2, if yes, classify the traffic, calculate the arrival curve of each traffic, and predict the possible congestion level based on the arrival curve and service rate. Dynamically adjust the explicit congestion notification marking threshold based on the traffic type and arrival curve, and selectively drop packets or perform explicit congestion notification marking based on the congestion level and traffic characteristics; If it is determined that congestion control is required, the traffic in the network is classified according to different standards. In one embodiment, the classification method is based on the type of application, for example, the traffic is classified into video streaming, web browsing, file downloading, online games, etc. In another example, the traffic is classified according to priority. For example, traffic with high real-time requirements, such as voice calls, has a high priority, while traffic that is not sensitive to latency, such as file backup, has a low priority. Preferably, the traffic is divided into real-time traffic, such as video, voice, etc., and non-real-time traffic, such as file transfers, etc. After the traffic is classified, the arrival curve of each type of traffic is calculated, wherein the arrival curve is the amount of data of a certain type of traffic arriving at the network device over a period of time or at a certain moment. For example, one curve shows that the traffic rate is stable, and the other curve shows that the traffic rate fluctuates greatly or the traffic continues to increase. Figure 2 A schematic diagram of an arrival curve is shown. The arrival curve of each type of traffic may be calculated, in one embodiment, according to a coarse classification method, such as classifying the traffic into real-time traffic and non-real-time traffic, or according to a finer classification method, such as classifying the traffic according to source IP or source application, and then calculating the arrival curve of each type of traffic. There is no specific limitation on the classification method.
[0019] The arrival curve of the traffic is compared with the service rate of the network device such as a router or a switch. If the arrival rate of the traffic exceeds the service rate, it is predicted that congestion will occur. For example, if the traffic arriving in a certain time period far exceeds the amount that the router can handle, it will basically cause congestion. Moreover, different arrival curves lead to different degrees of congestion. In one embodiment, based on the arrival curve prediction of all traffic arriving at a device such as a router, an autoregressive integral moving average model or an exponential smoothing method is preferably used to predict the curve. If the predicted traffic continues to increase and the increase is large, the degree of congestion that may occur is large, otherwise the degree of congestion is small. In one embodiment, the degree of congestion is mild congestion, moderate congestion, and severe congestion.
[0020] In an optional embodiment, predicting the possible congestion degree according to the arrival curve and the service rate is specifically as follows: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Combine service rate and total arrival curve to predict queue length changes; The congestion degree is determined according to the predicted queue length change; the congestion degree is light congestion, moderate congestion, and severe congestion.
[0021] There are usually multiple types of traffic received by a device such as a router or switch, such as video streaming, web browsing, file downloading, etc. Each type of traffic has its own arrival pattern. In order to comprehensively consider the impact of all traffic on the device, the arrival curves of different types of traffic are superimposed to obtain a total arrival curve. This total arrival curve reflects the arrival rate of the sum of all traffic at different times. In one embodiment, the arrival curves of different types of traffic are predicted, such as Figure 3As shown, the predicted arrival curves are superimposed to obtain the total arrival curve. After obtaining the predicted total arrival curve, the change in the queue length is predicted by combining the service rate and the total arrival curve. Specifically, the obtained total arrival curve is compared with the service rate of a network device such as a router. If the total arrival rate exceeds the service rate, data packets will queue up in the device queue waiting to be processed. By comparing the difference between the total arrival rate and the service rate, the change trend of the queue length can be predicted. For example, if it is obtained from the total arrival curve that the traffic will increase significantly within the next 5 seconds while the service rate remains unchanged, it can be predicted that the queue length will also increase significantly. According to the predicted change in the queue length, the congestion level is divided into different grades. In one embodiment, if it is predicted that the queue length will exceed x1 data packets but not be greater than x2 data packets, it is a mild congestion; if it is predicted that the queue length will exceed x2 data packets but not be greater than x3 data packets, it is a moderate congestion; if it is predicted that the queue length will exceed x3 data packets, it is a severe congestion. Wherein, x1 < x2 < x3, and x1, x2, and x3 are positive integers. In another embodiment, when predicting the change in the queue length by combining the service rate and the total arrival curve, if the growth rate of the queue length is greater than the speed upper limit and the queue idle time is less than a certain value, it is a severe congestion; if the queue length increases but the growth rate is less than the speed lower limit and the queue idle time is less than a certain value, it is a mild congestion; if the queue length grows and the growth rate is between [the speed lower limit, the speed upper limit] and the queue idle time is less than a certain value, it is a moderate congestion. Wherein, a certain value is preferably 1 / 5 or 1 / 10 of the queue length.
[0022] In another embodiment, the superimposing of the arrival curves of different types of traffic is to superimpose the arrival curves of traffic with different source IPs, or to superimpose the arrival curves of traffic of different applications.
[0023] Different traffic types have different tolerances for network congestion. For example, real-time traffic such as video conferencing is very sensitive to latency. Once congestion occurs, it will cause obvious lags. For real-time traffic, a lower threshold for the explicit congestion notification (ECN) mark should be set to issue congestion notifications earlier to avoid obvious increases in latency. Non-real-time traffic such as file downloads is relatively insensitive to latency but sensitive to packet loss. For this type of traffic, the ECN mark threshold can be appropriately increased to allow a certain queuing latency to reduce the occurrence of packet loss. Figure 4 The figure shows a schematic diagram of the ECN mark thresholds for real-time traffic and non-real-time traffic. In one embodiment, the dynamic adjustment of the explicit congestion notification flag threshold by combining the traffic type and the arrival curve is specifically as follows: Determine the weight according to the traffic type and judge the average slope of the arrival curve; If the average slope is greater than the upper limit, lowering the explicit congestion notification marking threshold based on the baseline threshold according to the average slope and the weight; If the average slope is less than the lower limit, increasing the explicit congestion notification marking threshold based on the reference threshold according to the average slope and the weight; Otherwise, the base threshold is used as the display congestion notification mark threshold.
[0024] For different traffic types, corresponding weight values are pre-set, and the weight values reflect the sensitivity of this type of traffic to congestion. In a more specific embodiment, a higher weight is assigned to real-time traffic; a lower weight is assigned to non-real-time traffic. Preferably, the weight is greater than 0 and less than 1. The average slope of the arrival curve in a certain period of time closest to the current time is calculated according to the arrival curve. The average slope reflects the change trend of the traffic arrival rate. A positive slope indicates that the traffic is increasing, and a negative slope indicates that the traffic is decreasing. A reference threshold is pre-set as the initial value of the ECN marking threshold. If the average slope is greater than the upper limit, it indicates that the traffic arrival rate is increasing. At this time, the ECN marking threshold is reduced based on the average slope and the weight on the basis of the reference threshold, and the reduction is proportional to the average slope and the weight. The explicit congestion notification marking threshold is reduced based on the average slope and the weight on the basis of the reference threshold. In one embodiment, the new threshold is calculated as reference threshold-(average slope-upper limit)×weight×adjustment coefficient 1. If the average slope is less than the lower limit, it indicates that the traffic arrival rate is decreasing. At this time, the ECN marking threshold is increased based on the average slope and the weight on the basis of the reference threshold. The explicit congestion notification marking threshold is increased based on the reference threshold according to the average slope and the weight. In one embodiment, the new threshold is calculated as reference threshold - (average slope - lower limit) × (1 - weight) × adjustment factor 2. Otherwise, the reference threshold is used as the ECN marking threshold without adjustment. It should be noted that the above calculation method is only an example and does not constitute a limitation of the present invention.
[0025] The ECN marking threshold, i.e., the explicit congestion notification flag threshold, refers to the number of packets in the queue, i.e., if the number of packets in the queue is greater than the ECN marking threshold of a certain class or a certain flow, then the ECN marking is performed on the certain class or a certain flow. ECN is an extension of the IP protocol that allows network devices to notify the sender when congestion occurs without discarding packets. When a network device detects that congestion is about to occur, it will set an ECN mark in the IP header of the packet. After the receiving end receives the packet with the ECN mark, it will feed this information back to the sender. After receiving the feedback, the sender will actively reduce the sending rate to alleviate congestion.
[0026] Different traffic types are handled by packet loss or ECN marking for different congestion levels. Specifically, if the congestion is mild, the congestion notification flag of the data packet is marked when the queue length reaches the congestion notification flag threshold of the traffic type. If the congestion is moderate, when the queue delay exceeds the preset value, the congestion notification flag of the data packet is marked for the traffic that is sensitive to packet loss; for other traffic, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability; otherwise, for other traffic, the congestion notification flag of the data packet is marked; If there is severe congestion, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability.
[0027] In the case of mild congestion, the ECN mechanism is mainly used. Each traffic type has a congestion notification marking threshold. When the queue length reaches the threshold, the ECN mark bit is set for the newly arrived data packet.
[0028] If the congestion is moderate, determine whether the queue delay exceeds the preset value. If it exceeds the preset value, the real-time traffic that is sensitive to packet loss is preferred, and ECN marking is still preferred to avoid packet loss as much as possible. For other traffic, according to the preset packet loss rate of the traffic type, data packets are randomly discarded with a certain probability. For example, if the packet loss rate of a certain traffic type is 5%, about 5 packets are discarded out of every 100 packets. If the queue delay does not exceed the preset value, ECN is also marked for other traffic, that is, all traffic is marked with ECN. When the queue length reaches the threshold, the ECN mark bit is set for the newly arrived data packet.
[0029] In the case of severe congestion, packet loss is mainly used as a congestion control method. Specifically, data packets are randomly dropped with a certain probability according to the packet loss rate preset for the traffic type. The packet loss rates of different types of traffic are different. Preferably, the packet loss rate of real-time traffic is less than that of non-real-time traffic. For example, the packet loss rate of real-time traffic is 10%, and the packet loss rate of non-real-time traffic is 20%.
[0030] S3: When congestion is relieved, it first enters the slow start phase, combining the arrival curve and random jitter to control the growth of the congestion window; when the congestion window reaches the threshold, it enters the congestion avoidance phase.
[0031] When congestion is relieved, in one embodiment, the congestion state enters the non-congestion state and the slow start phase is entered first. Slow start is a recovery strategy that starts sending data at a lower rate and gradually increases the sending rate to avoid causing congestion again. The congestion window grows exponentially in the slow start phase. When the congestion window reaches a preset slow start threshold, the congestion avoidance phase is entered. The congestion window grows linearly in the congestion avoidance phase. For each RTT (round trip time) ACK received, the congestion window increases by 1 maximum segment size (MSS).
[0032] In one embodiment, the combination of the arrival curve and random jitter to control the growth of the congestion window is specifically as follows: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Calculate the average value of the total arrival curve in the next period of time, and use the ratio of the benchmark value to the average value as a weight; The weight is used to obtain a congestion window increment, a random number is generated using random jitter, and the sum of the congestion window increment and the random number is used as the final congestion window growth amount.
[0033] The arrival curves of different types of traffic are superimposed to obtain a total arrival curve. The average value of the total arrival curve in the next period of time is predicted. If the average value is less than the reference value, it means that the network load is low, which accelerates the growth of the congestion window, and vice versa. The ratio of the reference value to the average value is used as a weight. An embodiment of using the weight to obtain the congestion window increment is to multiply the traditional cwnd increment, for example, in the slow start phase, each time an ACK is received, cwnd increases by 1 MSS, by the calculated weight to obtain a new cwnd increment. Generate a small random number, where the random number can be positive or negative, and add the congestion window increment and the random number to obtain the final congestion window growth.
[0034] In another aspect of the present invention, a data center network congestion control system is provided, the system comprising: A congestion judgment module is used to judge whether congestion control is needed by monitoring the time that the data packet stays in the queue; The congestion relief module is used to classify traffic, calculate the arrival curve of each type of traffic, and predict the possible congestion level based on the arrival curve and service rate. It dynamically adjusts the explicit congestion notification marking threshold based on the traffic type and arrival curve, and selectively drops packets or explicitly marks congestion notifications based on the congestion level and traffic characteristics. The congestion window control module is used to enter the slow start phase after congestion is relieved, and control the growth of the congestion window by combining the arrival curve and random jitter; when the congestion window reaches the threshold, it enters the congestion avoidance phase.
[0035] Optionally, predicting the possible congestion degree according to the arrival curve and the service rate is specifically: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Combine service rate and total arrival curve to predict queue length changes; The congestion degree is determined according to the predicted queue length change; the congestion degree is light congestion, moderate congestion, and severe congestion.
[0036] Optionally, the dynamically adjusting the explicit congestion notification flag threshold in combination with the traffic type and the arrival curve is specifically: Determine the weight according to the traffic type and determine the average slope of the arrival curve; If the average slope is greater than the upper limit, lowering the explicit congestion notification marking threshold based on the baseline threshold according to the average slope and the weight; If the average slope is less than the lower limit, increasing the explicit congestion notification marking threshold based on the reference threshold according to the average slope and the weight; Otherwise, the base threshold is used as the display congestion notification mark threshold.
[0037] Optionally, the selective packet loss or explicit congestion notification marking based on the congestion degree and traffic characteristics is specifically: If the congestion is mild, the congestion notification flag of the data packet is marked when the queue length reaches the congestion notification marking threshold of the traffic type; If the congestion is moderate, when the queue delay exceeds the preset value, the congestion notification flag of the data packet is marked for the traffic that is sensitive to packet loss; for other traffic, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability; otherwise, for other traffic, the congestion notification flag of the data packet is marked; If there is severe congestion, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability.
[0038] Optionally, the combination of the arrival curve and random jitter to control the growth of the congestion window is specifically: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Calculate the average value of the total arrival curve in the next period of time, and use the ratio of the benchmark value to the average value as a weight; The weight is used to obtain a congestion window increment, a random number is generated using random jitter, and the sum of the congestion window increment and the random number is used as the final congestion window growth amount.
[0039] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0040] As another aspect, the present invention further provides a computer-readable medium, wherein the computer-readable medium carries one or more programs, and when the one or more programs are executed by a device or a processor, the method described in the first embodiment is implemented.
[0041] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A data center network congestion control method, characterized in that: The method comprises: Determine whether congestion control is needed by monitoring the time the data packet stays in the queue; If so, classify the traffic, calculate the arrival curve of each type of traffic, and predict the possible congestion level based on the arrival curve and service rate. Dynamically adjust the explicit congestion notification marking threshold based on the traffic type and arrival curve, and selectively drop packets or perform explicit congestion notification marking based on the congestion level and traffic characteristics; When congestion is relieved, the system first enters the slow start phase, combining the arrival curve and random jitter to control the growth of the congestion window; when the congestion window reaches the threshold, it enters the congestion avoidance phase.
2. The method according to claim 1, characterized in that The prediction of the possible congestion degree based on the arrival curve and the service rate is specifically as follows: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Combine service rate and total arrival curve to predict queue length changes; The congestion degree is determined according to the predicted queue length change; the congestion degree is light congestion, moderate congestion, and severe congestion.
3. The method according to claim 1, characterized in that The explicit congestion notification flag threshold is dynamically adjusted in combination with the traffic type and the arrival curve, specifically: Determine the weight according to the traffic type and determine the average slope of the arrival curve; If the average slope is greater than the upper limit, lowering the explicit congestion notification marking threshold based on the baseline threshold according to the average slope and the weight; If the average slope is less than the lower limit, increasing the explicit congestion notification marking threshold based on the reference threshold according to the average slope and the weight; Otherwise, the base threshold is used as the display congestion notification mark threshold.
4. The method according to claim 1, characterized in that The selective packet loss or explicit congestion notification marking based on the congestion level and traffic characteristics is specifically: If the congestion is mild, the congestion notification flag of the data packet is marked when the queue length reaches the congestion notification marking threshold of the traffic type; If the congestion is moderate, when the queue delay exceeds the preset value, the congestion notification flag of the data packet is marked for the traffic that is sensitive to packet loss; for other traffic, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability; otherwise, for other traffic, the congestion notification flag of the data packet is marked; If there is severe congestion, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability.
5. The method according to claim 1, characterized in that The combination of the arrival curve and random jitter to control the growth of the congestion window is specifically as follows: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Calculate the average value of the total arrival curve in the next period of time, and use the ratio of the benchmark value to the average value as a weight; The weight is used to obtain a congestion window increment, a random number is generated using random jitter, and the sum of the congestion window increment and the random number is used as the final congestion window growth amount.
6. A data center network congestion control system, characterized in that: The system comprises: A congestion judgment module is used to judge whether congestion control is needed by monitoring the time that the data packet stays in the queue; The congestion relief module is used to classify traffic, calculate the arrival curve of each type of traffic, and predict the possible congestion level based on the arrival curve and service rate. It dynamically adjusts the explicit congestion notification marking threshold based on the traffic type and arrival curve, and selectively drops packets or explicitly marks congestion notifications based on the congestion level and traffic characteristics. The congestion window control module is used to enter the slow start phase after congestion is relieved, and control the growth of the congestion window by combining the arrival curve and random jitter; when the congestion window reaches the threshold, it enters the congestion avoidance phase.
7. The system according to claim 6, characterized in that The prediction of the possible congestion degree based on the arrival curve and the service rate is specifically as follows: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Combine service rate and total arrival curve to predict queue length changes; The congestion degree is determined according to the predicted queue length change; the congestion degree is light congestion, moderate congestion, and severe congestion.
8. The system according to claim 6, characterized in that The explicit congestion notification flag threshold is dynamically adjusted in combination with the traffic type and the arrival curve, specifically: Determine the weight according to the traffic type and determine the average slope of the arrival curve; If the average slope is greater than the upper limit, lowering the explicit congestion notification marking threshold based on the baseline threshold according to the average slope and the weight; If the average slope is less than the lower limit, increasing the explicit congestion notification marking threshold based on the reference threshold according to the average slope and the weight; Otherwise, the base threshold is used as the display congestion notification mark threshold.
9. The system according to claim 6, characterized in that The selective packet loss or explicit congestion notification marking based on the congestion level and traffic characteristics is specifically: If the congestion is mild, the congestion notification flag of the data packet is marked when the queue length reaches the congestion notification marking threshold of the traffic type; If the congestion is moderate, when the queue delay exceeds the preset value, the congestion notification flag of the data packet is marked for the traffic that is sensitive to packet loss; for other traffic, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability; otherwise, for other traffic, the congestion notification flag of the data packet is marked; If there is severe congestion, the packet loss rate of the traffic is obtained according to the traffic type, and the data packets of the traffic are discarded according to the packet loss probability.
10. The system according to claim 6, characterized in that The combination of the arrival curve and random jitter to control the growth of the congestion window is specifically as follows: The arrival curves of different types of traffic are superimposed to obtain the total arrival curve; Calculate the average value of the total arrival curve in the next period of time, and use the ratio of the benchmark value to the average value as a weight; The weight is used to obtain a congestion window increment, a random number is generated using random jitter, and the sum of the congestion window increment and the random number is used as the final congestion window growth amount.
Citation Information
Patent Citations
Method and system for queue management in a packet-switched network
CN105684364A
Method and apparatus for preventing congestion of CPU messages
CN106559354A
Congestion control method and system based on path congestion degree grey prediction
CN114039922A
Lossless traffic congestion adaptive method, system and network equipment
CN114205302A
ECN marking strategy and queue management method and system based on congestion prediction
CN116170380A