Active congestion control method and device for protecting elephant flow

By obtaining the delay information of the current transmission link and the preset delay interval in the data center network, adjusting the congestion window value of the elephant stream, solving the problem of network congestion caused by congestion by the sender's host failing to perceive the network congestion caused by congestion in a timely manner, ensuring the transmission delivery of the elephant stream and the availability of the network.

CN119561911APending Publication Date: 2025-03-04GUANGXI BEITOU XINCHUANG TECH INVESTMENT GRP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411468040.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-21
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

In the data center network, the host on the sender side fails to sense the congestion of the core link in time, resulting in the high transmission rate of the elephant stream, seriously aggravating the congestion of the global network, affecting the delivery of the elephant stream and the availability of the network.

Method used

By obtaining the current delay and preset delay interval of the current transmission link in the data center network, determine the target congestion window adjustment strategy, and adjust the current congestion window value to control the transmission rate of the elephant flow.

Benefits of technology

It effectively avoids the sending hosts using aggressive sending rates to fan the elephant stream into the network when congestion occurs in data center network, resulting in an increase in cache queue length, affecting the transmission delivery of elephant streams and the availability of the global network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119561911A_ABST
    Figure CN119561911A_ABST
Patent Text Reader

Abstract

The invention relates to an active congestion control method and device for protecting elephant flow. The method comprises the following steps: when determining that a target data stream in a plurality of data streams sent to a receiver end host through a data center network is an elephant stream, obtaining a current time delay and a preset time delay interval of a current transmission link; determining a target congestion window adjustment strategy of the current transmission link based on a size relationship between the current time delay and a preset time delay interval; and adjusting the current congestion window value of the current transmission link at the current moment by using the target congestion window adjustment strategy so as to control the sending rate of the target data stream. According to the invention, when the elephant flow is fanned into the data center network, the current congestion window value of the transmission link corresponding to the elephant flow at the current moment is actively adjusted, the sending rate of the elephant flow is carefully controlled, and the transmission and delivery of the elephant flow are ensured, so that the congestion condition of the data center network is prevented from being aggravated, and the availability of the global network is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to an active congestion control method and device for protecting elephant flows. Background Art

[0002] Cloud computing frameworks are widely deployed in large data centers and generate very high traffic loads, which makes the communication traffic inside the data center show an exponential growth trend, while the buffer of the core switch used is relatively small, causing a lot of sudden congestion in the data center network. When congestion occurs on the core switch of the network, if the host on the sender side fails to perceive the congestion of the core link in a short time and continues to fan in traffic to the core network, it will seriously aggravate the congestion of the global network.

[0003] In the related technology, the whole network traffic can be monitored in real time through the central control server, the link congestion level and service quality can be detected, and the transmission path to avoid congestion can be selected for the elephant flow. This transmission method for the elephant flow needs to use the global network traffic transmission information as the transmission control basis, so it requires additional calculation and signaling communication overhead. It is also possible to use a more aggressive sending rate adjustment method for the elephant flow through the sender-side host, set the initial value of the congestion window to the size of the bandwidth-delay product (Bandwidth-Delay Product, BDP), and fan the data into the network in a way that quickly fills the idle link. This will aggravate the global unavailability of the network, seriously affect the delivery of the elephant flow, and ultimately lead to the overall failure of the flow scheduling mechanism. Summary of the invention

[0004] In view of this, the embodiments of the present disclosure provide an active congestion control method and device for protecting elephant flows to solve the problems existing in the related art.

[0005] A first aspect of an embodiment of the present disclosure provides an active congestion control method for protecting an elephant flow, which is applied to a sender-side host and includes:

[0006] When it is determined that a target data stream among multiple data streams sent to a receiving end host through a data center network is an elephant stream, a current delay and a preset delay interval of a current transmission link are obtained;

[0007] Determining a target congestion window adjustment strategy for the current transmission link based on a size relationship between the current delay and the preset delay interval;

[0008] The target congestion window adjustment strategy is used to adjust the current congestion window value of the current transmission link at the current moment to control the sending rate of the target data flow.

[0009] A second aspect of the disclosed embodiment provides an active congestion control device for protecting elephant flows, which is applied to a sender-side host and includes:

[0010] An acquisition module, used for acquiring a current delay and a preset delay interval of a current transmission link when determining that a target data flow among multiple data flows sent to a receiving end host through a data center network is an elephant flow;

[0011] A processing module, configured to determine a target congestion window adjustment strategy for the current transmission link based on a size relationship between the current delay and the preset delay interval;

[0012] The processing module is further configured to use the target congestion window adjustment strategy to adjust the current congestion window value of the current transmission link at the current moment, so as to control the sending rate of the target data flow.

[0013] According to a third aspect of the embodiments of the present disclosure, there is provided an electronic device, including:

[0014] at least one processor;

[0015] a memory for storing at least one processor executable instruction;

[0016] Among them, at least one processor is used to execute instructions to implement the steps of the above method.

[0017] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the steps of the above method.

[0018] At least one of the above-mentioned technical solutions adopted in the embodiments of the present disclosure can achieve the following beneficial effects: by obtaining the current delay and the preset delay interval of the current transmission link when determining that the target data flow among the multiple data flows sent to the receiving end host through the data center network is an elephant flow; determining the target congestion window adjustment strategy of the current transmission link based on the size relationship between the current delay and the preset delay interval; using the target congestion window adjustment strategy, adjusting the current congestion window value of the current transmission link at the current moment to control the sending rate of the target data flow, and being able to actively adjust the current congestion window value of the transmission link corresponding to the elephant flow at the current moment when the elephant flow is fanned into the data center network, carefully controlling the sending rate of the elephant flow, and ensuring the transmission delivery of the elephant flow, thereby avoiding aggravating the congestion of the data center network and ensuring the availability of the global network. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0020] Figure 1 A schematic diagram of a process of an active congestion control method for protecting elephant flows provided by an exemplary embodiment of the present disclosure is shown;

[0021] Figure 2 A schematic diagram showing a data stream transmission process provided by an exemplary embodiment of the present disclosure;

[0022] Figure 3 A topology diagram of a leaf-spine switching network test bed based on a Close architecture provided by an exemplary embodiment of the present disclosure is shown;

[0023] Figure 4 A schematic diagram of the structure of an active congestion control device for protecting elephant flows provided by an exemplary embodiment of the present disclosure is shown;

[0024] Figure 5 A schematic diagram of the structure of an electronic device provided by an exemplary embodiment of the present disclosure is shown;

[0025] Figure 6 A schematic diagram of the structure of a computer system provided by an exemplary embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0026] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0027] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0028] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0029] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0030] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0031] In recent years, with the rapid development of network applications such as search, online retail and cloud computing, strict requirements have been placed on the underlying infrastructure in terms of computing, storage and networking. Driven by this, high-performance data centers such as Microsoft, Google, Amazon, Facebook and Alibaba have been rapidly established around the world. Data Center Network (DCN) has different characteristics from the Internet, which brings opportunities and challenges to the design of transmission protocols on data center networks.

[0032] As the core infrastructure of cloud computing, data centers are becoming increasingly large. Currently, a large data center can usually accommodate at least tens of thousands of servers, and these servers are connected using multi-layer Close networks. As the internal traffic demand of data center networks gradually increases, most existing data center networks set the server access bandwidth to 10Gbps, 40Gbps, or even 100Gbps, and the access link latency level is often less than microseconds.

[0033] Cloud computing frameworks are widely deployed in large data centers and generate very high traffic loads, which makes the communication traffic within the data center show an exponential growth trend. However, the buffer of the switches used is relatively small, resulting in many burst congestion in the data center network, that is, the switch queue grows rapidly and overflows in a very short time, which will lead to a decrease in network throughput and transmission efficiency, and a sharp increase in flow completion time (FCT). For example, typical tasks such as map-reduce computing patterns (such as Map Reduce) use partition / aggregation design patterns, which usually involve many-to-one traffic patterns, and multiple computing servers send data to a single aggregator node at the same time, resulting in a highly synchronized concurrent traffic communication pattern. In particular, when congestion occurs on the core switch of the network, if the sender-side host fails to perceive the congestion of the core link in a short time and continues to fan in traffic to the core network, it will seriously aggravate the congestion of the global network.

[0034] The data flow size of a data center usually shows a long-tail distribution. Taking the basic load (workload) of Facebook's data center network as an example, in a data center supporting web search, 50% of the data flows are less than 100KB, called mice flows, while 80% of the data volume belongs to the top 10% of elephant flows greater than 10MB. In a high-bandwidth and low-latency network environment, mice flows complete transmission within one or even a few round trip times (RTT), while elephant flows often occupy the switch cache queue for a long time, and are often delayed in scheduling transmission using various common flow scheduling algorithms. In specific traffic scenarios, such as when a virtual machine (Virtual Private Cloud, VPC) in a data center network crashes and needs to be restored immediately, the backup snapshot required for the recovery of the virtual machine VPC should be transmitted quickly, and a large amount of link space should be freed up for transmission. When restoring the normal working state of the sender-side host as soon as possible, the scheduling and transmission of elephant flows is more urgent. In order to ensure the normal operation of the core switching network, the traffic fan-in rate of the sender-side host needs to be accurately and carefully controlled, which puts higher requirements on the active congestion control algorithm.

[0035] In the related art, in a technical solution, a software defined network (SDN) architecture can be used in a data center network, and an SDN central control server can be used to monitor the traffic of the entire network in real time, detect changes in the topology of the perception network, and build a real-time network topology to detect the congestion level and service quality of the link, and select a transmission path for the elephant flow to avoid congestion. It is mainly described as detecting the congestion level of the link based on a real-time constructed network topology map, and dynamically adjusting the sampling period according to the congestion level; according to the sampling period, the elephant flow is identified by a two-stage dual threshold method; the reward function is designed based on minimizing the packet loss rate and maximizing the throughput and the highest path selection probability, and the optimal path is calculated in real time for the identified elephant flow, and rerouted to the optimal path.

[0036] This SDN data center network load balancing method for elephant flows has its main technical application point located in the SDN central control server, and needs to reconfigure the control plane and data plane. Moreover, this method uses the global network traffic transmission information as the transmission control basis, and requires global collection of network traffic and environmental data, identification of elephant flows, and then routing calculation on the control plane for each data flow arriving at each end host in the network. Finally, the calculated routes are sent down to the switches and end hosts on the data plane before the flow transmission can begin. Therefore, additional calculation and signaling communication overhead are required. This transmission architecture is fatal in data center networks with microsecond latency. The transmission control point of this method is located in the central control server, which is a global method, more similar to a routing selection algorithm than a congestion control algorithm.

[0037] In another technical solution, a transport layer protocol Homa applied to data center networks is proposed. It is a transport layer protocol driven by the receiver and can dynamically adjust the priority of the network queue. It integrates the receiver-driven active flow control mechanism. It can ensure ultra-low latency of short messages under high workload conditions. Homa also controls the overcommit of the receiver's downlink to ensure sufficient bandwidth utilization under high workload conditions. In this solution, the receiver schedules the queue provided by the switch more aggressively and dynamically adjusts the priority queue on the receiver; in addition, the receiver's downlink uses controlled overcommit to ensure that the receiver can allow multiple senders to transmit data simultaneously. Homa is a short message-based architecture that can solve the delay caused by head of line blocking on the Transmission Control Protocol (TCP). It is a stateless protocol that does not require character confirmation (ACK), which reduces the number of short messages.

[0038] This technical solution targets the long-tail distribution characteristics of data load in existing data center networks. The main technical application point is the host side of the receiver. At the same time, the protocol stack is optimized for remote procedure calls (RPC). The shortest remaining processing time (SRPT) is used as the basis for priority sorting. This flow scheduling method essentially replaces congestion control with flow scheduling. After the priority allocation is completed, the host on the sender side will transmit the flow data in sequence. For elephant flows, the host on the sender side uses a more aggressive sending rate adjustment method, sets the initial value of the congestion window to the size of the bandwidth-delay product (BDP), and fans the data into the network in a way that quickly fills up idle links. This flow scheduling method is friendly to the transmission of mouse flows, but is not friendly to the transmission priority of elephant flows.

[0039] At the same time, when congestion is about to occur in the core switching network, the sender-side host is about to enter the critical moment of elephant flow scheduling. Since the priority allocation has been determined, the number of active flows is static, the protocol itself is stateless and does not require ACK confirmation. The sender-side host cannot perceive the occurrence of congestion in time and change the assigned priority. It still fans in the elephant flow by using an aggressive congestion window, which will aggravate the global unavailability of the network, seriously affect the delivery of the elephant flow, and ultimately lead to the overall failure of the flow scheduling mechanism.

[0040] Therefore, in order to solve the above problems, the embodiment of the present disclosure provides an active congestion control method for protecting elephant flows, targeting the distributed synchronous traffic arrival mode and long-tail distribution traffic load scenario commonly found in existing data center networks, for the critical moment when the sender-side host is about to switch from scheduling mouse flows to scheduling elephant flows, if the core switching network is congested, the sender-side host uses an aggressive sending rate to fan the elephant flow into the network, which may aggravate the global congestion of the network and cause unavailability, and the transmission of the elephant flow is not effectively protected. Technical problems, using a relatively cautious sending rate speed regulation mechanism, design a fast-sensing, fast-converging data center network active congestion control algorithm. The method is essentially a distributed method, which can use the local network traffic transmission information as the transmission control basis, with the sender-side host as the control point, and when transmitting the elephant flow, a more cautious sending rate adjustment method is used to fan the elephant flow into the core switching network to prevent aggravating the congestion of the core switching network.

[0041] The active congestion control method for protecting elephant flows provided in the embodiments of the present disclosure may be executed by a sender-side host or by a chip applied to the sender-side host.

[0042] Exemplarily, the above-mentioned sender-end host can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), as well as big data and artificial intelligence platforms, but the exemplary embodiments of the present disclosure are not limited to this.

[0043] Figure 1 FIG. 2 is a flow chart showing a method for active congestion control for protecting elephant flows provided by an exemplary embodiment of the present disclosure. Figure 1 As shown, the active congestion control method for protecting elephant flows includes:

[0044] S101, when it is determined that a target data stream among multiple data streams sent to a receiving end host through a data center network is an elephant stream, obtaining a current delay and a preset delay interval of a current transmission link;

[0045] S102, determining a target congestion window adjustment strategy for the current transmission link based on a size relationship between the current delay and a preset delay interval;

[0046] S103, using the target congestion window adjustment strategy, adjusting the current congestion window value of the current transmission link at the current moment to control the sending rate of the target data flow.

[0047] Specifically, Figure 2 FIG. 1 is a schematic diagram showing a data stream transmission process provided by an exemplary embodiment of the present disclosure. Figure 2 As shown in Figure 1, when the sender host sends a data stream to the receiver host, the transmission process of this data stream needs to pass through the network between the sender host and the data center ( Figure 2 In the embodiment of the present invention, the core switching network (also referred to as the core switch in the exemplary embodiment of the present invention) is an edge switch between the data center network and the edge switch between the data center network and the receiving end host. When the number of data flows fanned into the data center network is too large, the transmission link of the data center network will be congested. At this time, if the sending end host still uses an aggressive sending rate to fan the elephant flow into the data center network, it may lead to aggravated global congestion of the data center network and eventually make the data center network unavailable.

[0048] In order to ensure the transmission and delivery of the elephant flow, when it is determined that the target data flow among the multiple data flows sent to the receiving end host through the data center network is the elephant flow, the current delay and the preset delay interval of the current transmission link can be obtained. Then, based on the size relationship between the current delay and the preset delay interval, the target congestion window adjustment strategy of the current transmission link is determined.

[0049] Here, the preset delay interval can be determined according to the actual application scenario, and the exemplary embodiments of the present disclosure do not specifically limit this.

[0050] Based on this, the target congestion window adjustment strategy is used to adjust the current congestion window value of the current transmission link at the current moment to carefully control the sending rate of the elephant flow. This can prevent the sender-end host from continuing to use an aggressive sending rate to fan the elephant flow into the data center network when congestion begins to occur in the data center network, causing the cache queue length of the data center network to continue to grow, affecting the transmission and delivery of the elephant flow, and ultimately causing congestion in the global network until the data center network becomes unavailable.

[0051] According to the technical solution of the exemplary embodiment of the present disclosure, when it is determined that the target data flow among the multiple data flows sent to the receiving end host through the data center network is the elephant flow, the current delay and the preset delay interval of the current transmission link are obtained; based on the size relationship between the current delay and the preset delay interval, the target congestion window adjustment strategy of the current transmission link is determined; using the target congestion window adjustment strategy, the current congestion window value of the current transmission link at the current moment is adjusted to control the sending rate of the target data flow, and when the elephant flow is fanned into the data center network, the current congestion window value of the transmission link corresponding to the elephant flow at the current moment can be actively adjusted, the sending rate of the elephant flow can be carefully controlled, and the transmission delivery of the elephant flow can be guaranteed, thereby avoiding aggravating the congestion of the data center network and ensuring the availability of the global network.

[0052] In some embodiments, the method may further include:

[0053] When multiple data streams arrive at the sender-end host from the buffer area, the stream size information of each data stream is sent to the receiver-end host respectively, and when the response information of the receiver-end host for the stream size information is received, the remaining transmission bytes of each data stream are obtained; wherein the response information is used to indicate that the receiver-end host confirms the receipt of the corresponding data stream;

[0054] According to the order of the remaining transmission bytes from small to large, the multiple data streams are prioritized to obtain the priority ranking corresponding to each data stream;

[0055] Multiple data flows are fanned into the data center network in sequence according to priority.

[0056] Specifically, Figure 2 As shown, when the data stream arrives at the sender-side host from the buffer area, the sender-side host can notify the receiver-side host of the stream size information in the form of a control message (①~③), and the receiver-side host returns response information (④~⑥) to the sender-side host based on the stream size information. Here, the response information can be used to indicate that the receiver-side host confirms the receipt of the corresponding data stream. The specific content of the response information is determined according to the actual application scenario, and the exemplary embodiment of the present disclosure does not specifically limit this. In the method of the exemplary embodiment of the present disclosure, the response information can be a grant token packet.

[0057] After receiving the license permission packet, the host on the sending end assigns priorities to multiple data streams in the cache area in the order of the remaining transmission bytes from small to large, and obtains the priority ranking corresponding to each data stream; then, according to the priority ranking, the multiple data streams are fanned into the data center network in turn, thereby realizing active congestion control driven by the host on the receiving end by "transmitting the mouse stream first and the elephant stream later".

[0058] On this basis, when it is determined that the target data flow among the multiple data flows sent to the receiving end host through the data center network is the elephant flow, that is, at the critical moment from transmitting the mouse flow to starting to transmit the elephant flow, and after starting to transmit the elephant flow, the above steps S101 to S103 are executed.

[0059] In some embodiments, obtaining the current delay and the preset delay interval of the current transmission link may include:

[0060] Sending a marking data packet of the target data stream to the receiving end host, and receiving a confirmation reply data packet of the receiving end host for the marking data packet;

[0061] Obtaining the sending time of the marked data packet and the receiving time of the confirmation reply data packet respectively, and calculating the current delay of the current transmission link based on the sending time of the marked data packet and the receiving time of the confirmation reply data packet;

[0062] Obtain a preset delay interval of the current transmission link, where the preset delay interval is determined based on a preset delay lower limit and a preset delay upper limit.

[0063] Specifically, first, multiple data packets included in the target data stream can be obtained; then, the multiple data packets are randomly sampled and marked to obtain a marked data packet; the marked data packet is sent to the receiving end host, and a confirmation reply data packet of the receiving end host for the marked data packet is received. Here, the marked data packet and the confirmation reply data packet can be collectively referred to as a joint data packet.

[0064] Exemplarily, the host at the sending end may randomly sample multiple data packets included in the elephant flow, and mark the randomly sampled data packets among the multiple data packets.

[0065] For example, the three marking bits of the service type (TOS) in the Differentiated Services Code Point (DSCP) in the IP message header of the randomly sampled data packet can be used to mark the randomly sampled data packet as 011, indicating that the randomly sampled data packet is a high priority data packet, thereby obtaining a marked data packet.

[0066] The random sampling marking method can be a marking method for sampling telemetry data packets, which can be specifically described as: for each elephant flow, a random number is given, assuming that the value range of the random number is 0 to N, N is an integer, and generally takes 0.1% of the total number of data packets included in the elephant flow; a random number threshold n (n∈[0, N]) is set, and when the random number is less than the random number threshold, the outgoing data packet is TOS-marked to obtain a marked data packet. Here, the sampling ratio of the random data packet can be set to n / (N+1), and the sending time of the marked data packet is recorded in the cache of the sender host.

[0067] After receiving the marked data packet, the receiving host, in addition to returning a regular grant token packet to the sending host, also needs to reply to confirm the marked data packet and return a confirmation reply data packet to the sending host.

[0068] Here, the reply confirmation can be marking the marked data packet, and the purpose of the reply confirmation is to confirm that the data center network packet does not contain data payload. The marking method of the confirmation reply data packet is the same as the marking method of the marked data packet, and only the TOS bit is marked in the IP packet header in the same marking method.

[0069] At this time, the exemplary embodiment of the present disclosure can respectively obtain the sending time of the marked data packet and the receiving time of the confirmation reply data packet, and calculate the current delay of the current transmission link based on the sending time of the marked data packet and the receiving time of the confirmation reply data packet.

[0070] The exemplary embodiment of the present disclosure may also acquire a preset delay interval of the current transmission link. Here, the preset delay interval is determined based on a preset delay lower limit and a preset delay upper limit.

[0071] Exemplarily, the preset delay lower limit can be calculated by the following formula:

[0072]

[0073] in, Indicates the preset delay lower limit, ssthresh indicates the slow start threshold, bw exp Indicates the expected bandwidth.

[0074] The preset delay upper limit can be calculated by the following formula:

[0075]

[0076]

[0077] in, Indicates the preset delay upper limit. Indicates the dynamic threshold interval boundary calculated based on the remaining cache capacity and actual latency. Indicates the dynamic delay threshold boundary that is updated immediately after each packet loss. bw indicates the current bandwidth, and Delay indicates the current delay.

[0078] Based on this, the preset delay interval of the current transmission link can be expressed as:

[0079] In some embodiments, determining a target congestion window adjustment strategy for a current transmission link based on a size relationship between a current delay and a preset delay interval may include:

[0080] Determine the current state of the current transmission link based on the magnitude relationship between the current delay and the preset delay interval;

[0081] Acquire congestion window adjustment strategies corresponding to a plurality of preset transmission link states, and determine a congestion window adjustment strategy corresponding to a current state from among the congestion window adjustment strategies corresponding to the plurality of preset transmission link states;

[0082] The congestion window adjustment policy corresponding to the current state is determined as the target congestion window adjustment policy of the current transmission link.

[0083] Specifically, the above-mentioned multiple preset transmission link states may include a start transmission state, a nearly full load state and a packet loss state. The current state of the current transmission link is one of the above-mentioned multiple preset transmission link states.

[0084] If the current delay is less than the preset delay lower limit of the preset delay interval, that is, When , the current state of the current transmission link is the start transmission state. At this time, it means that the queuing situation of the current transmission link is light and the available bandwidth is not fully utilized. In order to quickly increase the congestion window value, the multiplicative increase method can be used to increase the sending rate.

[0085] The congestion window adjustment strategy corresponding to the start transmission state includes the congestion window adjustment value at the next moment being twice the current congestion window value. It can be expressed as: W = W prev 2, where W represents the congestion window adjustment value at the next moment, W prev Indicates the current congestion window value.

[0086] If the current delay is within the preset delay range, , the current state of the current transmission link is about to be fully loaded. At this time, it means that the bandwidth of the current transmission link is gradually becoming fully loaded, and queuing begins to occur. It is possible that packet loss will occur at any time. At this time, you should be cautious about increasing the window.

[0087] The congestion window adjustment strategy corresponding to the nearly full load state includes the congestion window adjustment value at the next moment being determined based on the sum of the current congestion window value and the congestion window prediction value of the current transmission link. It can be expressed as: W = W prev +W e (d, l), where W e (d, l) represents the congestion window prediction value of the current transmission link.

[0088] If the current delay is greater than the preset delay upper limit of the preset delay interval, that is, , the current state of the current transmission link is packet loss. At this time, it means that the current transmission link has experienced packet loss congestion. At this time, the window should be quickly reduced to ensure that the sender host reduces the flow of fan-in data center network.

[0089] The congestion window adjustment strategy corresponding to the packet loss state includes the congestion window adjustment value at the next moment being half of the current congestion window value. It can be expressed as:

[0090] Based on this, the exemplary embodiment of the present disclosure can determine the current state of the current transmission link based on the size relationship between the current delay and the preset delay interval, and determine the congestion window adjustment policy corresponding to the current state from the congestion window adjustment policies corresponding to multiple preset transmission link states; then, the congestion window adjustment policy corresponding to the current state is determined as the target congestion window adjustment policy of the current transmission link.

[0091] In some embodiments, adjusting the current congestion window value of the current transmission link at the current moment by using the target congestion window adjustment strategy may include:

[0092] Get the current congestion window value of the current transmission link at the current moment;

[0093] Calculate the congestion window adjustment value at the next moment based on the current congestion window value and the target congestion window adjustment policy;

[0094] The congestion window adjustment value at the next moment is used to adjust the current congestion window value.

[0095] Specifically, after determining the target congestion window adjustment strategy of the current transmission link, the current congestion window value of the current transmission link at the current moment can be obtained; based on the current congestion window value and the target congestion window adjustment strategy, the congestion window adjustment value at the next moment is calculated. Here, the congestion window adjustment value at the next moment can be found in the previous text and will not be repeated here.

[0096] In the method of the exemplary embodiment of the present disclosure, at the beginning stage of transmission, the initial value of the congestion window experiment can be set to 10 on the sending host, and the current delay of the current transmission link is calculated every time a confirmation reply data packet is received from the receiving host; then, based on the size relationship between the current delay and the preset delay interval, the current state of the current transmission link is determined, and the congestion window adjustment strategy corresponding to the current state is re-determined from the congestion window adjustment strategies corresponding to multiple preset transmission link states, and the congestion window adjustment value of the current transmission link at the next moment is calculated until the elephant flow transmission is completed, thereby realizing the window increase or window reduction operation on the sending rate of the elephant flow, so as to ensure that the elephant flow can fan into the data center network at a more cautious sending rate.

[0097] In some embodiments, the method may further include:

[0098] Obtain the current packet loss rate of the target data flow and a pre-built joint congestion window prediction function;

[0099] The congestion window prediction function is used to calculate the congestion window prediction value of the current transmission link based on the current delay and the current packet loss rate.

[0100] Specifically, the current packet loss rate can be calculated based on the sending and receiving information of the marking data packet and the confirmation reply data packet mentioned above. The calculation method is a conventional technical means in this field and will not be described here.

[0101] When constructing the joint congestion window prediction function, it is necessary to first construct the probability prediction function of delay and the probability prediction function of packet loss rate.

[0102] Exemplarily, the host on the sending end can calculate the delay and packet loss rate of the marked data packet in the current round-trip time interval of the current transmission link from the confirmation reply data packet obtained by the host on the receiving end, and use this as the basis for predicting the data packet delay and packet loss rate of the next round-trip time interval. Based on the delay and packet loss rate of the current transmission link, a probability prediction function for delay and a probability prediction function for packet loss rate are constructed using a Bayesian network model.

[0103] The delay includes the delay caused by data center network congestion, and the packet loss rate includes the packet loss caused by the delay. Therefore, there is a conditional correlation between the two factors, the delay and the packet loss rate. The conditional probability model of the Bayesian network can be used to perform joint conditional probability calculation.

[0104] The probability prediction function of delay can be described as a joint conditional probability, which can be expressed by the following formula:

[0105] P(d e )=P(d old )·P(d|d old)+(1-P(d old ))·P(d|~d old )

[0106] Among them, P(d e ) represents the probability of delay; P(d old ) is the probability of the average delay in the previous round-trip time interval; P(d|d old ) is the conditional probability of the delay of the next round-trip time interval under the condition of the previous round-trip time interval; d represents the delay; in the above joint conditional probability, let d old For the condition to be true, on the contrary, let ~d old Is conditional false.

[0107] The probability prediction function of the packet loss rate can be described as a joint conditional probability, which can be expressed by the following formula:

[0108] P(l e )=P(l old )·P(l|l old )+(1-P(l old ))·P(l|~l old )+P(d old )·P(l|d old )+(1-P(d old ))·P(l|~d old )

[0109] Among them, P(l e ) represents the probability of packet loss rate; P(l old ) is the probability of packet loss in the last round-trip time interval; P(l|l old ) is the conditional probability of the packet loss rate of the next round-trip time interval under the condition of the previous round-trip time interval; l represents the packet loss rate; in the above joint conditional probability, let l old For the condition to be true, on the contrary, let ~l old Is conditional false.

[0110] Since the delay is caused by improperly increasing the size of the current congestion window value and affecting the traffic of other data flows. Packet loss is caused by delay and other factors. In order to overlap the delay and packet loss of the two indicators to determine the size of the congestion window, based on this, the congestion window prediction function of the delay and the congestion window prediction function of the packet loss rate can be constructed based on the probability prediction function of the delay and the probability prediction function of the packet loss rate, respectively.

[0111] The delay-based congestion window prediction function can be expressed by the following formula:

[0112] We (d) = (1-P(d e ))·W(d t )

[0113] Among them, W e (d) represents the congestion window prediction value based on delay; W(d t ) is the predicted value of the congestion window under the expected delay probability.

[0114] Here, without being affected by the queuing delay on the reverse path, the sender host can fully utilize the available bandwidth on the forward path. Therefore, the congestion window prediction value under the expected delay probability can be defined as:

[0115]

[0116] Among them, d queue Indicates the queuing delay of the sender host.

[0117] The congestion window prediction function based on packet loss rate can be expressed by the following formula:

[0118] W e (l) = (1-P(l e ))·W(l t )

[0119] Among them, W e (l) represents the congestion window prediction value based on the packet loss rate; W(l t ) is the predicted value of the congestion window under the expected packet loss rate probability.

[0120] Based on this, we can overlap the two indicators of delay and packet loss, and construct a joint congestion window prediction function based on the delay congestion window prediction function and the packet loss rate congestion window prediction function. The joint congestion window prediction function can be expressed by the following formula:

[0121]

[0122] Among them, W e (d, l) represents the congestion window prediction value of the current transmission link.

[0123] Based on this, after obtaining the current delay and current packet loss rate of the current transmission link, the joint congestion window prediction function can be used to calculate the congestion window prediction value of the current transmission link based on the current delay and the current packet loss rate. When the current state of the current transmission link is about to be fully loaded, the congestion window adjustment value at the next moment is determined based on the sum of the current congestion window value and the congestion window prediction value of the current transmission link, and the congestion window adjustment value at the next moment is used to adjust the current congestion window value of the current transmission link at the current moment, thereby achieving the purpose of actively controlling the sending rate of the elephant flow, ensuring the transmission delivery of the elephant flow, thereby avoiding aggravating the congestion of the data center network and ensuring the availability of the global network.

[0124] On this basis, the exemplary embodiment of the present disclosure conducts a data transmission experiment under a test bed topology based on a Clos switching network architecture. Figure 3 FIG. 2 shows a topology diagram of a leaf-spine switching network test bed based on a Close architecture provided by an exemplary embodiment of the present disclosure. Figure 3 As shown in the figure, in the leaf-spine switching network based on the Close topology, the number of leaf-spine (core) switches is 4, the number of leaf (edge) switches is 16, the number of servers is 64, the servers and edge switches are connected by 10Gbps links, the core switches are connected by 50Gbps links, the no-load link delay is 10μs; the no-load RTT within 4 hops of the longest transmission path is 80μs. The workload adopts the data flow arrival to follow the Poisson distribution, and the source and destination servers of each data flow are uniformly randomly selected. The mouse flow size is randomly selected from 8KB to 32KB, and the elephant flow size is set to 10 to 100MB and randomly selected. The test time is 60 minutes.

[0125] Compared with the prior art solutions, the active congestion control method for protecting elephant flows provided by the exemplary embodiment of the present disclosure is compared in terms of the average completion time of elephant flows, the average length of the core switch cache queue, and the network throughput using the test bed topology, experimental workload, and experimental conditions. In the active congestion control method for protecting elephant flows provided by the exemplary embodiment of the present disclosure, the average completion time of the elephant flow is 3.82 seconds, which is 75.10% lower than the 15.34 seconds of the prior art solution. In the active congestion control method for protecting elephant flows provided by the exemplary embodiment of the present disclosure, the average length of the core switch cache queue is 55.32KB, which is 81.45% lower than the 298.21KB of the prior art solution; in the active congestion control method for protecting elephant flows provided by the exemplary embodiment of the present disclosure, the average throughput is 3.72Gbps, which is 45.43% higher than the 2.03Gbps of the prior art solution; the core switching network does not experience sharp or sustained congestion.

[0126] To sum up, the active congestion control method for protecting elephant flows provided by the exemplary embodiment of the present invention can improve the average completion time of elephant flows, the average length of the core switch cache queue and the network throughput compared with the existing methods, ensure the overall availability of the core switching network, and significantly protect the transmission delivery of elephant flows.

[0127] The above mainly introduces the scheme provided by the embodiment of the present disclosure. It is understandable that in order to realize the above functions, the electronic device includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiment disclosed in this article, the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present disclosure.

[0128] The disclosed embodiment can divide the electronic device into functional units according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the disclosed embodiment is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0129] In the case of dividing each functional module according to each function, the exemplary embodiment of the present disclosure provides an active congestion control device for protecting elephant flows, which can be a sender-side host or a chip applied to the sender-side host. Figure 4 FIG. 2 shows a schematic diagram of the structure of an active congestion control device for protecting elephant flows provided by an exemplary embodiment of the present disclosure. Figure 4 As shown, the device 400 includes:

[0130] The acquisition module 401 is used to acquire the current delay and the preset delay interval of the current transmission link when it is determined that the target data flow among the multiple data flows sent to the receiving end host through the data center network is the elephant flow;

[0131] A processing module 402 is used to determine a target congestion window adjustment strategy for the current transmission link based on a size relationship between the current delay and the preset delay interval;

[0132] The processing module 402 is further configured to use the target congestion window adjustment strategy to adjust the current congestion window value of the current transmission link at the current moment, so as to control the sending rate of the target data flow.

[0133] In some embodiments, the acquisition module 401 is also used to send a marking data packet of the target data stream to the receiving-end host, and receive a confirmation reply data packet from the receiving-end host for the marking data packet; respectively obtain the sending time of the marking data packet and the receiving time of the confirmation reply data packet, and calculate the current delay of the current transmission link based on the sending time of the marking data packet and the receiving time of the confirmation reply data packet; obtain the preset delay interval of the current transmission link, and the preset delay interval is determined based on a preset delay lower limit and a preset delay upper limit.

[0134] In some embodiments, the processing module 402 is also used to determine the current state of the current transmission link based on the size relationship between the current delay and the preset delay interval; obtain congestion window adjustment strategies corresponding to multiple preset transmission link states, and determine the congestion window adjustment strategy corresponding to the current state from the congestion window adjustment strategies corresponding to the multiple preset transmission link states; determine the congestion window adjustment strategy corresponding to the current state as the target congestion window adjustment strategy of the current transmission link.

[0135] In some embodiments, the processing module 402 is also used to obtain the current congestion window value of the current transmission link at the current moment; calculate the congestion window adjustment value at the next moment based on the current congestion window value and the target congestion window adjustment strategy; and use the congestion window adjustment value at the next moment to adjust the current congestion window value.

[0136] In some embodiments, the plurality of preset transmission link states include a start transmission state, an about-to-be-full-load state, and a packet loss state;

[0137] The congestion window adjustment strategy corresponding to the start transmission state includes the congestion window adjustment value at the next moment being twice the current congestion window value;

[0138] The congestion window adjustment strategy corresponding to the nearly full load state includes determining the congestion window adjustment value at the next moment based on the sum of the current congestion window value and the congestion window prediction value of the current transmission link;

[0139] The congestion window adjustment strategy corresponding to the packet loss state includes the congestion window adjustment value at the next moment being half of the current congestion window value.

[0140] In some embodiments, the processing module 402 is also used to obtain the current packet loss rate of the target data flow and a pre-constructed joint congestion window prediction function; and use the joint congestion window prediction function to calculate the congestion window prediction value of the current transmission link based on the current delay and the current packet loss rate.

[0141] In some embodiments, the acquisition module 401 is further used to send the stream size information of each data stream to the receiving end host respectively when the multiple data streams arrive at the sending end host from the buffer area, and obtain the remaining transmission bytes of each data stream when receiving the response information of the receiving end host for the stream size information; wherein the response information is used to indicate that the receiving end host confirms receiving the corresponding data stream;

[0142] The processing module 402 is also used to prioritize the multiple data streams in the order of the remaining transmission bytes from small to large, to obtain the priority ranking corresponding to each of the data streams; and fan the multiple data streams into the data center network in sequence according to the priority ranking.

[0143] An embodiment of the present disclosure also provides an electronic device, comprising: at least one processor; a memory for storing instructions executable by at least one processor; wherein the at least one processor is used to execute instructions to implement the steps of the above method disclosed in the embodiment of the present disclosure.

[0144] Figure 5 FIG. 1 shows a schematic diagram of the structure of an electronic device provided by an exemplary embodiment of the present disclosure. Figure 5 As shown, the electronic device 500 includes at least one processor 501 and a memory 502 coupled to the processor 501 , and the processor 501 can execute corresponding steps in the above method disclosed in the embodiment of the present disclosure.

[0145] The processor 501 may also be referred to as a central processing unit (CPU), which may be an integrated circuit chip having signal processing capabilities. Each step in the method disclosed in the embodiment of the present disclosure may be completed by an integrated logic circuit of hardware in the processor 501 or by instructions in the form of software. The processor 501 may be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present disclosure may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in a decoding processor. The software module may be located in a memory 502, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, or other mature storage media in the art. The processor 501 reads the information in the memory 502 and completes the steps of the method in combination with its hardware.

[0146] In addition, when various operations / processes according to the present disclosure are implemented by software and / or firmware, they can be transmitted from a storage medium or a network to a computer system having a dedicated hardware structure, for example, Figure 6 The computer system 600 shown is installed with the programs constituting the software. When the various programs are installed, the computer system can perform various functions, including the functions described above. Figure 6 A schematic diagram of the structure of a computer system provided by an exemplary embodiment of the present disclosure is shown.

[0147] Computer system 600 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0148] like Figure 6As shown, the computer system 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the computer system 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0149] A plurality of components in the computer system 600 are connected to the I / O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 can be any type of device capable of inputting information to the computer system 600, and the input unit 606 can receive input digital or character information, and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 607 can be any type of device capable of presenting information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 608 can include but is not limited to a disk, an optical disk. The communication unit 609 allows the computer system 600 to exchange information / data with other devices over a network such as the Internet, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, for example, a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0150] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above. For example, in some embodiments, the above methods disclosed in the embodiments of the present disclosure may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on an electronic device via a ROM 602 and / or a communication unit 609. In some embodiments, the computing unit 601 may be configured to perform the above methods disclosed in the embodiments of the present disclosure in any other appropriate manner (e.g., by means of firmware).

[0151] The embodiment of the present disclosure also provides a computer-readable storage medium, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the above method disclosed in the embodiment of the present disclosure.

[0152] The computer-readable storage medium in the disclosed embodiments may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. The computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. More specifically, the computer-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0153] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0154] The embodiments of the present disclosure also provide a computer program product, including a computer program, wherein the computer program implements the above method disclosed in the embodiments of the present disclosure when executed by a processor.

[0155] In embodiments of the present disclosure, computer program codes for performing the operations of the present disclosure may be written in one or more programming languages ​​or combinations thereof, including but not limited to object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer.

[0156] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0157] The modules, components or units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the names of the modules, components or units do not, in some cases, limit the modules, components or units themselves.

[0158] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0159] The above descriptions are only some embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, a technical solution formed by replacing the above features with the technical features with similar functions disclosed in the present disclosure (but not limited to).

[0160] Although some specific embodiments of the present disclosure have been described in detail by way of example, it should be understood by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present disclosure. It should be understood by those skilled in the art that the above embodiments may be modified without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.

Claims

1. An active congestion control method for protecting elephant flows, characterized in that: Applied to the sender host, including: When it is determined that a target data stream among multiple data streams sent to a receiving end host through a data center network is an elephant stream, a current delay and a preset delay interval of a current transmission link are obtained; Determining a target congestion window adjustment strategy for the current transmission link based on a size relationship between the current delay and the preset delay interval; The target congestion window adjustment strategy is used to adjust the current congestion window value of the current transmission link at the current moment to control the sending rate of the target data flow.

2. The method according to claim 1, characterized in that The obtaining of the current delay and the preset delay interval of the current transmission link includes: Sending a marking data packet of the target data stream to the receiving end host, and receiving a confirmation reply data packet from the receiving end host for the marking data packet; Respectively obtain the sending time of the marked data packet and the receiving time of the confirmation reply data packet, and calculate the current delay of the current transmission link based on the sending time of the marked data packet and the receiving time of the confirmation reply data packet; A preset delay interval of the current transmission link is obtained, where the preset delay interval is determined based on a preset delay lower limit and a preset delay upper limit.

3. The method according to claim 1, characterized in that The determining, based on the size relationship between the current delay and the preset delay interval, a target congestion window adjustment strategy for the current transmission link includes: Determining a current state of a current transmission link based on a magnitude relationship between the current delay and the preset delay interval; Acquire congestion window adjustment strategies corresponding to a plurality of preset transmission link states, and determine the congestion window adjustment strategy corresponding to the current state from the congestion window adjustment strategies corresponding to the plurality of preset transmission link states; The congestion window adjustment policy corresponding to the current state is determined as the target congestion window adjustment policy of the current transmission link.

4. The method according to claim 3, characterized in that The using the target congestion window adjustment strategy to adjust the current congestion window value of the current transmission link at the current moment includes: Obtaining a current congestion window value of the current transmission link at a current moment; Calculating a congestion window adjustment value at a next moment based on the current congestion window value and the target congestion window adjustment strategy; The current congestion window value is adjusted using the congestion window adjustment value at the next moment.

5. The method according to claim 3, characterized in that: The multiple preset transmission link states include a start transmission state, an about-to-be-full-load state, and a packet loss state; The congestion window adjustment strategy corresponding to the start transmission state includes the congestion window adjustment value at the next moment being twice the current congestion window value; The congestion window adjustment strategy corresponding to the nearly full load state includes determining the congestion window adjustment value at the next moment based on the sum of the current congestion window value and the congestion window prediction value of the current transmission link; The congestion window adjustment strategy corresponding to the packet loss state includes the congestion window adjustment value at the next moment being half of the current congestion window value.

6. The method according to claim 5, characterized in that The method further comprises: Obtaining a current packet loss rate of the target data flow and a pre-built joint congestion window prediction function; The congestion window prediction value of the current transmission link is calculated based on the current delay and the current packet loss rate using the joint congestion window prediction function.

7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: When the multiple data streams arrive at the sender-end host from the buffer area, the stream size information of each data stream is sent to the receiver-end host respectively, and when the response information of the receiver-end host to the stream size information is received, the remaining transmission bytes of each data stream are obtained; wherein the response information is used to indicate that the receiver-end host confirms receiving the corresponding data stream; Prioritize the multiple data streams according to the order of the remaining transmission bytes from small to large, and obtain the priority ranking corresponding to each of the data streams; According to the priority ranking, the multiple data flows are fanned into the data center network in sequence.

8. An active congestion control device for protecting elephant flows, characterized in that: Applied to the sender host, including: An acquisition module, used for acquiring a current delay and a preset delay interval of a current transmission link when determining that a target data flow among multiple data flows sent to a receiving end host through a data center network is an elephant flow; A processing module, configured to determine a target congestion window adjustment strategy for the current transmission link based on a size relationship between the current delay and the preset delay interval; The processing module is further configured to use the target congestion window adjustment strategy to adjust the current congestion window value of the current transmission link at the current moment, so as to control the sending rate of the target data flow.

9. An electronic device, characterized in that: include: at least one processor; a memory for storing the at least one processor-executable instruction; The at least one processor is configured to execute the instructions to implement the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the steps of the method according to any one of claims 1 to 7.