Data center network load balancing method and related equipment

By monitoring the approach congestion time value of switches in the data center network and making rerouting decisions, the problem of existing technologies failing to effectively consider different congestion locations on the network path is solved, thus achieving efficient load balancing and lossless transmission performance improvement in the data center network.

CN121509338APending Publication Date: 2026-02-10湖南工商大学
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511791380.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-01
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Existing data center load balancing algorithms fail to effectively consider the impact of different congestion locations on the network path, resulting in transmission performance loss and network congestion spread. This is especially true in Ethernet remote direct memory access networks, where increased congestion leads to more frequent PFC pauses.

Method used

By monitoring the near-congestion time value of the switch, the data packet header is included, and the congestion location is determined at the destination switch. Based on the determination result, a rerouting decision is made to avoid path congestion and PFC pause. Leaf-Spine network topology and in-band network telemetry technology are used to record and compare data packet headers.

Benefits of technology

It effectively reduces overall traffic completion time and tail latency, improves the performance of lossless network transmission in data centers, reduces application response latency, and improves overall transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121509338A_ABST
    Figure CN121509338A_ABST
Patent Text Reader

Abstract

The invention provides a data center network load balancing method and related equipment, and the method comprises the steps: monitoring the approaching congestion time values of all switches, and directly putting the approaching congestion time value of a source switch into the head of an output data packet of the source switch; comparing the approaching congestion time value in the output data packet received by the intermediate switch with the approaching congestion time value of the intermediate switch, and putting the relatively small approaching congestion time value into the head of the output data packet of the intermediate switch; judging the congestion condition of the transmission data flow according to the approaching congestion time value in the output data packet received by the destination switch and the approaching congestion time value of the destination switch, and determining a rerouting decision result according to the judgment result; and rerouting the output data packet according to the rerouting decision result to obtain a data center network high-load balancing result, thereby improving the lossless network transmission performance of the data center, reducing the application response delay and improving the overall transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of new information technology services and software-defined networking technology, and in particular to a data center network load balancing method and related equipment. Background Technology

[0002] Data centers provide computing, storage, and networking services for distributed applications, including web search, high-performance computing, distributed storage, and distributed artificial intelligence training. As the performance of computing and storage devices continues to improve, network transmission performance between data center servers has become a bottleneck for system performance. Therefore, data centers are currently optimizing network transmission control and load balancing methods based on Software-defined Networking (SDN) and Programmable Data Plane (PDP) technologies to improve network transmission efficiency. Among these, Remote Direct Memory Access (RDMA) and Priority-based Flow Control (PFC) are commonly used to build lossless networks over Ethernet, providing higher transmission bandwidth and lower transmission latency. Remote Direct Memory Access (RDMA) technology allows local servers to directly access the memory of remote servers without operating system intervention, significantly reducing data access latency. Priority-based flow control mechanisms ensure lossless data transmission over Ethernet. Specifically, when the buffer of a downstream switch or receiver's RDMA network interface card (RNIC) exceeds a set threshold, it will automatically send a PEC pause / resume frame to the upstream device to pause / resume packet transmission from the upstream device, preventing packet loss due to buffer overflow in the downstream device.

[0003] Traditional data center load balancing algorithms control packet transmission paths using metrics such as link utilization, round-trip time (RTT), and explicit congestion notification (ECN). However, existing load balancing algorithms only consider congestion on different network paths, rerouting data flows from congested paths to other paths, but fail to consider the impact of different congestion locations on rerouting performance, thus impairing transmission performance. For example, if the congestion occurs at the source switch upstream, the rerouted data flow is likely to be on a new path with a faster transmission rate, which is beneficial to improving transmission performance. If the congestion occurs at the destination switch downstream, the rerouted data flow will be faster upstream, but still must be forwarded through the congested port of the destination switch, which will exacerbate congestion at that location, thus reducing overall transmission performance. Furthermore, in Ethernet remote direct memory access networks, the occurrence of PFC pauses triggered by increased congestion is significantly increased, which can easily lead to multiple link pauses and network congestion propagation, severely damaging network transmission performance. Summary of the Invention

[0004] This invention provides a data center network load balancing method and related equipment, the purpose of which is to improve the performance of lossless network transmission in data centers and reduce application response latency.

[0005] To achieve the above objectives, the present invention provides a data center network load balancing method, wherein the data center includes a source switch, intermediate switches, and a destination switch, comprising:

[0006] Monitor the approach congestion time values ​​of all switches, put the approach congestion time value of the source switch directly into the header of the source switch's output data packet, compare the approach congestion time value in the output data packet received by the intermediate switch with the approach congestion time value of the intermediate switch, and put the relatively smaller approach congestion time value into the header of the intermediate switch's output data packet.

[0007] The congestion status of the transmitted data stream is judged based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, and the rerouting decision result is determined based on the judgment result.

[0008] The output data packets are rerouted based on the rerouting decision results within the source switch to obtain a high load balancing result for the data center network.

[0009] Furthermore, monitor the approach congestion time values ​​of all switches, including:

[0010] Obtain the current queue length, ingress packet arrival rate, egress packet outgoing rate, and priority flow control threshold for each switch.

[0011] For each switch, the current queue length is weighted and averaged to obtain the current weighted average queue length for each switch.

[0012] For each switch, based on the rate of incoming packets at the ingress end, the rate of outgoing packets at the egress end, the priority flow control threshold, and the current weighted average queue length, calculate the time required for the switch to reach the priority flow control threshold, and use the time required to reach the priority flow control threshold as the approach congestion time value for each switch.

[0013] Furthermore, the expression for calculating the weighted average of the current queue length of the switch is as follows:

[0014] ;

[0015] in, This indicates the current weighted average queue length of the switch. Indicates the weighting coefficient. This indicates the current queue length of the switch.

[0016] Furthermore, based on the rate at which data packets arrive at the switch's ingress port, the rate at which data packets are sent from the egress port, the priority flow control threshold, and the current weighted average queue length, the expression for calculating the time required for the switch to reach the priority flow control threshold is as follows:

[0017] ;

[0018] in, This indicates the time required for the switch to reach the priority flow control threshold. This indicates the rate at which data packets arrive at the ingress port of the switch. This indicates the rate at which data packets arrive at the switch's egress point. This indicates the priority flow control threshold.

[0019] Furthermore, the congestion status of the transmitted data stream is determined based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, resulting in a judgment result, including:

[0020] The approach congestion time value in the output data packet received by the destination switch is compared with the approach congestion time value of the destination switch. If the minimum of the two is the approach congestion time value in the output data packet received by the destination switch, it is determined whether the approach congestion time value in the output data packet received by the destination switch is less than the preset path congestion time threshold. If the approach congestion time value in the output data packet received by the destination switch is less than the preset path congestion time threshold, the result is that the congestion occurs upstream of the transmission path.

[0021] The approach congestion time value in the output data packet received by the destination switch is compared with the approach congestion time value of the destination switch. If the minimum of the two is the approach congestion time value of the destination switch, it is determined whether the approach congestion time value of the destination switch is less than the preset path congestion time threshold. If the approach congestion time value of the destination switch is less than the preset path congestion time threshold, the result is that the congestion occurs downstream of the transmission path.

[0022] Furthermore, the rerouting decision result is determined based on the judgment result, including:

[0023] When the judgment result is that the congestion occurs upstream of the transmission path, the rerouting decision is to select the congested data flow with the same transmission path as the current data flow for rerouting of the data packets output by the source switch;

[0024] When the judgment result is that the congestion occurs downstream of the transmission path, the rerouting decision is to select the congested data flow with the same transmission path as the current data flow but a different destination IP for the data packets output by the source switch for rerouting.

[0025] Furthermore, during rerouting, activity level is used as an indicator for selecting congested data streams. The expression for calculating activity level is:

[0026]

[0027] in, Indicates activity level. Indicates the size of the congested data stream. Indicates the arrival rate of the congested data stream. This indicates the link bandwidth of the transmission path.

[0028] The present invention also provides a data center network load balancing device, wherein the data center includes a source switch, an intermediate switch, and a destination switch, comprising:

[0029] The queue monitoring module, comprising multiple modules, is deployed on the source switch, intermediate switch, and destination switch respectively. It is used to monitor the approach congestion time value of all switches, directly insert the approach congestion time value of the source switch into the header of the output data packet of the source switch, compare the approach congestion time value in the output data packet received by the intermediate switch with the approach congestion time value of the intermediate switch, and insert the relatively smaller approach congestion time value into the header of the output data packet of the intermediate switch.

[0030] The routing decision module, deployed on the destination switch, is used to judge the congestion status of the transmitted data stream based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, obtain the judgment result, and determine the rerouting decision result based on the judgment result.

[0031] The rerouting module, deployed on the source switch, is used to reroute output data packets within the source switch based on the rerouting decision results, thereby achieving high load balancing in the data center network.

[0032] The present invention also provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement a data center network load balancing method.

[0033] The present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements a data center network load balancing method.

[0034] The above-described solution of the present invention has the following beneficial effects:

[0035] This invention monitors the approach congestion time values ​​of all switches, directly inserts the approach congestion time value of the source switch into the header of the source switch's output data packet, compares the approach congestion time value in the output data packet received by intermediate switches with the approach congestion time value of the intermediate switches, and inserts the relatively smaller approach congestion time value into the header of the intermediate switch's output data packet; it judges the congestion status of the transmitted data stream based on the approach congestion time value in the output data packet received by the destination switch and the destination switch's approach congestion time value, obtains the judgment result, and determines the rerouting decision result based on the judgment result; within the source switch, the output data packet is rerouted according to the rerouting decision result, resulting in a high load balancing result for the data center network; compared with the prior art, this invention monitors the queue length at the switch's egress end to judge the congestion status of the transmitted data stream, and determines the rerouting decision based on the congestion status to reroute the data packet output by the source switch, avoiding path congestion and PFC pauses, and also avoiding downstream congestion-induced PFC pauses affecting the transmission of other upstream data streams, which can effectively reduce the overall traffic completion time and tail latency, thereby improving the lossless network transmission performance of the data center, reducing application response latency, and improving overall transmission efficiency.

[0036] Other beneficial effects of the present invention will be described in detail in the following detailed description section. Attached Figure Description

[0037] Figure 1 This is a flowchart illustrating an embodiment of the present invention;

[0038] Figure 2 This is a schematic diagram of the data stream transmission principle according to an embodiment of the present invention;

[0039] Figure 3 This is a schematic diagram of the data packet structure in an embodiment of the present invention;

[0040] Figure 4 This is a schematic diagram of a data center network load balancing device.

[0041] Figure 5 This is a schematic diagram of the structure of the terminal device in an embodiment of the present invention. Detailed Implementation

[0042] To make the technical problems, solutions, and advantages of this invention clearer, a detailed description will be provided below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0043] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a locking connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances.

[0044] Furthermore, the technical features involved in the different embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0045] This invention addresses existing problems by providing a data center network load balancing method and related equipment.

[0046] like Figure 1 As shown, an embodiment of the present invention provides a data center network load balancing method, wherein the data center includes a source switch, an intermediate switch, and a destination switch, comprising:

[0047] Monitor the approach congestion time values ​​of all switches, put the approach congestion time value of the source switch directly into the header of the source switch's output data packet, compare the approach congestion time value in the output data packet received by the intermediate switch with the approach congestion time value of the intermediate switch, and put the relatively smaller approach congestion time value into the header of the intermediate switch's output data packet.

[0048] The congestion status of the transmitted data stream is judged based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, and the rerouting decision result is determined based on the judgment result.

[0049] The output data packets are rerouted based on the rerouting decision results within the source switch to obtain a high load balancing result for the data center network.

[0050] In embodiments of the present invention, such as Figure 2 The data flow transmission diagram shown adopts the Leaf-Spine network topology used in data centers. The switches are programmable network data plane switches. For each data packet entering the network, the switches can be divided into source switches, intermediate switches, and destination switches based on the data packet transmission direction and network location. Figure 2The example shows a data packet transmission direction from left to right. For data packets transmitted in the opposite direction (i.e., from right to left), the source switch is used as the destination switch for the data packets transmitted in the opposite direction, and the destination switch is used as the source switch for the data packets transmitted in the opposite direction. It should be noted that the embodiments of the present invention do not limit the number of intermediate switches. The data flow of the source switch can be transmitted to the destination switch through any intermediate switch. The embodiments of the present invention use three intermediate switches as an example to facilitate the description of the data flow transmission principle of the high load balancing method for data center networks.

[0051] Specifically, monitor the approach congestion time values ​​of all switches, including:

[0052] Obtain the current queue length, ingress packet arrival rate, egress packet outgoing rate, and priority flow control threshold for each switch.

[0053] For each switch, the current queue length is weighted and averaged to obtain the current weighted average queue length for each switch.

[0054] For each switch, based on the rate of incoming packets at the ingress end, the rate of outgoing packets at the egress end, the priority flow control threshold, and the current weighted average queue length, calculate the time required for the switch to reach the priority flow control threshold, and use the time required to reach the priority flow control threshold as the approach congestion time value for each switch.

[0055] Furthermore, the expression for calculating the weighted average of the current queue length of the switch is as follows:

[0056] (1)

[0057] in, This indicates the current weighted average queue length of the switch. Indicates the weighting coefficient. This indicates the current queue length of the switch.

[0058] Specifically, based on the rate at which data packets arrive at the ingress port of the switch, the rate at which data packets are sent out at the egress port, the priority flow control threshold, and the current weighted average queue length, the expression for calculating the time required for the switch to reach the priority flow control threshold is as follows:

[0059] (2)

[0060] in, This indicates the time required for the switch to reach the priority flow control threshold. This indicates the rate at which data packets arrive at the ingress port of the switch. This indicates the rate at which data packets arrive at the switch's egress point. This indicates the priority flow control threshold.

[0061] First, the sending end sends data packets to the receiving end, and in-band network telemetry technology is deployed on each programmable switch to continuously monitor the queue length;

[0062] When a data packet passes through the source switch, the switch can obtain the current queue length and calculate the time required for the switch to reach the priority flow control threshold using the above formulas (1) and (2). and the time required for this priority flow control threshold. The approach congestion time value is written to the header of the data packet;

[0063] When a data packet arrives at an intermediate switch, the approach congestion time value of the intermediate switch is compared with the approach congestion time value in the received output data packet. If the approach congestion time value in the received output data packet is relatively smaller, the approach congestion time value in the received output data packet is retained. If the approach congestion time value of the intermediate switch is relatively smaller, the approach congestion time value in the received output data packet is replaced with the approach congestion time value of the intermediate switch.

[0064] This invention embodiment is based on in-band network telemetry technology, and uses an additional 16 bytes after the normal header of the data packet to record the approach congestion time value.

[0065] Specifically, the congestion status of the transmitted data stream is determined based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, and the determination result is obtained, including:

[0066] The approach congestion time value in the output data packet received by the destination switch is compared with the approach congestion time value of the destination switch. If the minimum of the two is the approach congestion time value in the output data packet received by the destination switch, it is determined whether the approach congestion time value in the output data packet received by the destination switch is less than the preset path congestion time threshold. If the approach congestion time value in the output data packet received by the destination switch is less than the preset path congestion time threshold, the result is that the congestion occurs upstream of the transmission path.

[0067] The approach congestion time value in the output data packet received by the destination switch is compared with the approach congestion time value of the destination switch. If the minimum of the two is the approach congestion time value of the destination switch, it is determined whether the approach congestion time value of the destination switch is less than the preset path congestion time threshold. If the approach congestion time value of the destination switch is less than the preset path congestion time threshold, the result is that the congestion occurs downstream of the transmission path.

[0068] Specifically, the rerouting decision is determined based on the judgment results, including:

[0069] When the judgment result is that the congestion occurs upstream of the transmission path, the rerouting decision is to select the congested data flow with the same transmission path as the current data flow for rerouting of the data packets output by the source switch;

[0070] When the judgment result is that the congestion occurs downstream of the transmission path, the rerouting decision is to select the congested data flow with the same transmission path as the current data flow but a different destination IP for the data packets output by the source switch for rerouting.

[0071] In this embodiment of the invention, downstream of the transmission path refers to the forwarding port of the destination switch.

[0072] It should be noted that the rerouting decision result is returned from the destination switch to the source switch in the form of an announcement packet to notify the source switch to reroute the congested data flow.

[0073] In this embodiment of the invention, in order to reroute congested data flows before the destination switch triggers PFC pause, a path congestion time threshold is set. Set as ,in This represents the hop count from the destination switch to the source switch. This is a single-hop delay.

[0074] In this embodiment of the invention, the notification packet can be processed by a programmable switch to remove its data portion, leaving only the header field and exchanging its source and destination IP addresses. Additionally, two fields, a congestion flag and a data flow number, are added, with the format as follows: Figure 3 As shown: (1) Congestion Tag, which occupies 2 bits, uses two reserved bits of the BTH Header field. Since the reserved bits are set to 0 by default by the sender, two non-zero values ​​are used to distinguish between the advertisement packet and the normal data packet. 10 indicates upstream congestion, notifying the source switch to reroute the congested data flow with the same path as the data flow. 01 indicates downstream congestion, notifying the source switch to reroute the congested data flow with the same path as the data flow but with a different destination IP. (2) Flow ID, which occupies 16 bits, i.e. the data flow ID of the data packet monitored by the destination switch.

[0075] In this embodiment of the invention, the source switch not only maintains the data flow IP address path table src-IP-latency(flowID, IP, pathID), where flowID is the data flow number, IP is the destination IP address of the data flow, and pathID is used to uniquely identify the forwarding path of the current data flow; it also maintains the data flow activity table src-ac(flowID, H), where flowID is the same as the data flow IP address path table, and H is the activity level of each data flow; it also maintains the path delay status table path-delay-state(pathID, delay, state), where pathID is the path ID, delay is the path delay measured based on INT, and state is the path status, which defaults to 0. If the current path is in a PFC paused state, state is marked as 1; if the current path receives a PFC recovery frame, state is marked as 0.

[0076] Therefore, in this embodiment of the invention, when performing rerouting, activity level is used as an indicator for selecting congested data flows. The expression for calculating activity level is as follows:

[0077]

[0078] in, Indicates activity level. Indicates the size of the congested data stream. Indicates the arrival rate of the congested data stream. This indicates the link bandwidth of the transmission path.

[0079] In this embodiment of the invention, when selecting a congested data flow, the most active data flow is chosen from the set of rerouting data flows. Since the arrival rate of short data flows is generally higher than that of long data flows, while the data volume of long data flows is greater than that of short data flows, both long and short data flows may have the opportunity to switch paths according to the above-mentioned activity calculation expression. Based on the local monitoring information of the switch, the path with the least latency and detected PFC pause is selected as the rerouting path.

[0080] In summary, in this embodiment of the invention, when the source switch receives an advertisement packet, it first parses the packet to obtain the Flow ID, Congestion Tag, and source IP address of the advertisement packet. Based on the Flow ID, it queries the src-IP-latency(flowID, IP, pathID) table to obtain the current forwarding path of the data flow identified by the advertisement packet. If the congestion tag is 10, it filters out the set of data flows with the same path as the data flow; if the rerouting tag is 01, it filters out the set of data flows with the same path but different destination IPs. This set of congested data flows is denoted as flowSet. Then, based on the data flow activity table src-ac(flowID, H), it selects the data flow with the highest activity H from the flowSet as the congested data flow. It then queries the path delay state table path-delay-state(pathID, delay, state) to select the path with the smallest path delay and a state of 0 from all paths, and reroutes the congested data flow to that path.

[0081] This invention monitors the approach congestion time values ​​of all switches, directly inserts the approach congestion time value of the source switch into the header of the source switch's output data packet, compares the approach congestion time value in the output data packet received by intermediate switches with the approach congestion time value of the intermediate switches, and inserts the smaller approach congestion time value into the header of the intermediate switch's output data packet; based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, the congestion status of the transmitted data stream is judged, a judgment result is obtained, and a rerouting decision result is determined based on the judgment result; at the source switch... The internal system reroutes the output data packets based on the rerouting decision results to obtain a high load balancing result for the data center network. Compared with the prior art, this embodiment of the invention monitors the queue length at the switch's egress end to determine the congestion status of the transmitted data stream, and determines the rerouting decision based on the congestion status to reroute the data packets output by the source switch. This avoids path congestion and PFC pauses, and also avoids downstream congestion-induced PFC pauses affecting the transmission of other upstream data streams. This can effectively reduce the overall traffic completion time and tail latency, thereby improving the lossless network transmission performance of the data center, reducing application response latency, and improving overall transmission efficiency.

[0082] Corresponding to the data center network load balancing method described in the above embodiments, such as Figure 4 As shown, this embodiment of the invention also provides a data center network load balancing device 100. The data center includes a source switch, intermediate switches, and a destination switch. The data center network load balancing device 100 includes:

[0083] The queue monitoring module 101, comprising multiple modules, is deployed on the source switch, intermediate switch, and destination switch respectively. It is used to monitor the approach congestion time value of all switches, directly put the approach congestion time value of the source switch into the header of the output data packet of the source switch, compare the approach congestion time value in the output data packet received by the intermediate switch with the approach congestion time value of the intermediate switch, and put the relatively smaller approach congestion time value into the header of the output data packet of the intermediate switch.

[0084] The routing decision module 102 is deployed on the destination switch. It is used to judge the congestion status of the transmitted data stream based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, obtain the judgment result, and determine the rerouting decision result based on the judgment result.

[0085] The rerouting module 103, deployed in the source switch, is used to reroute output data packets within the source switch based on the rerouting decision results, thereby obtaining a high load balancing result for the data center network.

[0086] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0087] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0088] This invention also provides a terminal device, such as... Figure 5 As shown, the terminal device D10 of this embodiment includes: at least one processor D100 ( Figure 5The diagram shows only one processor, a memory D101, and a computer program D102 stored in the memory D101 and executable on the at least one processor D100. When the processor D100 executes the computer program D102, it implements the data center network load balancing method described above.

[0089] The terminal device D10 can be a desktop computer, laptop, handheld computer, server, server cluster, or cloud server, etc. This terminal device may include, but is not limited to, a processor D100 and a memory D101. Those skilled in the art will understand that... Figure 5 This is merely an example of terminal device D10 and does not constitute a limitation on terminal device D10. It may include more or fewer components than shown in the figure, or combine certain components, or different components, such as input / output devices, network access devices, etc.

[0090] The processor D100 can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0091] In some embodiments, the memory D101 may be an internal storage unit of the terminal device D10, such as a hard disk or memory of the terminal device D10. In other embodiments, the memory D101 may be an external storage device of the terminal device D10, such as a plug-in hard disk, smart media card (SMC), secure digital card (SD), flash card, etc., equipped on the terminal device D10. Furthermore, the memory D101 may include both internal and external storage units of the terminal device D10. The memory D101 is used to store the operating system, applications, bootloader, data, and other programs, such as the program code of the computer program. The memory D101 can also be used to temporarily store data that has been output or will be output.

[0092] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0093] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0094] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements a data center network load balancing method.

[0095] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code to a building device / terminal device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks.

[0096] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A data center network load balancing method, wherein the data center includes a source switch, intermediate switches, and a destination switch, characterized in that, include: Monitor the approach congestion time values ​​of all switches, directly put the approach congestion time value of the source switch into the header of the output data packet of the source switch, compare the approach congestion time value in the output data packet received by the intermediate switch with the approach congestion time value of the intermediate switch, and put the relatively smaller approach congestion time value into the header of the output data packet of the intermediate switch. The congestion status of the transmitted data stream is judged based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, and the judgment result is obtained. The rerouting decision result is determined based on the judgment result. The output data packets are rerouted within the source switch according to the rerouting decision result to obtain the high load balancing result of the data center network.

2. The data center network load balancing method according to claim 1, characterized in that, Monitor the approach congestion time values ​​of all switches, including: Obtain the current queue length, ingress packet arrival rate, egress packet outgoing rate, and priority flow control threshold for each switch. For each switch, the current queue length of the switch is weighted and averaged to obtain the current weighted average queue length of each switch. For each switch, based on the rate of incoming packets at the ingress end, the rate of outgoing packets at the egress end, the priority flow control threshold, and the current weighted average queue length, the time required for the switch to reach the priority flow control threshold is calculated, and the time required to reach the priority flow control threshold is used as the approach congestion time value for each switch.

3. The data center network load balancing method according to claim 2, characterized in that, The weighted average calculation expression for the current queue length of the switch is as follows: ; in, This indicates the current weighted average queue length of the switch. Indicates the weighting coefficient. This indicates the current queue length of the switch.

4. The data center network load balancing method according to claim 3, characterized in that, Based on the ingress packet arrival rate, egress packet outgoing rate, priority flow control threshold, and current weighted average queue length of the switch, the calculation expression for the time required for the switch to reach the priority flow control threshold is as follows: ; in, This indicates the time required for the switch to reach the priority flow control threshold. This indicates the rate at which data packets arrive at the ingress port of the switch. This indicates the rate at which data packets arrive at the switch's egress point. This indicates the priority flow control threshold.

5. The data center network load balancing method according to claim 1, characterized in that, The congestion status of the transmitted data stream is determined based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, and the determination result is obtained, including: The approach congestion time value in the output data packet received by the destination switch is compared with the approach congestion time value of the destination switch. If the minimum of the two is the approach congestion time value in the output data packet received by the destination switch, it is determined whether the approach congestion time value in the output data packet received by the destination switch is less than a preset path congestion time threshold. If the approach congestion time value in the output data packet received by the destination switch is less than the preset path congestion time threshold, the determination result is that congestion occurs upstream of the transmission path. The approach congestion time value in the output data packet received by the destination switch is compared with the approach congestion time value of the destination switch. If the minimum of the two is the approach congestion time value of the destination switch, it is determined whether the approach congestion time value of the destination switch is less than a preset path congestion time threshold. If the approach congestion time value of the destination switch is less than the preset path congestion time threshold, the determination result is that congestion occurs downstream of the transmission path.

6. The data center network load balancing method according to claim 5, characterized in that, The rerouting decision result is determined based on the judgment result, including: When the judgment result is that congestion occurs upstream of the transmission path, the rerouting decision is determined to be that the data packets output by the source switch select the congested data stream with the same transmission path as the current data stream for rerouting; When the judgment result is that the congestion occurs downstream of the transmission path, the rerouting decision is determined to reroute the congested data flow that is on the same transmission path as the current data flow but has a different destination IP, and the data packets output by the source switch are selected for rerouting.

7. The data center network load balancing method according to claim 6, characterized in that, When performing rerouting, activity level is used as an indicator for selecting congested data streams. The expression for calculating activity level is as follows: ; in, Indicates activity level. Indicates the size of the congested data stream. Indicates the arrival rate of the congested data stream. This indicates the link bandwidth of the transmission path.

8. A data center network load balancing device, wherein the data center includes a source switch, intermediate switches, and a destination switch, characterized in that, include: The queue monitoring module, comprising multiple modules, is deployed on the source switch, intermediate switch, and destination switch respectively. It is used to monitor the approach congestion time value of all switches, directly insert the approach congestion time value of the source switch into the header of the output data packet of the source switch, compare the approach congestion time value in the output data packet received by the intermediate switch with the approach congestion time value of the intermediate switch, and insert the relatively smaller approach congestion time value into the header of the output data packet of the intermediate switch. The routing decision module, deployed on the destination switch, is used to judge the congestion status of the transmitted data stream based on the approach congestion time value in the output data packet received by the destination switch and the approach congestion time value of the destination switch, obtain the judgment result, and determine the rerouting decision result based on the judgment result. The rerouting module, deployed on the source switch, is used to reroute the output data packets within the source switch according to the rerouting decision result, thereby obtaining the high load balancing result of the data center network.

9. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the data center network load balancing method as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the data center network load balancing method as described in any one of claims 1 to 7.