Congestion control method and apparatus, and electronic device
By detecting the path quality in the RDMA version 2 network and adjusting the credit value, the problem of unreasonable allocation of the receiver equipment in congestion control is solved, and more efficient network performance is achieved.
Patent Information
- Application Number
- CN202510570171.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2045-04-30
AI Technical Summary
In the RDMA version 2 network, when the receiver device controls congestion through the credit value signaling mechanism, the receiver device cannot perceive path congestion or overload, resulting in unreasonable credit value allocation, which may in turn exacerbate network congestion.
By detecting the path quality from the sender device to the receiver device, adjusting the credit value of the sender device according to the path quality, ensuring that the credit value matches the path quality, thereby dynamically adjusting the data transmission volume and reducing network congestion.
By dynamically adjusting the credit value in combination with path quality, the accuracy and rationality of credit value allocation are improved, network congestion problems are reduced, and network performance is improved.
Smart Images

Figure CN120200973A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a method, apparatus, and electronic device for congestion control. Background Art
[0002] In some data transmission networks, such as in the Remote Direct Memory Access (RDMA) over Converged Ethernet Version 2 (RoCEV2) network using Remote Direct Memory Access (RDMA), there is usually an Incast problem, which reduces network performance. Among them, Incast refers to the phenomenon that when multiple senders send data to the same receiver simultaneously, it causes an excessive concentration of network or system resources, which may lead to a decline in network performance or network congestion.
[0003] Under the related technology, to solve the above Incast problem, the receiving device usually performs congestion control through a credit signaling mechanism. Specifically, the receiving device issues a fixed credit to the sending device according to its own receiving ability to drive the sending device to send packets according to the credit, thereby restricting the amount of data sent by the sending device. Among them, the credit is the size of the data that the sending device can send.
[0004] However, since the receiving device only determines the issued credit value according to its own ability, the determined credit value is usually not reasonable and may even exacerbate the deterioration of the path quality. Summary of the Invention
[0005] To solve the above technical problems, embodiments of this application provide a method, apparatus, and electronic device for congestion control.
[0006] On the one hand, embodiments of this application provide a method for congestion control, which is applied to a receiving device and includes:
[0007] Detect the path quality from the sending device to the receiving device; the path quality is determined at least based on the congestion degree of the path from the sending device to the receiving device;
[0008] When the current credit value of the sending device is different from the credit value matching the path quality, adjust the current credit value of the sending device to the credit value matching the path quality; the credit value is used to indicate the amount of data that the sending device can send;
[0009] Send the adjusted credit value to the sending device so that the sending device controls the sending of packets based on the adjusted credit value.
[0010] In one implementation, detecting the path quality from a sender device to a receiver device includes:
[0011] Receiving a packet sent by the sender device; the packet is sent by the sender device according to the current credit value;
[0012] Determining the path quality according to whether at least one packet received within a set time period carries an ECN mark and whether it carries a trim mark.
[0013] In one implementation, determining the path quality according to whether at least one packet received within a set time period carries an ECN mark and whether it carries a trim mark includes:
[0014] Obtaining the network performance parameters of the path from the sender device to the receiver device within a set time period; the network performance parameters are used to evaluate the network performance of the path;
[0015] Determining the path quality according to the network performance parameters and whether at least one packet received within a set time period carries an ECN mark and a trim mark.
[0016] In one implementation, the network performance parameters include at least one of the following:
[0017] The number of packet accumulation devices, the number of backlog packets to be sent, the number of retransmitted packets, the number of retransmission timeout (RTO) packets, the number of negative acknowledgment (NACK) packets, and the size of received word packets;
[0018] Among them, the number of packet accumulation devices is the number of network devices with abnormal packet accumulation on the path.
[0019] In one implementation, adjusting the current credit value of the sender device to a credit value matching the path quality includes:
[0020] Obtaining the credit value corresponding to the path quality from the sender device to the receiver device according to the correspondence between the path quality and the credit value;
[0021] Updating the current credit value to the credit value corresponding to the path quality.
[0022] In one implementation, determining the path quality according to the network performance parameters and whether at least one packet received within a set time period carries an ECN mark and a trim mark includes:
[0023] If at least one packet does not carry an ECN mark and a trim mark, and the number of packet accumulation devices is lower than a first set threshold, then determine the path quality as the first path quality;
[0024] If at least one packet carries an ECN mark but does not carry a trim mark, and the number of packet accumulation devices is lower than a second set threshold, then determine that the path quality is the second path quality; the second set threshold is higher than the first set threshold;
[0025] If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is lower than a second set threshold, then determine that the path quality is the third path quality;
[0026] If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is not lower than a second set threshold, then determine that the path quality is the fourth path quality;
[0027] Among them, the first path quality, the second path quality, the third path quality, and the fourth path quality decrease in turn, and the corresponding credit values of the first path quality, the second path quality, the third path quality, and the fourth path quality also decrease in turn.
[0028] In one implementation, adjusting the current credit value of the sender device to the credit value matching the path quality includes:
[0029] Obtain the historical path quality from the sender device to the receiver device;
[0030] Determine the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality;
[0031] Among them, the adjustment range of the credit value is positively correlated with the quality difference.
[0032] In one implementation, determining the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality includes:
[0033] Adopt any one of the following:
[0034] When the historical path quality is higher than the path quality, if the quality difference is lower than M, then determine the difference between the current credit value and a first specified quantity as the matching credit value; M is a positive number;
[0035] If the quality difference is not lower than M, then determine the difference or ratio between the current credit value and a second specified quantity as the matching credit value;
[0036] When the historical path quality is lower than the path quality, if the quality difference is higher than -M, then determine the sum of the current credit value and a first specified quantity as the matching credit value;
[0037] If the quality difference is not higher than -M, then determine the sum or product of the current credit value and a second specified quantity as the matching credit value.
[0038] On the one hand, an apparatus for congestion control is provided in an embodiment of the present application, which is applied to a receiving device. The apparatus includes:
[0039] A detection unit, configured to detect the path quality from a sending device to the receiving device; the path quality is determined at least based on the congestion degree of the path from the sending device to the receiving device;
[0040] An adjustment unit, configured to adjust the current credit value of the sending device to the credit value matching the path quality when the current credit value of the sending device is different from the credit value matching the path quality; the credit value is used to indicate the amount of data that the sending device can send;
[0041] A sending unit, configured to send the adjusted credit value to the sending device, so that the sending device controls the sending of packets based on the adjusted credit value.
[0042] In one implementation, the detection unit is configured to:
[0043] Receive packets sent by the sending device; the packets are sent by the sending device according to the current credit value;
[0044] Determine the path quality according to whether at least one packet received within a set time period carries an ECN mark and whether it carries a trim mark.
[0045] In one implementation, the detection unit is configured to:
[0046] Obtain network performance parameters of the path from the sending device to the receiving device within a set time period; the network performance parameters are used to evaluate the network performance of the path;
[0047] According to the network performance parameters, and whether at least one packet received within a set time period carries an ECN mark and a trim mark.
[0048] In one implementation, the network performance parameters include at least one of the following:
[0049] The number of packet accumulation devices, the number of backlog packets to be sent, the number of retransmitted packets, the number of retransmission timeout (RTO) packets, the number of negative acknowledgment (NACK) packets, and the size of received word packets;
[0050] Wherein, the number of packet accumulation devices is the number of network devices with abnormal packet accumulation on the path.
[0051] In one implementation, the adjustment unit is configured to:
[0052] Obtain the credit value corresponding to the path quality from the sending device to the receiving device according to the correspondence between the path quality and the credit value;
[0053] Update the current credit value to the credit value corresponding to the path quality.
[0054] In one implementation, the detection unit is used for:
[0055] If at least one packet does not carry an ECN mark and a trim mark, and the number of packet accumulation devices is lower than the first set threshold, determine that the path quality is the first path quality;
[0056] If at least one packet carries an ECN mark but does not carry a trim mark, and the number of packet accumulation devices is lower than the second set threshold, determine that the path quality is the second path quality; the second set threshold is higher than the first set threshold;
[0057] If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is lower than the second set threshold, determine that the path quality is the third path quality;
[0058] If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is not lower than the second set threshold, determine that the path quality is the fourth path quality;
[0059] Wherein, the first path quality, the second path quality, the third path quality, and the fourth path quality decrease in sequence, and the credit values corresponding to the first path quality, the second path quality, the third path quality, and the fourth path quality also decrease in sequence.
[0060] In one implementation, the adjustment unit is used for:
[0061] Obtain the historical path quality from the sender device to the receiver device;
[0062] Determine the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality;
[0063] Wherein, the adjustment range of the credit value is positively correlated with the quality difference.
[0064] In one implementation, the adjustment unit is used for:
[0065] Adopt any one of the following:
[0066] When the historical path quality is higher than the path quality, if the quality difference is lower than M, determine the difference between the current credit value and the first specified quantity as the matching credit value; M is a positive number;
[0067] If the quality difference is not lower than M, determine the difference or ratio between the current credit value and the second specified quantity as the matching credit value;
[0068] In the case where the historical path quality is lower than the path quality, if the quality difference is higher than -M, then the sum of the current credit value and the first specified quantity is determined as the matching credit value;
[0069] If the quality difference is not higher than -M, then the sum or product of the current credit value and the second specified quantity is determined as the matching credit value.
[0070] On the one hand, an electronic device is provided in an embodiment of the present application, including:
[0071] A processor; and
[0072] A memory storing computer instructions, the computer instructions being used to cause the processor to execute the steps of the method provided in any of the various alternative implementations of congestion control as described above.
[0073] On the one hand, a computer-readable storage medium is provided in an embodiment of the present application, storing computer instructions, the computer instructions being used to cause a computer to execute the steps of the method provided in any of the various alternative implementations of congestion control as described above.
[0074] On the one hand, a computer program product is provided in an embodiment of the present application, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in the processor of the electronic device, the processor in the electronic device executes the steps of the method provided in any of the various alternative implementations of congestion control as described above.
[0075] The method for congestion control in the embodiments of the present application includes detecting the path quality from the sender device to the receiver device; the path quality is determined at least based on the congestion degree of the path from the sender device to the receiver device; when the current credit value of the sender device is different from the credit value matching the path quality, adjusting the current credit value of the sender device to the credit value matching the path quality; the credit value is used to indicate the amount of data that the sender device can send; sending the adjusted credit value to the sender device so that the sender device controls the sending of packets based on the adjusted credit value. In this way, the credit value assigned to the sender device can be dynamically adjusted in combination with the path quality, improving the accuracy, rationality, and flexibility of credit value allocation, and thus reducing network congestion problems and improving network performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] Figure 1 It is a schematic diagram of the architecture of a RoCEV2 network in an embodiment of the present application.
[0077] Figure 2 It is a flowchart of a method for congestion control in an embodiment of the present application.
[0078] Figure 3It is a schematic structural diagram of a congestion control network in an embodiment of the present application.
[0079] Figure 4 It is a detailed implementation flowchart of a congestion control method in an embodiment of the present application.
[0080] Figure 5 It is a structural block diagram of a congestion control device in an embodiment of the present application.
[0081] Figure 6 It is a schematic structural diagram of an electronic device in an embodiment of the present application. Specific implementation manners
[0082] Next, the technical solutions of the present application will be clearly and completely described in conjunction with the accompanying drawings. Obviously, the described implementation manners are part of the implementation manners of the present application, rather than all of the implementation manners. Based on the implementation manners in the present application, all other implementation manners obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application. In addition, the technical features involved in different implementation manners of the present application described below can be combined with each other as long as they do not conflict with each other.
[0083] Next, multiple network congestion scenarios are illustrated by examples. One application scenario is in an Artificial Intelligence (AI) cloud system. When multiple application programs run simultaneously, network-level congestion can lead to performance degradation and inconsistent running times. This congestion may be caused by the network traffic of the application program itself or the background network traffic of other application programs. Its main cause is called many-to-one congestion, that is, incast congestion, which is characterized by multiple data transmitters sending data to a single data receiver.
[0084] Another scenario is when using a parameter server model during AI training. Multiple Graphics Processing Units (GPUs) need to send data to one GPU for aggregation, which also causes incast problems.
[0085] Under related technologies, the receiving device usually performs congestion control through a credit signaling mechanism. However, since the receiving device cannot perceive path congestion or overload conditions, it usually blindly publishes credit values, which will exacerbate the deterioration of path quality.
[0086] Furthermore, under related technologies, mechanisms such as Congestion Notification Packet (CNP) or Priority Flow Control (PFC) are usually also used to force speed reduction to avoid network packet loss.
[0087] However, this method often leads to low network utilization, slower data interaction speed or waiting status, and is prone to problems such as Priority Flow Control (PFC) storms and Priority Flow Control (PFC) deadlocks.
[0088] Based on the defects of the above related technologies, embodiments of the present application provide a congestion control method, device, and electronic device, aiming to reduce the incast problem and improve network performance.
[0089] Embodiments of the present application provide a congestion control method, which can be applied to a receiving device in an Ethernet network. The receiving device can be any type of electronic device, and the present application does not limit the type of the electronic device. It can be any device type suitable for implementation. For example, terminal devices and servers, etc. The present application will not elaborate on this.
[0090] Among them, the above Ethernet network can be a RoCEV2 network. The following combines Figure 1 , and gives an example of a RoCEV2 network. Refer to Figure 1 As shown, it is a schematic diagram of the architecture of a RoCEV2 network. The RoCEV2 network includes a sender device, a switch, and a receiver device.
[0091] Optionally, both the sender device and the receiver device can be one or more. Network cards are inserted into both the sender device and the receiver device. Corresponding Queue Pairs (QP), such as QP1, QP2... QPn (n is a positive integer), can also be set in both the sender device and the receiver device for communication.
[0092] It should be noted that a network card is usually an expansion card inserted into a computer motherboard or a chip integrated on the motherboard. It is connected to the internal bus of the computer to exchange data with other components such as the CPU. One of the main functions of the network card is to convert and encapsulate the data passed by the host so that it can be transmitted in the network. For example, in Ethernet, the network card adds a header and a tail to the data to form an Ethernet frame, and then sends the data through a network cable or a wireless network. Therefore, during the data sending process, the network card is the hardware component that actually performs the sending operation.
[0093] Figure 1Among them, the switch may include a core switch (Spine) and a leaf switch (Leaf). The Spine is a device in the core layer of the network architecture, responsible for high-speed connection of multiple Leafs and providing a transmission path with high bandwidth and low latency. The Spine usually does not directly connect to the server, but realizes data aggregation and distribution through the Leaf. The design goal of the Spine layer is to achieve high scalability and non-blocking communication of the network. The Leaf is an access layer device in the network architecture, directly connecting to the server or other terminal devices, and responsible for transmitting data from the server to the Spine layer or other Leafs. The Leaf is usually deployed at the top of the rack (Top of Rack, ToR). The main function of the Leaf layer is to provide a connection between the server and the network and realize local data exchange.
[0094] Refer to Figure 2 As shown, it is a flowchart of a congestion control method in an embodiment of the present application. The following will describe this method in combination with Figure 1 and 2 This method will be described as follows: The specific implementation process of this method is as follows:
[0095] Step 201: Detect the path quality from the sender device to the receiver device; the path quality is determined at least based on the congestion degree of the path from the sender device to the receiver device.
[0096] In one implementation, when performing step 201, the following steps can be adopted:
[0097] S2011: Receive the packets sent by the sender device; the packets are sent by the sender device according to the current credit value.
[0098] It should be noted that the number of paths from the sender device to the receiver device can be one or more. Therefore, all packets sent by the sender device through each path can be received.
[0099] S2012: Determine the path quality according to whether at least one packet received within a set time period carries an Explicit Congestion Notification (ECN) mark and whether it carries a Trim mark.
[0100] In one implementation, it can first be determined whether each packet carries an ECN mark and whether it carries a Trim mark respectively, and then the judgment results of each packet are statistically analyzed to determine whether the packet set of at least one packet received within the set time period carries an ECN mark and a Trim mark.
[0101] For example, if there is a packet carrying an ECN mark, it can be determined that the packet set carries the ECN mark; conversely, it is determined that the packet set does not carry the ECN mark. Similarly, if there is a packet carrying a Trim mark, it can be determined that the packet set carries the Trim mark; conversely, it is determined that the packet set does not carry the Trim mark. Furthermore, the path quality can be determined based on whether the packet set carries the ECN mark and the Trim mark.
[0102] In another implementation, the judgment results of each packet can also be statistically analyzed to determine the number of ECN marks and Trim marks carried in the packet set, and the path quality can be determined based on the number of ECN marks and Trim marks.
[0103] Among them, both the ECN mark and the Trim mark are added to the packet by the switch according to the path congestion status during packet transmission.
[0104] It should be noted that if there are multiple paths from the sender device to the receiver device, the packets sent by the sender device through each path within a set time period are obtained. At this time, the path quality refers to the comprehensive quality of all paths from the sender device to the receiver device.
[0105] Furthermore, the path quality can also be determined in combination with the network performance parameters of the path.
[0106] In one implementation, when executing S2012, the following steps can also be adopted:
[0107] Obtain the network performance parameters of the path from the sender device to the receiver device within a set time period; the network performance parameters are used to evaluate the network performance of the path; determine the path quality based on the network performance parameters and whether at least one packet received within the set time period carries an ECN mark and a trim mark.
[0108] Optionally, the network performance parameters can be obtained in any way. For example, they can be extracted from the packet, or manually statistically analyzed. They can be added to the packet by the switch, or can be statistically analyzed by the network device in the path and sent to the receiver device. There is no limitation here. The network performance parameters include at least one of the following items:
[0109] The number of packet stacking devices, the number of packets to be sent (Backlog), the number of retransmitted packets, the number of retransmission timeout (Retransmission Timeout, RTO) packets, the number of negative acknowledgment (Negative Acknowledgment, NACK) packets, and the size of the received packets.
[0110] Among them, the number of message backlog devices is the number of network devices with message backlog anomalies on the path. The message backlog anomaly can be set according to the actual application scenario and is not limited here. Backlog quantity: refers to the number of data packets waiting to be sent currently, usually used to measure the load of the network sending buffer. Retransmitted data packet quantity: refers to the number of data packets that need to be retransmitted due to not receiving an acknowledgment or detecting packet loss. RTO data packet quantity: refers to the number of data packets that are triggered to be retransmitted due to exceeding the retransmission timeout RTO. RTO is the time threshold in the network protocol used to determine whether a data packet needs to be retransmitted. NACK data packet quantity: refers to the number of data packets that the receiving end notifies the sending end to retransmit through NACK. NACK is usually used to indicate packet loss or damage. The size of the received data packet: refers to the size of the received data packet, usually in bytes, used to measure the amount of data transmitted over the network.
[0111] In this way, the path quality can be determined only based on whether the message carries an ECN mark and a Trim mark, and the path quality can also be determined based on whether the message carries an ECN mark and a Trim mark and network performance parameters. For example, the path quality can be determined based on whether each message carries an ECN mark and a Trim mark, and the number of message backlog devices.
[0112] Step 202: When the current credit value of the sending device is different from the credit value matching the path quality, adjust the current credit value of the sending device to the credit value matching the path quality; the credit value is used to indicate the amount of data that the sending device can send.
[0113] In one implementation, when performing step 202, any of the following methods can be adopted:
[0114] Method 1: Obtain the credit value corresponding to the path quality from the sending device to the receiving device according to the correspondence between the path quality and the credit value; update the current credit value to the credit value corresponding to the path quality.
[0115] In one implementation, if the path quality is determined based on whether at least one message received within a set time period carries an ECN mark and a Trim mark and the number of message backlog devices.
[0116] As an example, when determining the path quality, any of the following methods can be adopted:
[0117] Method 1: If at least one message does not carry an ECN mark and a trim mark, and the number of message backlog devices is lower than the first set threshold, determine the path quality as the first path quality.
[0118] That is to say, none of the messages carry an ECN mark and a trim mark.
[0119] Method 2: If at least one packet carries an ECN mark but does not carry a trim mark, and the number of packet accumulation devices is lower than a second set threshold, then determine that the path quality is the second path quality; the second set threshold is higher than the first set threshold.
[0120] That is to say, there are packets carrying the ECN mark in each packet, but there are no packets carrying the trim mark.
[0121] Method 3: If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is lower than a second set threshold, then determine that the path quality is the third path quality.
[0122] That is to say, there are packets carrying the ECN mark in each packet, and there are also packets carrying the trim mark. The packets carrying the ECN mark and the packets carrying the trim mark can be the same packet or different packets.
[0123] Method 4: If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is not lower than a second set threshold, then determine that the path quality is the fourth path quality;
[0124] Among them, the first path quality, the second path quality, the third path quality, and the fourth path quality decrease in sequence, and the corresponding credit values of the first path quality, the second path quality, the third path quality, and the fourth path quality also decrease in sequence. The credit values corresponding to the second path quality, the third path quality, and the fourth path quality can be expressed as the first credit value, the second credit value, the third credit value, and the fourth credit value in sequence.
[0125] For example, the first path quality, the second path quality, the third path quality, and the fourth path quality are J, J - 1, J - 2, and J - 3 in sequence, where J is a positive integer. The first credit value, the second credit value, the third credit value, and the fourth credit value are k, k - 1, k - 2, and k / 2 in sequence, where k is a positive integer. Further, there may be some identical credit values among the first credit value, the second credit value, the third credit value, and the fourth credit value, which is not restricted here.
[0126] Among them, the first set threshold can be 1, then the number of packet accumulation devices lower than 1 means that there is no packet accumulation problem in all network devices. The second set threshold can be a fixed value, such as 3, or can be calculated according to the device quantity ratio. For example, if the total number of devices is 12 and the device quantity ratio can be 1 / 3, then the second set threshold can be set to 4.
[0127] In practical applications, the first set threshold (e.g., 1), the second set threshold (e.g., 3), the first credit value, the second credit value, the third credit value, and the fourth credit value can be set according to the actual application scenario and are not limited herein.
[0128] Assume that multiple packets are received within a set time period. Then, in combination with each packet received within the set time period, an example is given to illustrate the determination of the above path quality and credit value.
[0129] The first case is as follows: If no packets carrying the ECN mark and the trim mark are received within the set time period (i.e., each packet does not carry the ECN mark and the trim mark), and the number of packet accumulation devices is 0, which is lower than the first set threshold of 1 (i.e., no packet accumulation problem occurs in all network devices on the path), then the path quality is the first path quality, and the corresponding credit value is the first credit value. For example, the first credit value can be the credit value of k maximum transmission units (MTUs).
[0130] In this case, since the receiving device does not receive packets carrying the ECN mark and the trim mark within the set time period, it indicates that the path quality is good. Then, the receiving device can fixedly issue the credit value of k MTUs to the sending device.
[0131] The second case is as follows: If the ECN mark is received but the trim mark is not received within the set time period (i.e., among each packet, there are packets carrying the ECN mark and no packets carrying the trim mark), and most network devices in the path do not have packet accumulation problems, that is, the number of packet accumulation devices is lower than the second set threshold, e.g., 4, then the path quality is the second path quality, and the corresponding credit value is the second credit value. For example, the second credit value can be the credit value of k - 1 MTUs.
[0132] In this case, since the receiving device receives the ECN mark but does not receive the trim mark within the set time period, it indicates that the path quality is good, but packet accumulation occurs in individual network devices, resulting in the generation of the ECN mark, but no packet loss has occurred yet. Therefore, the issued credit value is slightly reduced.
[0133] The third case is as follows: If the ECN mark and the trim mark are received within the set time period (i.e., among each packet, there are packets carrying the ECN mark and there are packets carrying the trim mark), and most network devices in the path do not have packet accumulation problems, that is, the number of packet accumulation devices is lower than the second set threshold, then the path quality is the third path quality, and the corresponding credit value is the third credit value. For example, the third credit value can be the credit value of k - 2 MTUs.
[0134] In this case, if the receiving device receives an ECN mark and a trim mark within a set time period, it indicates that the overall quality of the path from the sender to the receiver is average, and there is packet accumulation on individual devices resulting in packet loss. Therefore, the released credit value can be reduced to relieve the congestion of the bottleneck path.
[0135] In the fourth case, if an ECN mark and a trim mark are received (that is, among the packets, there are packets carrying the ECN mark and there are packets carrying the trim mark), and most network devices in the path have packet accumulation problems, that is, the number of packet accumulation devices is not less than the second set threshold, then the path quality is the fourth path quality, and its corresponding credit value is the fourth credit value. For example, the fourth credit value is the credit value of k / 2 MTU sizes.
[0136] Among them, if k is an odd number, the calculated fourth credit value can be obtained by rounding down.
[0137] In this case, if the receiving device receives an ECN mark and a trim mark within a set time period, it indicates that the overall quality of the path from the sender to the receiver is poor. At this time, the receiving party should greatly reduce the released credit value to relieve the congestion of the bottleneck path.
[0138] In practical applications, the above corresponding relationship can be set according to the actual application scenario, and no limitation is made here.
[0139] Method 2: Determine the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality.
[0140] In one implementation, obtain the historical path quality from the sender device to the receiver device, and determine the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality; among them, the adjustment range of the credit value is positively correlated with the quality difference.
[0141] Among them, the path quality can be directly measured by the carrying status of each ECN mark and trim mark, etc. For the convenience of calculation, the path quality can also be quantified into multiple path levels so as to quantify the quality difference between different path qualities. In practical applications, the quality difference can also be quantified in other ways, and no limitation is made here.
[0142] As an example, when implementing Method 2, the following steps can be adopted:
[0143] When the historical path quality is higher than the path quality, if the quality difference is lower than M, the difference between the current credit value and the first specified quantity is determined as the matching credit value; M is a positive number; if the quality difference is not lower than M, the difference or ratio between the current credit value and the second specified quantity is determined as the matching credit value; when the historical path quality is lower than the path quality, if the quality difference is higher than -M, the sum of the current credit value and the first specified quantity is determined as the matching credit value; if the quality difference is not higher than -M, the sum or product of the current credit value and the second specified quantity is determined as the matching credit value. For example, M can be 1.
[0144] In practical applications, the first specified quantity and the second specified quantity can be set according to the actual application scenario. For example, they can be 1 and 2 respectively, and there is no restriction here. The quality difference can be a level difference, and M can be set according to the actual application scenario. For example, it can be 1 or 2, etc., and there is no restriction here.
[0145] For example, M = 2, the first specified quantity is 1, and the second specified quantity is 2. If the historical path quality is higher than the path quality, and the quality difference is 1 which is less than 2, then the above-mentioned matching credit value can be: the current credit value - 1 (i.e., the second specified quantity). If the historical path quality is higher than the path quality, and the quality difference is 2 = M, then the above-mentioned matching credit value can be: the current credit value / 2 (i.e., the second specified quantity).
[0146] In practical applications, corresponding credit change amplitudes can also be set for each quality difference respectively, so as to increase or decrease the current credit value by the corresponding credit change amplitude according to the calculated quality difference, and there is no restriction here.
[0147] Furthermore, upper and lower thresholds of the credit value can also be set. If the calculated matching credit value is higher than the maximum credit value, the maximum credit value is directly used as the matching credit value; on the contrary, the minimum credit value is used as the matching credit value.
[0148] In this way, network congestion can be effectively suppressed according to the historical congestion state, and the change amplitude of the credit value can be adjusted according to the change amplitude of the network state.
[0149] Step 203: Send the adjusted credit value to the sender device so that the sender device controls the sending of packets based on the adjusted credit value.
[0150] The following combines Figure 3 , and Figure 1 the congestion control of the network shown is described in detail. Referring to Figure 3 shown, it is a schematic structural diagram of a congestion control network. Figure 3It includes a sender device, a switch, and a receiver device. Among them, both the sender device and the receiver device include: a host, a network card, a sending Congestion Control (CC) module, a receiving CC module, and a transceiver module. The transceiver module includes a Receive (RX) pipeline, a Transmit (TX) pipeline, a TX buffer, and an RX buffer. The roles of the sender device and the receiver device can also be interchanged.
[0151] Among them, the CC module is a functional module in a network device or a network card, used to monitor and manage network congestion to ensure the stability and efficiency of network traffic. The host and the network card are connected through Peripheral Component Interconnect Express (PCIe). The network card is connected to the GPU / CPU in the host through PCIe to perform RDMA operations. The sending CC module and the receiving CC module are embedded in the transceiver pipeline of the network card to perform the interaction and control of credit values. The switch can add signals indicating network congestion or faults (such as marks) to the packet. The sending CC module is used to apply for credit values and control the amount of data sent according to the credit values. The receiving CC module may include a credit value allocation module and a network signal module. The credit value allocation module is used to calculate the allocated credit values. The network signal module is used to extract the marks carried in the packet (i.e., ECN marks and trim marks), as well as network performance parameters, etc., and send them to the credit value allocation module.
[0152] It should be noted that in the embodiments of this application, the path quality from a sender device to a receiver device is determined based on all the packets sent from the sender device to the receiver device within a period of time, and the credit value allocated to the sender device is adjusted according to the path quality.
[0153] If there are multiple paths from the sender device to the receiver device, it is not necessary to consider the path quality of each path separately. The path quality is also determined based on all the packets sent from the sender device to the receiver device within a set time period. At this time, the path quality is essentially the comprehensive quality of all the paths from the sender device to the receiver device.
[0154] The following combines Figure 3 and Figure 4 to give an example of the method for congestion control. Referring to Figure 4 shown, it is a detailed implementation flowchart of a method for congestion control. The process includes:
[0155] Step 401: The sending device sends a credit value application message to the receiving device.
[0156] In one implementation, the sending CC module in the network card of the sending device, according to its own data sending requirements, sends a credit value application message to the network card of the receiving device via the TX pipeline and the TX buffer through the switch.
[0157] Step 402: The receiving device determines the allocated credit value based on the received credit value application message.
[0158] In one implementation, the credit value application message is sent to the RX pipeline via the RX buffer of the receiving device. The network card of the receiving device extracts the credit value application message from the RX pipeline and passes it to the receiving CC module of the receiving device. The credit value allocation module in the receiving CC module can calculate the allocated credit value according to the credit value allocation algorithm.
[0159] Step 403: The receiving device returns the allocated credit value to the sending device.
[0160] In one implementation, the receiving CC module in the receiving device returns the allocated credit value to the network card of the sending device via the TX pipeline and the TX buffer through the switch.
[0161] Step 404: The sending device sends a message to the receiving device via the switch according to the allocated credit value to control the amount of data sent to the receiving device.
[0162] In one implementation, the allocated credit value is sent to the RX pipeline via the RX buffer of the sending device. The sending CC module of the sending device extracts the allocated credit value from the RX pipeline. Then, when it detects that the host sends a message through the TX pipeline, it controls the data volume of the message sent by the TX pipeline according to the allocated credit value and sends the message to the receiving device via the switch.
[0163] In this way, the packet sending control of the congestion window (cwnd) can be affected.
[0164] Among them, when a message is forwarded by a switch, the switch enables the ECN marking function and the trim marking function. If there is no congestion problem, the switch directly forwards the received message to the receiving device. If there is a congestion level problem, the ECN mark is added to the message before forwarding, and if the congestion level is relatively serious, the trim mark is added to the message before forwarding. Since the ECN marking function and the trim marking function can be independent of each other, the same message can carry both the ECN mark and the trim mark at the same time.
[0165] Optionally, the congestion level of the path can be determined, and according to the congestion level, the proportion of marks added to the data packet can be determined, and according to this proportion, the ECN mark is added to some data packets. That is to say, the ECN mark can be added only to some data packets.
[0166] In practical applications, the division and determination of the congestion level can be set according to the actual application scenario, which is not limited here.
[0167] Among them, if the congestion level is relatively serious, it is determined that the buffer of the switch is not enough to support the sending of the message, then the payload part of the message can be deleted, and only the message header information is retained and the Trim mark is added so that the message can be sent out. The Trim mark refers to a network signal used to indicate that part of the content of the message (such as the payload) has been trimmed, and only the message header information is retained.
[0168] Step 405: The receiving device determines the path quality based on whether the messages received within the set time period contain the ECN mark and the trim mark.
[0169] In one implementation, a network signal module is also set in the receiving CC module of the receiving device. The network signal module can periodically extract the marks (i.e., the ECN mark and the trim mark) in the message from the RX pipeline of the receiving device. The RX pipeline can also actively send the marks in the message to the network signal module.
[0170] Furthermore, the network performance parameters of the path from the sending device to the receiving device within the set time period can be obtained, and based on the network performance parameters and whether the message carries the ECN mark and the trim mark, the path quality is determined.
[0171] Furthermore, according to whether the received message contains the ECN mark and the trim mark, a message feedback message is returned to the sending device. For example, the message feedback message can be a Selective Acknowledgment (SACK) message.
[0172] Among them, if the received message contains an ECN mark and / or a trim mark, the receiving device adds the ECN mark and / or the trim mark in the message to the message feedback message.
[0173] Optionally, if the message also carries any network performance parameters, they can also be added to the message feedback message.
[0174] Further, after receiving the message feedback message, if the sending device determines that the sent message carries a trim mark, the message is retransmitted.
[0175] For example, if it is determined that the sent message carries a trim mark, obtain the sequence number (Sequence Number, SeqNum) corresponding to the message, obtain the original complete message corresponding to the SeqNum, and retransmit the original complete message.
[0176] Step 406: The receiving device updates the credit value allocated to the sending device based on the path quality, and executes step 403.
[0177] In one implementation, a credit value allocation algorithm is used to determine a new credit value based on the path quality, or a credit value allocation algorithm is used to determine a new credit value based on the path quality and the historical path quality.
[0178] Among them, when executing steps 401-406, the specific steps can refer to the above steps 201-step 203, which will not be elaborated here.
[0179] In the related art, the receiving device usually determines the allocated credit value only according to its own receiving ability. However, when using this method to allocate the credit value, the network transmission state is not considered, and the credit value allocation is usually unreasonable, which may instead exacerbate the network congestion degree, reduce the network performance, still cause packet loss, and thus affect the service.
[0180] In the embodiment of the present application, the receiving device can sense whether a network failure such as network congestion occurs, and adjust the credit value based on the sensed network transmission state (i.e., the path quality) to solve network failure problems such as network congestion. Specifically, the receiving device can evaluate the path quality of the message transmission according to the network performance parameters and whether each received message carries an ECN mark and a trim mark within a set time period, and adjust the credit value allocated to the sending device according to the path quality, so as to improve the accuracy of path quality evaluation, dynamically adjust the credit value according to the path quality, and can perform network adjustment in a timely manner in the event of network failure scenarios such as network congestion, achieving the effect of reducing network congestion, improving the timeliness and flexibility of credit value adjustment, and network performance.
[0181] Based on the same inventive concept, embodiments of the present application also provide a congestion control device. Since the principle of the above device and equipment for solving problems is similar to that of a congestion control method, the implementation of the above device can refer to the implementation of the method, and the repeated parts will not be elaborated. This device can be applied to an electronic device. The present application does not limit the type of the electronic device, which can be any device type suitable for implementation, such as a terminal device and a server, etc. The present application will not elaborate on this. The device embodiment can be implemented by software, or by hardware or a combination of software and hardware. Taking software implementation as an example, as a logically meaningful device, it is formed by the processor of the electronic device where it is located reading the corresponding computer program instructions in the non-volatile memory into the memory for operation.
[0182] Refer to Figure 5 As shown, it is a structural block diagram of the congestion control device in the embodiments of the present application. In some embodiments, the congestion control device exemplified in the present application includes:
[0183] A detection unit 501, configured to detect the path quality from the sender device to the receiver device; the path quality is determined at least based on the congestion degree of the path from the sender device to the receiver device;
[0184] An adjustment unit 502, configured to adjust the current credit value of the sender device to the credit value matching the path quality when the current credit value of the sender device is different from the credit value matching the path quality; the credit value is used to indicate the amount of data that the sender device can send;
[0185] A sending unit 503, configured to send the adjusted credit value to the sender device, so that the sender device controls the sending of packets based on the adjusted credit value.
[0186] In one embodiment, the detection unit 501 is configured to:
[0187] Receive the packets sent by the sender device; the packets are sent by the sender device according to the current credit value;
[0188] Determine the path quality according to whether at least one packet received within a set time period carries an ECN mark and whether it carries a trim mark.
[0189] In one embodiment, the detection unit 501 is configured to:
[0190] Obtain the network performance parameters of the path from the sender device to the receiver device within a set time period; the network performance parameters are used to evaluate the network performance of the path;
[0191] According to the network performance parameters, and whether at least one packet received within a set time period carries an ECN mark and a trim mark.
[0192] In one implementation, the network performance parameters include at least one of the following:
[0193] the number of packet accumulation devices, the number of packets in the send buffer (Backlog), the number of retransmitted packets, the number of packets with retransmission timeout (RTO), the number of negative acknowledgment (NACK) packets, and the size of received word packets;
[0194] Among them, the number of packet accumulation devices is the number of network devices with packet accumulation anomalies on the path.
[0195] In one implementation, the adjustment unit 502 is configured to:
[0196] Obtain the credit value corresponding to the path quality from the sender device to the receiver device according to the correspondence between the path quality and the credit value;
[0197] Update the current credit value to the credit value corresponding to the path quality.
[0198] In one implementation, the detection unit 501 is configured to:
[0199] If at least one packet does not carry an ECN mark and a trim mark, and the number of packet accumulation devices is lower than a first set threshold, determine that the path quality is the first path quality;
[0200] If at least one packet carries an ECN mark but does not carry a trim mark, and the number of packet accumulation devices is lower than a second set threshold, determine that the path quality is the second path quality; the second set threshold is higher than the first set threshold;
[0201] If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is lower than the second set threshold, determine that the path quality is the third path quality;
[0202] If at least one packet carries an ECN mark and a trim mark, and the number of packet accumulation devices is not lower than the second set threshold, determine that the path quality is the fourth path quality;
[0203] Among them, the first path quality, the second path quality, the third path quality, and the fourth path quality decrease in sequence, and the credit values corresponding to the first path quality, the second path quality, the third path quality, and the fourth path quality also decrease in sequence.
[0204] In one implementation, the adjustment unit 502 is configured to:
[0205] Obtain the historical path quality from the sender device to the receiver device;
[0206] Determine the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality;
[0207] Among them, the adjustment range of the credit value is positively correlated with the quality difference.
[0208] In one implementation, the adjustment unit 502 is configured to:
[0209] Adopt any one of the following:
[0210] When the historical path quality is higher than the path quality, if the quality difference is lower than M, determine the difference between the current credit value and the first specified quantity as the matching credit value; M is a positive number;
[0211] If the quality difference is not lower than M, determine the difference or ratio between the current credit value and the second specified quantity as the matching credit value;
[0212] When the historical path quality is lower than the path quality, if the quality difference is higher than -M, determine the sum of the current credit value and the first specified quantity as the matching credit value;
[0213] If the quality difference is not higher than -M, determine the sum or product of the current credit value and the second specified quantity as the matching credit value.
[0214] The congestion control method in the embodiments of the present application includes detecting the path quality from the sender device to the receiver device; the path quality is determined at least based on the congestion degree of the path from the sender device to the receiver device; when the current credit value of the sender device is different from the credit value matching the path quality, adjust the current credit value of the sender device to the credit value matching the path quality; the credit value is used to indicate the amount of data that the sender device can send; send the adjusted credit value to the sender device so that the sender device controls the sending of packets based on the adjusted credit value. In this way, the credit value allocated to the sender device can be dynamically adjusted in combination with the path quality, improving the accuracy, rationality, and flexibility of credit value allocation, and further reducing network congestion problems and improving network performance.
[0215] In the embodiments of the present application, an electronic device is further provided, including:
[0216] A processor; and
[0217] A memory storing computer instructions for causing the processor to execute the method of any of the above implementations.
[0218] In the embodiments of the present application, a computer-readable storage medium is provided, storing computer instructions for causing a computer to execute the method of any of the above implementations.
[0219] An embodiment of the present application also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device implements the method of any of the above embodiments.
[0220] Figure 6 FIG. shows a schematic structural diagram of an electronic device 6000. Refer to Figure 6 As shown, the electronic device 6000 includes: a processor 6010 and a memory 6020. Optionally, it may further include a power supply 6030, a display unit 6040, and an input unit 6050.
[0221] The processor 6010 is the control center of the electronic device 6000, connecting various components through various interfaces and lines, and executing various functions of the electronic device 6000 by running or executing software programs and / or data stored in the memory 6020, thereby performing overall monitoring of the electronic device 6000.
[0222] In an embodiment of the present application, when the processor 6010 calls the computer program stored in the memory 6020, it executes each step in the above embodiment.
[0223] Optionally, the processor 6010 may include one or more processing units; preferably, the processor 6010 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, applications, etc., and the modem processor mainly processes wireless communication. It can be understood that the above modem processor may not be integrated into the processor 6010. In some embodiments, the processor and the memory can be implemented on a single chip, and in some embodiments, they can also be separately implemented on independent chips.
[0224] The memory 6020 may mainly include a program storage area and a data storage area. Among them, the program storage area may store the operating system, various applications, etc.; the data storage area may store data created according to the use of the electronic device 6000, etc. In addition, the memory 6020 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices, etc.
[0225] The electronic device 6000 also includes a power supply 6030 (such as a battery) for supplying power to each component. The power supply can be logically connected to the processor 6010 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption through the power management system.
[0226] The display unit 6040 can be used to display information input by the user or information provided to the user, as well as various menus of the electronic device 6000. In the embodiments of the present application, it is mainly used to display the display interfaces of various applications in the electronic device 6000 and objects such as text and pictures displayed in the display interfaces. The display unit 6040 may include a display panel 6041. The display panel 6041 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc.
[0227] The input unit 6050 can be used to receive information such as numbers or characters input by the user. The input unit 6050 may include a touch panel 6051 and other input devices 6052. Among them, the touch panel 6051, also known as a touch screen, can collect touch operations of the user on or near it (such as operations of the user using a finger, a stylus, or any suitable object or accessory on or near the touch panel 6051).
[0228] Specifically, the touch panel 6051 can detect the touch operation of the user, detect the signals brought by the touch operation, convert these signals into contact coordinates, send them to the processor 6010, and receive and execute the commands sent by the processor 6010. In addition, the touch panel 6051 can be implemented in multiple types such as resistive, capacitive, infrared, and surface acoustic wave. The other input devices 6052 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), a trackball, a mouse, a joystick, etc.
[0229] Of course, the touch panel 6051 can cover the display panel 6041. After the touch panel 6051 detects a touch operation on or near it, it is transmitted to the processor 6010 to determine the type of touch event. Subsequently, the processor 6010 provides a corresponding visual output on the display panel 6041 according to the type of touch event. Although in Figure 6 the touch panel 6051 and the display panel 6041 are implemented as two independent components to realize the input and output functions of the electronic device 6000, in some embodiments, the touch panel 6051 and the display panel 6041 can be integrated to realize the input and output functions of the electronic device 6000.
[0230] The electronic device 6000 may also include one or more sensors, such as a pressure sensor, a gravitational acceleration sensor, a proximity light sensor, etc. Of course, according to the needs in specific applications, the above-mentioned electronic device 6000 may also include other components such as a camera. Since these components are not the key components used in the embodiments of the present application, therefore, in Figure 6Not shown in [the figure] and will not be elaborated further.
[0231] Those skilled in the art can understand that Figure 6 merely serves as an example of an electronic device and does not constitute a limitation on the electronic device. It may include more or fewer components than those shown in the figure, or combine certain components, or have different components.
[0232] For the convenience of description, the above-mentioned parts are divided into respective modules (or units) according to their functions and described separately. Of course, when implementing the present application, the functions of the respective modules (or units) can be realized in the same software or hardware or in multiple software or hardware.
Claims
1. A congestion control method, characterized in that: Applied to a receiving device, the method includes: Detecting a path quality from a sending device to the receiving device; the path quality is determined at least according to a congestion level of the path from the sending device to the receiving device; When the current credit value of the sending device is different from the credit value of the path quality matching, adjusting the current credit value of the sending device to the credit value of the path quality matching; the credit value is used to indicate the amount of data that can be sent by the sending device; The adjusted credit value is sent to the sending device, so that the sending device controls the sending of the message based on the adjusted credit value.
2. The method according to claim 1, characterized in that The detecting the path quality from the sending device to the receiving device includes: receiving a message sent by the sending device; the message is sent by the sending device according to the current credit value; The path quality is determined according to whether at least one message received within a set time period carries an explicit congestion notification ECN mark and whether it carries a packet trimming notification trim mark.
3. The method according to claim 2, characterized in that The determining the path quality according to whether at least one message received within a set time period carries an ECN mark and a trim mark, includes: Acquire network performance parameters of a path from the sending device to the receiving device within a set time period; the network performance parameters are used to evaluate the network performance of the path; The path quality is determined according to the network performance parameter and whether at least one message received within a set time period carries an ECN mark and a trim mark.
4. The method according to claim 3, characterized in that The network performance parameter includes at least one of the following: The number of message accumulation devices, the number of backlog packets to be sent, the number of retransmitted packets, the number of retransmission timeout RTO packets, the number of negative acknowledgment NACK packets, and the size of received data packets; The number of packet accumulation devices is the number of network devices with abnormal packet accumulation on the path.
5. The method according to claim 4, characterized in that The adjusting the current credit value of the sending device to the credit value matched by the path quality includes: According to the correspondence between the path quality and the credit value, obtaining the credit value corresponding to the path quality from the sending device to the receiving device; The current credit value is updated to the credit value corresponding to the path quality.
6. The method according to claim 5, characterized in that The determining the path quality according to the network performance parameter and whether at least one message received within a set time period carries an ECN mark and a trim mark includes: If the at least one message does not carry the ECN mark and the trim mark, and the number of message accumulation devices is lower than a first set threshold, determining that the path quality is the first path quality; If the at least one message carries an ECN mark but does not carry a trim mark, and the number of message accumulation devices is lower than a second set threshold, determining that the path quality is a second path quality; the second set threshold is higher than the first set threshold; If the at least one message carries an ECN mark and a trim mark, and the number of message accumulation devices is lower than the second set threshold, determining that the path quality is a third path quality; If the at least one message carries an ECN mark and a trim mark, and the number of message accumulation devices is not less than the second set threshold, determining that the path quality is a fourth path quality; The first path quality, the second path quality, the third path quality and the fourth path quality decrease in sequence, and the credit values corresponding to the first path quality, the second path quality, the third path quality and the fourth path quality also decrease in sequence.
7. The method according to any one of claims 1 to 4, characterized in that: The adjusting the current credit value of the sending device to the credit value matched by the path quality includes: Acquire a historical path quality from the sending device to the receiving device; Determining the matching credit value according to the current credit value and a quality difference between the historical path quality and the path quality; Among them, the adjustment range of the credit value is positively correlated with the quality difference.
8. The method according to claim 7, characterized in that The determining the matching credit value according to the current credit value and the quality difference between the historical path quality and the path quality includes: Use any of the following: In the case where the historical path quality is higher than the path quality, if the quality difference is lower than M, the difference between the current credit value and the first specified number is determined as the matched credit value; M is a positive number; If the quality difference is not less than M, determining the difference or ratio between the current credit value and the second specified number as the matched credit value; In the case where the historical path quality is lower than the path quality, if the quality difference is higher than -M, determining the sum of the current credit value and the first specified number as the matched credit value; If the quality difference is not higher than -M, the sum or product of the current credit value and the second specified number is determined as the matched credit value.
9. A congestion control device, characterized in that: Applied to a receiving device, the apparatus comprises: A detection unit, configured to detect a path quality from a sending device to the receiving device; the path quality is determined at least according to a congestion level of the path from the sending device to the receiving device; an adjusting unit, configured to adjust the current credit value of the sending device to the credit value of the path quality matching when the current credit value of the sending device is different from the credit value of the path quality matching; the credit value is used to indicate the amount of data that can be sent by the sending device; A sending unit is used to send the adjusted credit value to the sending device, so that the sending device controls the sending of the message based on the adjusted credit value.
10. An electronic device, characterized in that: include: processor; as well as A memory storing computer instructions, wherein the computer instructions are used to enable the processor to execute the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Buffering queue management method for wireless LAN
CN101414957A
Multicast transmission method for data of general control network of ground test launch control system of carrier rocket
CN105681205A
Network congestion control method and related device
CN115733799A
Message processing method, device and system
CN118694833A
Credit value-based congestion control method, device and equipment
CN119172314A
Cited By
Flow control method and device, equipment and storage medium
CN122093320A