Ordered flow scheduling method based on dynamic priority in data center network
By adopting an ordered traffic scheduling method based on dynamic priority in the data center network, the problem that traffic scheduling in the prior art is difficult to isolate different types of traffic and packet rearrangement, and the data packets arrive at the receiver in sequence, minimizing the flow completion time and duration error rate, and improving network transmission performance.
Patent Information
- Application Number
- CN202411769376.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-03-11
AI Technical Summary
Existing traffic scheduling methods are difficult to effectively isolate different types of traffic, resulting in the packets of the urgent stream that may be blocked by the non-urgent stream of data packets and cannot complete data transmission within a specified time. In addition, there are packet reordering problems in multi-queue schemes, resulting in unnecessary rapid retransmission and reducing network transmission performance.
The orderly traffic scheduling method based on dynamic priority is adopted. By assigning priority to different types of traffic and dynamically adjusting priority according to network status, the orderly transmission mechanism is used to schedule the forwarding order of data packets to ensure that the data packets arrive at the receiver in order.
Effectively prevents the packets of urgent streams from being blocked by non-urgent streams, minimizes the flow completion time and time limit miss rate, and improves the transmission performance of the data center network.
Smart Images

Figure CN119603231A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of traffic scheduling, and in particular to an ordered traffic scheduling method based on dynamic priorities in a data center network. Background Art
[0002] With the explosive growth of new generation information technologies such as cloud computing, big data, the Internet, and artificial intelligence, more and more various applications and services (web search, recommendation systems, online retail, etc.) are migrating to Data Center Networks (DCNs). These applications and services usually generate a large amount of mixed traffic (i.e., long flows and short flows) of different sizes during operation. Among them, many flows have deadline requirements, and such flows are called deadline flows. In addition, the vast majority of mixed traffic is short flows, which have strict requirements on latency. In short, even a small network delay can seriously affect the performance of applications and the revenue of cloud service providers. In order to obtain a good user experience, researchers at home and abroad have successively proposed various traffic scheduling mechanisms to optimize transmission performance, aiming to minimize the flow completion time (Flow Completion Time, FCT) and deadline miss rate (Deadline Miss Rate, DMR).
[0003] Hybrid traffic scheduling is one of the most important key issues in modern data centers. It involves how to effectively manage and schedule different types of data flows to ensure optimal utilization of network resources and significantly improve service quality. Existing hybrid traffic scheduling methods can be mainly divided into two categories: single-queue-based solutions and multi-queue-based solutions. Although existing solutions can provide effective scheduling strategies in some cases, they each have certain limitations. These limitations limit their potential in achieving the expected transmission performance. In the single-queue solution, the data packets of the urgent flow may suffer from large queuing delays and fail to complete data transmission within the specified time; the multi-queue solution has serious packet reordering problems, which triggers a large number of unnecessary fast retransmissions, reduces the flow sending rate, and thus reduces network transmission performance.
[0004] In summary, the existing traffic scheduling mechanism cannot effectively isolate different types of traffic, or cannot effectively ensure that data packets arrive at the receiving end in order. In other words, it is difficult for the existing traffic scheduling scheme to achieve low queuing delay and high throughput for urgent flows at the same time, especially in the network scenario where data flows migrate from low-priority queues to high-priority queues. Summary of the invention
[0005] The purpose of the present invention is to provide an ordered traffic scheduling method based on dynamic priority in a data center network, which reasonably sets the priority of data packets according to different types of traffic, dynamically adjusts its priority according to the network status and uses an ordered transmission mechanism to schedule the forwarding order of data packets, ensuring that the data packets of the mixed flow can still arrive at the receiver in an orderly manner when the priority changes.
[0006] To achieve the above-mentioned object of the invention, the present invention provides a method for orderly traffic scheduling based on dynamic priority in a data center network, the method comprising:
[0007] Assign priority to each data packet sent by the sender;
[0008] The switch collects flow information in real time and detects whether the priority queue is congested;
[0009] When the switch receives a data packet, it schedules the forwarding of the data packet based on the priority of the data packet and the congestion of the priority queue.
[0010] Furthermore, priority is assigned to each data packet of the sender, including the following operations:
[0011] Determine the traffic type in the data center network and obtain traffic type information;
[0012] Calculate the priority of the data packet based on the traffic type information;
[0013] Write the packet priority into the packet header.
[0014] Furthermore, the traffic types include flows with deadlines, flows with no deadlines but known sizes, and flows with no deadlines or unknown sizes.
[0015] Furthermore, the method further comprises:
[0016] Each switch is configured to maintain a flow table and a port queue table. The flow table is configured to record information about each active flow, and the port queue table is configured to record status information about all output ports.
[0017] Furthermore, the switch collects flow information in real time and detects whether the priority queue is congested, including:
[0018] When the switch receives the first data packet of any new flow, the five-tuple information in the header of the first data packet is used as the input parameter of the hash function;
[0019] Create an entry in the flow table for the corresponding new flow based on the output of the hash function;
[0020] The created entry records the flow ID, the number of arriving data packets, the priority of the last data packet and its queue position, and the priority queue where the last data packet is located;
[0021] Every time the switch receives a data packet, it updates the relevant parameters of the corresponding entry in the flow table in real time.
[0022] Furthermore, the switch collects flow information in real time and detects whether the priority queue is congested, including:
[0023] The switch updates the parameters of the entries in the port queue table every RTT. Each entry records the port ID, queue ID, queue length, average traffic arrival rate, and the slope of burst traffic evolution.
[0024] When the switch receives a data packet with a higher priority, it comprehensively considers information such as the current queue length, average traffic arrival rate, and slope of traffic evolution to predict whether congestion will occur in the high-priority queue when the data flow with the higher priority migrates from the low-priority queue to the high-priority queue.
[0025] Furthermore, when the switch receives a data packet, it schedules the forwarding of the data packet according to the priority of the data packet and the congestion of the priority queue, specifically including:
[0026] When the switch receives a data packet, it extracts the priority of the packet header and compares it with the priority recorded in the flow table;
[0027] If the priority of the received data packet is equal to or lower than the priority in the flow table, the switch allows the data packet to enter the corresponding priority queue according to the priority information recorded in the data packet header;
[0028] If a data packet with a higher priority is received, the switch executes the Disorder-free Flow Scheduling (DFS) mechanism to process the data packet.
[0029] Furthermore, the switch executes the out-of-order traffic scheduling mechanism to process the data packets, including:
[0030] The switch finds the corresponding priority queue according to the priority of the data packet and detects whether the priority queue is congested;
[0031] Determine whether the preset conditions are met. If the preset conditions are not met, set the priority of the data packet to the priority recorded in the flow table and allow the data packet to enter the corresponding priority queue;
[0032] If the preset conditions are met, the switch queries the flow table, obtains the priority queue where the corresponding flow is located and the position of the last data packet of the flow in the priority queue, assigns the highest priority to the corresponding priority queue within a limited time, and forwards the data packets in the priority queue first, until the last data packet of the flow in the priority queue is forwarded, and restores all priority queues to the default priority.
[0033] Furthermore, the preset conditions include the following three conditions:
[0034] The priority of the data packet has been increased;
[0035] The high-priority queue that the data packet is about to enter will not be congested;
[0036] All flying data packets of the same flow as the data packets to be processed by the switch are cached in the same priority queue of the switch egress port, wherein the flying data packets are data packets that have been sent by the sender but have not received confirmation;
[0037] The switch allows the flow to migrate from the low priority queue to the high priority queue only when the three conditions are met at the same time.
[0038] Compared with the prior art, the present invention has the following beneficial effects:
[0039] The present invention provides an ordered traffic scheduling method based on dynamic priority in a data center network, which adopts different priority queues to cache data packets of different types of flows, ensuring that data packets of urgent flows will not be blocked by data packets of non-urgent flows. In addition, the switch schedules the forwarding of data packets using a non-disordered traffic scheduling mechanism based on dynamic priority, ensuring that the data packets arrive at the receiver in order, minimizing the flow completion time and deadline miss rate, and greatly improving the transmission performance of the data center network. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only preferred embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0041] Figure 1 It is a schematic diagram of the principles of single-queue and multi-queue solutions in the prior art.
[0042] Figure 2 It is a schematic diagram of experimental test results of a single queue solution in the prior art.
[0043] Figure 3It is a schematic diagram of experimental test results of a multi-queue solution in the prior art.
[0044] Figure 4 It is a schematic diagram of the overall framework of the ordered transmission traffic scheduling algorithm based on dynamic priority provided by an embodiment of the present invention.
[0045] Figure 5 It is a schematic diagram of the disordered traffic scheduling mechanism provided by an embodiment of the present invention.
[0046] Figure 6 It is a schematic diagram of average flow completion time of different traffic scheduling schemes provided in an embodiment of the present invention.
[0047] Figure 7 It is a performance diagram of the method provided by the embodiment of the present invention under a network search workload.
[0048] Figure 8 It is a performance diagram of the method provided by the embodiment of the present invention under data mining workload.
[0049] Fig. 9 It is a schematic diagram of the overall process of an ordered traffic scheduling method based on dynamic priority in a data center network provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0050] The principles and features of the present invention are described below in conjunction with the accompanying drawings. The enumerated embodiments are only used to explain the present invention and are not used to limit the scope of the present invention.
[0051] The existing traffic scheduling mechanisms can be roughly divided into two categories: traffic scheduling mechanisms based on a single queue and traffic scheduling mechanisms based on multiple queues. The details are as follows:
[0052] (1) Traffic scheduling mechanism based on single queue: The core idea of the single queue scheme is that each switch caches all data packets forwarded by the same outbound port in a single queue. The sender adjusts the sending rate of the mixed flow according to the optimization target and configures the priority of each data packet to meet the differentiated needs of different types of traffic as much as possible. Typical representative works include D 2 TCP, DA&FD and AIFO. Specifically, D 2 TCP adjusts the sending rate based on the congestion level on the transmission path and the deadline of the data flow, preventing the urgent flow from performing aggressive congestion avoidance operations when the network is congested, and minimizing the deadline miss rate. In addition, DA&FD comprehensively considers the deadline and duration of the data flow, and uses a dual evaluation mechanism to optimize transmission performance. However, the common problem of these single-queue-based solutions is that when urgent and non-urgent flows compete for bandwidth resources on the same transmission path, the data packets of the urgent flow will inevitably be blocked by the data packets of the non-urgent flow, seriously reducing its network performance.
[0053] like Figure 1 As shown in (a), regardless of whether the data flow is urgent or not, the switch caches all data packets forwarded to the same egress port in the same queue. Obviously, when urgent and non-urgent flows compete for bandwidth resources on the same transmission path, the data packets of the urgent flow will inevitably be blocked by the data packets of the non-urgent flow. At this time, the data packets of the urgent flow may suffer a large queuing delay. Worse, the urgent flow may not be able to complete the data transmission within the specified time, resulting in a higher deadline loss rate. Similarly, the data packets of the short flow may be blocked by the data packets of the long flow, and a lower average flow completion time cannot be obtained. In a network scenario with high network load, the problem of urgent flows (short flows) being blocked by non-urgent flows (long flows) will be more prominent, seriously reducing the network transmission performance.
[0054] In order to intuitively illustrate the limitations of the existing single-queue traffic scheduling scheme, the present invention uses a network simulator (Network Simulator version 2, NS2) to conduct experimental tests in different network scenarios. In the test, the present invention uses a typical many-to-one topology in a data center network (i.e., multiple senders and one receiver are connected to the same switch), and the round-trip propagation delay, packet size, and link capacity of the transmission path are set to 100μs, 1500B, and 10Gbps, respectively. In this test, a total of 100 flows share a bottleneck link. These flows include short flows and long flows with or without deadlines, and their arrival times follow a Poisson distribution. By adjusting the number of deadline flows, the present invention measures the deadline miss rate, Slowdown, the average flow completion time of short flows, and the 99th percentile flow completion time.
[0055] like Figure 2 As shown in (a), as the number of deadline flows increases, the deadline miss rate and slowdown also increase. Similarly, Figure 2 (b) shows that the average flow completion time and 99th percentile flow completion time of short flows both increase with the increase of the number of deadline flows. The root cause is that when some flows approaching the deadline increase their sending rates, they share queues with other non-urgent flows, aggravating the congestion on the bottleneck link, which eventually causes the urgent flows to suffer from larger deadline miss rates and flow completion times.
[0056] (2) Traffic scheduling mechanism based on multiple queues: In order to overcome the shortcomings of single-queue solutions, researchers have proposed various multi-queue traffic scheduling solutions, and typical representative works include Karuna, PIAS, Aemon, HPSTOS, and HybridPass. The core idea of these solutions is to place packets of different traffic types in different priority queues, which can effectively prevent urgent (short flows) from being blocked by non-urgent (long flows). For example, Karuna adopts a minimum impact transmission mechanism to meet deadline flows while minimizing the impact on the flow completion time of non-deadline flows. Similarly, Aemon is an information-independent hybrid flow transmission. Its basic idea is that the sender dynamically adjusts the sending window according to the urgency of the flow, and the switch uses a two-level priority mechanism to schedule the hybrid flow. However, when non-urgent flows migrate from low-priority queues to high-priority queues, the existing multi-queue-based solutions cause a large number of packets to be out of order, which in turn causes the sender to trigger unnecessary fast retransmissions and fail to achieve the expected transmission performance.
[0057] like Figure 1 As shown in (b), at time T=0, packets of different traffic types enter queues of different priorities, which effectively solves the problem of urgent (short flows) being blocked by non-urgent (long flows). However, the existing multi-queue traffic scheduling has a serious packet reordering problem. For example, at time T=1, flow f3, which is close to the deadline, has its priority increased, and the switch puts the subsequent packets of flow f3 (starting from the second packet) into the high priority queue. Obviously, if the switch forwards packets according to strict priority, it will inevitably cause a large number of packets to arrive at the receiver out of order. However, severe packet reordering will cause the sender to trigger a large number of unnecessary fast retransmissions, reduce the flow sending rate, and thus reduce network transmission performance.
[0058] The present invention intuitively demonstrates the performance problems of multi-queue traffic scheduling through experimental tests. In this test, each port of the switch has two queues (i.e., a high priority queue and a low priority queue). In addition, the present invention counts the number of out-of-order packets, slowdown, average flow completion time of short flows, and 99th percentile flow completion time by changing the number of competing flows.
[0059] Figure 3 It shows that as the number of competing flows increases from 10 to 60, all measured performance indicators increase, which means that network performance becomes worse. The main reason is that when the data flow migrates from the low priority to the high priority queue, the existing multi-queue solution causes a large number of data packets to arrive at the receiver out of order and generate corresponding duplicate ACK feedback to the sender, which eventually causes the sender to trigger a large number of unnecessary fast retransmissions, thereby increasing the flow completion time.
[0060] The present invention conducts in-depth exploration and analysis on the hybrid traffic scheduling algorithm and finds that the existing solutions cannot effectively isolate different types of flows and ensure that the data packets arrive at the receiver in order, which seriously reduces the network transmission performance. To this end, the present invention proposes a traffic scheduling mechanism based on dynamic priority ordered transmission (Dynamic Priority-based Ordered Transmission, DPOT) to solve the above problems, aiming to minimize the flow completion time and deadline loss rate. On the one hand, the switch uses different priority queues to cache data packets of different types of flows to ensure that the data packets of urgent flows will not be blocked by the data packets of non-urgent flows. On the other hand, when a flow migrates from a low-priority queue to a high-priority queue, the switch uses an ordered transmission mechanism based on dynamic priority to schedule data packet forwarding, ensuring that the data packets arrive at the receiver in order, minimizing the flow completion time and deadline miss rate.
[0061] Figure 4 The overall framework of the ordered transmission traffic scheduling algorithm based on dynamic priority proposed by the present invention is demonstrated. The algorithm reasonably sets the priority of its data packets according to different types of traffic, dynamically adjusts its priority according to the network status, and uses the ordered transmission mechanism to schedule the forwarding order of data packets, ensuring that the data packets of the mixed flow can still arrive at the receiver in order when the priority changes. The algorithm mainly includes three modules: the priority allocation module of the sender, the congestion detection module of the switch, and the out-of-order traffic scheduling module.
[0062] Specifically, an embodiment of the present invention provides a method for orderly traffic scheduling based on dynamic priority in a data center network, the method comprising the following operations:
[0063] S101. Assign priority to each data packet of the sender.
[0064] This step is implemented by the sender's priority assignment module. This module is deployed between the transport layer and the network layer and is responsible for assigning a priority to each data packet. The basic idea is that when the data packet is passed from the transport layer to the network layer, the sender calculates the priority of each data packet and writes it into the packet header. The data packet priority can be flexibly assigned according to the goal of traffic scheduling. For example, in order to minimize the deadline loss rate, the sender should calculate the data packet priority in combination with the remaining flow size and the deadline, and more urgent flows should be assigned higher priorities.
[0065] S102: The switch collects flow information in real time and detects whether congestion occurs in the priority queue.
[0066] This step is implemented by the congestion detection module of the switch, which is responsible for collecting flow information in real time and detecting whether the priority queue is congested. Its core idea is that the switch counts important information of active flows, including the number of packets, priority, etc. Once the switch receives a packet with a higher priority, the congestion detection module immediately combines the collected flow information with the status of the priority queue to predict whether the high priority queue is congested, and accurately determines whether the priority of the data flow can be increased without causing packet reordering at the receiving end.
[0067] S103: When the switch receives a data packet, it schedules the forwarding of the data packet according to the priority of the data packet and the congestion of the priority queue.
[0068] This step is implemented by the out-of-order traffic scheduling module. When a data packet arrives at the switch, it usually enters the priority queue corresponding to the outbound port according to the priority carried in the packet header. In addition, data packets in different priority queues follow strict priority scheduling, while data packets in the same queue are forwarded according to the First-Input-First-Output (FIFO) strategy.
[0069] As an optional implementation, priority is assigned to each data packet of the sender, specifically including the following operations:
[0070] S201. Determine the traffic type in the data center network and obtain traffic type information.
[0071] S202: Calculate the priority of the data packet according to the traffic type information.
[0072] S203: Write the priority of the data packet into the header of the data packet.
[0073] In this implementation, traffic types are divided into three categories: flows with deadlines, flows without deadlines but known sizes, and flows without deadlines or unknown sizes.
[0074] Flows with deadlines: Its main performance metric is the deadline miss rate. Since the size of some deadline flows may be unknown, it is impossible to calculate the priority of the packet based on the remaining flow size and the remaining time. To this end, the sender uses the elapsed time T of the deadline flow e and deadline T d To calculate the urgency
[0075] Where T e It can be calculated by subtracting the start time of the deadline stream from the current time.
[0076] Obviously, the more urgent the deadline flow is, the higher the priority of its data packets should be. Therefore, in this implementation, the priority of the deadline flow is dynamically adjusted according to the urgency of the deadline flow, so that the data packets of the flow close to the deadline are forwarded first, thereby minimizing the deadline miss rate.
[0077] Flows with no deadline but known size: These flows do not have strict latency requirements, but usually expect smaller flow completion times. Since the size of these flows is usually known before transmission, the SJF scheduling policy can be used to directly assign these flows to different priority queues to minimize flow completion time.
[0078] Flows without deadlines or unknown sizes: This implementation fully utilizes the multi-priority queues of the switch to simulate the SJF scheduling policy, aiming to minimize the flow completion time. Specifically, considering that about 80% of the flows in a data center network are short flows, the packets of these flows are initially assigned higher priorities. As these flows send more and more bytes, their subsequent packets are gradually downgraded from high-priority queues to low-priority queues, which can effectively reduce the flow completion time of flows with no deadlines or unknown sizes in advance.
[0079] In this embodiment, each switch is configured to maintain a flow table and a port queue table. The flow table is configured to record information of each active flow, and the port queue table is configured to record status information about all output ports.
[0080] On this basis, the specific process of congestion detection is as follows:
[0081] When the switch receives the first packet of any new flow, it uses the five-tuple information in the packet header as the input parameter of the function, and then creates an entry for the new flow in the flow table according to the output of the hash function. For each entry, it records the flow ID, the number of arriving packets, the priority of the last packet and its queue position (i.e., queue length), and the priority queue where the last packet is located. The switch updates the relevant parameters in the corresponding entry in the flow table in real time every time it receives a packet.
[0082] In addition, each entry in the port queue table records the port ID, queue ID, queue length, average traffic arrival rate, and slope of burst traffic evolution. In order to limit computing and memory overhead, the switch regularly updates the relevant parameters in the port queue table every RTT. When the switch receives a data packet with a higher priority, it comprehensively considers information such as the current queue length, average traffic arrival rate, and slope of traffic evolution to predict whether the high priority queue will be congested when the data flow with a higher priority migrates from the low priority queue to the high priority queue. In this embodiment, if the length of the priority queue reaches a predetermined threshold (e.g., an ECN marking threshold) within a specified time, the priority queue is determined to be a congested queue, otherwise it is considered that the queue will not be congested.
[0083] As an optional implementation, when the switch receives a data packet, it schedules the forwarding of the data packet according to the priority of the data packet and the congestion of the priority queue, specifically including:
[0084] S301. When a switch receives a data packet, it extracts the priority of the data packet header and compares it with the priority recorded in the flow table.
[0085] S302: If the priority of the received data packet is equal to or lower than the priority in the flow table, the switch allows the data packet to enter the corresponding priority queue according to the priority information recorded in the data packet header.
[0086] S303: If a data packet with a raised priority is received, the switch executes a disorder-free flow scheduling mechanism (DFS) to process the data packet.
[0087] During data transmission, the priority of data packets of any flow may remain unchanged, decrease, or increase. When the priority of a data flow remains unchanged or decreases, the data packets can arrive at the receiver in order. However, for flows approaching the deadline, the sender will gradually increase the priority of its data packets. Once these priority-upgraded data packets arrive at the switch, they are simply upgraded from the lowest priority to a higher priority according to their priority, which will inevitably cause a large number of data packets to arrive at the receiver out of order, causing the sender to trigger unnecessary fast retransmissions and thus damage network transmission performance. To this end, this embodiment designs a disorder-free flow scheduling mechanism (Disorder-free Flow Scheduling, DFS) to solve the above problems.
[0088] Specifically, the switch executes the out-of-order traffic scheduling mechanism to process data packets, including the following operations:
[0089] S401. The switch finds a corresponding priority queue according to the priority of the data packet and detects whether congestion occurs in the priority queue.
[0090] S402: Determine whether the preset conditions are met:
[0091] If the preset conditions are not met, the priority of the data packet is set to the priority recorded in the flow table, and the data packet is allowed to enter the corresponding priority queue;
[0092] If the preset conditions are met, the switch queries the flow table, obtains the priority queue where the corresponding flow is located and the position of the last data packet of the flow in the priority queue, assigns the highest priority to the corresponding priority queue within a limited time, and forwards the data packets in the priority queue first, until the last data packet of the flow in the priority queue is forwarded, and restores all priority queues to the default priority.
[0093] The preset conditions include the following three conditions:
[0094] (a) The priority of the data packet has been increased;
[0095] (b) The high-priority queue that the data packet is about to enter will not be congested;
[0096] (c) All in-flight data packets of the same flow as the data packets to be processed by the switch are cached in the same priority queue of the switch output port, wherein the in-flight data packets are data packets that have been sent by the sender but have not received confirmation.
[0097] In order to eliminate the negative impact of packet disorder, the switch allows the flow to migrate from the low priority queue to the high priority queue only when the above three conditions are met at the same time.
[0098] Among them, condition (a) is intended to ensure that upgrading the priority of the flow is necessary; condition (b) indicates that there is a non-congested high-priority queue available; condition (c) ensures that the flying data packets in any flow are in at most two different priority queues at any time.
[0099] In this implementation, when a data packet arrives, the switch extracts the priority of the packet header and compares it with the priority recorded in the flow table. On the one hand, if the priority of the arriving data packet is equal to or lower than the priority in the flow table, the switch allows it to enter the corresponding queue according to the priority carried in the packet header. On the other hand, if Figure 5As shown in the figure, when a data packet with a higher priority arrives, the switch will execute the DFS mechanism to process the data packet. Specifically, the switch will find the corresponding priority queue according to the priority of the data packet and detect whether the queue is congested. If any of the above three conditions cannot be met, the switch will set the priority of the data packet to the priority recorded in the flow table and let it enter the corresponding priority queue. Otherwise, the switch will immediately look up the flow table to obtain the priority queue where the flow is located and the position of the last data packet of the flow in the queue. Then, the switch temporarily assigns the highest priority to the queue and forwards the data packets in the queue first until the last data packet of the flow in the queue is forwarded. At this time, all queues restore the default priority and continue to forward the data packets in the high priority queue. It should be noted that during the execution of the DFS mechanism, the data packets of other flows still enter the corresponding priority queue according to the priority information in their headers.
[0100] In short, the DFS mechanism is a traffic scheduling strategy that dynamically adjusts queue priorities to ensure that data packets arrive at the receiver in order, thus avoiding unnecessary fast retransmissions.
[0101] The present invention will verify the flow completion time of the single-queue solution, the multi-queue solution in the prior art and the method provided by the embodiment of the present invention through a model.
[0102] For the convenience of analysis, assume that there are n1 urgent flows and n2 non-urgent flows competing for bandwidth resources on the bottleneck link. Let K, m, t d 、RTT min They represent the ECN marking threshold, the number of switches on the transmission path, the transmission delay of a single data packet, and the round-trip propagation delay of the transmission path, respectively.
[0103] (1) Single-queue traffic scheduling model
[0104] Since the transmission protocol of the data center network usually uses ECN as the congestion signal, the queue length of each egress port on the bottleneck link is usually maintained near the ECN marking threshold K. To simplify the analysis, it is assumed that the flows in the same queue share bandwidth resources fairly, and the maximum congestion window of each flow is for:
[0105]
[0106] Therefore, the queuing delay of the packet Real-time round trip time Let S i represents the size of the i-th flow, then its flow completion time is:
[0107]
[0108] Based on the above analysis, the average flow completion time of the single-queue solution is calculated as follows:
[0109]
[0110] (2) Multi-queue traffic scheduling model
[0111] For the multi-queue traffic scheduling scheme, assume that all flows initially compete for bandwidth resources in the low-priority queue, and then n1 urgent flows are switched from the low-priority queue to the high-priority queue. Obviously, the maximum window that n1 urgent flows can achieve in the high-priority queue is for However, these urgent flows will inevitably reorder packets, which can easily trigger unnecessary fast retransmissions and reduce their sending rate. Assuming the probability of triggering fast retransmission is p, the average congestion window of each urgent flow is:
[0112]
[0113] Therefore, the queuing delay of the urgent flow packets is The flow completion time of the i-th urgent flow It can be calculated as:
[0114]
[0115] For each non-urgent flow, its maximum window is The queue delay is Since the priority of urgent flows is higher than that of non-urgent flows, the switch will forward the packets of urgent flows before starting to forward non-urgent flows. In the urgent flow, the completion time of the tail flow is (1≤i≤n1). Therefore, the flow completion time of the jth non-urgent flow is It can be calculated as:
[0116]
[0117] According to formula (5) and formula (6), the average flow completion time of all flows is:
[0118]
[0119] (3) Non-disordered multi-queue traffic scheduling model
[0120] For the out-of-order multi-queue traffic scheduling mechanism, it can effectively avoid unnecessary fast retransmissions. The maximum window of each urgent flow is Therefore, the queuing delay of the urgent flow is Q d =K×t d, the flow completion time of the i-th urgent flow can be calculated as:
[0121]
[0122] Similar to formula (6), the flow completion time of the jth non-urgent flow is It can be calculated as:
[0123]
[0124] in, is the tail flow completion time of the urgent flow, and its value is According to formula (8) and formula (9), the average flow completion time of all flows is:
[0125]
[0126] like Figure 6 As shown, the present invention plots the average flow completion time of the urgent flow and all flows based on the above model analysis. Among them, K, m, RTT min ,p,t d They are set to 65, 3, 10μs, 0.8 and 0.3μs respectively. Figure 6 In (a), there are 30 flows competing for bandwidth resources on the same transmission path, of which the number of urgent flows is 20. In addition, the size of the urgent flow is gradually increased from 10 packets to 40 packets, and the average flow completion time is calculated respectively. Figure 6 In (b), we record the average flow completion time of all flows under different percentages of urgent flows. The total number of urgent and non-urgent flows is still 30, and the sizes of urgent and non-urgent flows are 40 and 200 packets, respectively. As expected, in all scenarios, the single-queue solution obtains the largest flow completion time, while this solution achieves the smallest flow completion time.
[0127] We use two typical workloads in data center networks (i.e., network search and data mining workloads) to comprehensively evaluate the transmission performance of the present invention. In this test, a typical Leaf-Spine network topology is adopted, which includes 9 Leaf switches, 4 Spine switches, and 144 servers. Among them, each Leaf switch is interconnected with 16 servers, and the link capacity and link latency are 40Gbps and 10μs respectively. In addition, the total cache size of each switch egress port is 320KB, the number of queues per egress port in the multi-queue scheme is 4, and the ECN marking threshold is 20 packets. In this test, the DPOT of the present invention is compared with the representative latest related work D 2TCP, DA&FD, Aemon, and Karuna were compared, and the deadline miss rate and average flow completion time of all flows, short flows (≤100KB), and long flows (>100KB) were measured. Figure 7 and Figure 8 shown.
[0128] from Figure 7 and Figure 8 It can be seen that compared with other traffic scheduling methods, the method (DPOT) proposed in the embodiment of the present invention achieves the best performance in all measurement indicators under different network loads. Figure 8 (b) shows that the average flow completion time of all flows obtained by DPOT is compared with that of D 2 TCP, DA&FD, Aemon and Karuna were reduced by 45%, 30%, 30% and 40% respectively. The main reason is that the present invention uses different priority queues to buffer data packets of different traffic types, and adopts a non-disordered traffic scheduling mechanism to schedule data packet forwarding. This can effectively prevent the deadline / short flow from being blocked by non-deadline / long flow, and ensure that the data packets arrive at the receiver out of order. Finally, the method provided by the embodiment of the present invention obtains the lowest deadline miss rate and flow completion time, greatly improving the network transmission performance.
[0129] Reference Fig. 9 In some implementations, the method provided in the embodiment of the present invention can be implemented by the following operations:
[0130] Step 1: The sender calculates the priority of each data packet based on information such as traffic type;
[0131] Step 2: Write the calculated priority into the packet header;
[0132] Step 3: The switch detects network status and active flow related information in real time;
[0133] Step 4: The switch receives the data packet;
[0134] Step 5: Extract the priority information from the packet header;
[0135] Step 6: Determine whether the priority of the data packet is increased;
[0136] Step 7: If the priority of the data packet is increased, further determine whether the high priority queue that the data is to enter is congested;
[0137] Step 8: If the high priority queue is not congested, the data packet enters the corresponding high priority queue;
[0138] Step 9: If the high priority queue is congested, the flow table is searched to obtain the priority of the previous data packet of the flow and the obtained priority is updated to the data packet;
[0139] Step 10: The data packet enters the corresponding priority queue;
[0140] Step 11: Update the flow table and port queue table;
[0141] Step 12: The switch forwards the data packet;
[0142] Step 13: Determine whether the data packet has been forwarded;
[0143] Step 14: If the data packet has not been forwarded, jump to step 12; otherwise, end.
[0144] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for orderly traffic scheduling based on dynamic priority in a data center network, characterized in that: The method comprises: Assign priority to each data packet sent by the sender; The switch collects flow information in real time and detects whether the priority queue is congested; When the switch receives a data packet, it schedules the forwarding of the data packet based on the priority of the data packet and the congestion of the priority queue.
2. According to claim 1, a method for orderly traffic scheduling based on dynamic priority in a data center network is characterized in that: Assign priority to each data packet sent by the sender, including the following operations: Determine the traffic type in the data center network and obtain traffic type information; Calculate the priority of the data packet based on the traffic type information; Write the packet priority into the packet header.
3. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 2, characterized in that: Traffic types include flows with deadlines, flows without deadlines but known sizes, and flows with no deadlines or unknown sizes.
4. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 1, characterized in that: The method further comprises: Each switch is configured to maintain a flow table and a port queue table. The flow table is configured to record information about each active flow, and the port queue table is configured to record status information about all output ports.
5. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 4, characterized in that: The switch collects flow information in real time and detects whether the priority queue is congested, including: When the switch receives the first data packet of any new flow, the five-tuple information in the header of the first data packet is used as the input parameter of the hash function; Create an entry in the flow table for the corresponding new flow based on the output of the hash function; The created entry records the flow ID, the number of arriving data packets, the priority of the last data packet and its queue position, and the priority queue where the last data packet is located; Every time the switch receives a data packet, it updates the relevant parameters of the corresponding entry in the flow table in real time.
6. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 5, characterized in that: The switch collects flow information in real time and detects whether the priority queue is congested, including: The switch updates the parameters of the entries in the port queue table every RTT. Each entry records the port ID, queue ID, queue length, average traffic arrival rate, and the slope of burst traffic evolution. When the switch receives a data packet with a higher priority, it comprehensively considers information such as the current queue length, average traffic arrival rate, and slope of traffic evolution to predict whether congestion will occur in the high-priority queue when the data flow with the higher priority migrates from the low-priority queue to the high-priority queue.
7. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 4, characterized in that: When a switch receives a data packet, it schedules the forwarding of the data packet based on the priority of the data packet and the congestion of the priority queue, including: When the switch receives a data packet, it extracts the priority of the packet header and compares it with the priority recorded in the flow table; If the priority of the received data packet is equal to or lower than the priority in the flow table, the switch allows the data packet to enter the corresponding priority queue according to the priority information recorded in the data packet header; If a data packet with a higher priority is received, the switch executes the Disorder-free Flow Scheduling (DFS) mechanism to process the data packet.
8. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 7, characterized in that: The switch executes the out-of-order traffic scheduling mechanism to process packets, including: The switch finds the corresponding priority queue according to the priority of the data packet and detects whether the priority queue is congested; Determine whether the preset conditions are met. If the preset conditions are not met, set the priority of the data packet to the priority recorded in the flow table and allow the data packet to enter the corresponding priority queue; If the preset conditions are met, the switch queries the flow table, obtains the priority queue where the corresponding flow is located and the position of the last data packet of the flow in the priority queue, assigns the highest priority to the corresponding priority queue within a limited time, and forwards the data packets in the priority queue first, until the last data packet of the flow in the priority queue is forwarded, and restores all priority queues to the default priority.
9. The method for orderly traffic scheduling based on dynamic priority in a data center network according to claim 1, characterized in that: The preset conditions include the following three conditions: The priority of the data packet has been increased; The high-priority queue that the data packet is about to enter will not be congested; All flying data packets of the same flow as the data packets to be processed by the switch are cached in the same priority queue of the switch egress port, wherein the flying data packets are data packets that have been sent by the sender but have not received confirmation; The switch allows the flow to migrate from the low priority queue to the high priority queue only when the three conditions are met at the same time.
Citation Information
Cited By
Hybrid traffic transmission method driven by receiving end and computing network
CN120111001A
Data scheduling method and system for machine room switch
CN120455557A
Distributed system flow scheduling strategy optimization method based on ATS + DDS
CN120856660A