CN116915722B - Network congestion adjusting method, device, computing equipment and readable storage medium - Google Patents

Network congestion adjusting method, device, computing equipment and readable storage medium Download PDF

Info

Publication number
CN116915722B
CN116915722B CN202311169058.4A CN202311169058A CN116915722B CN 116915722 B CN116915722 B CN 116915722B CN 202311169058 A CN202311169058 A CN 202311169058A CN 116915722 B CN116915722 B CN 116915722B
Authority
CN
China
Prior art keywords
network card
sending
congestion
rate
speed reduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311169058.4A
Other languages
Chinese (zh)
Other versions
CN116915722A (en
Inventor
修强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Xingyun Zhilian Technology Co Ltd
Original Assignee
Zhuhai Xingyun Zhilian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Xingyun Zhilian Technology Co Ltd filed Critical Zhuhai Xingyun Zhilian Technology Co Ltd
Priority to CN202311169058.4A priority Critical patent/CN116915722B/en
Publication of CN116915722A publication Critical patent/CN116915722A/en
Application granted granted Critical
Publication of CN116915722B publication Critical patent/CN116915722B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a network congestion adjusting method, a device, a computing device and a readable storage medium, wherein the method is applied to a process that a first network card sends a remote direct memory access service message to a second network card, and comprises the following steps: under the condition that the first network card receives the congestion notification message sent by the second network card, the first network card generates a first rate according to a first sending rate of sending the service message to the second network card and a first speed reduction coefficient, wherein the first speed reduction coefficient is fixed and comprises any one or more of 1/256, 1/128 and 1/64. In the method, the first network card generates the first rate according to the fixed first speed reduction coefficient and the existing transmission rates of a plurality of stable stages, compared with the current method for adjusting the transmission rate according to the DCQCN algorithm, the speed reduction factor needing maintenance and updating is removed, the hardware implementation difficulty and the debugging complexity are reduced, and the transmission rate control flow can be simplified.

Description

Network congestion adjusting method, device, computing equipment and readable storage medium
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a network congestion adjustment method, apparatus, computing device, and readable storage medium.
Background
Currently, remote direct data access (remote direct memory access, RDMA) technology is increasingly deployed in a data center, and in order to avoid performance loss caused by network congestion packet loss to RDMA, a network congestion adjustment algorithm such as a data center quantized congestion notification (data center quantized congestion notification, DCQCN) algorithm is generally adopted to perform network congestion control. For example, when congestion does not occur and the sending network card does not receive the congestion notification message (congestion notification packet, CNP), the sending network card adjusts the sending rate of sending the service message to the receiving network card according to the DCQCN algorithm, continuously increases the sending rate, and when the sending network card receives the congestion notification message, the sending network card slows down the sending rate according to the continuously updated speed-down factor.
The method adopts heuristic method to guess the rate update, and the iteration converges to stable rate distribution, so that the iteration method has very low speed of processing large-scale congestion events, and meanwhile, multiplication and an additional timing device are required to be used for maintaining the deceleration factor, so that the hardware implementation is relatively complex; and the deceleration factor also requires an additional timing parameter for debugging maintenance.
Disclosure of Invention
The embodiment of the application provides a network congestion adjusting method, a device, a computing device and a readable storage medium, when a first network card determines that the first network card sends a remote direct data access (remote direct memory access, RDMA) service message to a second network card and receives a congestion notification message sent by the second network card, the first rate is generated according to a fixed first speed reduction coefficient and a first sending rate of the service message sent by the first network card with a plurality of stable stages to the second network card, so that the speed reduction factor which needs to be maintained and updated is removed, hardware implementation difficulty and debugging complexity are reduced, and a sending rate control flow can be simplified.
In a first aspect, the present application provides a network congestion adjustment method, where the method is applied to a process that a first network card sends an RDMA service packet to a second network card, and the method includes: under the condition that the first network card receives the congestion notification message sent by the second network card, the first network card obtains one or more second sending rates generated according to the first congestion control strategy after receiving the congestion notification message sent by the second network card last time; the first network card selects one second sending rate from one or more second sending rates as a first sending rate according to the speed reduction degree, and generates the first rate by combining a first speed reduction coefficient, wherein the first speed reduction coefficient is fixed and comprises any one or more of 1/256, 1/128 and 1/64, and the generation time of the second sending rate selected by the first network card is closer to the time of last receiving a congestion notification message sent by the second network card when the speed reduction degree is higher.
Under the condition that the first network card does not receive the congestion notification message sent by the second network card, the first network card carries out the lifting maintenance on the sending rate of the service message sent by the first network card to the second network card through a first congestion control strategy, and the first congestion control strategy quantifies a congestion notification (data center quantized congestion notification, DCQCN) algorithm for the data center; the first congestion control strategy comprises that whether a network path is congested is detected through a switch between the first network card and the second network card, congestion information is marked on a service message by the switch under the condition that the network path is congested, the second network card returns a congestion notification message to the first network card according to the service message containing the congestion information, the first network card continuously increases the sending rate through a DCQCN algorithm, or the first network card determines a speed reduction factor according to the DCQCN algorithm under the condition that the first network card receives the congestion notification message, and the sending rate of the service message sent by the first network card to the second network card is reduced according to the speed reduction factor, wherein the speed reduction factor is continuously updated.
In summary, according to the network congestion adjustment method provided by the application, the first rate is generated through the fixed first speed reduction coefficient and the first sending rate of the service message sent by the first network card to the second network card in the existing multiple stable stages, compared with the current method for adjusting the sending rate of the service message sent by the first network card to the second network card according to the DCQCN algorithm, the speed reduction factor needing maintenance and updating is removed, the hardware implementation difficulty and the debugging complexity are reduced, and the sending rate control flow can be simplified.
In one possible implementation manner, the first network card obtains one or more second sending rates generated according to the first congestion control policy after receiving the congestion notification message sent by the second network card last time. The first network card continuously generates a new second sending rate before receiving the new congestion notification message, and the second sending rate generated before can be replaced by the new second sending rate, so that the time of a plurality of second sending rates reserved in the first network card is closer to the time of receiving the new congestion notification message, and the second sending rate is used for generating a first rate in combination with the first speed reduction coefficient.
In a possible implementation manner, when the first network card obtains one or more second sending rates generated after receiving the congestion notification message sent by the second network card from the last time, the first network card selects one second sending rate from the one or more second sending rates as a first sending rate according to the speed reduction degree, and generates the first rate in combination with the first speed reduction coefficient, wherein the larger the speed reduction degree is, the more time for generating the second sending rate selected by the first network card is close to the time for receiving the congestion notification message sent by the second network card last time. The first network card can achieve different speed reduction degrees by selecting the second sending rate, the first sending rate is determined from the second sending rate, and the fixed first speed reduction coefficient is combined, so that speed reduction calculation can be performed more simply, the first rate is determined, the speed reduction factors needing maintenance and updating are removed, the hardware implementation difficulty and the debugging complexity are reduced, and the sending rate control flow is simplified.
In one possible embodiment, the method further comprises: and under the condition that the first network card does not acquire one or more second sending rates which are generated after the first network card receives the congestion notification message sent by the second network card, the sending rate of the service message sent by the first network card to the second network card when the first network card receives the congestion notification message is the first sending rate, and the first sending rate is generated by combining the first speed reduction coefficient or combining multiple of the first speed reduction coefficient. The first network card determines the first sending rate according to the sending rate corresponding to the received congestion notification message and the fixed first speed reduction coefficient, so that the first rate can be determined more simply, the first rate can be generated by combining the multiple of the first speed reduction coefficient under the condition of higher congestion degree, the continuously updated speed reduction factor is removed in the process of calculating the sending rate, and the hardware implementation difficulty and the debugging complexity can be reduced.
In a second aspect, the present application provides a network congestion adjustment apparatus applied to a first network card accessing a second network card through remote direct memory access, where the apparatus includes a receiving module, a congestion adjustment module, and a sending module. The receiving module is used for receiving the congestion notification message sent by the second network card; the congestion adjusting module is used for acquiring one or more second sending rates generated according to the first congestion control strategy after the receiving module receives the congestion notification message sent by the second network card last time under the condition that the receiving module receives the congestion notification message sent by the second network card; the congestion adjusting module is further configured to select, according to the speed reduction degree, one second sending rate from one or more second sending rates as a first sending rate, and generate a first rate in combination with a first speed reduction coefficient, where the first speed reduction coefficient is fixed and includes any one or more of 1/256, 1/128, and 1/64, and the greater the speed reduction degree, the more the generation time of the second sending rate selected by the first network card approaches the time of last receiving a congestion notification message sent by the second network card; the congestion adjusting module is further used for maintaining the sending rate of the service message sent by the first network card to the second network card at a rising speed through a first congestion control strategy under the condition that the congestion notification message sent by the second network card is not received, and the first congestion control strategy quantifies the congestion notification DCQCN algorithm for the data center; the first congestion control strategy comprises that whether a network path is congested is detected through a switch between a first network card and a second network card, congestion information is marked on a service message by the switch under the condition that the network path is congested, the second network card returns a congestion notification message to the first network card according to the service message containing the congestion information, the first network card continuously increases the sending rate through a DCQCN algorithm, or a congestion adjustment module determines a speed reduction factor according to the DCQCN algorithm under the condition that a receiving module receives the congestion notification message, and the sending rate of the service message sent by the first network card to the second network card is reduced according to the speed reduction factor, wherein the speed reduction factor is continuously updated; and the sending module is used for sending the service message to the second network card according to the first rate or the second rate.
In one possible implementation, the congestion adjustment module is specifically configured to: and under the condition that one or more second sending rates generated according to the first congestion control strategy are not obtained after the congestion notification message is received from last time, determining that the sending rate of the service message sent to the second network card by the corresponding first network card when the receiving module receives the congestion notification is the first sending rate, and generating the first rate by combining the first deceleration coefficient or combining the multiple of the first deceleration coefficient.
In a third aspect, the present application provides a computing device comprising a processor and a memory, the memory storing a computer program, the processor executing the computer program to cause the computing device to perform the method of the first aspect described above.
In a fourth aspect, the present application provides a computer readable storage medium having a program stored therein, which when run on a computing device causes the computing device to perform the method of the first aspect described above.
Further combinations of the present application may be made to provide further implementations based on the implementations provided in the above aspects.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly described below.
Fig. 1 is a schematic structural diagram of a network congestion adjustment system according to an embodiment of the present application;
fig. 2 is a flowchart of a network congestion adjustment method provided in an embodiment of the present application;
fig. 3 is a schematic diagram of a sending rate record table according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a network congestion adjusting device according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a specific network congestion adjusting apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
As shown in fig. 1, fig. 1 is a schematic structural diagram of a network congestion adjustment system provided in an embodiment of the present application, where the system includes a transmitting end 110, a switch 120, and a receiving end 130, where the transmitting end 110 includes a first network card 111, the receiving end 130 includes a second network card 131, and the transmitting end, the switch, and the receiving end are connected to each other through a network.
The sending end 110 and the receiving end 130 exchange data through a remote direct memory access (remote direct memory access, RDMA) technology, where the RDMA runs on an ethernet network and is called RDMA traversing converged ethernet (RDMA over converged ethernet, roCE) technology, and in a specific implementation, in order to implement the RoCE technology, the switch is a switch supporting a priority-based flow control (PFC) operating system, and the first network card and the second network card also need to select a network card adapted to the RoCE technology.
To avoid performance loss to RoCE caused by network congestion packet loss, a first congestion control strategy, namely a data center quantized congestion notification (data center quantized congestion notification, DCQCN) algorithm, is often used for network congestion adjustment. In a specific implementation, in order to implement the DCQCN algorithm, the switch is a switch supporting weighted random early detection (weighted random early detection, WRED) and display feedback based protocol (explicit congestion notification, ECN), and the switch is combined with the first network card and the second network card, so that the main functions of the DCQCN algorithm can be implemented: congestion point algorithm, response point algorithm, and notification point algorithm.
In one possible implementation, the switch 120 is used as a Congestion Point (CP), the first network card 111 of the sending end is used as a Response Point (RP), and the second network card 131 of the receiving end is used as a notification point (notification point, NP).
The first network card is used for sending and receiving the service message, and executing a response point algorithm, for example, adjusting the sending rate of the service message sent by the first network card to the second network card, so as to avoid congestion. Under the condition that the congestion notification messages (congestion notification packet, CNP) are not received, the first network card continuously increases the sending rate of the service messages sent by the first network card to the second network card at intervals of a certain time threshold or a packet sending threshold, and after the sending rate is increased each time, the sending rate can be kept stable for a certain period of time until the sending rate of the first network card is increased next time.
Under the condition that the first network card receives the CNP, the first network card reduces the sending rate according to the response point algorithm, and the first network card maintains a speed reduction factorThe deceleration factor is used for deceleration calculation. Wherein, the deceleration factor needs to be updated and maintained in real time, and is updated under the condition of receiving the CNP messageDeceleration factor->The specific calculation formula of (2) is as follows:
wherein g is a constant value,is the current deceleration factor. Under the condition that the CNP message is not received, the first network card also updates the speed reduction factor every a preset period of time, and under the condition, the speed reduction factor is updated>The specific calculation formula of (2) is as follows:
under the condition of receiving the CNP message, the first network card updates the speed-down factor according to the latestThe deceleration calculation is carried out, and the specific calculation formula is as follows:
wherein,the first network card generated for the speed reduction calculation transmits the transmission rate of the service message to the second network card,/-for the speed reduction calculation>And sending the sending rate of the service message to the second network card for the current first network card.
The switch is used for detecting the congestion condition of the current network path and marking congestion information, for example, when the port queue exceeds a preset threshold value, the switch carries ECN congestion marks (ECN field is set to 11) for the message according to a certain probability when forwarding the message so as to represent the congestion condition, the marking process is completed by a WRED function, and the switch forwards the message carrying the congestion marks to network equipment of the next hop.
The second network card is used for sending and receiving service messages, executing a notification point algorithm, converting the service messages marked with ECN congestion marks sent by the receiving switch into CNP messages by the second network card, and sending the CNP messages to the first network card so as to enable the first network card to adjust the sending rate.
The congestion control system provided in the present application is only one possible implementation manner, the sending end and the receiving end may be a local data center server, a wireless communication base station device, a personal terminal communication electronic device, an intelligent vehicle, and other devices configured with an RDMA supporting gateway, etc., and the first network card and the second network card may also be independently deployed in the congestion control system, which is not particularly limited in this application. The congestion control system may further include more switches, gateways, and the like, which are not specifically limited in this application.
Currently, under the condition that the first network card receives the congestion notification message sent by the second network card, the first network card generates a new first sending rate according to the updated speed reduction factor and the sending rate of the service message sent by the current first network card to the second network card, wherein the speed reduction factor needs to be maintained and updated in real time, multiplication and an additional timing device are needed, the hardware implementation is complex, and an additional timing parameter is needed for debugging and maintenance, so that the process is complex. And the method adopts heuristic method to guess the rate update, and the iteration method converges to stable rate distribution, so that the speed of processing large-scale congestion events is slow.
Therefore, the network congestion adjusting method provided by the application has the advantages that when the first network card sends the RDMA service message to the second network card, under the condition that the congestion notification message sent by the second network card is received, the first speed is generated through the fixed first speed reduction coefficient and the generated first sending speed of the service message sent by the first network card to the second network card, compared with the current method for adjusting the sending speed according to the DCQCN algorithm, the speed reduction factor needing maintenance and updating is removed, the hardware implementation difficulty and the debugging complexity are reduced, and the sending speed control flow is simplified.
As shown in fig. 2, fig. 2 is a flowchart of a network congestion adjustment method according to an embodiment of the present application, where the method is applied to the system shown in fig. 1, and the method includes the following steps.
Step S210: and the first network card carries out speed-up maintenance on the sending rate of the service message sent by the first network card to the second network card according to the first congestion control strategy, and generates a second sending rate.
Under the condition that the first network card determines that the first network card transmits RDMA service messages to the second network card does not receive congestion notification messages transmitted by the second network card, the first network card carries out speed-up maintenance on the transmission rate of the service messages transmitted by the first network card to the second network card according to a first congestion control strategy, one or more second transmission rates are generated, and the service messages are transmitted to the second network card according to the second transmission rates, wherein each second transmission rate maintains a stable time period.
In a possible implementation manner, the first network card records the generated second sending rate in the sending rate record table sequentially, as shown in fig. 3, and fig. 3 is a schematic diagram of a sending rate record table provided in the embodiment of the present application.
As shown in part (a) of fig. 3, after the CNP packet is received last time, the first network card performs three-time speed-up maintenance on the sending rate of the service packet sent by the first network card to the second network card according to the first congestion control policy, and the generated three second sending rates are rc_t1, rc_t2 and rc_t3 respectively, where each second sending rate corresponds to a stable phase. The rc_t1 is a second sending rate generated by the first network card by performing the up-speed maintenance for the first time after the last time of receiving the CNP message, rc_t3 is a second sending rate generated by the first network card by performing the up-speed maintenance for the last time, the first network card records the second sending rate rc_t3 of the second network card by the newly generated first network card to the latest position in the sending rate table, the plurality of second sending rates in the table are ordered according to the time sequence, and the most top recorded second sending rate is the latest generated second sending rate in the sending rate record table.
Then, the first network card performs fourth ramp-up maintenance on the sending rate of the service message sent by the first network card to the second network card according to the first congestion control policy, generates rc_t4, records the rc_t3 in the sending rate record table, and updates the sending rate record table, as shown in part (b) of fig. 3.
In one possible implementation manner, the number of the transmission rates reserved in the transmission rate record table is not specifically limited, and in the case that the number of the second transmission rates generated by the first network card exceeds the maximum record number of the transmission rate record table, the first network card reserves a plurality of the second transmission rates generated latest in the transmission rate record table according to a time sequence, and the second transmission rates in the transmission rate record table can be used for generating the first rate when the first network card receives the CNP packet next time.
In one possible implementation manner, fig. 3 is only one possible implementation manner provided in the present application, and the first network card may also record the second sending rate in other manners, which is not specifically limited in this application.
Step S220: and under the condition of receiving the congestion notification message sent by the second network card, the first network card generates a first rate according to the first sending rate and the first speed reduction coefficient.
And under the condition that the first network card receives the CNP message sent by the second network card, the first network card generates a first rate according to a first sending rate of the service message sent by the first network card to the second network card and the first speed reduction coefficient. Wherein the first coefficient of deceleration is fixed and comprises any one or more of 1/256, 1/128 and 1/64.
In one possible implementation manner, in a case that the first network card generates one or more second sending rates after receiving the congestion notification message from the last time, the first network card may acquire the second sending rates from the sending rate record table, select, according to the speed reduction degree, one second sending rate from the one or more second sending rates as the first sending rate, and generate the first rate in combination with the first speed reduction coefficient, where, in a case that the speed reduction degree is greater, the generation time of the second sending rate selected by the first network card is closer to the time of receiving the congestion notification message sent by the second network card at the last time.
The first network card selects one of the generated second sending rates as the first sending rate according to different speed reduction degrees, and can more simply and quickly determine the first rate by combining with a fixed first speed reduction coefficient, so that the network congestion problem is solved, the speed reduction factor which needs to be continuously updated in the existing calculation process is removed, and the hardware implementation difficulty and the debugging complexity can be reduced.
In another possible implementation manner, after the first network card receives the congestion notification message from the last time, the sending rate of the service message sent by the first network card to the second network card is not increased, and under the condition that no newly generated second sending rate exists in the sending rate record table, the first network card calculates the first rate according to the sending rate of the service message sent by the first network card to the second network card, which corresponds to the time of receiving the congestion notification message sent by the second network card, and the first speed reduction coefficient or the multiple of the first speed reduction coefficient. The first coefficient of deceleration may be doubled or multiplied, which is not particularly limited in this application.
The first network card determines the first sending rate according to the corresponding sending rate when receiving the congestion notification message, and combines the fixed first speed reduction coefficient to determine the first rate more simply and rapidly, and can also combine the multiple of the first speed reduction coefficient to generate the first rate under the condition of higher congestion degree, thereby rapidly solving the problem of network congestion. The first network card uses the fixed first speed reduction coefficient or the multiple of the first speed reduction coefficient to calculate the first speed, compared with the current DCQCN algorithm, the speed reduction factor needing to be maintained and updated is removed, the hardware realization difficulty and the debugging complexity are reduced, and the sending speed control flow can be simplified.
S230: and under the condition that the congestion notification message sent by the second network card is not received, the first network card carries out speed-up maintenance on the sending rate of the service message sent by the first network card to the second network card according to the first congestion control strategy.
After network congestion is solved, under the condition that the first network card does not receive the congestion notification message sent by the second network card when sending the RDMA service message to the second network card, the first network card carries out speed-up maintenance on the sending rate of the service message sent by the first network card to the second network card according to the first congestion control strategy, and the second sending rate generated by the speed-up maintenance is recorded in a sending rate recording table.
In a specific embodiment, after the first network card receives the CNP message from the last time, the first network card performs a speed-up operation on a transmission rate of the service message sent by the first network card to the second network card according to the DCQCN algorithm, so as to generate three second transmission rates rc_t1, rc_t2 and rc_t3. And when the first network card sends the service message to the second network card according to Rc_t3, the first network card receives a new CNP message. The first network card selects Rc_t3 as the first transmission rate and generates a first rate according to the selected fixed first deceleration coefficient 1/256And according to the first rate->And sending the service message to the second network card. In the first network card according to the first rate +.>After sending the service message to the second network card, the first network card receives the CNP message again, and at this time, the first network card is according to the first rate +.>And twice the fixed first deceleration factor 1/256, generating a new first rate +.>And according to the new first rate +>And sending the service message to the second network card. According to the new first rate +.>After the service message is sent to the second network card, under the condition that the congestion notification message sent by the second network card is not received, the first network card carries out the speed-up operation on the sending speed of the service message sent by the first network card to the second network card according to the DCQCN algorithm under the condition that the sending service message reaches a packet sending threshold or the time of continuously sending the service message reaches a time threshold.
In summary, according to the network congestion adjustment method provided by the application, according to the second sending rate and the first speed reduction coefficient stored in the sending rate record table, or according to the sending rate and the first speed reduction coefficient of the service message sent by the first network card to the second network card when the CNP message is received, the first rate is generated, compared with the current algorithms such as the DCQCN, the method can rapidly process large-scale congestion conditions, and the process removes the speed reduction factor which needs to be updated and maintained in real time, does not need to be configured with hardware such as a timing device, reduces hardware implementation difficulty and debugging complexity, and simplifies the control flow of the sending rate.
As shown in fig. 4, fig. 4 is a schematic structural diagram of a network congestion adjusting device according to an embodiment of the present application, where the device is applied to the first network card shown in fig. 1, and the network congestion adjusting device 400 includes: a receiving module 410, a congestion adjustment module 420, and a sending module 430. The receiving module 410 is configured to receive a congestion notification packet sent by the second network card; the congestion adjustment module 420 is configured to obtain, when the receiving module receives the congestion notification packet sent by the second network card, one or more second sending rates generated according to the first congestion control policy after the last receiving module receives the congestion notification packet sent by the second network card; the congestion adjusting module 420 is further configured to select, according to the speed reduction degree, one second sending rate from one or more second sending rates as a first sending rate, and generate the first rate in combination with a first speed reduction coefficient, where the first speed reduction coefficient is fixed and includes any one or more of 1/256, 1/128, and 1/64, and the greater the speed reduction degree, the more the generation time of the second sending rate selected by the first network card approaches the time of last receiving the congestion notification packet sent by the second network card; the congestion adjustment module 420 is further configured to, when the congestion notification packet sent by the second network card is not received, perform, by using a first congestion control policy, maintenance of a speed of sending a service packet by the first network card to the second network card, where the first congestion control policy quantifies congestion notification DCQCN algorithm for the data center; the first congestion control strategy comprises that whether a network path is congested is detected through a switch between a first network card and a second network card, congestion information is marked on a service message by the switch under the condition that the network path is congested, the second network card returns a congestion notification message to the first network card according to the service message containing the congestion information, the first network card continuously increases the sending rate through a DCQCN algorithm, or a congestion adjustment module determines a speed reduction factor according to the DCQCN algorithm under the condition that a receiving module receives the congestion notification message, and the sending rate of the service message sent by the first network card to the second network card is reduced according to the speed reduction factor, wherein the speed reduction factor is continuously updated; and the sending module 430 is configured to send the service packet to the second network card according to the first rate or the second rate.
The receiving module 410 is configured to receive the congestion notification message sent by the second network card, and send the received message to the congestion adjustment module 420, the congestion adjustment module 420 is configured to execute steps S210 to S230 in fig. 2, and the sending module 430 is configured to send a service message to the second network card according to the first rate or the second rate determined by the congestion adjustment module.
In one possible embodiment, the network congestion adjustment apparatus may include more or fewer modules, which is not specifically limited in this application.
As shown in fig. 5, fig. 5 is a schematic structural diagram of a specific network congestion adjusting apparatus according to an embodiment of the present application, where the apparatus includes a receiving module 410, a congestion adjusting module 420, and a sending module 430, where the congestion adjusting module 420 includes a packet counting unit 421, a packet timing unit 422, a rate recording unit 423, a rate calculating unit 424, and a rate limiting unit 425.
The packet sending counting unit and the packet sending timing unit are used for controlling the sending rate of the service message sent by the first network card to the second network card in a speed increasing mode under the condition that the receiving module does not receive the congestion notification message sent by the second network card. For example, when the packet length of the service packet sent by the sending module reaches a count threshold, or when the packet time of the service packet sent continuously reaches a time threshold, the packet counting unit or the packet timing unit sends a notification to the rate calculating unit, so that the rate calculating unit calculates the sending rate of the service packet sent by the first network card to the second network card in a speed-up manner according to the DCQCN algorithm.
And the rate calculation unit is used for controlling the lifting speed. When the first network card sends RDMA service messages to the second network card, the receiving module does not receive congestion notification messages sent by the second network card, and the rate calculating unit carries out speed increasing operation on the sending rate of the service messages sent by the first network card to the second network card under the condition that the receiving module receives the notification of the packet sending counting unit or the packet sending timing unit, so as to obtain one or more second sending rates, and sends the second sending rates to the rate recording unit and the rate limiting unit.
And the rate recording unit is used for recording one or more second transmission rates generated by the rate calculating unit into a transmission rate recording table.
And the rate calculation unit is also used for selecting a certain second sending rate from the on-time rate record table of the rate record unit as a first sending rate under the condition that the receiving module receives the congestion notification message sent by the second network card, and generating the first rate by combining the fixed first speed reduction coefficient. And under the condition that the second sending rate newly generated after the congestion notification message sent by the second network card is received last time does not exist in the rate recording unit, the rate calculating unit can generate the first rate according to the sending rate of the service message sent by the first network card to the second network card and the multiple of the fixed first speed reduction coefficient, which correspond to the first network card when the congestion notification message sent by the second network card is received at the time. After generating the first rate, the rate calculation unit sends the first rate to the rate limiting unit.
And the rate limiting unit is used for controlling the rate of the sending module for sending the service message according to the first rate or the second sending rate updated by the rate calculating unit.
In a possible implementation manner, the network congestion adjusting apparatus shown in fig. 5 is only one possible implementation manner provided by the embodiments of the present application, and the receiving module, the congestion adjusting module, and the sending module may further include more or fewer units, which is not specifically limited in this application.
As shown in fig. 6, fig. 6 is a schematic structural diagram of a computing device according to an embodiment of the present application, which may be applied to the first network card in the system shown in fig. 1, where the computing device 600 includes a processor 610, a memory 620, a communication interface 630, and a bus 640. The processor, the memory and the communication interface can be connected with each other through an internal bus, and can also realize communication through wireless transmission and other means.
The processor 610 may be comprised of at least one general purpose processor, such as a central processing unit (central processing unit, CPU), or a combination of CPU and hardware chips. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof. The processor 610 is used to execute various types of digitally stored instructions. The processor may implement any of the steps in the diagram shown in fig. 2 by executing the corresponding instructions.
The memory 620 may be a volatile memory (volatile memory), such as random access memory (random access memory, RAM), dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (synchronous dynamic RAM, SDRAM), double data rate RAM (DDR), cache (cache), etc., and the memory may also include combinations of the above. The memory 620 may include a program and data, and the processor 610 may execute the steps in fig. 2 by executing the program code, and the memory may further store the number of transmitted service messages and time points corresponding to the respective service messages, the number of received congestion notification messages and time points corresponding to the respective congestion notification messages, and so on.
The communication interface 630 may be used to implement data interaction, for example, the first network card sends a service message to the second network card, which is not limited in detail in this application.
It should be noted that fig. 6 is merely one possible implementation of the embodiments of the present application, and in practical applications, the computing device may further include more or fewer components, which is not limited herein.
In an embodiment of the present application, a computer readable storage medium is provided, where instructions are stored, when the computer readable storage medium is executed on a processor, the method flow shown in fig. 2 is implemented.
In an embodiment of the present application, there is also provided a computer program product, which when run on a processor, implements the method flow shown in fig. 2.
When the computer program instructions are loaded or executed on a computer, the processes or functions in accordance with embodiments of the present invention are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus.
The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, fiber optic, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means from one website, computer, server, or data center. Computer readable storage media can be any available media that can be accessed by a computer or data storage nodes, such as servers, data centers, etc. that contain at least one set of available media. Usable media may be magnetic media (e.g., floppy disks, hard disks, magnetic tape), optical media (e.g., high-density digital video discs (digital video disc, DVDs), or semiconductor media).
The present invention is not limited to the above embodiments, and various equivalent modifications and substitutions can be easily made by those skilled in the art within the technical scope of the present invention, and these modifications and substitutions are intended to be included in the scope of the present invention. Therefore, the protection scope of the invention is subject to the protection scope of the claims.

Claims (6)

1. The network congestion adjusting method is characterized by being applied to a process that a first network card sends a remote direct memory access service message to a second network card, and the method comprises the following steps:
under the condition that the first network card receives the congestion notification message sent by the second network card, the first network card obtains one or more second sending rates generated according to a first congestion control strategy after the first network card receives the congestion notification message sent by the second network card, wherein the second sending rates are generated under the condition that the packet sending length of the first network card sending the service message to the second network card reaches a counting threshold value or the packet sending time of the continuous sending service message reaches a time threshold value, and the second sending rates are recorded in a sending rate record table by the first network card according to the generated time sequence;
the first network card selects one second sending rate from the one or more second sending rates as a first sending rate according to the speed reduction degree, and generates the first rate according to the first sending rate and a first speed reduction coefficient, wherein the first speed reduction coefficient is fixed and comprises any one or more of 1/256, 1/128 and 1/64, and the generation time of the second sending rate selected by the first network card is closer to the time of last receiving a congestion notification message sent by the second network card when the speed reduction degree is higher;
and under the condition that the first network card does not receive the congestion notification message sent by the second network card, the first network card carries out speed-up maintenance on the sending speed of the service message sent by the first network card to the second network card through the first congestion control strategy, the first congestion control strategy quantifies congestion notification DCQCN algorithm for a data center, wherein the first congestion control strategy comprises detecting whether a network path is congested through a switch between the first network card and the second network card, marking congestion information on the service message by the switch under the condition that the network path is congested, and returning the congestion notification message to the first network card according to the service message containing the congestion information by the second network card, wherein the sending speed of the first network card is continuously increased through the DCQCN algorithm.
2. The method according to claim 1, wherein the method further comprises:
and when the first network card does not acquire the congestion notification message sent by the second network card from last time, under the condition of generating one or more second sending rates according to the first congestion control strategy, the first network card determines that the sending rate of the business message sent by the first network card to the second network card, which corresponds to the time of receiving the congestion notification message sent by the second network card, is the first sending rate, and combines the first speed reduction coefficient or combines the multiple of the first speed reduction coefficient to generate a first rate.
3. The network congestion adjusting device is applied to a first network card for sending a remote direct memory access service message to a second network card, and is characterized by comprising a receiving module, a congestion adjusting module and a sending module:
the receiving module is used for receiving the congestion notification message sent by the second network card;
the congestion adjusting module is configured to obtain, when the receiving module receives the congestion notification packet sent by the second network card, one or more second sending rates generated according to a first congestion control policy after the receiving module receives the congestion notification packet sent by the second network card last time, where the second sending rates are generated when a packet sending length of the first network card sending a service packet to the second network card reaches a count threshold, or when a packet sending time of a continuous sending service packet reaches a time threshold, where the second sending rates are recorded in a sending rate record table by the first network card according to a generated time sequence;
the congestion adjusting module is further configured to select, according to a speed reduction degree, one second sending rate from the one or more second sending rates as a first sending rate, and generate a first rate according to the first sending rate and a first speed reduction coefficient, where the first speed reduction coefficient is fixed and includes any one or more of 1/256, 1/128, and 1/64, and the greater the speed reduction degree, the more the generation time of the second sending rate selected by the first network card approaches the time of last receiving a congestion notification message sent by the second network card;
the congestion adjusting module is further configured to, when the congestion notification message sent by the second network card is not received, perform speed-up maintenance on a sending rate of the service message sent by the first network card to the second network card through the first congestion control policy, where the first congestion control policy quantifies a congestion notification DCQCN algorithm for a data center, and the first congestion control policy includes detecting, through a switch between the first network card and the second network card, whether congestion occurs in a network path, and marking congestion information on the service message by the switch when the network path is congested, where the second network card returns the congestion notification message to the first network card according to the service message including the congestion information, and the first network card continuously increases the sending rate through the DCQCN algorithm;
and the sending module is used for sending a service message to the second network card according to the first rate.
4. The apparatus of claim 3, wherein the congestion adjustment module is specifically configured to:
and under the condition that the one or more second sending rates generated according to the first congestion control strategy are not obtained after the congestion notification message is received last time, determining that the sending rate of the first network card sending the service message to the second network card corresponding to the receiving module when the receiving module receives the congestion notification message is the first sending rate, and generating the first rate by combining the first speed reduction coefficient or combining multiple of the first speed reduction coefficient.
5. A computing device, applied to a first network card, the computing device comprising a processor and a memory, the memory storing a computer program, the processor executing the computer program to cause the computing device to perform the method of any of claims 1-2.
6. A computer readable storage medium, wherein a program is stored in the computer readable storage medium, which when run on a computing device causes the computing device to perform the method of any one of claims 1 to 2, the computing device being applied to a first network card.
CN202311169058.4A 2023-09-12 2023-09-12 Network congestion adjusting method, device, computing equipment and readable storage medium Active CN116915722B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311169058.4A CN116915722B (en) 2023-09-12 2023-09-12 Network congestion adjusting method, device, computing equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311169058.4A CN116915722B (en) 2023-09-12 2023-09-12 Network congestion adjusting method, device, computing equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN116915722A CN116915722A (en) 2023-10-20
CN116915722B true CN116915722B (en) 2023-12-19

Family

ID=88360599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311169058.4A Active CN116915722B (en) 2023-09-12 2023-09-12 Network congestion adjusting method, device, computing equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN116915722B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039936A (en) * 2018-08-30 2018-12-18 华为技术有限公司 Transmission rate control, device, sending device and receiving device
CN109218222A (en) * 2017-06-30 2019-01-15 华为技术有限公司 A kind of methods, devices and systems for realizing transmitting terminal speed regulation
CN109905326A (en) * 2019-03-26 2019-06-18 武汉大学 A kind of rate drawdown parameter optimization method based on the Congestion Level SPCC factor
WO2019169556A1 (en) * 2018-03-06 2019-09-12 华为技术有限公司 Packet sending method and apparatus, and storage device
CN110572333A (en) * 2019-10-25 2019-12-13 中南大学 transmission rate adjusting method and congestion control algorithm in bandwidth detection stage
CN113300974A (en) * 2020-07-10 2021-08-24 阿里巴巴集团控股有限公司 Congestion control method, equipment and computer readable medium
CN116489106A (en) * 2023-06-21 2023-07-25 新华三技术有限公司 Congestion control method, device, forwarding chip and client
CN116527593A (en) * 2023-07-03 2023-08-01 珠海星云智联科技有限公司 Network traffic congestion control method and related device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110120896B (en) * 2019-04-15 2020-12-25 北京达佳互联信息技术有限公司 Network delay control method and device, electronic equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218222A (en) * 2017-06-30 2019-01-15 华为技术有限公司 A kind of methods, devices and systems for realizing transmitting terminal speed regulation
WO2019169556A1 (en) * 2018-03-06 2019-09-12 华为技术有限公司 Packet sending method and apparatus, and storage device
CN109039936A (en) * 2018-08-30 2018-12-18 华为技术有限公司 Transmission rate control, device, sending device and receiving device
CN109905326A (en) * 2019-03-26 2019-06-18 武汉大学 A kind of rate drawdown parameter optimization method based on the Congestion Level SPCC factor
CN110572333A (en) * 2019-10-25 2019-12-13 中南大学 transmission rate adjusting method and congestion control algorithm in bandwidth detection stage
CN113300974A (en) * 2020-07-10 2021-08-24 阿里巴巴集团控股有限公司 Congestion control method, equipment and computer readable medium
CN116489106A (en) * 2023-06-21 2023-07-25 新华三技术有限公司 Congestion control method, device, forwarding chip and client
CN116527593A (en) * 2023-07-03 2023-08-01 珠海星云智联科技有限公司 Network traffic congestion control method and related device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于RTT的TCP拥塞控制慢启动改进算法;周冬平;赵奎;;计算机与现代化(12);第28-33页 *

Also Published As

Publication number Publication date
CN116915722A (en) 2023-10-20

Similar Documents

Publication Publication Date Title
US11646967B2 (en) Packet control method and network apparatus
US10097379B2 (en) Managing communication congestion for internet of things devices
US20170187597A1 (en) Managing Communication Congestion For Internet of Things Devices
US11888744B2 (en) Spin-leaf network congestion control method, node, system, and storage medium
EP3780542B1 (en) Data transmission method and device
WO2017112366A1 (en) Managing communication congestion for internet of things devices
CN111107017A (en) Method, equipment and storage medium for processing switch message congestion
US20190124156A1 (en) Message schema control
CN111935031A (en) NDN architecture-based traffic optimization method and system
CN113328953B (en) Method, device and storage medium for network congestion adjustment
CN111683017A (en) Multi-level congestion control method, device, system and medium in high-speed interconnection network
CN116915722B (en) Network congestion adjusting method, device, computing equipment and readable storage medium
CN101848132A (en) Flow statistic device and method
CN112383486A (en) Lease-based distributed object storage service quality assurance method and system
CN115277504B (en) Network traffic monitoring method, device and system
CN116915721B (en) Congestion control method, device, computing equipment and readable storage medium
EP4340320A1 (en) Communication method, device and system
CN113497718B (en) Message processing equipment and message processing method
US9678881B2 (en) Data distribution device and data distribution method
CN110099410B (en) DTN distributed caching method and device for temporary empty vehicle ground network
CN111585894A (en) Network routing method and device based on weight calculation
CN111629416A (en) Message transmission method, system, terminal device and computer readable storage medium
US20200244580A1 (en) Automated recovery from network traffic congestion
US20230328577A1 (en) Adaptive wireless packet filtering control
US20220240125A1 (en) Wireless bandwidth adjustment method and apparatus, terminal and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant