Method, device and equipment for detecting and regulating network traffic load
By collaboratively observing the load status at the sending and receiving ends and dynamically adjusting the traffic injection strategy using a quantified load factor, the problem of slow iterative adjustment in existing congestion control methods is solved, achieving efficient low-latency and high-throughput network transmission.
Patent Information
- Application Number
- CN202510982916.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-16
- Publication Date
- 2025-10-31
AI Technical Summary
Existing congestion control methods rely on binary congestion signals, which cannot efficiently achieve low-latency and high-throughput network transmission. This results in a long iterative adjustment process and fails to meet the high-efficiency network transmission requirements of data centers and cluster systems.
By collaboratively observing the load status of service flows at the sending and receiving ends, the load status of network connections is determined using quantified load factors, and traffic injection strategies are dynamically adjusted to quickly converge to a feasible bandwidth sharing value, thereby reducing backlogged packets in network devices.
It achieves rapid convergence to a feasible bandwidth sharing value, improves link utilization, reduces transmission latency, and provides high-throughput and low-latency transmission services.
Smart Images

Figure CN120880989A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network traffic management technology, and in particular to a method, apparatus, and device for detecting and controlling network traffic load. Background Technology
[0002] Applications such as web search, microservices, and distributed machine learning are rapidly developing in distributed cluster systems, exemplified by data centers, placing high demands on the switching networks of these systems. For instance, web search and microservices primarily handle small flows, requiring low network latency; while distributed machine learning and storage backup involve large flows, demanding high throughput. Currently, data center networks mainly rely on congestion control to dynamically adjust the traffic load injected into the network, ensuring full utilization of link bandwidth while preventing severe overload that could cause switch port buffer overflows and drop excessive traffic, thus meeting the low latency and high throughput requirements of applications.
[0003] Existing congestion control methods mainly rely on binary status signals of congestion provided by switches or sensed by network interface cards (NICs). For example, they obtain explicit congestion notices from switches or measure round-trip time (RTT) from host NICs to determine the load status. Then, the sending end relies on the binary network load status to tentatively increase or decrease the traffic injected into the network, coordinate the allocation of bandwidth for bottleneck links among multiple competing flows, and avoid excessive load injection from service sources that could lead to severe congestion and affect network transmission performance.
[0004] However, the binary information of congestion or non-congestion vaguely expresses the network load status. Tentative rate adjustment based on this binary congestion signal usually requires a long iterative adjustment process to converge to a balance state where the injected traffic and its capacity match, which cannot efficiently achieve the technical goals of low latency and high throughput.
[0005] Therefore, how to effectively control congestion to achieve low-latency and high-throughput transmission services has become a pressing technical problem in the field of computer networks. Summary of the Invention
[0006] To address the aforementioned shortcomings in existing technologies, this invention provides a method, apparatus, and device for detecting and regulating network traffic load. This invention can quickly converge to a feasible bandwidth sharing value, improve link utilization, reduce transmission latency, and thus shorten the service flow transmission completion time, providing applications with high throughput and low latency transmission services.
[0007] In a first aspect, the present invention provides a method for detecting and controlling network traffic load, comprising the following steps: Send a service flow to the receiving end; the service flow includes multiple packets; The receiving rate of the service stream at the receiving end is received; the receiving rate of the service stream at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time. The reference component of the end-to-end data path delay is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue leader threshold.
[0008] According to the method for detecting and regulating network traffic load provided by the present invention, the network type includes any one of the following: conventional packet switching network, on-chip network, and packet switching network supporting reliable transmission protocol; Before determining the load factor based on the reference components of the service flow's reception rate at the receiving end, the total number of packets sent but not acknowledged by the sending end, the sampling period, and the end-to-end data path delay, the method further includes: When applied to the conventional packet-switched network, a first signaling frame within the sampling period is constructed using feedback information sent by the receiving end. Based on the first signaling frame, the total number of packets that the sending end has sent but not yet acknowledged for reception under the conventional packet-switched network is determined. The feedback information sent by the receiving end includes the reception rate of the service flow at the receiving end, the total number of successfully received packets, and the number of lost packets. The feedback information sent by the receiving end is obtained by the receiving end monitoring the packet arrival time series of the service flow. When applied to the on-chip network, the feedback information sent by the receiving end via a special signal line is used to construct a second signaling frame within the sampling period, and the total number of packets that the sending end has sent but not been acknowledged under the on-chip network is determined based on the second signaling frame. In the case of a packet-switched network supporting the reliable transmission protocol, the total number of packets that the sending end has sent but not been acknowledged for receipt in the packet-switched network supporting the reliable transmission protocol is determined by the ACK frame; the ACK frame carries the feedback information sent by the receiving end.
[0009] According to a method for detecting and controlling network traffic load provided by the present invention, the method further includes: In the case of a packet-switched network that supports the reliable transmission protocol, the total number of successfully received packets acknowledged by the ACK frame within the sampling period is counted by the detector at the transmitting end. Based on the total number of successfully received packets confirmed by the ACK frame and the sampling period, the reception rate of the service flow at the receiving end is estimated; in this case, there is no need to extend the ACK to carry the feedback information sent by the receiving end.
[0010] According to a method for detecting and regulating network traffic load provided by the present invention, the method for determining a load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay includes: When applied to the conventional packet-switched network, the reference component of the end-to-end data path delay is added to the sampling period to obtain a first time term, and the first time term is multiplied by the receiving rate of the service flow at the receiving end to obtain a first multiplication result. The load factor under the conventional packet switching network is obtained by subtracting the first multiplication result from the total number of packets that have been sent by the sending end but have not been acknowledged.
[0011] According to a method for detecting and regulating network traffic load provided by the present invention, the method for determining a load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay includes: When applied to the on-chip network, the reference component of the end-to-end data path delay is divided by two and then added to the sampling period to obtain a second time term. The second time term is then multiplied by the receiving rate of the service flow at the receiving end to obtain a second multiplication result. The load factor under the on-chip network is obtained by subtracting the second multiplication result from the total number of packets that have been sent by the sending end but have not been acknowledged.
[0012] According to a method for detecting and regulating network traffic load provided by the present invention, the method for determining a load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay includes: In the case of the packet-switched network supporting the reliable transmission protocol, the reference component of the end-to-end data path delay is multiplied by the receiving rate of the service flow at the receiving end to obtain a third multiplication result; The load factor under the packet-switched network supporting the reliable transmission protocol is obtained by subtracting the third multiplication result from the total number of packets that the sending end has sent but not yet been acknowledged.
[0013] According to a method for detecting and regulating network traffic load provided by the present invention, the step of determining the load state of a session connection based on the load factor and dynamically adjusting the traffic injection strategy according to the load state to make the load factor less than a queue leader threshold includes: If it is determined that the service flow is transmitted through a network with loss, and the load factor is equal to 0, the load state of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the queue leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold, the load state of the session connection is determined to be an overloaded congestion state. When the load state of the session connection is the underload state, the size of the sending window is updated according to the composite weight. When the load state of the session connection is either the balanced state or the congested state, the size of the sending window is set to a target value; the target value is determined based on the receiving rate of the service flow at the receiving end, the reference component of the end-to-end data path delay, and the queue leader threshold.
[0014] According to a method for detecting and regulating network traffic load provided by the present invention, the step of determining the load state of a session connection based on the load factor and dynamically adjusting the traffic injection strategy according to the load state to make the load factor less than a queue leader threshold includes: If it is determined that the service flow is transmitted through a lossless network, and the load factor is equal to 0, the load state of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the queue leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold and the packet arrival time series exhibits periodic ON / OFF characteristics, the load status of the session connection is determined to be pending. When the load factor is greater than the queue leader threshold and service flow packets arrive continuously without interruption, the load state of the session connection is determined to be the congestion state. When the load state of the session connection is the underload state, the size of the sending window is updated according to the composite weight; When the load state of the session connection is either the balanced state or the congested state, the size of the sending window is set to the target value; When the load state of the session connection is in the pending state, the size of the sending window remains unchanged.
[0015] According to a method for detecting and controlling network traffic load provided by the present invention, the receiving rate of the service flow at the receiving end is calculated by the following steps, including: The receiving rate of the service at the receiving end is obtained by dividing the actual number of packets received by the sampling period. The receiving rate of the service flow at the receiving end is the bandwidth shared at the bottleneck link in the end-to-end data path.
[0016] Secondly, the present invention also provides a network traffic load detection and control device, which is applied at the transmitting end and includes the following modules: The sending module is used to send a service flow to the receiving end; the service flow includes multiple packets; A receiving module is used to receive the reception rate of the service flow at the receiving end; the reception rate of the service flow at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The calculation module is used to determine a load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time. The reference component of the end-to-end data path delay is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets in the end-to-end data path at network nodes. The detection and control module is used to determine the load status of the session connection based on the load factor, and dynamically adjust the traffic injection strategy according to the load status so that the load factor is less than the queue leader threshold.
[0017] Thirdly, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the network traffic load detection and control method as described above.
[0018] Fourthly, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the network traffic load detection and control method as described above.
[0019] Fifthly, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the network traffic load detection and control method as described above.
[0020] The present invention provides a method, apparatus, and device for detecting and regulating network traffic load. The method is applied at the sending end. First, a service flow, comprising multiple packets, is sent to the receiving end. Then, the receiving rate of the service flow at the receiving end is received, which is obtained by the receiving end based on the actual number of packets received and the sampling period. Further, a load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay. The load factor characterizes the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Subsequently, based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue length threshold.
[0021] This invention enables the sending and receiving ends to collaboratively observe the load status of the service flow and the reception rate of the service flow at the receiving end. The sending end determines the load factor based on the reception rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged, the sampling period, and the reference component of the end-to-end data path delay. Then, based on the quantized load factor, the load status is determined and the adjustment of injected traffic is guided to promptly clear the excessive packets backlogged in the network device. This invention can avoid network congestion caused by excessive service traffic injected by the terminal, and at the same time facilitate the efficient use of bandwidth resources, providing low-latency and high-throughput transmission services for services. Attached Figure Description
[0022] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0023] Figure 1 This is a flowchart illustrating the network traffic load detection and control method provided by the present invention.
[0024] Figure 2 This is a schematic diagram of the network traffic load detection and control system provided by the present invention.
[0025] Figure 3This invention provides a transition diagram of load states in a network with loss.
[0026] Figure 4 This is a load state transition diagram in a lossless network provided by the present invention.
[0027] Figure 5a This is one of the comparison graphs of the network traffic load detection and regulation (LDR) method proposed in this invention with the traditional congestion control algorithms DCQCN, TIMELY, and HPCC under typical workloads, showing the average flow completion time and tail flow completion time.
[0028] Figure 5b This is the second figure comparing the average flow completion time and tail flow completion time of the network traffic load detection and regulation (LDR) method proposed in this invention with traditional congestion control algorithms DCQCN, TIMELY, and HPCC under typical workloads.
[0029] Figure 6 This is a schematic diagram of the network traffic load detection and control device provided by the present invention.
[0030] Figure 7 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0031] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0032] To more clearly understand the various embodiments provided by the present invention, the technical content involved in the present invention will first be described as follows: The technical problem to be solved by this invention is as follows: The main technical challenges facing network traffic management, which primarily relies on congestion control, include: (1) Traditional congestion detection mechanisms in congestion management, including host-dependent packet loss or round-trip time (RTT) observation to infer congestion and explicit announcements by switches, can only provide binary information on whether or not there is congestion, and cannot definitively quantify the amount of traffic load and the degree of overload.
[0033] (2) The heuristic speed adjustment process based on fuzzy binary congestion state information converges slowly, network resources cannot be used efficiently, and it is difficult to provide low latency and high throughput transmission services for services.
[0034] (3) Compared to network status monitoring and estimation by end systems, explicit congestion announcements or network status telemetry supported by switches can provide network status information more timely and accurately to a certain extent, thus promoting network congestion management. However, the limitation of information locality remains difficult to overcome, and the impact of switch support on deployability is also evident.
[0035] To address the aforementioned issues, this invention provides a network traffic load detection and control mechanism. The main idea of this invention is: the sending and receiving ends collaboratively observe the load status and available bandwidth of service flows, determine the load status based on a quantified load factor, and guide the adjustment of injected traffic. This promptly clears excess packets accumulated in network devices, while simultaneously and quickly converges to a feasible resource allocation quota, maintaining the bottleneck link port queue at a near-zero level, thus providing applications with high-throughput and low-latency transmission services.
[0036] The following is combined Figures 1-7 This invention describes a method, apparatus, and device for detecting and controlling network traffic load.
[0037] Figure 1 This is a flowchart illustrating the network traffic load detection and control method provided by the present invention. This method is applied at the sending end, such as... Figure 1 As shown, the method includes the following: Step 101: Send the service flow to the receiving end; the service flow includes multiple packets.
[0038] First, it should be noted that the executing entity of this invention is the sending end. Figure 2 This is a schematic diagram of the network traffic load detection and control system provided by the present invention, as shown below. Figure 2 As shown, the network traffic load detection and control system includes the following: source host (i.e., sender), network device and source host (i.e., receiver).
[0039] The source host mainly includes detectors, controllers, and regulators, while the host machine includes observers, filters, and signaling frame generators. The source host and host machine work together to transmit service packets from the source transmission queue to the host machine's receive queue.
[0040] Specifically, the source host (i.e., the sender) includes a sending queue, and the host machine (i.e., the receiver) includes a receiving queue. The source host sends service flows from the sending queue to the host machine through network devices. This represents the total number of packets (bytes) that the source has sent but have not yet acknowledged as received, where T represents the sampling period and Ns represents the number of packets that were actually successfully received. This indicates the total number of packets (bytes) transmitted on the line in the end-to-end data path. This represents the total number of packets (bytes) accumulated in the buffer queues of network node devices along the end-to-end data path. Network devices contain forward queues and backward queues. The forward queue is the queue from the source host to the host, and the backward queue is the queue from the host to the source host. The detector at the sending end (source host) receives the target signaling frame from the receiving end (host), including the reception rate of the service flow at the receiving end. Combined with the reference component of end-to-end data path delay The sending window size W is updated to facilitate the sending queue at the sending end to send service flows according to the window size W, thereby realizing the detection and control of network traffic load.
[0041] First, the sending end sends a service stream to the receiving end, which consists of multiple packets (bytes).
[0042] Step 102: Receive the service flow at the receiving end; the service flow at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period.
[0043] Specifically, after the sending end sends multiple packets, it monitors traffic transmission and load in real time, and then receives feedback information from the receiving end. The feedback information sent by the receiving end is obtained by processing the arrival time series of the monitored service flow, and then fed back to the sending end via signaling.
[0044] The feedback information sent by the receiving end includes at least the reception rate of the service flow at the receiving end. , This represents the shared bandwidth at the bottleneck link in the end-to-end data path, and the receiving rate of the service flow at the receiving end. This number is obtained by the receiving end based on the actual number of packets received and the sampling period. Furthermore, the feedback information sent by the receiving end also includes the number of successfully received packets and the number of lost packets, used to assist the sending end in estimating the total number of packets (traffic volume) that have been sent but not acknowledged.
[0045] like Figure 2 As shown, the receiver monitors the packet arrival time series of the service flow with a sampling period T, and the receiver records the total number of packets successfully received within the sampling period T through an observer. It also estimates the total number of packets (or bytes) dropped by the network based on packet (or byte) sequence numbers. Then, the receiving end calculates the reception rate of the service flow at the receiving end through the filter. Clearly, when congested ports exist on the path, the receiving rate of this service flow at the receiving end will be affected. This refers to the bandwidth shared by the service flow at the bottleneck link, i.e.: (1) in, This refers to the reception rate of the service flow at the receiving end. This represents the total number of packets successfully received within the sampling period T. The sampling period.
[0046] The receiver samples, analyzes, and aggregates relevant feedback information (including) at intervals of period T. , and (etc.) are sent to the sending end along the backward channel (backward queue). If the network node device supports priority queuing, it sets high priority for feedback information and provides a fast dedicated channel; otherwise, it multiplexes the data channel with ordinary data frames.
[0047] After receiving the feedback information, the sending end can determine the load factor represented by the numerical information based on the feedback information.
[0048] Therefore, the receiving end will receive the service flow at the receiving rate. The signaling feedback is sent back to the sending end to facilitate its calculation of the load factor.
[0049] Step 103: Determine the load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path.
[0050] Specifically, after receiving feedback information sent by the receiver via signaling, the sending end can further calculate the network traffic load factor by combining the traffic volume already sent by the sending end.
[0051] Among them, the load factor It represents the total number of backlogged packets at network nodes in the end-to-end path. In other words, The physical meaning of load factor is the total amount of traffic backlogged on network nodes in the end-to-end data path. Defining this variable (the total number of backlogged packets on network nodes in the end-to-end path) as a load factor can accurately quantify the load status on the end-to-end path of a session connection. Subsequently, using it as an identifier for congestion detection not only accurately determines the load status but also numerically characterizes the degree of congestion. This provides more explicit and accurate traffic overload status information than the binary identifiers used in traditional congestion management strategies. It also helps guide the design of window adjustment algorithms, achieving predictable control objectives, such as maintaining a small queue length and providing high-throughput, low-latency transmission services.
[0052] For example, based on the amount of traffic that has already been sent, and combined with the number of successfully received packets and the number of lost packets in the feedback information, the total number of packets that the sender has sent but has not been acknowledged can be calculated. Subsequently, the load factor is determined based on the total number of packets sent but not yet acknowledged, the reception rate of the service flow at the receiving end in the feedback information, the sampling period, and the reference component of the end-to-end data path delay. The reference component of the end-to-end data path delay is used... This means that the time for link propagation and node forwarding is the remaining part of the RTT after deducting node queuing delay.
[0053] Among them, the reference component of end-to-end data path delay Including link propagation and node forwarding time, it is the round-trip time of the end-to-end data path. The remaining portion after removing node queuing delays. Round trip time based on end-to-end data path Queuing delay of packets at network nodes in the end-to-end data path It's confirmed.
[0054] In practice, For example, it can be determined based on network topology (hop count), i.e.: = Hop count * (transmission delay + propagation delay). In some application scenarios (such as data center networks and on-chip networks). It can also be predetermined.
[0055] Step 104: Based on the load factor, determine the load status of the session connection, and dynamically adjust the traffic injection strategy according to the load status so that the load factor is less than the queue leader threshold.
[0056] Specifically, after calculating the load factor, congestion detection and window adjustment (i.e., traffic injection strategy) can be further performed based on the load factor (LF). The queue leader threshold is a pre-set threshold to distinguish the degree of overload.
[0057] For example, when the session connection is underloaded, the size of the sending window W is increased to compete for more bandwidth resources; when the session connection is in a balanced state, the window size is maintained or alternately increased or decreased to maintain dynamic balance; when the session connection is in an overloaded congested state, the window size is appropriately reduced.
[0058] The method provided in this embodiment is applied to the sending end. First, a service flow, including multiple packets, is sent to the receiving end. Then, the receiving rate of the service flow at the receiving end is received. The receiving rate of the service flow at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period. Further, a load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets sent by the sending end but not acknowledged, the sampling period, and a reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Then, based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue length threshold.
[0059] This invention enables the sending and receiving ends to collaboratively observe the load status of the service flow and the reception rate of the service flow at the receiving end. The sending end determines the load factor based on the reception rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged, the sampling period, and the reference component of the end-to-end data path delay. Then, based on the quantized load factor, the load status is determined and the adjustment of injected traffic is guided to promptly clear the excessive packets backlogged in the network device. This invention can avoid network congestion caused by excessive service traffic injected by the terminal, and at the same time facilitate the efficient use of bandwidth resources, providing low-latency and high-throughput transmission services for services.
[0060] According to the network traffic load detection and control method provided by the present invention, the network type includes any one of the following: conventional packet-switched network, on-chip network, and packet-switched network supporting reliable transmission protocols; before determining the load factor based on the total number of packets sent but not acknowledged by the sender, the reception rate of the traffic flow at the receiver, the sampling period, and the reference components of the end-to-end data path delay, the method further includes: When applied to a conventional packet-switched network, the first signaling frame within the sampling period is constructed using the feedback information sent by the receiver. Based on the first signaling frame, the total number of packets that the sender has sent but has not been acknowledged for reception under the conventional packet-switched network is determined. The feedback information sent by the receiver includes the total number of successfully received packets and the number of lost packets, which is obtained by the receiver monitoring the packet arrival time series of the service flow. In the case of application to on-chip network, the feedback information sent by the receiving end through a special signal line is used to construct the second signaling frame within the sampling period, and the total number of packets that have been sent by the transmitting end under the on-chip network but have not been acknowledged is determined based on the second signaling frame. In the case of packet switching networks that support reliable transmission protocols, the total number of packets that the sender has sent but has not been acknowledged for receipt is determined by the ACK frame; the ACK frame carries feedback information sent by the receiver.
[0061] Specifically, in some embodiments, the network type includes any of the following: conventional packet-switched networks (unreliable networks), on-chip networks, and packet-switched networks supporting reliable transmission protocols. Conventional networks are also general-purpose networks, such as User Datagram Protocol (UDP). UDP connections lack the three-way handshake, acknowledgment, timeout retransmission, flow control, and congestion control mechanisms of TCP. UDP is often used for communication transmission where broadcasting and detailed control are delegated to the application. On-chip networks are communication networks used within integrated circuits (such as multi-core processors), interconnecting computing cores, memory, and other modules through on-chip routing nodes, replacing traditional bus structures and improving parallelism and energy efficiency. Packet-switched networks supporting reliable transmission protocols typically achieve reliable transmission through mechanisms such as acknowledgment (ACK) and retransmission. For example, TCP (Transmission Control Protocol) networks and RDMA are transmission protocols that support reliable transmission.
[0062] The way the sending end receives feedback information differs depending on the network type: In a conventional packet-switched network (unreliable network), the sending end sends out a service flow. Then, the first signaling frame within the sampling period is constructed based on the feedback information sent by the receiving end. Furthermore, the total number of packets that the sending end has sent but has not been acknowledged for receipt in the conventional packet-switched network is determined based on the first signaling frame.
[0063] The feedback information sent by the receiving end includes the total number of packets successfully received. and the number of missing groups (That is, the total number of packets dropped by the network), is obtained by the receiver monitoring the packet arrival time series of the service flow. Specifically, the receiver monitors the packet arrival time series of the service flow with a sampling period T, and the receiver records the total number of packets received within the sampling period T through an observer. It also estimates the total number of packets (or bytes) dropped by the network based on packet (or byte) sequence numbers. .
[0064] Furthermore, the sending end bases its decisions on the total number of successfully received packets. and the number of missing groups The total number of packets that the sender has sent but has not yet acknowledged receipt can be calculated. .
[0065] When applied to on-chip networks, the feedback information sent by the receiver via a special signal line is used to construct a second signaling frame within the sampling period. Based on the second signaling frame, the total number of packets that the transmitter has sent but has not been acknowledged under the on-chip network is determined.
[0066] For example, in special scenarios such as on-chip networks, a special signal line is introduced to provide feedback sampling information with a sampling period T. Furthermore, the transmitting end uses the total number of successfully received packets from the feedback information... and the number of missing groups The total number of packets that the sender has sent but has not yet acknowledged receipt can be calculated. .
[0067] In the case of packet-switched networks that support reliable transport protocols, the total number of packets that the sender has sent but has not yet been acknowledged for receipt is determined by the ACK frame.
[0068] In this scenario, the receiving end can extend the functional domain of the ACK packet to include the service flow's reception rate at the receiving end. Other extracted traffic characteristic information can be obtained without the need for additional signaling frame generation and transmission modules. That is, when applied to packet-switched networks supporting reliable transmission protocols, the sending end sends a service flow, and the receiving end can use ACK frames to carry feedback information, promptly notifying the sending end of the receiving rate and the total number of successfully received packets. and the number of missing groups .
[0069] Furthermore, the sending end bases its decisions on the total number of successfully received packets. and the number of missing groups The total number of packets that the sender has sent but has not yet acknowledged receipt can be calculated. .
[0070] Among them, the cumulative number of services sent at the sending end Information carried by the signaling frame feedback or ACK frame (including) and (etc.), updated periodically with a period of T to obtain the total number of packets that the sender has sent but has not yet acknowledged. The update process is performed according to the following formula: (2) in, This represents the total number of packets that the sender has sent but has not yet acknowledged. This indicates the cumulative amount of traffic sent by the sender. This represents the total number of packets (or bytes) received within a single sampling period, where i represents the i-th packet. This represents the estimated number of packet losses within a single sampling period.
[0071] The method provided in this embodiment constructs a first signaling frame within the sampling period using feedback information sent by the receiving end when applied to a conventional network; constructs a second signaling frame within the sampling period using feedback information sent by the receiving end transmitted via a special signal line when applied to a network-on-a-chip; and receives an ACK frame carrying feedback information when applied to a packet-switched network supporting a reliable transmission protocol. The total number of packets that have been sent but not acknowledged is then determined using feedback information sent by the receiving end in the first signaling frame, the second signaling frame, or the ACK frame. This facilitates the calculation of the load factor by combining the service flow's reception rate at the receiving end under different network types, improving the accuracy of the load factor calculation. This method has a wide range of applications.
[0072] According to the method for detecting and regulating network traffic load provided by the present invention, the method further includes: In the case of packet-switched networks that support reliable transmission protocols, the total number of successfully received packets confirmed by ACK frames within the sampling period is counted by the detector at the sending end. Based on the total number of successfully received packets confirmed by statistical ACK frames and the sampling period, the reception rate of the service flow at the receiving end is estimated; in this case, there is no need to extend the ACK to carry the feedback information sent by the receiving end.
[0073] Specifically, in some embodiments, when applied to packet-switched networks that support reliable transport protocols, the measurement of the reception rate of the traffic flow at the receiving end can be moved to the detector at the source end because of the ACK frame acknowledgment mechanism.
[0074] That is, the cumulative number of successfully received packets confirmed by the receiver within a single period T according to the detector's statistics. The average receiving rate is calculated at the source end as the receiving rate of the service flow at the receiving end. A valid estimate.
[0075] The method provided in this embodiment, when applied to a packet-switched network that supports a reliable transmission protocol, uses the detector at the transmitting end to count the total number of successfully received packets confirmed by ACK frames within a sampling period. Then, based on the total number of successfully received packets confirmed by ACK frames and the sampling period, the receiving rate of the service flow at the receiving end is estimated, making the method for measuring the arrival rate of the service flow simpler.
[0076] According to the network traffic load detection and control method provided by the present invention, a load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged at the sending end, the sampling period, and a reference component of the end-to-end data path delay, including: When applied to a conventional packet-switched network, the reference component of the end-to-end data path delay is added to the sampling period to obtain the first time term, and the first time term is multiplied by the receiving rate of the service flow at the receiving end to obtain the first multiplication result. The load factor in a conventional packet-switched network is obtained by subtracting the first multiplication result from the total number of packets that have been sent but not yet acknowledged.
[0077] In some embodiments, the process of determining the load factor in a conventional packet-switched network is exemplified as follows: It is important to understand that, in the context of conventional packet-switched networks, this refers to service traffic that has been sent by the sender but has not yet been acknowledged as received. The data should include the portion that the receiving end has received but has not yet confirmed. .
[0078] For example, when using the above sampling feedback mechanism, in a conventional packet-switched network, traffic that has been sent by the sender but has not yet been acknowledged for receipt... The information should include the portion that the recipient has received but has not yet confirmed.
[0079] (3-1) in, This represents the total number of packets that have been sent by the sender in a conventional packet-switched network but have not yet been acknowledged. This represents the load factor in a conventional packet-switched network. This refers to the reception rate of the service flow at the receiving end. As the reference component for end-to-end data path delay, The sampling period is This indicates the total number of packets (bytes) transmitted on the line in the end-to-end data path.
[0080] Therefore, based on the above formula (3-1), the calculation method of the load factor can be derived as follows: First, add the sampling period to the reference component of the end-to-end data path delay to obtain the first time term. Then, multiply the first addition term by the receiving rate of the service flow at the receiving end to obtain the first multiplication result. Next, subtract the first multiplication result from the total number of packets that have been sent but not acknowledged in the conventional network to obtain the load factor in the conventional network.
[0081] Reference component of end-to-end data path delay The receiving rate of the service flow at the receiving end in the end-to-end data path It is known, and the sender has calculated, the total number of packets (bytes) that have been sent but not yet acknowledged. Under the given conditions, the load factor can be estimated based on the following relationship. : (3-2) in, This represents the load factor in a conventional packet-switched network. This represents the total number of packets (bytes) that have been sent by the sender in a conventional packet-switched network but have not yet been acknowledged. The amount of bandwidth shared at the bottleneck link in the end-to-end data path (the receiving rate of the service flow at the receiving end). As the reference component for end-to-end data path delay, The sampling period.
[0082] The method provided in this embodiment, when applied to a conventional packet-switched network, adds the sampling period to the reference component of the end-to-end data path delay to obtain a first time term. The first time term is then multiplied by the receiving rate of the service flow at the receiving end to obtain a first multiplication result. The first multiplication result is then subtracted from the total number of packets that have been sent but not yet acknowledged in the conventional packet-switched network to obtain a first load factor in the conventional network. Subsequently, the sending end uses the load factor as an identifier for congestion detection, which can accurately quantify the load status on the end-to-end path of the session connection. This provides more explicit and accurate traffic overload status information than the binary identifier in traditional congestion management strategies. It also helps guide the design of window adjustment algorithms to achieve predictable control objectives, such as maintaining a small queue length and providing high-throughput, low-latency transmission services.
[0083] According to the network traffic load detection and control method provided by the present invention, a load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged at the sending end, the sampling period, and a reference component of the end-to-end data path delay, including: When applied to on-chip networks, the reference component of the end-to-end data path delay is divided by two and then the sampling period is added to obtain the second time term. The second time term is then multiplied by the reception rate of the service flow at the receiving end to obtain the second multiplication result. The load factor of the on-chip network is obtained by subtracting the second multiplication result from the total number of packets that have been sent but not acknowledged by the sender.
[0084] Specifically, in some embodiments, when the method is applied to an on-chip network, the process for determining the load factor is exemplified as follows: It should be noted that when applied to special scenarios such as on-chip networks, and a special signal line is introduced to provide feedback sampling information at a period of T, the service traffic that has been sent by the transmitter in the on-chip network but has not yet been acknowledged for receipt may be affected. The expression is: (4-1) in, This indicates the total number of packets (bytes) that the sending end has sent but not yet acknowledged as received under the on-chip network. This represents the load factor under on-chip networking. The amount of bandwidth shared at the bottleneck link in the end-to-end data path (the receiving rate of the service flow at the receiving end). As the reference component for end-to-end data path delay, The sampling period.
[0085] Based on the above formula (4-1), the calculation method for the load factor under on-chip network can be derived as follows: The reference component of the end-to-end data path delay is divided by two and then the sampling period is added to obtain the second time term. The second time term is then multiplied by the reception rate of the service flow at the receiving end to obtain the second multiplication result. Finally, the total number of packets that have been sent but not acknowledged in the on-chip network is subtracted from the second multiplication result to obtain the load factor under the on-chip network.
[0086] For example, when the method is applied to on-chip networks, the load factor under the on-chip network is estimated according to the following relationship. : (4-2) in, This represents the load factor under on-chip networking. This indicates the total number of packets (bytes) that the sending end has sent but not yet acknowledged as received under the on-chip network. The amount of bandwidth shared at the bottleneck link in the end-to-end data path (the receiving rate of the service flow at the receiving end). As the reference component for end-to-end data path delay, The sampling period.
[0087] The method provided in this embodiment, when applied to a network-on-a-chip (NAT), divides the baseline component of the end-to-end data path delay by two and adds the sampling period to obtain a second time term. This second time term is then multiplied by the receiving rate of the service flow at the receiving end to obtain a second multiplication result. Next, the total number of packets sent but not yet acknowledged in the NAT is subtracted from the second multiplication result to obtain the NAT load factor. Subsequently, the sending end uses the NAT load factor as an identifier for congestion detection in the NAT scenario. This accurately quantifies the load status on the end-to-end path of the session connection, providing more explicit and precise traffic overload status information than the binary identifiers used in traditional congestion management strategies. It also facilitates the design of window adjustment algorithms, achieving predictable control objectives, such as maintaining a small queue length and providing high-throughput, low-latency transmission services.
[0088] According to the network traffic load detection and control method provided by the present invention, a load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged at the sending end, the sampling period, and a reference component of the end-to-end data path delay, including: In the case of packet-switched networks that support reliable transport protocols, the reference component of the end-to-end data path delay is multiplied by the receiving rate of the traffic flow at the receiving end to obtain the third multiplication result. Subtracting the third multiplication result from the total number of packets that the sender has sent but not yet acknowledged, yields the load factor for packet-switched networks that support reliable transport protocols.
[0089] Specifically, in some embodiments, when the method is applied to a reliable transport protocol network, the process of determining the load factor under the reliable transport protocol network is exemplified as follows: Specifically, when applied to packet-switched networks supporting reliable transmission protocols, and when the load probing and control mechanism proposed in this invention is used to enhance the transmission performance of reliable transmission protocols (such as TCP and RDMA), that is, when applied to packet-switched networks supporting reliable transmission protocols, the receiving end can promptly notify the source of successfully received packets via ACK frames and infer the amount of traffic N dropped by the network. l In this scenario, the total number of packets that the sender has sent but has not yet acknowledged receipt in a network supporting reliable transport protocols. The expression is: (5-1) in, This represents the total number of packets (bytes) that have been sent but not yet acknowledged by the sender in a packet-switched network that supports reliable transport protocols. This represents the load factor in a packet-switched network that supports reliable transport protocols. The amount of bandwidth shared at the bottleneck link in the end-to-end data path (the receiving rate of the service flow at the receiving end). This is the reference component for end-to-end data path delay.
[0090] Based on the above formula (5-1), the calculation method for the load factor under packet-switched networks supporting reliable transmission protocols can be derived as follows: First, the reference component of the end-to-end data path delay is multiplied by the receiving rate of the service flow at the receiving end to obtain the third multiplication result; then, the total number of packets that have been sent but not acknowledged is subtracted from the third multiplication result to obtain the third load factor under the packet-switched network that supports reliable transmission protocols.
[0091] For example, when the method is applied to a reliable transport protocol network, the load factor of a third party in the reliable transport protocol network is estimated according to the following relationship. : (5-2) in, This represents the load factor in a packet-switched network that supports reliable transport protocols. This represents the total number of packets (bytes) that have been sent but not yet acknowledged by the sender in a packet-switched network that supports reliable transport protocols. The amount of bandwidth shared at the bottleneck link in the end-to-end data path (the receiving rate of the service flow at the receiving end). This is the reference component for end-to-end data path delay.
[0092] The method provided in this embodiment uses the load factor as an identifier for congestion detection at the sending end in a packet-switched network that supports reliable transmission protocols. This can accurately quantify the load status on the end-to-end path of the session connection. Compared with the binary identifier in traditional congestion management strategies, it provides more explicit and accurate traffic overload status information. It is also beneficial to guide the design of window adjustment algorithms and achieve predictable control objectives, such as maintaining a small queue length and providing high throughput and low latency transmission services.
[0093] According to the present invention, a method for detecting and controlling network traffic load determines the load status of session connections based on a load factor and dynamically adjusts a traffic injection strategy according to the load status to ensure that the load factor is less than a queue leader threshold, comprising: When it is determined that the service flow is transmitted through a network with loss, the load factor is equal to 0, and the load status of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the queue leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold, the load state of the session connection is determined to be an overloaded congestion state. When the session connection is underloaded, update the size of the sending window according to the composite weight. When the session connection is in a balanced or congested state, the size of the sending window is set to the target value; the target value is determined based on the receiving rate of the service flow at the receiving end, the reference component of the end-to-end data path delay, and the queue leader threshold.
[0094] Specifically, in some embodiments, step 103 can be implemented through the following steps: This invention designs a congestion detection process and window adjustment rules based on load factor (LF) for two scenarios: lossy and lossless networks.
[0095] The following section introduces the detection and window adjustment process for situations where network loss occurs: (1) After receiving the feedback information (target signaling frame) from the receiver (sink), the sending end (source) performs congestion detection with a sampling period T: For example, Figure 3 This invention provides a transition diagram of load states in a network with loss, such as... Figure 3 As shown, when the load factor equals 0, the session connection is determined to be in an underloaded state. For example, when... When the session connection is determined to be in an underloaded state (lightly loaded state), a new window is subsequently added. Sizes compete for more bandwidth resources; like Figure 3 As shown, when the load factor At that time, set the captain threshold. Further differentiate the degree of overload: When this happens, the session connection's load status is determined to be overloaded. like Figure 3 As shown, when the load factor is greater than 0 and less than or equal to the queue leader threshold... When this occurs, the load status of the session connection is determined to be balanced. For example, when 0 < < At this time, the session connection has a small backlog of traffic and is in a moderately overloaded state (steady state). Maintaining this state helps to avoid the temporary clearing of the port queue due to dynamic load changes, which would lead to idle and wasted link bandwidth. This state can be regarded as a balanced state in the dynamic adjustment process. The window size does not need to be adjusted, or it can be alternately increased or decreased to maintain dynamic balance.
[0096] like Figure 3 As shown, when the load factor is greater than the queue leader threshold At this time, the session connection load status is determined to be an overloaded congestion state. For example, when If this occurs, the session connection is determined to be in a severely overloaded congested state.
[0097] (2) Window adjustment process in case of network loss: The initial connection is used to set the initial values of the window. ,in For network card line speed, It is the baseline component of end-to-end data path delay, including link propagation and node forwarding time, and is the remaining part of RTT after removing node queuing delay.
[0098] In application scenarios where the RTT baseline delay is known, set the default fixed value. ; Unknown application scenarios are configured with standard values. Through the first round of overload testing, the initial connection source can contend for and estimate the available bandwidth at the bottleneck link. Subsequently, the window size is adjusted according to the following rules based on the sampling period T: When the session connection is underloaded, update the size of the sending window according to the composite weight.
[0099] For example, a. When the connection is underloaded, the window adjustment rules are as follows: (6) in, For the updated send window size, As the reference component for end-to-end data path delay, This refers to the reception rate of the service flow at the receiving end. For network card line speed, This is the initial value for the window. The initial value is 1 / 128. The default value is set to 0.5.
[0100] When the session connection is in a balanced or congested state, the size of the sending window is set to the target value; the target value is determined based on the receiving rate of the service flow at the receiving end, the reference component of the end-to-end data path delay, and the queue leader threshold.
[0101] b. When the connection is in a balanced or congested state, the window adjustment rules are as follows: (7) in, For the updated send window size, As the reference component for end-to-end data path delay, This refers to the reception rate of the service flow at the receiving end. The threshold for the team leader.
[0102] The method provided in this embodiment uses load factor quantification to characterize the load state of a connection. In the case of loss, it designs a congestion detection process and window adjustment rules based on load factor. The load state is determined according to the quantified load factor, and the adjustment of injected traffic is guided. Excess packets backlogged in network devices are cleared in a timely manner, and the network quickly converges to a feasible resource quota. The bottleneck link port queue is kept at a near-zero level, providing high throughput and low latency transmission services for applications.
[0103] According to the present invention, a method for detecting and controlling network traffic load determines the load status of session connections based on a load factor and dynamically adjusts a traffic injection strategy according to the load status to ensure that the load factor is less than a queue leader threshold, comprising: If it is determined that the service flow is transmitted through a lossless network, the load factor is equal to 0, and the load status of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the queue leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold and the packet arrival time series shows a periodic ON / OFF characteristic, the load status of the session connection is determined to be pending. When the load factor is greater than the queue leader threshold and service flow packets arrive continuously without interruption, the load state of the session connection is determined to be congested. When the session connection is underloaded, update the size of the sending window according to the composite weight. When the session connection is in a balanced or congested state, set the size of the sending window to the target value. Keep the size of the sending window unchanged when the load status of the session connection is pending.
[0104] Specifically, in some embodiments, there is a scenario where no network is lost. The following describes the detection and window adjustment process for this scenario: (1) After receiving the feedback information (target signaling frame) from the receiver (sink), the sending end (source) performs congestion detection with a sampling period T: For example, Figure 4 This is a load state transition diagram in a lossless network provided by the present invention, such as... Figure 4 As shown, when the load factor equals 0, the session connection is determined to be in an underloaded state. For example, when... If the session connection is determined to be in an underloaded (lightly loaded) state, a new window will be added subsequently. Sizes compete for more bandwidth resources; like Figure 4 As shown, when the load factor At that time, set the captain threshold. Furthermore, the time interval characteristics of the arrival sequence of the groups were observed to further distinguish the degree of overload: When this happens, the session connection's load status is determined to be overloaded. like Figure 4 As shown, when the load factor is greater than 0 and less than or equal to the queue leader threshold... When this occurs, the load status of the session connection is determined to be balanced. For example, when 0 < < At this time, the session connection is in a state of moderate overload (steady state), which can be regarded as a balanced state in the dynamic adjustment process. The window size does not need to be adjusted, or it can be alternately increased or decreased to maintain dynamic balance.
[0105] like Figure 4 As shown, when the load factor Greater than the captain threshold When, and the sequence of arrival time intervals of the groups exhibits a significant periodic ON / OFF characteristic, that is... Furthermore, if ON / OFF signals arrive, the status of the service session connection is difficult to determine and is therefore classified as pending. A Fast Fourier Transform can be performed on the time intervals of the packet arrival sequence to determine whether significant periodic ON / OFF characteristics are present.
[0106] like Figure 4 As shown, when the load factor When service flow packets arrive continuously and without interruption, the session connection is in an overloaded state.
[0107] (2) Window adjustment process in the case of no network loss: The initial connection is used to set the initial values of the window. ,in For network card line speed, It is the baseline component of end-to-end data path delay, including link propagation and node forwarding time, and is the remaining part of RTT after removing node queuing delay.
[0108] In application scenarios where the RTT baseline delay is known, set the default fixed value. ; Unknown application scenarios are configured with standard values. Through the first round of overload testing, the initial connection source can contend for and estimate the available bandwidth at the bottleneck link. Subsequently, the window size is adjusted according to the following rules based on the sampling period T: When the session connection is underloaded, update the size of the sending window according to the composite weight.
[0109] For example, a. When the connection is underloaded, the window adjustment rules are as follows: (6) in, For the updated send window size, As the reference component for end-to-end data path delay, This refers to the reception rate of the service flow at the receiving end. For network card line speed, This is the initial value for the window. The initial value is 1 / 128. The default value is set to 0.5.
[0110] When the session connection is in a balanced or congested state, the size of the sending window is set to the target value; the target value is determined based on the receiving rate of the service flow at the receiving end, the reference component of the end-to-end data path delay, and the queue leader threshold.
[0111] b. When the connection is in a balanced or congested state, the window adjustment rules are as follows: (7) in, For the updated send window size, As the reference component for end-to-end data path delay, This refers to the reception rate of the service flow at the receiving end. For network card line speed, The threshold for the team leader.
[0112] c. When the connection is in a pending state, the window adjustment rules are as follows: window W remains unchanged.
[0113] The method provided in this embodiment uses load factor quantization to characterize the load state of the connection. In the absence of data loss, the load state is determined based on the quantized load factor and whether the packet arrival time series exhibits periodic ON / OFF characteristics, and the adjustment of injected traffic is guided. It can quickly converge to a feasible resource usage quota, keep the bottleneck link port queue at a near-zero level, and provide high throughput and low latency transmission services for applications.
[0114] Figure 5a This is one of the comparison graphs of the network traffic load detection and control (LDR) method proposed in this invention and the traditional congestion control algorithms DCQCN, TIMELY, and HPCC under typical workloads, showing the average flow completion time and tail flow completion time when the total load is 80%. Figure 5bThis is the second comparison chart of the network traffic load detection and control (LDR) method proposed in this invention with traditional congestion control algorithms DCQCN, TIMELY, and HPCC under typical workloads, showing the average flow completion time and tail flow completion time. It represents the average flow completion time and tail flow completion time when the total load is 50%. The light-colored rectangle represents the tail flow completion time (99th percentile flow completion time), and the dark-colored rectangle represents the average flow completion time. The horizontal axis represents the flow size (bytes), and the vertical axis represents the average / tail flow completion time.
[0115] Simulation configuration: Fat tree topology, with a total of 320 servers, 20 aggregation switches, and 16 core switches. Each server has a 100 Gbps link connected to a ToR switch. All links between the core switches, aggregation switches, and ToR switches are 400 Gbps. Single-hop link propagation delay is 1 microsecond, and RTT is approximately 12 microseconds. Based on the actual equipment configuration, the switch buffer size is set to 32MB. The link-layer flow control (PFC) trigger threshold is set to 512KB.
[0116] According to the network traffic load detection and control method provided by the present invention, the receiving rate of the service flow at the receiving end is calculated through the following steps, including: The receiving rate of the service at the receiving end is obtained by dividing the actual number of packets received by the sampling period. The receiving rate of a service at the receiving end is the bandwidth shared at the bottleneck link in the end-to-end data path.
[0117] Specifically, in some embodiments, when there are congested ports on the path, the reception rate of the service flow at the receiving end is... This refers to the bandwidth shared by the service flow at the bottleneck link, i.e.: (1) in, This refers to the reception rate of the service flow at the receiving end. This represents the total number of packets received within the sampling period T. The sampling period.
[0118] The method provided in this embodiment divides the total number of received packets by the sampling period to obtain the reception rate of the service flow at the receiving end. This facilitates the subsequent formation of target signaling frames and their transmission to the sending end for congestion detection and adjustment, thereby improving link utilization, reducing transmission latency, and shortening the service flow transmission completion time. It can provide applications with high throughput and low latency transmission services.
[0119] The network traffic load detection and control device provided by the present invention will be described below. The network traffic load detection and control device described below can be referred to in correspondence with the network traffic load detection and control method described above.
[0120] Figure 6 This is a schematic diagram of the network traffic load detection and control device 600 provided by the present invention. This network traffic load detection and control device 600 is applied at the transmitting end, such as... Figure 6 The network traffic load detection and control device 600 includes the following modules: The sending module 610 is used to send a service flow to the receiving end; the service flow includes multiple packets; The receiving module 620 is used to receive the reception rate of the service stream at the receiving end; the reception rate of the service stream at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The calculation module 630 is used to determine a load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. The detection and control module 640 is used to determine the load status of the session connection based on the load factor, and dynamically adjust the traffic injection strategy according to the load status so that the load factor is less than the queue leader threshold.
[0121] The apparatus provided in this embodiment is applied to the sending end. First, the sending module 610 is used to send a service flow to the receiving end; the service flow includes multiple packets. The receiving module 620 is used to receive the receiving rate of the service flow at the receiving end; the receiving rate of the service flow at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period. The calculation module 630 is used to determine the load factor based on the receiving rate of the service flow at the receiving end, the total number of packets sent by the sending end but not acknowledged, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, which is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. The detection and control module 640 is used to determine the load status of the session connection based on the load factor and dynamically adjust the traffic injection strategy according to the load status so that the load factor is less than the queue leader threshold.
[0122] This invention enables the sending and receiving ends to collaboratively observe the load status of the service flow and the reception rate of the service flow at the receiving end. The sending end determines the load factor based on the reception rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged, the sampling period, and the reference component of the end-to-end data path delay. Then, based on the quantized load factor, the load status is determined and the adjustment of injected traffic is guided to promptly clear the excessive packets backlogged in the network device. This invention can avoid network congestion caused by excessive service traffic injected by the terminal, and at the same time facilitate the efficient use of bandwidth resources, providing low-latency and high-throughput transmission services for services.
[0123] According to the network traffic load detection and control device 600 provided by the present invention, the network type includes any one of the following: conventional packet-switched network, on-chip network, and packet-switched network supporting reliable transmission protocols; the computing module 630 is further used for: When applied to the conventional packet-switched network, a first signaling frame within the sampling period is constructed using feedback information sent by the receiving end. Based on the first signaling frame, the total number of packets that the sending end has sent but not yet acknowledged for receipt under the conventional packet-switched network is determined. The feedback information sent by the receiving end includes the reception rate of the service flow at the receiving end, the total number of successfully received packets, and the number of lost packets, which are obtained by the receiving end monitoring the packet arrival time series of the service flow. When applied to the on-chip network, the feedback information sent by the receiving end via a special signal line is used to construct a second signaling frame within the sampling period, and the total number of packets that the sending end has sent but not been acknowledged under the on-chip network is determined based on the second signaling frame. In the case of a packet-switched network supporting the reliable transmission protocol, the total number of packets that the sending end has sent but not been acknowledged for receipt in the packet-switched network supporting the reliable transmission protocol is determined by the ACK frame; the ACK frame carries the feedback information sent by the receiving end.
[0124] According to the network traffic load detection and control device 600 provided by the present invention, the calculation module 630 is further used for: In the case of a packet-switched network that supports the reliable transmission protocol, the total number of successfully received packets confirmed by ACK frames within the sampling period is counted by the detector at the transmitting end. Based on the total number of successfully received packets confirmed by the ACK frame and the sampling period, the reception rate of the service flow at the receiving end is estimated; in this case, there is no need to extend the ACK to carry the feedback information sent by the receiving end.
[0125] According to the network traffic load detection and control device 600 provided by the present invention, the calculation module 630 is specifically used for: When applied to the conventional packet-switched network, the reference component of the end-to-end data path delay is added to the sampling period to obtain a first time term, and the first time term is multiplied by the receiving rate of the service flow at the receiving end to obtain a first multiplication result. The load factor under the conventional packet switching network is obtained by subtracting the first multiplication result from the total number of packets that have been sent by the sending end but have not been acknowledged.
[0126] According to the network traffic load detection and control device 600 provided by the present invention, the calculation module 630 is further used for: When applied to the on-chip network, the reference component of the end-to-end data path delay is divided by two and then added to the sampling period to obtain a second time term. The second time term is then multiplied by the reception rate of the service flow at the receiving end to obtain a second multiplication result. The load factor under the on-chip network is obtained by subtracting the second multiplication result from the total number of packets that have been sent by the sending end but have not been acknowledged.
[0127] According to the network traffic load detection and control device 600 provided by the present invention, the calculation module 630 is further used for: In the case of the packet-switched network supporting the reliable transmission protocol, the reference component of the end-to-end data path delay is multiplied by the receiving rate of the service flow at the receiving end to obtain a third multiplication result. The load factor under the packet-switched network supporting the reliable transmission protocol is obtained by subtracting the third multiplication result from the total number of packets that the sending end has sent but not yet been acknowledged.
[0128] According to the present invention, a network traffic load detection and control device 600 is provided, wherein the detection and control module 640 is specifically used for: If it is determined that the service flow is transmitted through a network with loss, and the load factor is equal to 0, the load state of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the queue leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold, the load state of the session connection is determined to be an overloaded congestion state. When the load state of the session connection is the underload state, the size of the sending window is updated according to the composite weight. When the load state of the session connection is either the balanced state or the congested state, the size of the sending window is set to a target value; the target value is determined based on the receiving rate of the service flow at the receiving end, the reference component of the end-to-end data path delay, and the queue leader threshold.
[0129] According to the network traffic load detection and control device 600 provided by the present invention, the detection and control module 640 is further used for: If it is determined that the service flow is transmitted through a lossless network, and the load factor is equal to 0, the load state of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the queue leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold and the packet arrival time series exhibits periodic ON / OFF characteristics, the load status of the session connection is determined to be pending. When the load factor is greater than the queue leader threshold and service flow packets arrive continuously without interruption, the load state of the session connection is determined to be the congestion state. When the load state of the session connection is the underload state, the size of the sending window is updated according to the composite weight; When the load state of the session connection is either the balanced state or the congested state, the size of the sending window is set to the target value; When the load state of the session connection is in the pending state, the size of the sending window remains unchanged.
[0130] According to the network traffic load detection and control device 600 provided by the present invention, the receiving rate of the service flow at the receiving end is calculated by the following steps, including: The receiving rate of the service at the receiving end is obtained by dividing the actual number of packets received by the sampling period. The receiving rate of the service at the receiving end is the bandwidth shared at the bottleneck link in the end-to-end data path.
[0131] Figure 7 This is a schematic diagram of the structure of the electronic device provided by the present invention, such as... Figure 7As shown, the electronic device may include: a processor 710, a communications interface 720, a memory 730, and a communication bus 740, wherein the processor 710, the communications interface 720, and the memory 730 communicate with each other via the communication bus 740. The processor 710 can call logical instructions from the memory 730 to execute a method for detecting and controlling network traffic load. This method is applied at the transmitting end and includes: Send a service flow to the receiving end; the service flow includes multiple packets; The receiving rate of the service stream at the receiving end; the receiving rate of the service stream at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue leader threshold.
[0132] Furthermore, the logical instructions in the aforementioned memory 730 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0133] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer is able to execute the network traffic load detection and control methods provided by the above methods. This method is applied at the sending end and includes: Send a service flow to the receiving end; the service flow includes multiple packets; The receiving rate of the service stream at the receiving end; the receiving rate of the service stream at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue leader threshold.
[0134] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When executed by a processor, the computer program implements the network traffic load detection and control method provided by the above methods. This method is applied at the sending end and includes: Send a service flow to the receiving end; the service flow includes multiple packets; The receiving rate of the service stream at the receiving end; the receiving rate of the service stream at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time, and is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue leader threshold.
[0135] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0136] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0137] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for detecting and controlling network traffic load, characterized in that, Applied to the sending end, the method includes: Send a service flow to the receiving end; the service flow includes multiple packets; The receiving rate of the service stream at the receiving end is received; the receiving rate of the service stream at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The load factor is determined based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time. The reference component of the end-to-end data path delay is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets at network nodes in the end-to-end data path. Based on the load factor, the load status of the session connection is determined, and the traffic injection strategy is dynamically adjusted according to the load status to make the load factor less than the queue leader threshold.
2. The method for detecting and controlling network traffic load according to claim 1, characterized in that, The network type includes any one of the following: conventional packet-switched networks, on-chip networks, and packet-switched networks supporting reliable transmission protocols; before determining the load factor based on the reference components of the service flow's reception rate at the receiving end, the total number of packets sent but not acknowledged at the sending end, the sampling period, and the end-to-end data path delay, the method further includes: When applied to the conventional packet-switched network, a first signaling frame within the sampling period is constructed using feedback information sent by the receiving end. Based on the first signaling frame, the total number of packets that the sending end has sent but not yet acknowledged for reception under the conventional packet-switched network is determined. The feedback information sent by the receiving end includes the reception rate of the service flow at the receiving end, the total number of successfully received packets, and the number of lost packets. The feedback information sent by the receiving end is obtained by the receiving end monitoring the packet arrival time series of the service flow. When applied to the on-chip network, the feedback information sent by the receiving end via a special signal line is used to construct a second signaling frame within the sampling period, and the total number of packets that the sending end has sent but not been acknowledged under the on-chip network is determined based on the second signaling frame. In the case of a packet-switched network supporting the reliable transmission protocol, the total number of packets that the sending end has sent but not been acknowledged for receipt in the packet-switched network supporting the reliable transmission protocol is determined by the ACK frame; the ACK frame carries the feedback information sent by the receiving end.
3. The method for detecting and controlling network traffic load according to claim 2, characterized in that, The method further includes: In the case of a packet-switched network that supports the reliable transmission protocol, the total number of successfully received packets acknowledged by the ACK frame within the sampling period is counted by the detector at the transmitting end. Based on the total number of successfully received packets confirmed by the ACK frame and the sampling period, the reception rate of the service flow at the receiving end is estimated; in this case, there is no need to extend the ACK to carry the feedback information sent by the receiving end.
4. The method for detecting and controlling network traffic load according to claim 2, characterized in that, The determination of the load factor based on the receiving rate of the service flow at the receiving end, the total number of packets sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay includes: When applied to the conventional packet-switched network, the reference component of the end-to-end data path delay is added to the sampling period to obtain a first time term, and the first time term is multiplied by the receiving rate of the service flow at the receiving end to obtain a first multiplication result. The load factor under the conventional packet switching network is obtained by subtracting the first multiplication result from the total number of packets that have been sent by the sending end but have not been acknowledged.
5. The method for detecting and controlling network traffic load according to claim 2, characterized in that, The determination of the load factor based on the receiving rate of the service flow at the receiving end, the total number of packets sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay includes: When applied to the on-chip network, the reference component of the end-to-end data path delay is divided by two and then added to the sampling period to obtain a second time term. The second time term is then multiplied by the receiving rate of the service flow at the receiving end to obtain a second multiplication result. The load factor under the on-chip network is obtained by subtracting the second multiplication result from the total number of packets that have been sent by the sending end but have not been acknowledged.
6. The method for detecting and controlling network traffic load according to claim 2, characterized in that, The determination of the load factor based on the receiving rate of the service flow at the receiving end, the total number of packets sent but not acknowledged by the sending end, the sampling period, and the reference component of the end-to-end data path delay includes: In the case of the packet-switched network supporting the reliable transmission protocol, the reference component of the end-to-end data path delay is multiplied by the receiving rate of the service flow at the receiving end to obtain a third multiplication result; The load factor under the packet-switched network supporting the reliable transmission protocol is obtained by subtracting the third multiplication result from the total number of packets that the sending end has sent but not yet been acknowledged.
7. The method for detecting and controlling network traffic load according to claim 1, characterized in that, The step of determining the load state of a session connection based on the load factor and dynamically adjusting the traffic injection strategy according to the load state to make the load factor less than the queue leader threshold includes: If it is determined that the service flow is transmitted through a network with loss, and the load factor is equal to 0, the load state of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold, the load state of the session connection is determined to be an overloaded congestion state. When the load state of the session connection is the underload state, the size of the sending window is updated according to the composite weight. When the load state of the session connection is either the balanced state or the congested state, the size of the sending window is set to a target value; the target value is determined based on the receiving rate of the service flow at the receiving end, the reference component of the end-to-end data path delay, and the queue leader threshold.
8. The method for detecting and controlling network traffic load according to claim 1, characterized in that, The step of determining the load state of a session connection based on the load factor and dynamically adjusting the traffic injection strategy according to the load state to make the load factor less than the queue leader threshold includes: If it is determined that the service flow is transmitted through a lossless network, and the load factor is equal to 0, the load state of the session connection is determined to be underloaded. When the load factor is greater than 0 and less than or equal to the leader threshold, the load state of the session connection is determined to be balanced. When the load factor is greater than the queue leader threshold and the packet arrival time series exhibits periodic ON / OFF characteristics, the load status of the session connection is determined to be pending. When the load factor is greater than the queue leader threshold and service flow packets arrive continuously without interruption, the load state of the session connection is determined to be the congestion state. When the load state of the session connection is the underload state, the size of the sending window is updated according to the composite weight; When the load state of the session connection is either the balanced state or the congested state, the size of the sending window is set to the target value; When the load state of the session connection is in the pending state, the size of the sending window remains unchanged.
9. The method for detecting and controlling network traffic load according to claim 1, characterized in that, The receiving rate of the service flow at the receiving end is calculated through the following steps: The receiving rate of the service flow at the receiving end is obtained by dividing the actual number of packets received by the sampling period. The receiving rate of the service flow at the receiving end is the bandwidth shared at the bottleneck link in the end-to-end data path.
10. A network traffic load detection and control device, characterized in that, Applied to the transmitting end, the device includes: The sending module is used to send a service flow to the receiving end; the service flow includes multiple packets; A receiving module is used to receive the reception rate of the service flow at the receiving end; the reception rate of the service flow at the receiving end is obtained by the receiving end based on the actual number of packets received and the sampling period; The calculation module is used to determine a load factor based on the receiving rate of the service flow at the receiving end, the total number of packets that have been sent but not acknowledged by the sending end, the sampling period, and a reference component of the end-to-end data path delay. The load factor represents the total number of packets backlogged at network nodes in the end-to-end path. The reference component of the end-to-end data path delay includes link propagation and node forwarding time. The reference component of the end-to-end data path delay is the remaining part of the round-trip time (RTT) of the end-to-end data path after deducting the queuing delay of packets in the end-to-end data path at network nodes. The detection and control module is used to determine the load status of the session connection based on the load factor, and dynamically adjust the traffic injection strategy according to the load status so that the load factor is less than the queue leader threshold.