Active Congestion Control Method, Electronic Device, and Storage Medium Based on Credit Mechanism

The credit-based active congestion control method dynamically adjusts credit allocation based on network conditions to prevent congestion in data center networks, improving performance and efficiency by ensuring data packets are transmitted within network capacity.

CN120075136BActive Publication Date: 2025-07-15ARTIFICIAL INTELLIGENCE RES INST OF HEFEI COMPREHENSIVE NAT SCI CENT (ANHUI ARTIFICIAL INTELLIGENCE LAB) +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510508295.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-22
Publication Date
2025-07-15
Estimated Expiration
2045-04-22

AI Technical Summary

Technical Problem

The existing active congestion control algorithms fail to fully consider the internal bottlenecks of the network and the fine-grained allocation of credit values in the data center network, resulting in switch cache overflow in one more scenario, affecting the efficiency of the data center network.

Method used

By evaluating the network status by the receiver, combining the bottleneck bandwidth and the total core network credit, dynamically adjusting the credit allocation volume to achieve refined control of data flow and avoid network congestion.

Benefits of technology

It improves the transmission efficiency and reliability of the data center network, can respond to potential congestion risks in a timely manner, optimize network resource use, and improve overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075136B_ABST
    Figure CN120075136B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of computer networks, and discloses an active congestion control method, an electronic device and a storage medium based on a credit mechanism. The method includes: the sender sends data streams according to the credit allocation amount; the switch marks explicit congestion notifications for the packets of the received data streams according to its own cache utilization; statistically calculates the proportion of explicit congestion notifications of the data stream in the current period, and combines the proportion of explicit congestion notifications and the congestion information of the historical period to calculate the current congestion degree of the data stream; evenly distributes the total credit amount of the data stream to each data stream as the basic average credit amount, and adjusts the basic average credit amount according to the congestion degree of the data stream to obtain the actual credit allocation amount of the current data stream in the current adjustment period; through refined management of the credit allocation amount, combined with the actual congestion state of the network, realizes dynamic adjustment of the data stream to optimize network transmission efficiency, reduce latency, and improve the performance of the data center network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computer networks, and particularly to an active congestion control method, an electronic device, and a storage medium based on a credit mechanism. Background Art

[0002] As a key infrastructure in a distributed computing architecture, the Data Center Network (DCN) undertakes the core functions of data transmission and processing. In this context, the Remote Direct Memory Access (RDMA) technology emerged. Its core advantage lies in being able to bypass the intervention of the traditional operating system and achieve direct data transmission across computer memories, thereby significantly reducing latency and reducing the occupancy of Central Processing Unit (CPU) resources. This characteristic of the RDMA technology is crucial for the data center network because it directly relates to the efficiency and response speed of data processing.

[0003] With the rapid development of technologies such as cloud computing, big data, Internet of Things, and artificial intelligence, the data center network faces requirements for higher throughput and lower latency. The application of Software Defined Network (SDN) and Network Function Virtualization (NFV) technologies provides higher flexibility and programmability for the data center network, making the dynamic allocation and management of network resources more efficient. The research directions for data center network optimization include but are not limited to efficient network topology design, implementation of Quality of Service (QoS) mechanisms, and configuration optimization of network devices, all of which aim to reduce network latency and improve throughput. The development of the RDMA technology, especially the application of Infiniband (IB) and RDMA over Converged Ethernet (RoCE), provides high-performance and low-latency data transmission capabilities for the data center, further promoting the development of the data center network towards intelligence, automation, and integration to meet the growing data transmission requirements and improve network performance.

[0004] The traffic inside the data center network shows high density and complexity, which requires the network to have an effective congestion control mechanism to maintain transmission efficiency. The goal of congestion control is to prevent or alleviate network congestion by dynamically adjusting the sending rate of data packets to ensure the stability and transmission efficiency of the data stream. In an environment with high link rates, the size of the data stream often approaches or equals the Bandwidth-Delay Product (BDP), which increases the complexity of congestion control decisions because the congestion control algorithm must be able to quickly respond to changes in the network state to avoid an increase in data transmission latency.

[0005] With the rapid development of network technology, especially the significant increase in the scale and link speed of data center networks, traditional window - and rate - based congestion control algorithms have gradually exposed their inherent limitations. When faced with the burstiness of network traffic and high - concurrent flows, these algorithms often struggle to quickly respond to congestion changes, leading to a decline in network performance. Therefore, it is necessary to seek more advanced congestion control strategies to meet the requirements of the current network environment.

[0006] The proactive congestion control method, whose core idea is to proactively regulate the data transmission volume of the sender by the receiver, thereby preventing network congestion. This method allows the receiver to issue tokens or permissions to the sender, and the sender controls the data transmission based on the permitted amount, so as to ensure that the data volume in the network does not exceed the network's carrying capacity. Compared with traditional feedback - based passive congestion control algorithms, proactive congestion control can reduce data loss, accelerate convergence, and reduce buffer occupancy.

[0007] Although proactive congestion control algorithms have obvious advantages in theory, they still face many challenges in actual deployment. Solving these problems is crucial for the wide deployment of congestion control algorithms based on the credit mechanism.

[0008] In summary, although the passive congestion control algorithms proposed in the prior art have achieved certain performance improvements, they still face many challenges in specific scenarios. These algorithms mainly adjust the sending window or rate based on network feedback signals, so they often come into play only after congestion occurs. Especially in the multi - sender scenario (where multiple senders send data to a single receiver simultaneously), numerous data flows converge on a single receiving node, easily causing the switch buffer to overflow. At this time, passive congestion control can only make heuristic adjustments after buffer overflow and requires multiple cycles to converge, seriously delaying the flow completion time and affecting the overall efficiency of the data center network. In contrast, proactive congestion control algorithms limit the data transmission volume of the sender based on the receiver's maximum receiving capacity to reduce packet loss. However, existing proactive congestion control algorithms do not fully consider internal network bottlenecks and lack fine - grained allocation of credit values, and cannot make dynamic adaptive adjustments according to the network buffer resource status and congestion level. Summary of the Invention

[0009] To solve the above - mentioned technical problems, the present invention provides a proactive congestion control method, an electronic device, and a storage medium based on the credit mechanism, which are applicable to high - bandwidth and low - latency data center networks. The method aims to achieve dynamic adjustment of data flows by finely managing the credit allocation amount and combining the actual network congestion status, so as to optimize network transmission efficiency, reduce latency, and improve the performance of the data center network.

[0010] To solve the above technical problems, the present invention adopts the following technical solutions:

[0011] An active congestion control method based on a credit mechanism, comprising:

[0012] The sender sends data streams according to the credit allocation amount;

[0013] The switch marks explicit congestion notifications for the packets of the received data stream according to its own cache utilization;

[0014] The receiver dynamically adjusts the credit allocation amount of the sender, specifically including:

[0015] Network condition assessment: Statistically calculate the proportion of explicit congestion notifications of the data stream in the current cycle, and combine the proportion of explicit congestion notifications and the congestion information of the historical cycle to calculate the current congestion degree of the data stream;

[0016] Dynamic adjustment of credit allocation amount: Constraining the total credit amount of each data stream in combination with the bottleneck bandwidth of the receiver switch and the total credit amount of the core network; In each adjustment cycle, evenly distribute the total credit amount of the data stream to each data stream as the basic average credit amount, and adjust the basic average credit amount according to the congestion degree of the data stream to obtain the actual credit allocation amount of the current data stream in the current adjustment cycle.

[0017] In one embodiment, it further includes the start of the data stream: If the traffic of the data stream is less than K times the bandwidth-delay product, set an initial credit allocation amount of the size of the bandwidth-delay product for the data stream; If the traffic of the data stream is greater than or equal to K times the bandwidth-delay product, the data stream sends a request message to obtain the initial credit allocation amount; K is a set value.

[0018] In one embodiment, the sender sends data streams according to the credit allocation amount, specifically including:

[0019] For the sending of each packet in the data stream, the credit allocation amount corresponding to the size of the packet needs to be consumed.

[0020] In one embodiment, the statistic of the proportion of explicit congestion notifications of the data stream in the current cycle, and the combination of the proportion of explicit congestion notifications and the congestion information of the historical cycle to calculate the current congestion degree of the data stream, specifically includes:

[0021] In one cycle, the receiver statistics the number of packets with explicit congestion notifications of a certain data stream and the number of normal packets , calculate the proportion of explicit congestion notifications ;

[0022] Combined with historical congestion information and the proportion of explicit congestion notification to calculate the current congestion level of the data stream ;

[0023] ;

[0024] is a weighting factor.

[0025] In one embodiment, the total credit of each data stream is constrained by combining the bottleneck bandwidth of the receiving switch and the total credit of the core network, specifically including:

[0026] The allocation of credit should satisfy:

[0027] ;

[0028] wherein, is the basic average credit amount of the i-th data stream, is the total number of data streams, is the total credit amount corresponding to the bottleneck bandwidth of the receiving switch, is the total credit amount corresponding to the core network.

[0029] In one embodiment, in each adjustment period, the total credit of the data stream is evenly distributed to each data stream as the basic average credit amount, and the basic average credit amount is adjusted according to the congestion level of the data stream to obtain the actual credit allocation amount of the current data stream in the current adjustment period, specifically including:

[0030] Set a threshold to determine the congestion level of the data stream whether it is greater than or equal to , if so, the current data stream is in a congested state, if not, the current data stream is in an uncongested state;

[0031] In each adjustment period, first evenly distribute the total credit to all data streams to obtain the basic average credit amount of each data stream , and then for the basic average credit amount of each data stream, combine the congestion level to make adjustments:

[0032] For the data stream in the congested state, multiplicatively reduce the credit allocation amount on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data stream in the congested state ;

[0033] For the data stream in the uncongested state, multiplicatively increase the credit allocation amount according to the congestion level and the traffic size of the data stream on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data stream in the uncongested state 。

[0034] In one embodiment, for a data stream in a congested state, the credit allocation amount is multiplicatively reduced on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data stream in the congested state. Specifically, it includes:

[0035] ;

[0036] is an adjustable factor for multiplicative reduction.

[0037] In one embodiment, for a data stream in an uncongested state, according to the congestion degree and the traffic volume of the data stream, the credit allocation amount is multiplicatively increased on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data stream in the uncongested state. Specifically, it includes:

[0038] ;

[0039] ;

[0040] Among them, are respectively the index of the k-th data stream in the congested state and the index of the j-th data stream in the uncongested state; is the increase factor of the data stream, which is jointly determined by the traffic volume and the congestion degree of the data stream; is the total sum of the increased credit allocation amounts; is the total number of data streams in the uncongested state, is the number of times of multiplicative increase of the data stream; is the total number of data streams in the congested state, is the total number of data streams, is the total sum of the reduced credit allocation amounts.

[0041] A computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method in any one of the embodiments are implemented.

[0042] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method in any one of the embodiments are implemented.

[0043] Compared with the prior art, the beneficial technical effects of the present invention are:

[0044] The core contribution of the present invention lies in proposing an active congestion control algorithm for the modern data center network environment with high bandwidth and low latency requirements. By evaluating the congestion status of the network and combining the bottleneck limitations at the receiving end, the control of data packets in the network is achieved.

[0045] Different from passive congestion control algorithms that usually rely on feedback signals of network congestion, such as packet loss or increased latency, these signals are often perceived by the sender only after congestion has occurred, resulting in a lag in control response. The present invention adopts a "reservation - allocation" mode, which can control the total amount of packets in the network through preventive measures before congestion forms.

[0046] Compared with existing active congestion control algorithms, the method proposed in the present invention can dynamically adjust the credit allocation amount according to real - time network feedback. It not only considers the receiving ability of the receiver but also incorporates the congestion status inside the network into the decision - making process of credit value allocation. Through this mechanism, more refined credit value allocation decisions can be made according to the characteristics of different traffic flows and the actual congestion degree of the network. Therefore, the method proposed in the present invention can adapt to the rapid changes in network conditions, respond promptly to potential congestion risks, and optimize the use of network resources by adjusting the credit allocation amount, showing higher intelligence and reliability in actual operation, significantly improving the performance and efficiency of the data center network, and having important theoretical and practical significance. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 It is the flowchart of the method in the embodiment of the present invention;

[0048] Figure 2 It is the schematic diagram of the method scenario in the embodiment of the present invention;

[0049] Figure 3 It is the schematic diagram of the receiver architecture in the embodiment of the present invention;

[0050] Figure 4 It is the schematic diagram of the adjustment of the credit allocation amount in the embodiment of the present invention;

[0051] Figure 5 It is the schematic diagram of the dumbbell - topology network in the embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0052] The following will give a detailed description of a preferred embodiment of the present invention in conjunction with the drawings.

[0053] The present invention proposes an active congestion control method based on a credit mechanism to meet the requirements of high throughput and low - latency transmission in the data center network.

[0054] Such as Figure 1As shown in the figure, the present invention discloses an active congestion control method based on a credit mechanism, including the following steps:

[0055] S1, the sender sends data streams according to the credit allocation amount;

[0056] S2, the switch marks explicit congestion notification for the packets of the received data stream according to its own buffer utilization situation;

[0057] S3, the receiver dynamically adjusts the credit allocation amount of the sender, specifically including the following steps:

[0058] S31, network condition assessment: count the proportion of explicit congestion notifications of the data stream in the current period, and calculate the current congestion degree of the data stream by combining the proportion of explicit congestion notifications and the congestion information of the historical period;

[0059] S32, dynamic adjustment of credit allocation amount: constrain the total credit amount of each data stream in combination with the bottleneck bandwidth of the receiver switch and the total credit amount of the core network; in each adjustment period, evenly distribute the total credit amount of the data stream to each data stream as the basic average credit amount, and adjust the basic average credit amount according to the congestion degree of the data stream to obtain the actual credit allocation amount of the current data stream in the current adjustment period.

[0060] The present invention realizes the control of data packets in the network by evaluating the congestion condition of the network and combining the bottleneck limitation of the receiving end.

[0061] The core part of the method is the dynamic adjustment of the credit allocation amount by the receiver, which is mainly divided into two parts, as Figure 3 shown. The present invention proposes an end-to-network combined congestion control method that comprehensively considers the explicit congestion notification information of the core network, aiming to overcome the limitation of relying only on the bandwidth bottleneck of the last-hop switch. This method sets a credit limit based on the bottleneck bandwidth of the receiver itself to ensure that Incast traffic (multi-sender scenario) will not cause the last-hop switch to become a congestion node in the network. In addition, the receiver evaluates the congestion condition of each flow based on the explicit congestion notification (ECN) information in the received packets, and decides the credit allocation strategy accordingly, rather than simply evenly distributing. As Figure 3 shown, the receiver includes a receiving module, a congestion control module, and a sending module. The receiving module receives the data packets of the data message and generates an acknowledgment signal (ACK) to the sending module; the congestion control module dynamically evaluates the network congestion degree and generates a credit allocation strategy, which is the core component of the receiver architecture; the sending module feeds back the credit allocation result to the sender and sends an acknowledgment signal to the sender.

[0062] The overall scenario of the method is as Figure 2 shown, mainly including three core components: the sender, the receiver, and the switch.

[0063] Sender: The sender sends data based on the credit value assigned by the receiver.

[0064] Switch: The switch implements an Explicit Congestion Notification (ECN) marking policy for the received packets according to the utilization of its buffer, so as to feedback the actual congestion status of the network to the receiver.

[0065] Receiver: The receiver evaluates the network congestion status according to the explicit congestion notification marks in each received data stream, and combines the processing capabilities of the switch to judge the location of the network bottleneck. Based on this information, the receiver dynamically adjusts the credit allocation amount for each data stream to ensure that the number of data packets in the network does not exceed its carrying capacity, thereby reducing packet loss.

[0066] In one embodiment, it also includes the startup of the data stream: If the traffic of the data stream is less than K times the bandwidth-delay product, an initial credit allocation amount of the size of one bandwidth-delay product is assigned to the data stream; if the traffic of the data stream is greater than or equal to K times the bandwidth-delay product, the data stream sends a request message to obtain the initial credit allocation amount.

[0067] The execution process of the algorithm is divided into three stages:

[0068] Data stream startup stage: In the initial stage of the data stream, since the receiver has not recognized all senders, the credit mechanism cannot be applied immediately. To avoid the increased delay caused by slow start, for small traffic (less than K times the bandwidth-delay product, BDP), it is allowed to directly send a data volume equal to the size of one BDP at the beginning. This is because within one round-trip time (RTT), a data stream can send at most a data volume of BDP size, and then the credit allocation amount from the receiver will be received. For large traffic (greater than K times BDP), since the waiting for one round-trip time has little impact on them, and uncontrolled sending may exacerbate network congestion, it is necessary to send a request message to obtain the credit allocation amount. The parameter K is a configurable variable that can be adjusted according to user needs. After receiving a new data packet or request packet, the receiver records the corresponding data stream and adds it to the queue to be allocated, preparing for credit value allocation.

[0069] Data flow sending stage: Once the sender receives the credit allocation amount, it sends data packets according to the credit allocation amount and adds a field to the header of each data packet to notify the receiver of the remaining number of credit allocation amounts to be allocated. This approach reduces the use of control packets and avoids the loss of credit allocation requests due to the loss of control messages. The switch marks the packets with Explicit Congestion Notification (ECN) based on the actual usage of the buffer to notify the receiver of the network status. The receiver, on a per-flow basis, evaluates the congestion status based on the number of Explicit Congestion Notification (ECN) marks and adjusts the credit allocation amount in combination with its processing capacity.

[0070] Data flow end stage: When the data flow is about to end, the sender marks the header of the last packet to notify the receiver that no more credit allocation amounts are needed. After receiving the packet with the end mark, the receiver removes the corresponding data flow from the queue to be allocated and stops allocating bandwidth resources for it.

[0071] In one embodiment, the sender in step S1 sends the data flow according to the credit allocation amount, specifically including:

[0072] The sending of each data packet in the data flow consumes a credit allocation amount corresponding to the size of the data packet.

[0073] Specifically, the sending of each data packet consumes a credit allocation amount corresponding to its size. If the current credit allocation amount is not sufficient to support the sending of the data packet, the data packet will be postponed for sending.

[0074] In one embodiment, in step S31, the ratio of Explicit Congestion Notification in the data flow within the current period is statistically analyzed, and the current congestion degree of the data flow is calculated by combining the ratio of Explicit Congestion Notification and the congestion information of the historical period, specifically including:

[0075] Within one period, the receiver counts the number of packets with Explicit Congestion Notification for a certain data flow , the number of normal packets , and calculates the ratio of Explicit Congestion Notification :

[0076] ; (1)

[0077] Combined with the historical congestion information and the ratio of Explicit Congestion Notification , calculate the current congestion degree of the data flow ;

[0078] ; (2)

[0079] is the weighting factor.

[0080] The present invention proposes a method for evaluating congestion degree based on explicit congestion notification. Since the multi-path load balancing technology is combined, different packets of a data stream will reach the receiver from different paths. Therefore, a method for evaluating the overall network congestion of a single data stream in the multi-path case is proposed.

[0081] Proportion of valid explicit congestion notifications within a statistical period: Within a period ( ), the receiver counts the number of packets with explicit congestion notification received for a certain stream and the number of normal packets , and calculates the proportion of explicit congestion notification (ECN) .

[0082] Weighting of historical period congestion degree: Since the congestion state is not an instantaneous state and needs to end until the packets in the switch queue are sent, historical congestion information also needs to be taken into account, rather than only considering the congestion situation in the current period. Denote the weighting factor , and calculate the congestion degree in the current state .

[0083] The receiver maintains the congestion situation of all data streams sent to itself, recorded in a table. The table records the congestion situation of each data stream in the network, and combines with the switch (TOR) and the last-hop bottleneck to achieve dynamic adjustment of credit allocation.

[0084] In one embodiment, the constraints on the total credit of each data stream by combining the bottleneck bandwidth of the receiver switch and the total credit of the core network in step S32 specifically include:

[0085] The credit allocation should satisfy:

[0086] ; (3)

[0087] Among them, is the basic average credit amount of the i-th data stream, is the total credit amount corresponding to the bottleneck bandwidth of the receiver switch, is the total credit amount corresponding to the core network.

[0088] Based on the evaluated congestion degree, the present invention proposes a dynamic credit allocation mechanism. In order to satisfy neither exceeding the bottleneck bandwidth of the receiver nor exceeding the bottleneck of the core network, the credit allocation should satisfy formula (3).

[0089] Dynamically adjust within each period , if it is possible to ensure that the total credit does not exceed the network's carrying capacity, congestion can be avoided to the greatest extent.

[0090] In one embodiment, in each adjustment cycle, the total credit is evenly distributed to each data stream as the basic average credit amount, and the basic average credit amount is adjusted according to the congestion degree of the data stream. Specifically, it includes:

[0091] Set a threshold , determine the congestion degree of the data stream whether it is greater than or equal to , if so, the current data is in a congested state, if not, the current data stream is in an uncongested state;

[0092] In each adjustment cycle, first evenly distribute the total credit to all data streams to obtain the basic average credit amount of each data stream , and then for the basic average credit amount of each data stream, combined with the congestion degree make adjustments:

[0093] For the data stream in a congested state, multiplicatively reduce the credit allocation amount based on the basic average credit amount to obtain the actual credit allocation amount of the data stream in a congested state ;

[0094] For the data stream in an uncongested state, multiplicatively increase the credit allocation amount based on the congestion degree and the traffic size of the data stream to obtain the actual credit allocation amount of the data stream in an uncongested state .

[0095] Specifically, when a data stream is not in a congested state and there is no explicit congestion notification mark within the cycle, this data stream is considered to be in a smooth state; if there is an explicit congestion notification mark within the cycle, it is considered that although there is queuing in the path of this data stream, it has not reached the congested level. In each adjustment cycle, first evenly distribute the credit to all data streams as a basis, and then make adjustments for each stream in combination with its congestion degree, as Figure 4 shown.

[0096] In one embodiment, for the data stream in a congested state, multiplicatively reduce the credit allocation amount based on the basic average credit amount to obtain the actual credit allocation amount of the data stream in a congested state , specifically including:

[0097] ; (4)

[0098] is an adjustable factor for multiplicative reduction.

[0099] As shown in Equation (4), first calculate the credit reduction amount of each congested flow by calculating the degree of exceeding the threshold, then multiplying by the multiplicative reduction factor to obtain the amount that should be reduced, and finally calculating the credit allocation amount of the k-th data flow in the congested state.

[0100] In one embodiment, for the data flows in the uncongested state, according to the congestion degree and the traffic size of the data flow, multiplicatively increase the credit allocation amount on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data flow in the uncongested state , specifically including:

[0101] ; (5)

[0102] ; (6)

[0103] Among them, are respectively the index of the k-th data flow in the congested state and the index of the j-th data flow in the uncongested state; is the increase factor of the data flow, which is jointly determined by the traffic size and congestion degree of the data flow; is the total sum of the increased allocated credit; is the total number of data flows in the uncongested state, is the number of times the data flow multiplicatively increases; is the total number of data flows in the congested state, is the total number of data flows, is the total sum of the reduced credit allocation amount.

[0104] Subtracting the allocated amount of the congested data flow from the total amount can obtain the amount available for other data flows to increase, as shown in Equation (5). Allocate the available extra bandwidth proportionally to all other uncongested data flows, and the more times the data flow increases the credit allocation amount, the more the amount increases each time, because if it remains uncongested after multiple increases, it is considered that there is still a large amount of available bandwidth; as shown in Equation (6), adjust each data flow. Finally, ensure that the extra increased credit amount does not exceed the total reduced amount, as shown in Equation (7).

[0105] . (7)

[0106] After a data stream ends and before the next credit adjustment, the bandwidth it occupies should not be evenly distributed to other data streams: If there are non-congested data streams, this part of the free bandwidth is allocated to non-congested data streams, preferentially to those in a smooth state, and then to those queued but not congested; if all other data streams are congested, this part of the bandwidth is wasted to avoid exacerbating network congestion. If a new data stream arrives at a certain moment, before the next adjustment of the credit allocation ratio, enough credit is proportionally allocated from other data streams to allow the new data stream to reach the basic average credit amount.

[0107] Build a typical dumbbell topology in the computer room, such as Figure 5 shown, consisting of three switches and four hosts, where the link between two switches is set as the bottleneck link (50 Gbps). Two hosts are used as senders, one host is used as the receiver, and each of the two senders establishes one connection with the receiver. It can be in Figure 5 the network structure shown, using the improved active congestion control algorithm to control the transmission of the flow, and comparing with the existing Data Center Quantized Congestion Notification (DCQCN) algorithm in various performances to verify the performance of the present invention.

[0108] In one embodiment, the present invention provides a computer device, which can be a server. The computer device includes a processor, a memory, and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store the data used in the above method. The network interface of the computer device is used to communicate with external terminals through a network connection. The computer program, when executed by the processor, implements the above method.

[0109] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory including instructions, and the above instructions can be executed by a processor to complete the above method. The storage medium can be a computer-readable storage medium. For example, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0110] For those skilled in the art, it is obvious that the present invention is not limited to the details of the above-described exemplary embodiments, and the present invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention. Therefore, in any regard, the embodiments should be regarded as exemplary and non-limiting. The scope of the present invention is defined by the appended claims rather than the above description. Therefore, all changes falling within the meaning and scope of the equivalent elements of the claims are intended to be embraced within the present invention, and any reference signs in the claims should not be construed as limiting the claims involved.

[0111] In addition, it should be understood that although this specification is described in terms of embodiments, not every embodiment contains only one independent technical solution. This narrative manner of the specification is only for clarity. Those skilled in the art should regard the specification as a whole, and the technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.

Claims

1. An active congestion control method based on a credit mechanism, characterized in that Including: The sender sends data streams based on the credit allocation amount; The switch marks the packets of the received data stream with explicit congestion notification according to its own cache utilization; The receiver dynamically adjusts the credit allocation amount of the sender, specifically including: Network condition assessment: Statistically calculate the proportion of explicit congestion notifications of the data stream in the current period, and combine the proportion of explicit congestion notifications and the congestion information in the historical period to calculate the current congestion degree of the data stream; Dynamic adjustment of credit allocation amount: Constrain the total credit amount of each data stream in combination with the bottleneck bandwidth of the receiver switch and the total credit amount of the core network; In each adjustment period, evenly distribute the total credit amount of the data stream to each data stream as the basic average credit amount, and adjust the basic average credit amount according to the congestion degree of the data stream to obtain the actual credit allocation amount of the current data stream in the current adjustment period.

2. The active congestion control method based on a credit mechanism according to claim 1, wherein It also includes the startup of the data stream: If the traffic of the data stream is less than K times the bandwidth-delay product, set an initial credit allocation amount of the size of the bandwidth-delay product for the data stream; If the traffic of the data stream is greater than or equal to K times the bandwidth-delay product, the data stream sends a request message to obtain the initial credit allocation amount; K is a set value.

3. The active congestion control method based on a credit mechanism according to claim 1, characterized in that, The sender sends data streams based on the credit allocation amount, specifically including: The sending of each data packet in the data stream requires consuming the credit allocation amount corresponding to the size of the data packet.

4. The active congestion control method based on a credit mechanism according to claim 1, characterized in that The step of statistically calculating the proportion of explicit congestion notifications of the data stream in the current period, and combining the proportion of explicit congestion notifications and the congestion information in the historical period to calculate the current congestion degree of the data stream specifically includes: During one period, the receiver counts the number of packets with explicit congestion notification in a certain data stream and the number of normal packets , and calculates the proportion of explicit congestion notification ; Combined with historical congestion information and the proportion of explicit congestion notifications , calculate the current congestion level of the data stream ; ; is a weighting factor.

5. The active congestion control method based on a credit mechanism according to claim 1, characterized in that The step of constraining the total credit amount of each data stream in combination with the bottleneck bandwidth of the receiver switch and the total credit amount of the core network specifically includes: The credit allocation should satisfy: ; Among them, is the basic average credit volume of the i-th data stream, is the total number of data streams, is the total credit corresponding to the bottleneck bandwidth of the receiving switch, is the total credit corresponding to the core network.

6. The active congestion control method based on a credit mechanism according to claim 1, characterized in that In each adjustment period, evenly distribute the total credit amount of the data stream to each data stream as the basic average credit amount, and adjust the basic average credit amount according to the congestion degree of the data stream to obtain the actual credit allocation amount of the current data stream in the current adjustment period, specifically including: Set a threshold , and determine the congestion degree of the data stream whether it is greater than or equal to . If so, the current data stream is in a congested state; if not, the current data stream is in an uncongested state; In each adjustment period, first evenly distribute the total credit to all data streams to obtain the basic average credit amount for each data stream , and then, for the basic average credit amount of each data stream, make adjustments in combination with the congestion level as follows: For a data stream in a congested state, the credit allocation amount is multiplicatively reduced based on the basic average credit amount to obtain the actual credit allocation amount of the data stream in the congested state ; For a data flow in an uncongested state, based on the congestion level and the traffic volume of the data flow, multiplicatively increase the credit allocation amount on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data flow in the uncongested state .

7. The active congestion control method based on a credit mechanism according to claim 6, wherein For the data stream in the congestion state, multiply the basic average credit amount by a multiplicative reduction factor to obtain the actual credit allocation amount of the data stream in the congestion state , specifically including: ; is an adjustable factor for multiplicative decrease.

8. The active congestion control method based on a credit mechanism according to claim 6, wherein For a data stream in an uncongested state, based on the congestion level and the traffic volume of the data stream, multiplicatively increase the credit allocation amount on the basis of the basic average credit amount to obtain the actual credit allocation amount of the data stream in the uncongested state , specifically including: ; ; wherein, are respectively the index of the k-th data stream in the congested state and the index of the j-th data stream in the non-congested state; is the increase factor of the data stream, which is jointly determined by the traffic volume and congestion degree of the data stream; is the total sum of the increased credit allocation; is the total number of data streams in the non-congested state, is the number of times of multiplicative increase of the data stream; is the total number of data streams in the congested state, is the total number of data streams, is the total sum of the reduced credit allocation.

9. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method described in any one of claims 1 to 8.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Explicit congestion control method based on bandwidth estimation in high-bandwidth delay network

    CN101964755A

  • Congestion control method for sensing bottleneck link position

    CN118646709A