CN116915722A - 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 PDFInfo
- Publication number
- CN116915722A CN116915722A CN202311169058.4A CN202311169058A CN116915722A CN 116915722 A CN116915722 A CN 116915722A CN 202311169058 A CN202311169058 A CN 202311169058A CN 116915722 A CN116915722 A CN 116915722A
- Authority
- CN
- China
- Prior art keywords
- network card
- congestion
- sending
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000009467 reduction Effects 0.000 claims abstract description 89
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000012423 maintenance Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000011217 control strategy Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 24
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
- H04L47/115—Identifying 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
Technical Field
The present application relates to the field of communications technologies, and in particular, to a network congestion adjustment method, a device, a computing device, and a 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, wherein when a first network card determines that the first network card transmits a remote direct data access (remote direct memory access, RDMA) service message to a second network card, the first network card generates a first rate according to a fixed first speed reduction coefficient and a first transmission rate of the service message transmitted to the second network card by the first network card with a plurality of stable stages, when the first network card receives a congestion notification message transmitted by the second network card, the first network card removes a speed reduction factor which needs to be maintained and updated, reduces hardware realization difficulty and debugging complexity, and can simplify a transmission rate control flow.
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, which is applied to a first network card accessing a second network card through remote direct memory access, and 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 solution of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly described.
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 according to 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 device 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 according to 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 the deceleration factor is updated under the condition of receiving the CNP message>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 second network card in the received switch into CNP messages 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 by the application is only one possible implementation manner, the sending end and the receiving end can be a local data center server, a wireless communication base station device, a personal terminal communication electronic device, an intelligent vehicle, other devices configured with RDMA gateway and the like, and the first network card and the second network card can be independently deployed in the congestion control system, so that the application is not particularly limited. The congestion control system may further include more switches, gateways, and the like, which are not particularly limited to the present 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 application provides a network congestion adjusting method, when a first network card sends RDMA service messages to a second network card, under the condition of receiving congestion notification messages sent by the second network card, the first rate generated by the fixed first speed reduction coefficient and the generated first sending rate of the service messages sent by the first network card to the second network card is compared with the current method for adjusting the sending 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 sending rate 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 by an 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 a 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 message next time.
In one possible implementation manner, fig. 3 is only one possible implementation manner provided by the present application, and the first network card may also record the second sending rate in other manners, which is not limited in particular to the present 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 the present 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 adjusting 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 adjusting apparatus may include more or fewer modules, which is not particularly limited in this regard.
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 embodiment 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 limited in particular.
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 by the present application.
It should be noted that fig. 6 is merely one possible implementation of an embodiment of the present application, and the computing device may include more or fewer components in practical applications, which are not limited herein.
Embodiments of the present application also provide a computer-readable storage medium having instructions stored therein that, when executed on a processor, implement the method flow shown in fig. 2.
Embodiments of the present application also provide 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 application 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 application 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 application, and these modifications and substitutions are intended to be included in the scope of the present application. Therefore, the protection scope of the application 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 receiving the congestion notification message sent by the second network card 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 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 larger;
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 lifting maintenance on the sending rate of the service message sent by the first network card to the second network card through the first congestion control strategy, and the first congestion control strategy quantifies congestion notification DCQCN algorithm for a data center; the first congestion control policy includes detecting, by a switch between the first network card and the second network card, whether congestion occurs in a network path, marking congestion information on the service packet by the switch when the network path is congested, returning, by the second network card, a congestion notification packet to the first network card according to the service packet including the congestion information, where the first network card continuously increases a sending rate through the DCQCN algorithm, or determining, by the first network card, a speed reduction factor according to the DCQCN algorithm when the first network card receives the congestion notification packet sent by the second network card, and reducing, by the speed reduction factor, a sending rate of the service packet sent by the first network card to the second network card, where the speed reduction factor is variable.
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 the first congestion control policy after the receiving module receives the congestion notification packet sent by the second network card last time;
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 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 packet 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 lifting 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; the first congestion control policy includes detecting, by a switch between the first network card and the second network card, whether a network path is congested, where the switch marks congestion information on the service packet when the network path is congested, the second network card returns a congestion notification packet to the first network card according to the service packet including the congestion information, and the first network card continuously increases a sending rate through the DCQCN algorithm, or the congestion adjustment module determines a speed reduction factor according to the DCQCN algorithm when the receiving module receives the congestion notification packet, and reduces a sending rate of the service packet sent by the first network card to the second network card according to the speed reduction factor, where the speed reduction factor is continuously updated;
the sending module is configured to send a service packet to the second network card according to the first rate or the second 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 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, characterized in that the computer readable storage medium has stored therein a program which, when run on a computing device, causes the computing device to perform the method of any of claims 1 to 2.
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 true CN116915722A (en) | 2023-10-20 |
CN116915722B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118301085A (en) * | 2024-05-31 | 2024-07-05 | 芯云晟(杭州)电子科技有限公司 | Descriptor-based DPU network card priority scheduling method, device, medium and terminal |
Citations (9)
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 |
US20210226873A1 (en) * | 2019-04-15 | 2021-07-22 | Beijing Dajia Internet Information Technology Co., Ltd. | Network delay control method and apparatus, electronic device, and storage medium |
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 |
-
2023
- 2023-09-12 CN CN202311169058.4A patent/CN116915722B/en active Active
Patent Citations (9)
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 |
US20210226873A1 (en) * | 2019-04-15 | 2021-07-22 | Beijing Dajia Internet Information Technology Co., Ltd. | Network delay control method and apparatus, electronic device, and storage medium |
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)
Title |
---|
周冬平;赵奎;: "基于RTT的TCP拥塞控制慢启动改进算法", 计算机与现代化, no. 12, pages 28 - 33 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118301085A (en) * | 2024-05-31 | 2024-07-05 | 芯云晟(杭州)电子科技有限公司 | Descriptor-based DPU network card priority scheduling method, device, medium and terminal |
Also Published As
Publication number | Publication date |
---|---|
CN116915722B (en) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11646967B2 (en) | Packet control method and network apparatus | |
US10057150B2 (en) | Managing communication congestion for internet of things devices | |
CN116915722B (en) | Network congestion adjusting method, device, computing equipment and readable storage medium | |
EP3780542B1 (en) | Data transmission method and device | |
US20170187625A1 (en) | Managing communication congestion for internet of things devices | |
US11888744B2 (en) | Spin-leaf network congestion control method, node, system, and storage medium | |
WO2017112365A1 (en) | Managing communication congestion for internet of things devices | |
CN111107017A (en) | Method, equipment and storage medium for processing switch message congestion | |
CN116915721B (en) | Congestion control method, device, computing equipment and readable storage medium | |
US10764219B2 (en) | Message schema control | |
CN109660467A (en) | Method and apparatus for controlling flow | |
CN103220228A (en) | Method and equipment for sending border gateway protocol (BGP) routes | |
CN111683017B (en) | Multi-level congestion control method, device, system and medium in high-speed interconnection network | |
CN113328953B (en) | Method, device and storage medium for network congestion adjustment | |
CN111935031A (en) | NDN architecture-based traffic optimization method and system | |
CN115277504B (en) | Network traffic monitoring 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 | |
CN112312467A (en) | Network transmission control method and device | |
KR101885144B1 (en) | Hybrid Content Caching Method and System | |
CN111629416A (en) | Message transmission method, system, terminal device and computer readable storage medium | |
US20230328577A1 (en) | Adaptive wireless packet filtering control | |
US12127043B2 (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 |