A data center-oriented network switching device cache management method and device
By setting a shared cache queue and threshold K in the data center network switching device, processing short-stream and long-stream packets, the performance contradiction between short-stream and long-stream shared bottleneck links in the data center network is solved, and short-stream High bandwidth requirements for low latency and long flow.
Patent Information
- Application Number
- CN202111172555.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-08
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2041-10-08
AI Technical Summary
In data center networks, short streams and long streams share the same bottleneck link, resulting in deterioration of network performance of short streams, resulting in the problems of large-scale packet loss, large-scale retransmissions and frequent timeouts.
Adopt the cache management method of network switching equipment for data centers. By setting two shared cache queues and threshold K, the overflow situation is judged and processed according to the message type, ensuring that short-stream messages occupy long-stream message teams when there is insufficient cache. Tail data ensures low latency of short streams, and when necessary, fetch messages from long stream queues and fill them into short stream queues to meet high bandwidth requirements.
It effectively resolves the contradiction between short streams and long streams when sharing bottleneck links in data center networks, improves the low latency of short streams and the high bandwidth utilization of long streams, and reduces packet loss and retransmission.
Smart Images

Figure CN115967686B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a data center-oriented network switching equipment cache management method and device. Background Art
[0002] Nowadays, various applications are deployed in data centers and share the same network infrastructure. These applications can be divided into two categories: throughput-hungry applications, such as data mining and storage, and latency-sensitive applications, such as web search and cache following. Throughput-hungry applications generate long flows that always try to fill up the switch buffers to achieve higher link utilization, thereby introducing large queues. Short flows come from latency-sensitive applications that require small queues in the switch buffers to achieve low-latency communication. Modern data center networks are faced with the coexistence of a large number of latency-sensitive short flows and a small number of long flows that require larger bandwidth. Therefore, these two types of flows share the same bottleneck link in the data center network and exhibit different or even opposite network performance.
[0003] Adjusting the buffering mechanism of the switches in the network can solve this contradiction. However, most switch-based solutions usually adopt a first-in-first-out queuing mechanism and do not consider the characteristic ON / OFF traffic pattern of data center networks. In the ON / OFF traffic pattern, short flows start to transmit periodically in a transient and bursty manner (i.e., the ON period) and stop transmitting for a relatively long duration (i.e., the OFF period). Since the traffic in the data center network is highly concurrent and bursty, when the short flows turn to the ON period, a large number of short flows will arrive at the switch at the same time, eventually leading to a large consumption of the buffer or even buffer overflow. When the short flows turn to the OFF period, the long flows always try to seek higher available bandwidth by increasing the transmission rate or congestion window, resulting in a large queue on the switch. Therefore, when the short flows turn to send data in the ON period, a serious problem will occur. The problem is that a large number of data packets in the short flows are injected into the network in a very short time, competing for the remaining small amount of buffers, while most of the buffers are already occupied by the long flows. This leads to the deterioration of the network performance of the short flows, and eventually leads to a large number of packet losses, a large number of retransmissions, and even frequent timeouts. Summary of the invention
[0004] In order to solve the above problems, a data center-oriented network switching device cache management method and device are provided. The present invention adopts the following technical solutions:
[0005] The present invention provides a data center-oriented network switching device cache management method, characterized in that it comprises the following steps: step S1, the network switching device sets two shared cache queues, which are respectively a cache queue for messages to be sent and a cache queue for long flow messages, and a threshold K; step S2, after receiving a new message A, the network switching device compares the sum of the new message A and the occupied cache B with the total cache C, if A+B≤C, it is judged that there is no overflow, and step S3 is executed; if A+B>C, it is judged that there is overflow, and step S4 is executed; step S3, according to the service type field of the header of the new message A or the amount of data sent, the type of the new message A is judged, if the new message A is a short flow message, the new message A is placed at the end of the cache queue of the messages to be sent, and step S6 is executed; if the new message A is a long flow message, the new message A is placed at the end of the cache queue of the long flow message, and step S6 is executed; step S4, according to the service type field of the header of the new message A, the new message A is judged. The type of the new message is determined by the type field or the amount of data sent; if the new message A is a long flow message, the new message A is discarded; if the new message A is a short flow message, step S5 is executed; step S5, check whether the cache queue of the long flow message is empty, if not empty, discard the tail message of the cache queue of the long flow message, and put the new message A into the tail of the cache queue of the message to be sent, and execute step S6; if empty, discard the new message A; step S6, determine the size of the cache queue of the message to be sent Is the value smaller than the threshold value K? If the cache queue of the message to be sent is greater than or equal to K, execute step S8; if the cache queue of the message to be sent is less than K, execute step S7; in step S7, take out several messages from the head of the cache queue of the long flow message, and fill the taken out messages into the cache queue of the message to be sent. The cache queue of the message to be sent after filling is not greater than K, and then execute step S8; in step S8, take out all messages from the cache queue of the message to be sent and forward them in sequence.
[0006] The network switching device cache management method for a data center provided by the present invention may also have such a technical feature, wherein the network switching device includes a switch and a router.
[0007] A data center-oriented network switching device cache management method provided by the present invention may also have such a technical feature, wherein the total cache is equal to the sum of the cache queue of the message to be sent and the cache queue of the long flow message, and the threshold K is set according to actual needs. When the K value is set larger, the average flow completion time of the corresponding short flow is shortened.
[0008] The present invention provides a data center-oriented network switching device cache management device, which is characterized by comprising: a queue setting module, in which the network switching device sets two shared cache queues, which are respectively a cache queue for messages to be sent and a cache queue for long-flow messages, and a threshold K; an overflow judgment module, in which after receiving a new message A, the network switching device compares the sum of the new message A and the occupied cache B with the total cache C, and if A+B≤C, it is judged as no overflow, and the no overflow module is run; if A+B>C, it is judged as overflow, and the overflow module is run; the no overflow module judges the type of the new message according to the service type field or the amount of data sent in the new message header, and if the new message A is a short-flow message, the new message A is placed at the end of the cache queue for messages to be sent; if the new message A is a long-flow message, the new message A is placed at the end of the cache queue for long-flow messages; the overflow module judges the type of the new message according to the service type field or the amount of data sent in the new message header. type; if the new message A is a long flow message, the new message A is discarded; if the new message A is a short flow message, the short flow message module is run; the short flow message module checks whether the cache queue of the long flow message is empty. If it is not empty, the tail message of the cache queue of the long flow message is discarded, and the new message A is put into the tail of the cache queue of the message to be sent; if it is empty, the new message A is discarded; the threshold judgment module determines whether the size of the cache queue of the message to be sent is less than the threshold K. If the cache queue of the message to be sent is greater than or equal to K, the step of running the cache forwarding module is executed; if the cache queue of the message to be sent is less than K, the cache filling module is run; the cache filling module takes out a number of messages from the head of the cache queue of the long flow message, and fills the taken-out messages into the cache queue of the message to be sent. The cache queue of the message to be sent after filling is not greater than K, and then the cache forwarding module is run; the cache forwarding module takes out all the messages in the cache queue of the message to be sent and forwards them in sequence.
[0009] Function and Effect of the Invention
[0010] According to a data center-oriented network switching device cache management method and device of the present invention, first, by setting two shared cache queues, the overflow module is used to determine whether there is an overflow, and according to whether there is an overflow, the new message is placed in the corresponding processing module. When the cache of the switch or router is insufficient, the new short flow message will preempt the data message that has entered the tail of the long flow message cache queue, so as to ensure the low latency of the short flow, thereby balancing the high bandwidth of the long flow and the low latency of the short flow in the data center network, ensuring the low latency of the short flow and the demand for a larger bandwidth of the long flow.
[0011] Secondly, the present invention sets a threshold K. When the number of messages to be sent in the message cache queue to be sent is less than the threshold K, the network switching device will take out an appropriate amount of long flow messages from the tail of the long flow message cache queue and fill it into the tail of the message cache queue to be sent, and fill it up to the threshold K at most, thereby increasing the high bandwidth of the long flow. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 This is a flow chart of a data center-oriented network switching device cache management method in an embodiment of the present invention;
[0013] Figure 2 is a test bed topology diagram in an embodiment of the present invention;
[0014] Figure 3 is a simulation test topology diagram in an embodiment of the present invention;
[0015] Figure 4 4 is a schematic diagram comparing four performance indicators of four queue management methods in an embodiment of the present invention;
[0016] Figure 5 is a schematic diagram comparing average completion times of four queue management methods under different congestion control protocols in an embodiment of the present invention;
[0017] Figure 6 It is a schematic diagram of test results of four different queue management methods in different data center application modes under a simulated experimental test environment in an embodiment of the present invention;
[0018] Figure 7 It is a schematic diagram of the structure of a network switching device cache management device for a data center in an embodiment of the present invention. DETAILED DESCRIPTION
[0019] In order to make the technical means, creative features, objectives and effects achieved by the present invention easy to understand, the following is a detailed description of the network switching device cache management method and device for a data center of the present invention in combination with the embodiments and drawings.
[0020] <Example>
[0021] Figure 1 The invention is a flow chart of a network switching device cache management method for a data center.
[0022] like Figure 1 As shown, a data center-oriented network switching device cache management method in this embodiment is also called a "pluggable queue management method (Cutin Queue)".
[0023] Step S1: The switch or router sets a threshold K according to the requirements in different environments. After initialization, it is divided into two process modules, namely, the receiving and forwarding module and the sending module, and the two modules are executed in parallel. The threshold K is set to 20.
[0024] Step S2, when the switch or router receives a new message, it is determined whether the total cache of the current switch / router will overflow after the message is added. If the total cache of the current switch / router does not overflow, step S3 is executed. If the total cache of the current switch / router overflows, step S4 is executed.
[0025] In this embodiment, the total cache size is set to 250 message sizes, the round-trip delay when there is no queue is 100 microseconds, and the message size is 1.5KB.
[0026] Step S3, determine the type of new message A by parsing the service type field in the header of new message A or the amount of data sent. If new message A is a short flow message, put new message A at the end of the cache queue of messages to be sent, and execute step S6; if new message A is a long flow message, put new message A at the end of the cache queue of long flow messages, and execute step S6.
[0027] Step S4, determine the type of the new message by parsing the service type field in the header of the new message A or the amount of data sent; if the new message A is a long flow message, discard the new message A; if the new message A is a short flow message, execute step S5.
[0028] Step S5, check whether the cache queue of the long flow message is empty. If not, discard the tail message of the cache queue of the long flow message, put the new message A into the tail of the cache queue of the message to be sent, and execute step S6; if empty, discard the new message A.
[0029] Step S6, determine whether the size of the cache queue of the message to be sent is less than a threshold value K. If the size of the cache queue of the message to be sent is greater than or equal to K, execute step S8; if the size of the cache queue of the message to be sent is less than K, execute step S7.
[0030] Step S7, take out several messages from the head of the cache queue of the long flow message, and fill the taken out messages into the cache queue of the message to be sent. The cache queue of the message to be sent after filling is not greater than the set threshold K=20, and then execute step S8.
[0031] Step S8, taking out all the messages in the buffer queue of the messages to be sent and forwarding them in sequence.
[0032] This embodiment uses the NS2.35 network simulation platform and a real test bed to perform performance testing. The NS network simulator is a general multi-protocol network simulation software, which is publicly released on the Internet (URL: http: / / www.isi.edu / nsnam / ns) and is currently widely used by network researchers. NS2.35 is one of its versions.
[0033] Figure 2 is a test bed topology diagram in an embodiment of the present invention, Figure 3 This is a simulation test topology diagram in an embodiment of the present invention.
[0034] like Figure 2 , Figure 3 As shown, in this embodiment, respectively Figure 2 The test bed test environment and Figure 3 Two simulation test environments are used to test the performance of the queue management method in this embodiment. Figure 2 In the topology shown, the switch export link bandwidth is set to 10Gbps. All machines run the Ubuntu 16.04 operating system. One host is responsible for receiving, one host is responsible for sending long flows, and the remaining hosts are responsible for randomly sending short flows. Figure 3 In the topology shown, each top-of-rack switch connected to the host is connected to all network switches above the image. The link bandwidth from the host to the network switch is 1 Gbps, and the link bandwidth from the network switch to the core network switch is 10 Gbps. The switch buffer size is set to 250 packets, the round-trip delay without queues is 100 microseconds, and the packet size is 1.5 KB.
[0035] In this embodiment, four different cache management methods are compared. The four cache management methods are: a single queue management method (S Queue), a first-in-first-out cache management method; a priority queue management method (P Queue), a priority double-cache queue cache management method that does not share cache, and the size of the double queues is fixed, both set to half of the total cache, short flow messages are placed in a high-priority cache queue, and long flow messages are placed in a low-priority cache queue, and the strategy of sending long flow messages after short flow messages are forwarded; a shared cache priority double-queue management method (SP Queue), a priority double-cache queue cache management method that can share cache, the size of the queue is not fixed, and cache can be shared, and the insertable queue management method (Cutin Queue) in this embodiment.
[0036] This embodiment uses a test bed environment for testing. When testing the pluggable queue management method of this embodiment, Figure 2The switch in the topology shown is loaded with the cache queue management method of the present invention. In this test, each sending end uses the iperf packet sending tool to send multiple streams to the receiving end at the same time.
[0037] Figure 4 It is a schematic diagram comparing four performance indicators of four queue management methods in an embodiment of the present invention.
[0038] like Figure 4 The figure shows the test results of the method of this embodiment and other methods when increasing the network topology scale. In this test, the flow size and number obey the given distribution. Figure 4 Part (a) is the average queuing delay time diagram of short flows. Figure 4 Part (b) is the packet loss rate diagram of the long flow packet. Figure 4 Part (c) shows the average flow completion time of short flows. Figure 4 Part (d) shows the average throughput of long flows. Figure 4 As shown in parts (a) and (c), whether it is the average queuing delay or the average flow completion time, the pluggable queue management method of this embodiment has more obvious advantages than other methods when the network traffic load is larger. For long flows, their packet loss rate and average throughput are compared. Figure 4 Part (b) and part (d) give the experimental results. The pluggable queue management method of this embodiment has a significant reduction in packet loss rate and maintains a high throughput rate.
[0039] Figure 5 The figure is a schematic diagram comparing the average completion time of four queue management methods under different congestion control protocols in an embodiment of the present invention.
[0040] like Figure 5 As shown in Figure 2, the average completion time of the four queue management methods under different congestion control protocols is different as the network topology scale increases. During this test, the number of concurrent flows at each sender is gradually increased. Figure 5 The average flow completion time of short flows under four different congestion control protocols, Reno, Cubic, BBR and DCTCP, is statistically analyzed for four different queue management methods.
[0041] Depend on Figure 5 It can be seen that compared with the other three queue management methods, the average flow completion time of the pluggable queue management method has always been kept at the minimum, and as the network scale increases, the average flow completion time remains basically unchanged. The performance indicators of the pluggable queue management method in this embodiment are significantly better than those of the other three methods in the simulation test environment of different network topology scales.
[0042] 2. Test results of simulation experiment test environment
[0043] In order to fully understand the efficiency of the pluggable queue management method in this embodiment, further tests are conducted on the performance indicators of the four queue management methods under complex topology structures: average flow completion time and average throughput. The experimental scenarios include: Figure 3 The following diagram shows how to scale up the Leaf-Spine topology and four other common data center application patterns.
[0044] Figure 6 It is a schematic diagram of test results of four different queue management methods in different data center application modes under a simulated experimental test environment in an embodiment of the present invention.
[0045] like Figure 6 As shown, no matter which application mode is used, the pluggable queue management method in this embodiment can maintain the lowest average flow completion time and a higher long flow throughput rate compared with the other three queue management methods.
[0046] Figure 7 The present invention is a schematic diagram of the structure of a data center-oriented network switching device cache management device in an embodiment of the present invention.
[0047] like Figure 7 As shown, this embodiment also provides a network switching equipment cache management device 10 for a data center, including: a queue setting module 11, an overflow judgment module 12, a non-overflow module 13, an overflow module 14, a short flow message module 15, a threshold judgment module 16, a cache filling module 17, a cache forwarding module 18 and a main control module 19 that controls the above modules.
[0048] The device 10 can execute the process of steps S1-S6 through corresponding modules and realize the cache management of the network switching device.
[0049] Example Function and Effect
[0050] According to a data center-oriented network switching device cache management method and device provided by this embodiment, first, by setting two shared cache queues, the overflow module is used to determine whether there is an overflow, and according to whether there is an overflow, the new message is placed in the corresponding processing module. When the cache of the switch or router is insufficient, the new short flow message will occupy the data message that has entered the tail of the long flow message cache queue, so as to ensure the low latency of the short flow, thereby balancing the high bandwidth of the long flow and the low latency of the short flow in the data center network, ensuring the low latency of the short flow and the demand for a larger bandwidth of the long flow.
[0051] Secondly, a threshold K is set in this embodiment. When the number of messages to be sent in the message cache queue to be sent is less than the threshold K, the network switching device will take out an appropriate amount of long flow messages from the end of the long flow message cache queue and fill it into the end of the message cache queue to be sent, and fill it up to the threshold K at most, thereby increasing the high bandwidth of the long flow.
[0052] Finally, this embodiment tests the performance indicators of four different queue management methods in two different test environments: test bed and simulation test. The pluggable queue management method in this embodiment not only reduces the average flow completion time of short flows, but also increases the throughput of long flows. And because all components of this embodiment are modular, it is relatively easy to combine into the existing network, ensuring the popularity of this embodiment.
[0053] The above embodiments are only used to illustrate specific implementation modes of the present invention, and the present invention is not limited to the description scope of the above embodiments.
Claims
1. A data center-oriented network switching device cache management method, characterized in that: The following steps are involved: Step S1, the network switching device sets two shared cache queues, namely, a cache queue for messages to be sent and a cache queue for long-flow messages, and a threshold K; Step S2, after receiving the new message A, the network switching device compares the sum of the new message A and the occupied buffer B with the total buffer C. If A+B≤C, it is determined that there is no overflow, and step S3 is executed; if A+B>C, it is determined that there is an overflow, and step S4 is executed; Step S3, judging the type of the new message A according to the service type field of the header of the new message A or the amount of data sent, if the new message A is a short flow message, putting the new message A at the end of the cache queue of the message to be sent, and executing step S6; if the new message A is a long flow message, putting the new message A at the end of the cache queue of the long flow message, and executing step S6; Step S4, judging the type of the new message by parsing the service type field in the header of the new message A or the amount of data sent; if the new message A is a long flow message, discarding the new message A; if the new message A is a short flow message, executing step S5; Step S5, check whether the cache queue of the long flow message is empty. If not, discard the tail message of the cache queue of the long flow message, put the new message A into the tail of the cache queue of the message to be sent, and execute step S6; if it is empty, discard the new message A; Step S6, determining whether the size of the cache queue of the message to be sent is less than the threshold value K, if the size of the cache queue of the message to be sent is greater than or equal to K, executing step S8; if the size of the cache queue of the message to be sent is less than K, executing step S7; Step S7, taking out a number of messages from the head of the cache queue of the long flow message, and filling the taken out messages into the cache queue of the message to be sent, the cache queue of the message to be sent after filling is no larger than K, and then executing step S8; Step S8, taking out all the messages in the buffer queue of the messages to be sent and forwarding them in sequence.
2. A data center-oriented network switching device cache management method according to claim 1, characterized in that: in, The network switching equipment includes a switch and a router.
3. A data center-oriented network switching device cache management method according to claim 1, Features: in, The total buffer is equal to the sum of the buffer queue of the message to be sent and the buffer queue of the long flow message; The threshold K is set according to actual needs. When the K value is set to a larger value, the average flow completion time of the corresponding short flow is shortened.
4. A network switching device cache management device for a data center, characterized in that: include: Setting a queue module, the network switching device sets two shared cache queues, namely, a cache queue for messages to be sent and a cache queue for long-flow messages, and a threshold K; Overflow judgment module: after receiving a new message A, the network switching device compares the sum of the new message A and the occupied buffer B with the total buffer C. If A+B≤C, it is judged that there is no overflow, and the overflow module is run; If A+B>C, it is judged as overflow and the overflow module is run; The non-overflow module determines the type of the new message according to the service type field of the new message header or the amount of data sent. If the new message A is a short flow message, the new message A is placed at the end of the cache queue of the message to be sent; if the new message A is a long flow message, the new message A is placed at the end of the cache queue of the long flow message; The overflow module determines the type of the new message by parsing the service type field in the header of the new message or the amount of data sent; if the new message A is a long flow message, the new message A is discarded; If the new message A is a short flow message, the short flow message module is run; The short flow message module checks whether the cache queue of the long flow message is empty. If not, the tail message of the cache queue of the long flow message is discarded, and the new message A is placed at the tail of the cache queue of the message to be sent; If empty, the new message A is discarded; A threshold judgment module is used to judge whether the size of the cache queue of the message to be sent is less than the threshold K. If the size of the cache queue of the message to be sent is greater than or equal to K, the cache forwarding module is executed; If the cache queue of the message to be sent is less than K, the cache filling module is run; A cache filling module is used to take out a number of messages from the head of the cache queue of the long flow message, and fill the taken out messages into the cache queue of the message to be sent, the cache queue of the message to be sent after filling is no larger than K, and then the cache forwarding module is run; The cache forwarding module takes out all messages from the cache queue of messages to be sent and forwards them in sequence.
Citation Information
Patent Citations
Method supporting hierarchical queue scheduling and flow shaping and apparatus thereof
CN102368741A
Cache management method and apparatus in network device
CN106789729A