Load balancing method based on Internet of Things flow distinguishing and dynamic streaming timeout in data center
By setting up congestion detection, traffic separation and rerouting modules in the edge switch of the data center, identifying and separating congested traffic and dynamically adjusting the timeout of the streamer, the congestion and packet out-of-order problems caused by insufficient traffic distinction in the data center are solved, and the problem of congestion and packet out-of-order caused by insufficient traffic distinction in the data center is improved. Network performance and stream completion time.
Patent Information
- Application Number
- CN202411449951.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2044-10-17
AI Technical Summary
The existing data center load balancing mechanism fails to effectively distinguish traffic in multi-path transmission scenarios, resulting in hash conflicts, congestion hotspots, out-of-order packets and increased flow completion time.
Set up a congestion detection module, traffic separation module and traffic rerouting module in the edge switch of the data center. By monitoring the queue length and five-tuple information, identify congestion traffic, separate and rerout harmful traffic to non-congested paths, and dynamically adjust the flowsheet timeout To avoid out-of-order packets.
It effectively reduces queue delay and tail completion time, prevents congestion from spreading, improves link utilization and network performance, and reduces flow completion time.
Smart Images

Figure CN119276793A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Internet of Things control technology, and in particular to a load balancing method based on Internet of Things traffic differentiation and dynamic chip flow timeout in a data center. Background Art
[0002] Due to the strict requirements of various data center applications such as high-performance computing, big data and the Internet of Things for low latency and high throughput, it is crucial to provide high-performance network services in data centers. Modern data center networks widely adopt multi-root tree network topology to establish multiple parallel paths between host pairs and provide high-bandwidth network transmission capabilities. Load balancing mechanism plays a vital role in data center networks, which can make full use of the multi-path characteristics of data center networks to achieve high-performance network transmission.
[0003] In order to enhance the performance in multi-path transmission scenarios, various load balancing mechanisms have been proposed to improve the transmission performance of the network. Among them, Equal Cost Multi-Path (ECMP) is the most widely used load balancing mechanism. It uses a hash algorithm to randomly select the forwarding path of IoT mixed traffic and balance different traffic to multiple parallel paths to reduce network congestion. However, ECMP fails to utilize the network congestion information and traffic characteristics, and is prone to hash conflicts, exacerbating network congestion hotspots and wasting network bandwidth.
[0004] In order to solve the hash collision and congestion hotspot problems in ECMP, many enhanced load balancing mechanisms have been proposed. In contrast, these solutions use useful information on the network, such as: Distributed Congestion-Aware Load Balancing (CONGA) selects the best transmission path for data flows by collecting global congestion information in real time; Micro Load Balancing (DRILL) uses queue information of local switches to select forwarding ports based on queue length; Elastic Load Balancing (Hermes) detects global congestion and performs rerouting based on path conditions and data flow status. These methods effectively solve the hash collision problem, reduce path congestion to a certain extent, and improve network performance by making full use of information on multiple paths. However, although the existing load balancing mechanisms have excellent performance in many aspects, they have some obvious shortcomings, namely, after sensing congestion, they do not distinguish the traffic that really needs to be rerouted, and directly reroute all the traffic on the congested path. This coarse-grained rerouting mechanism cannot really solve the path congestion efficiently, because when the traffic that causes path congestion (referred to as: congested traffic) is rerouted, they may cause congestion propagation and affect other propagation paths, and cannot solve the congestion hotspot. In addition, it will increase the queuing delay of some flows, resulting in an increase in flow completion time. There is also an important problem that these coarse-grained schemes usually lead to low link utilization. There are also existing schemes based on fine-grained packets and flow-chip load balancing mechanisms (English abbreviation: LetFlow). Fine-grained packets can effectively utilize multiple parallel paths, but they are prone to packet reordering problems. The switching granularity of LetFlow is between the above two categories, which can reduce packet reordering while taking into account link utilization. However, how to reasonably divide traffic into flow slices and forward them to appropriate paths is still a technical problem. Summary of the invention
[0005] In order to solve the problem that the existing data center load balancing mechanism has invalid rerouting due to the lack of traffic differentiation, resulting in congestion spread, data packet disorder, and increased average flow completion time, the present invention provides a load balancing method based on Internet of Things traffic differentiation and dynamic chip timeout in a data center.
[0006] In order to solve the above technical problems, the present invention adopts the following technical method: a load balancing method based on IoT traffic differentiation and dynamic chip timeout in a data center:
[0007] A congestion detection module, a traffic separation module and a traffic rerouting module are set in all edge switches directly connected to the server; the congestion detection module is used to detect the queue length of the switch and determine whether the path is congested according to the queue length; the traffic separation module is used to separate the congested traffic that causes congestion on the congested path from the harmless traffic that needs to be rerouted; the traffic rerouting module is used to convert the harmless traffic from the congested path to other parallel non-congested paths;
[0008] The edge switch directly connected to the receiving server, i.e. the destination switch, performs the following tasks:
[0009] Step S101: The congestion detection module continuously monitors the path queue length to determine whether the queue length exceeds the congestion threshold. If so, the path is marked as a congested path and the process goes to step S102; otherwise, no mark is made and the traffic on the path is sent normally along the original path.
[0010] Step S102, enable the traffic separation module, mark the traffic on the congested path as congested traffic and record the congested traffic in the hash array using the five-tuple information, then determine whether the traffic that arrives on the congested path subsequently exists in the hash array, if so, mark the traffic as congested traffic; otherwise, mark the traffic as harmless traffic, and notify the source switch to reroute the harmless traffic;
[0011] The edge switch directly connected to the sending server, i.e. the source switch, performs the following tasks:
[0012] Step S201: The traffic rerouting module determines the type of traffic to be sent according to the traffic tag. If it is harmless traffic, the process goes to step S202; if it is congested traffic, the original path is maintained and the traffic is sent at a reduced speed.
[0013] Step S202, the traffic rerouting module continuously monitors whether the interval between packets of the traffic exceeds the dynamic rerouting threshold, if so, proceeds to step S203; otherwise, continues monitoring;
[0014] Step S203: The traffic rerouting module selects a path with a minimum delay according to the continuously monitored path delay to forward the data packet;
[0015] Step S204, determine whether the data packet has been sent, if so, end the current stream sending; otherwise, go to step S203.
[0016] Furthermore, in step S102:
[0017] A hash array is used to distinguish congested traffic and harmless traffic in the switch. The hash array includes a hash value that records traffic five-tuple information and a congestion label in the packet header. The five-tuple information is the source IP address, destination IP address, source port number, destination port number, and protocol type of the switch. When the congestion label is true or false, it indicates that the traffic is congested traffic or harmless traffic, respectively.
[0018] When the destination switch detects path congestion, the traffic separation module will first mark all traffic on the congested path as congested traffic and record it in the hash array, and then perform a hash operation on the subsequent traffic arriving on the congested path, and check whether the subsequent traffic exists in the hash array based on the calculated hash value. If so, the traffic is determined to be congested traffic, and the congestion label corresponding to the traffic is updated to true; otherwise, the traffic is determined to be harmless traffic, and the congestion label corresponding to the traffic is updated to false, notifying the source switch to reroute the harmless traffic.
[0019] Furthermore, in step S203, the monitoring process of the path delay is:
[0020] Instruct all edge switches to periodically send detection data packets to upper-layer switches at a specific frequency. The detection data packets traverse all available paths, and each time they reach a switch, the ID of the switch is added to the detection data packet. After reaching the end of the path, the detection data packet includes: the ID of the edge switch that sent the detection data packet, the ID of the switch that the detection data packet passes through, and a timestamp field indicating the time when the detection data packet was sent. Finally, the edge switch that receives the detection data packet determines the delays and IDs of different paths based on the information in the detection data packet, including the minimum delay, the maximum delay, the ID of the fastest path corresponding to the minimum delay, and the ID of the slowest path corresponding to the maximum delay.
[0021] Furthermore, in step S202, the dynamic rerouting threshold is determined by the following method:
[0022] 1) Maintaining a delay table on each edge switch, wherein the delay table includes a minimum delay, a maximum delay, and hash values corresponding to the fastest path and the slowest path respectively;
[0023] 2) Maintaining a timeout table on each edge switch, wherein the timeout table includes the chip timeout and the fastest path information between the edge switch pairs, wherein the chip timeout is equal to the difference between the maximum delay and the minimum delay of the path, and the fastest path information includes the next hop information of the fastest path;
[0024] 3) When the edge switch receives a detection data packet, it first calculates the hash value of the path and the path delay of the detection data packet. If the path is the same as the fastest path or the slowest path recorded in the delay table, the minimum delay or the maximum delay corresponding to the path is updated; otherwise, the path delay is compared with the minimum delay and the maximum delay to update the delay table; if the minimum delay or the maximum delay changes, the tape-out timeout and the next hop information of the fastest path are updated; the dynamically changing tape-out timeout value is taken as the dynamic rerouting threshold of the edge switch pair.
[0025] Furthermore, in step S101, the congestion detection module uses the DCTCP algorithm to determine whether the path is congested. Specifically, the edge switch establishes a queue for each port to store received data packets, and pre-sets a congestion threshold Φ for the queue. The congestion detection module periodically checks the queue length of the edge switch. When the queue length exceeds the congestion threshold Φ, it is determined that the path is congested.
[0026] Preferably, the congestion threshold Φ is half of the edge switch port queue capacity.
[0027] The load balancing method based on IoT traffic differentiation and dynamic chip timeout in the data center provided by the present invention can flexibly select an ideal path for harmless traffic by distinguishing harmless traffic that needs to be rerouted, and effectively adjust the traffic on the congested path. On the one hand, the present invention effectively reduces severe queuing and tail FCT by identifying the flow that really needs to be rerouted and rerouting it to other better parallel paths. On the other hand, by distinguishing congested traffic, the present invention effectively prevents congested traffic from being rerouted to other paths, causing congestion to spread and affecting the normal transmission of other paths, and prevents rerouting from increasing the chance of disorder and increasing FCT. In addition, the present invention tracks the delay difference between multiple paths connecting the switch pair, calculates the dynamic rerouting threshold of each pair of switches according to the dynamic delay difference, and detects the packet interval of the harmless flow. If it exceeds the rerouting threshold, rerouting is performed, thereby effectively avoiding the severe packet disorder caused by fine-grained rerouting. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 It is a flow chart of a load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center involved in the present invention;
[0029] Figure 2 A topological diagram of a performance test scenario in an embodiment of the present invention;
[0030] Figure 3Schematic diagram of performance test results under web search and data mining workloads in a symmetric network topology in an embodiment of the present invention (wherein (a) is the average flow completion time under the web search workload, (b) is the 95th percentile flow completion time under the web search workload, (c) is the 99th percentile flow completion time under the web search workload, (d) is the average flow completion time under the data mining workload, (e) is the 95th percentile flow completion time under the data mining workload, and (f) is the 99th percentile flow completion time under the data mining workload);
[0031] Figure 4 Schematic diagram of performance test results under web search and data mining workloads in an asymmetric network topology in an embodiment of the present invention (wherein (a) is the average flow completion time under the web search workload, (b) is the 95th percentile flow completion time under the web search workload, (c) is the 99th percentile flow completion time under the web search workload, (d) is the average flow completion time under the data mining workload, (e) is the 95th percentile flow completion time under the data mining workload, and (f) is the 99th percentile flow completion time under the data mining workload). DETAILED DESCRIPTION
[0032] In order to facilitate the understanding of those skilled in the art, the present invention is further described below in conjunction with embodiments and drawings. The contents mentioned in the implementation modes are not intended to limit the present invention.
[0033] In data center networks, load balancing mechanisms are widely deployed to improve link utilization and alleviate congestion. As mentioned in the previous background technology, a large number of load balancing methods have been proposed to disperse traffic among multiple parallel paths. Once all flows experience congestion on the path, the existing solutions make rerouting decisions for them. They do not distinguish between flows that really need to be rerouted and flows that may be negatively affected by rerouting, resulting in frequent and invalid rerouting. Fine-grained rerouting can also cause serious packet reordering, especially in asymmetric topology scenarios. In order to solve the above problems, the present invention proposes a load balancing method based on IoT traffic differentiation and dynamic chip timeout in a data center. The method aims to distinguish flows that must be rerouted and reroute traffic in a fine-grained manner without packet recoding. Further, the present invention distinguishes traffic that must be rerouted by five-tuple information and selects the optimal path for rerouting. In order to prevent serious packet rereading caused by excessive path delay differences, the present invention dynamically adjusts the chip timeout, segments the traffic, and selects the optimal path for rerouting.
[0034] Specifically, the load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center provided by the present invention (hereinafter referred to as: TDLB) is configured with a congestion detection module, a traffic separation module and a traffic rerouting module in all edge switches directly connected to the server; the congestion detection module is used to detect the queue length of the switch and determine whether the path is congested according to the queue length; the traffic separation module is used to separate the congested traffic that causes congestion on the congested path from the harmless traffic that needs to be rerouted; and the traffic rerouting module is used to convert the harmless traffic from the congested path to other parallel non-congested paths.
[0035] Reference Figure 1 , the working process of the method involved in the present invention is as follows:
[0036] The edge switch directly connected to the receiving server, i.e. the destination switch, performs the following tasks:
[0037] Step S101: congestion detection.
[0038] The congestion detection module uses the DCTCP algorithm to determine whether the path is congested. The edge switch establishes a queue for each port to store received data packets and pre-sets a congestion threshold Φ for the queue. The congestion threshold Φ is half of the edge switch port queue capacity. The congestion detection module periodically checks the queue length of the edge switch. When the queue length exceeds the congestion threshold Φ, it is determined that the path is congested. At this time, the path is marked as a congested path and the process goes to step S102. If the queue length does not exceed the congestion threshold Φ, it is determined that the path is not congested. The path is not marked and the traffic on the path is sent normally along the original path.
[0039] Step S102: flow separation.
[0040] Existing load balancing mechanisms cannot distinguish traffic in congested situations, and coarse-grained routing will lead to increased flow completion time (FCT) and tail latency. Inspired by distinguishing long flows from short flows to reduce the FCT of short flows, the present invention distinguishes congested flows from harmless flows and performs fine-grained processing based on flow characteristics. When congestion is detected, the traffic that really needs to be rerouted is distinguished to achieve separation of congested flows and harmless flows.
[0041] Specifically, the present invention identifies the traffic that causes congestion by analyzing traffic characteristics and using traffic statistics. First, it is necessary to establish classification rules for the traffic in the edge switch and classify it according to the traffic characteristics. In the present invention, the traffic is distinguished by five-tuple information (source IP address of the switch, destination IP address, source port number, destination port number, protocol type). In the present invention, a hash array for distinguishing congested traffic is developed to record the hash value of the traffic five-tuple information and the congestion label of the data packet header. When the congestion label is true or false, it means that the traffic is congested traffic or harmless traffic, respectively.
[0042] When path congestion is detected, the traffic separation module of the destination switch will first mark all traffic on the congested path as congested traffic and record it in the hash array, and then perform a hash operation on the subsequent traffic arriving on the congested path, and check whether the subsequent traffic arriving exists in the hash array based on the calculated hash value. If so, the traffic is determined to be congested traffic, and the congestion label corresponding to the traffic is updated to true; otherwise, the traffic is determined to be harmless traffic, and the congestion label corresponding to the traffic is updated to false, notifying the source switch to reroute the harmless traffic.
[0043] Regarding the rerouting that is really necessary:
[0044] The rerouting rule plays a vital role in the performance of the load balancing mechanism. It ensures high-reliability transmission of the network by reselecting other parallel paths in the network. When the link is congested or the network topology changes, the switch will automatically select the route. The switch maintains a routing table for storing routing information in the network. When a link fails or the network topology changes, the switch will update the routing table accordingly to reflect the new network status. The present invention uses the flow chip granularity to reroute the traffic, determines the forwarding path according to the path delay, and routes the traffic that really needs to be rerouted to other enhanced parallel paths. Further, when the data packet enters the switch, the detected harmless traffic will trigger the rerouting mechanism and forward it to other enhanced parallel paths. At this time, the switch will detect the time interval between the data packets and reroute the flow chip with a gap greater than the flow chip timeout to a better parallel path. When selecting a parallel path, it will be judged according to the path delay, and the path with the smallest link delay will be scanned as the rerouting path. Through the necessary rerouting, the performance of harmless traffic can be effectively improved, the reordering of data packets can be avoided, and the congestion on the original path can be alleviated and eliminated.
[0045] Based on this, the edge switch directly connected to the sending server, i.e. the source switch, performs the following tasks:
[0046] Step S201, the traffic rerouting module determines the type of traffic to be sent according to the traffic tag. If the congestion tag of the traffic is false, it indicates harmless traffic, and goes to step S202. If the congestion tag of the traffic is true, it indicates congested traffic. The traffic maintains the original path and is sent at a reduced speed (this speed reduction method can use the traditional congestion control mechanism and will not be described in detail here) to alleviate the current congestion situation.
[0047] Step S202, the traffic rerouting module continuously monitors whether the packet interval of the traffic exceeds the dynamic rerouting threshold, if so, go to step S203; otherwise, continue monitoring.
[0048] Step S203: The traffic rerouting module selects a path with a minimum delay according to the continuously monitored path delay to forward the data packet.
[0049] Regarding the dynamic rerouting threshold, the first thing that needs to be explained is that the dynamic rerouting threshold is the tape-out, and the tape is defined as a burst of data packets in the traffic. When the arrival time between adjacent data packets exceeds a certain time, the system will identify a new tape, thereby adjusting the forwarding strategy for the new tape, and different tape timeout settings will lead to different degrees of data packet reordering. On the one hand, a tape solution with a large timeout may miss the opportunity to reroute and fail to alleviate the congestion on the original path in time. On the other hand, setting a smaller tape timeout will lead to more serious data packet reordering. Therefore, the present invention will explain how to dynamically adjust the tape timeout, the core of which is to track the delay difference between multiple paths of the edge switch pair, and calculate the dynamic tape timeout for each pair of edge switches based on the dynamic delay difference. The challenge faced by the present invention is how to track the delay difference between the congested path and the fastest path, and how to calculate the appropriate tape timeout.
[0050] Tracking the delay of different paths: In order to track the delay difference between the congested path and the fastest path, all edge switches are instructed to periodically send probe packets to the upper layer switches at a specific frequency. The probe packets traverse all available paths, and each time they reach a switch, the ID of the switch is added to the probe packet. In the leaf-spine network topology, the spine switch adds its local switch ID to the probe data and forwards it to other leaf switches. In the three-layer topology, when the aggregation switch connected to the leaf switch that sends the probe packet receives the packet, it needs to forward the packet to other leaf switches connected to the upper layer switch, but other aggregation switches only need to forward the probe packet to the lower layer switches to prevent unnecessary circular transmission. The edge switch that receives the probe packet needs to determine the delay of different paths and the ID of different paths based on the information in the probe packet, including the minimum delay, the maximum delay, and the ID of the fastest path corresponding to the minimum delay and the ID of the slowest path corresponding to the maximum delay. Therefore, after reaching the end of the path, the probe packet includes the following information: the ID of the edge switch that sent the probe packet, the ID of the switch that the probe packet passed through, and the timestamp field indicating the time when the probe packet was sent. In the leaf-spine network topology, there is only one hop between leaf switch pairs, so at most two 24-bit switch IDs and a 32-bit timestamp are carried, totaling 80 bits of information. In the three-layer topology, there can be up to three hops between ToR switch pairs, and four switch IDs and a timestamp need to be carried, totaling 108 bits. Therefore, including the normal Ethernet and IP headers, a minimum 64-byte packet is sufficient to meet the requirements.
[0051] Dynamically adjust the tape-out timeout: Most load balancing schemes based on tape-out timeout will statically set the tape-out timeout to a fixed value, which is equal to the maximum delay difference between paths. The basic principle of this method is to avoid data packet reordering, and the present invention should also follow this principle when setting the timeout. However, it is worth noting that the maximum delay difference between paths is different in time and space. First, on the time scale, due to the high dynamics of traffic intensity in the network, the maximum delay difference between edge switch pairs will fluctuate. Second, on the spatial scale, the maximum delay difference between different edge switch pairs may vary significantly, especially in asymmetric topologies. Therefore, it is necessary to dynamically set the tape-out timeout for each edge switch pair.
[0052] The present invention calculates the chip timeout according to the delay difference between the fastest and slowest paths between each pair of edge switches. Therefore, the present invention maintains a delay table on each edge switch, which includes the minimum delay, the maximum delay, and the hash values corresponding to the fastest path and the slowest path respectively. In addition, the present invention also maintains a timeout table for dynamically updating the chip timeout of each pair of edge switches, and the value of the chip timeout is equal to the difference between the maximum delay and the minimum delay. The present invention adds the information of the fastest path (such as the next hop) in the timeout table to select the best path for rerouting the chip. When the probe packet enters the edge switch, the edge switch will perform the following operations to update the information in the delay table and timeout table: When the edge switch receives the probe packet, it first calculates the hash value of the path and the path delay of the probe packet. If the path is the same as the fastest path or the slowest path recorded in the delay table, the minimum delay or maximum delay corresponding to the path is updated; otherwise, the path delay is compared with the minimum delay and the maximum delay to update the delay table; if the minimum delay or the maximum delay changes, the tape-out timeout and the next hop information of the fastest path are updated, and the dynamically changing tape-out timeout is taken as the dynamic rerouting threshold of the edge switch pair. By dynamically adjusting the tape-out timeout between each pair of edge switches, the switch can flexibly divide the traffic into tape-outs according to the delay of multiple paths. When the delay difference between paths is small, the congested traffic can be forwarded to a better path in time through a smaller tape-out timeout. When the asymmetric topology causes a significant difference in delay between paths, a longer tape-out timeout can prevent the reordering of packets caused by the re-recording operation.
[0053] Step S204, determine whether the data packet has been sent, if so, end the current stream sending; otherwise, go to step S203.
[0054] Next, this embodiment uses the NS-2 network simulation platform to evaluate the present invention and compares it with the five most advanced existing load balancing mechanisms ECMP, CONGA, DRILL, LetFlow and Hermes to illustrate the superiority of the present invention.
[0055] The experimental setup is as follows: Figure 2 As shown in Figure 1, a leaf-spine network topology is adopted, which consists of 8 leaf switches and 9 spine switches. Each leaf switch connects 32 terminal hosts, so the entire network has 256 independent terminals connected through a 40Gbps bandwidth link, and the round-trip propagation delay is 80 microseconds. The traffic in the network is randomly generated by Poisson distribution between random host pairs.
[0056] Traffic distribution: As shown in Table 1, the experiment uses two classic workload scenarios: web search and data mining. Under the web search workload, about 20% of the traffic is larger than 1MB, while under the data mining workload, less than 5% of the traffic is larger than 35MB. For web search and data mining, 62% and 83% of the short flows are smaller than 100KB, respectively, resulting in a heavy-tailed distribution. During the experiment, the average network load was increased from 0.4 to 0.8.
[0057] Table 1 Traffic distribution in different scenarios
[0058] Web Search Data Mining 0-100KB 62% 83% 100KB-1MB 18% 8% >1MB 20% 9% Average flow rate 1.6MB 7.4MB
[0059] 1. Performance under symmetric network topology
[0060] In general, compared with other load balancing mechanisms, the TDLB of the present invention can speed up the arrival time of traffic and reduce the completion time of traffic. TDLB can obtain a lower average process completion time.
[0061] in, Figure 3 (a) Figure 3(d) shows the AFCT of short flows under network search and data mining workloads, respectively. Compared with the other five load balancing mechanisms, TDLB significantly reduces AFCT, especially under high workloads. These test results show that TDLB performs well in low-latency transmission. Specifically, ECMP operates at the flow level and experiences long queue waiting time in the case of path congestion. Similarly, LetFlow operates only at the flow level but utilizes random routing. CONGA has increased feedback delay in obtaining congestion information, resulting in long queues. Although DRILL can handle burst congestion in a timely manner, it is difficult for it to accurately perceive global congestion information and avoid retransmission costs caused by disorder. The rerouting mechanism triggered by Hermes is too conservative, resulting in low link utilization. TDLB first has the ability to perceive congestion and detect burst congestion in time. Secondly, it identifies the flows that really need to be redirected according to the characteristics of the flow and forwards them to a better path, effectively solving the original path congestion problem and preventing the spread of congestion. Non-congested harmless flows do need to be rerouted to find a better transmission path, speed up the arrival time of the flow, and reduce the completion time of the flow. As a result, TDLB can achieve lower average flow completion time. For example, in the 0.7 workload, in the network search scenario, TDLB reduces by 86%, 80%, 71%, 60%, and 46% compared to ECMP, CONGA, DRILL, LetFlow, and Hermes, respectively. In the data mining scenario, TDLB reduces by 80%, 74%, 68%, 58%, and 39% compared to ECMP, CONGA, DRILL, LetFlow, and Hermes, respectively.
[0062] like Figure 3 (b) Figure 3 (c) Figure 3 (e) Figure 3(f) shows the tail FCT of short flows under different workloads at the 95th and 99th percentiles in the network search and data mining workload scenarios, respectively. Obviously, TDLB significantly improves the tail FCT (severe tail FCT refers to the situation where the delay of a small number of flows is significantly higher than the average delay. This phenomenon may have a negative impact on network performance) compared with the other five solutions, especially under high workload conditions. ECMP randomly selects forwarding paths without considering the congestion of other parallel paths and transmits at the flow level. Therefore, ECMP has the largest tail FCT. When the load balancing mechanism cannot evenly distribute the load to the available servers, it may cause some servers to be overloaded, resulting in severe delays. TDLB can actually redirect the flows that need to be redirected and reroute them to more optimized parallel paths. This allows those harmless flows to complete transmission as early as possible, thereby reducing the overall flow delay. Specifically, below 0.7 In the network search scenario, the FCT of short flows of TDLB is reduced by 89%, 76%, 73%, 65%, and 49% compared with ECMP, CONGA, DRILL, LetFlow, and Hermes, respectively. In the data mining scenario, TDLB reduces the performance by 83%, 75%, 69%, 59%, and 41% compared to ECMP, CONGA, DRILL, LetFlow, and Hermes, respectively.
[0063] 2. Performance under asymmetric network topology
[0064] In general, the bandwidth and delay of asymmetric topology links are unequal, which will cause more serious packet disorder due to partial rerouting, affecting the original transmission delay. Figure 4 As shown in Figure 3, the experimental results under asymmetric network topology verify the robustness of TDLB.
[0065] in, Figure 4 (a) Figure 4 (d) shows the AFCT in network search and data mining workloads, respectively. From the experimental results, ECMP is still the worst, followed by LetFlow, while TDLB still performs the best and can achieve excellent performance in asymmetric topology scenarios. Figure 4 (b) Figure 4 (c) Figure 4 (e) Figure 4 (f) shows the 95th percentile FCT and 99th percentile FCT in different workloads of asymmetric topology, respectively. Compared with other schemes, TDLB still has the lowest tail FCT under high load and low load.
[0066] In an asymmetric topology, due to differences between nodes, some nodes need to carry more traffic. In the case of unequal link bandwidth, when the amount of network data increases, nodes with unequal uplink and downlink bandwidths will cause severe congestion at the node due to significant differences in acceptance rate and transmission rate. Since ECMP and LetFlow randomly select paths through hash dispersion and fixed time intervals, the uncertainty caused by random path selection may be forwarded to paths with lower link bandwidth, resulting in excessive congestion and extended FCT. CONGA, DRILL, and Hermes use the congestion information of the path to alleviate sudden congestion on the current path, but the feedback delay of global congestion perception is too large. The switch cannot perceive the congestion status of other paths in time and cannot reroute the traffic on the congested path to the appropriate path, which may increase the load of the instantaneous congested path and eventually lead to a longer FCT. At the same time, the unequal bandwidth and delay of the asymmetric topology links will cause more serious packet disorder due to partial rerouting, affecting the original transmission delay and throughput. In addition, they do not distinguish between flows that need to be rerouted before rerouting, which may cause congestion when flows that cause congestion continue to generate congestion by rerouting and forwarding to other paths. In the case of congestion, TDLB distinguishes harmless flows that really need to be rerouted and forwards them to better paths based on link congestion information, thereby reducing the FCT of harmless flows. Congested flows continue to queue on the original path, using speed reduction instead of rerouting to avoid disorder and significantly reduce the FCT of congested flows. On the other hand, TDLB dynamically adjusts the flowlet timeout based on the delay difference between paths, thereby rerouting traffic to the best path without causing packet reordering. In the case of topological asymmetry, TDLB can better adapt to the delay difference between paths and make optimal routing decisions. Therefore, TDLB can better meet the transmission needs of low latency.
[0067] The above embodiments are preferred implementation schemes of the present invention. In addition, the present invention may also be implemented in other ways. Any obvious replacement without departing from the concept of the present technical solution is within the protection scope of the present invention.
[0068] In order to make it easier for ordinary technicians in the field to understand the improvements of the present invention over the prior art, some drawings and descriptions of the present invention have been simplified, and for the sake of clarity, some other elements are omitted in this application document. Ordinary technicians in the field should realize that these omitted elements may also constitute the content of the present invention.
Claims
1. A load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center, characterized by: A congestion detection module, a traffic separation module and a traffic rerouting module are set in all edge switches directly connected to the server; the congestion detection module is used to detect the queue length of the switch and determine whether the path is congested according to the queue length; the traffic separation module is used to separate the congested traffic that causes congestion on the congested path from the harmless traffic that needs to be rerouted; the traffic rerouting module is used to convert the harmless traffic from the congested path to other parallel non-congested paths; The edge switch directly connected to the receiving server, i.e. the destination switch, performs the work include: Step S101: The congestion detection module continuously monitors the path queue length to determine whether the queue length exceeds the congestion threshold. If so, the path is marked as a congested path and the process goes to step S102; otherwise, no mark is made and the traffic on the path is sent normally along the original path. Step S102, enable the traffic separation module, mark the traffic on the congested path as congested traffic and record the congested traffic in the hash array using the five-tuple information, then determine whether the traffic that arrives on the congested path subsequently exists in the hash array, if so, mark the traffic as congested traffic; otherwise, mark the traffic as harmless traffic, and notify the source switch to reroute the harmless traffic; The edge switch directly connected to the sending server, i.e. the source switch, performs the following tasks: Step S201: The traffic rerouting module determines whether the traffic being sent is harmless traffic according to the traffic tag. If so, the process goes to step S202; otherwise, it is congested traffic, and the congested traffic maintains the original path and is sent at a reduced speed. Step S202, the traffic rerouting module continuously monitors whether the packet interval of the traffic exceeds the dynamic rerouting threshold, if so, go to step S203; otherwise, execute step S202 again; Step S203: The traffic rerouting module selects a path with a minimum delay according to the continuously monitored path delay to forward the data packet; Step S204, determine whether the data packet has been sent, if so, end the current stream sending; otherwise, go to step S203.
2. The load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center according to claim 1 is characterized in that: In step S102: A hash array is used to distinguish congested traffic and harmless traffic in the switch. The hash array includes a hash value that records traffic five-tuple information and a congestion label in the packet header. The five-tuple information is the source IP address, destination IP address, source port number, destination port number, and protocol type of the switch. When the congestion label is true or false, it indicates that the traffic is congested traffic or harmless traffic, respectively. When the destination switch detects path congestion, the traffic separation module will first mark all traffic on the congested path as congested traffic and record it in the hash array, and then perform a hash operation on the subsequent traffic arriving on the congested path, and check whether the subsequent traffic exists in the hash array based on the calculated hash value. If so, the traffic is determined to be congested traffic, and the congestion label corresponding to the traffic is updated to true; otherwise, the traffic is determined to be harmless traffic, and the congestion label corresponding to the traffic is updated to false, notifying the source switch to reroute the harmless traffic.
3. The load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center according to claim 2 is characterized in that: In step S203, the monitoring process of the path delay is as follows: Instruct all edge switches to periodically send detection data packets to upper-layer switches at a specific frequency. The detection data packets traverse all available paths, and each time they reach a switch, the ID of the switch is added to the detection data packet. After reaching the end of the path, the detection data packet includes: the ID of the edge switch that sent the detection data packet, the ID of the switch that the detection data packet passes through, and a timestamp field indicating the time when the detection data packet was sent. Finally, the edge switch that receives the detection data packet determines the delays and IDs of different paths based on the information in the detection data packet, including the minimum delay, the maximum delay, the ID of the fastest path corresponding to the minimum delay, and the ID of the slowest path corresponding to the maximum delay.
4. The load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center according to claim 3 is characterized in that: In step S202, the dynamic rerouting threshold is determined by the following method: 1) Maintaining a delay table on each edge switch, wherein the delay table includes a minimum delay, a maximum delay, and hash values corresponding to the fastest path and the slowest path respectively; 2) Maintaining a timeout table on each edge switch, wherein the timeout table includes the chip timeout and the fastest path information between the edge switch pairs, wherein the chip timeout is equal to the difference between the maximum delay and the minimum delay of the path, and the fastest path information includes the next hop information of the fastest path; 3) When the edge switch receives a detection data packet, it first calculates the hash value of the path and the path delay of the detection data packet. If the path is the same as the fastest path or the slowest path recorded in the delay table, the minimum delay or the maximum delay corresponding to the path is updated; otherwise, the path delay is compared with the minimum delay and the maximum delay to update the delay table; If the minimum delay or the maximum delay changes, the tape-out timeout and the next hop information of the fastest path are updated; the dynamically changing tape-out timeout value is taken as the dynamic rerouting threshold of the edge switch pair.
5. The load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center according to claim 1 or 4, characterized in that: In step S101, the congestion detection module uses the DCTCP algorithm to determine whether the path is congested. Specifically, the edge switch establishes a queue for each port to store received data packets and pre-sets a congestion threshold Φ for the queue. The congestion detection module periodically checks the queue length of the edge switch. When the queue length exceeds the congestion threshold Φ, it is determined that the path is congested.
6. The load balancing method based on IoT traffic differentiation and dynamic tape-out timeout in a data center according to claim 5, characterized in that: The congestion threshold Φ is half of the edge switch port queue capacity.
Citation Information
Patent Citations
Data center network load balancing method
CN108683602A
Load balancing method and system for sensing priority flow control based on big data
CN115002040A
Adaptive load balancing method for avoiding data packet disorder in cloud computing data center
CN115134304A
System and method to identify and communicate congested flows in a network fabric
US20050270974A1
Cited By
Edge device dynamic data center configuration method based on registration center
CN120811902A