Method, apparatus, and electronic device for congestion control
Patent Information
- Application Number
- CN202510570171.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2045-04-30
AI Technical Summary
[0004]但是,由于接收方设备仅是根据自身能力确定发布的信用值,因此,确定出的信用值通常并不合理,反而可能会加剧路径质量的恶化
[0075]本申请实施例中的拥塞控制的方法,包括检测从发送方设备至接收方设备的路径质量;路径质量至少依据发送方设备至接收方设备的路径的拥塞程度确定;在发送方设备当前的信用值与路径质量匹配的信用值不同时,调整发送方设备当前的信用值为路径质量匹配的信用值;信用值用于指示发送方设备的可发送数据量;将调整后的信用值发送给发送方设备,以使得发送方设备基于调整后的信用值控制报文的发送。这样,可以结合路径质量,动态调整分配给发送方设备的信用值,提高了信用值分配的准确性、合理性以及灵活性,进而可以减少网络拥塞问题,提高网络性能。
Smart Images

Figure CN120200973B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a method, apparatus, and electronic device for congestion control. Background Technology
[0002] In some data transmission networks, such as RDMA over Converged Ethernet Version 2 (RoCEV2) networks using Remote Direct Memory Access (RDMA), incast congestion is a common problem, which degrades network performance. Incast refers to the phenomenon where multiple senders simultaneously transmit data to the same receiver, leading to excessive concentration of network or system resources, which can cause network performance degradation or network congestion.
[0003] In related technologies, to address the aforementioned incast problem, receiving devices typically employ a credit signaling mechanism for congestion control. Specifically, the receiving device issues a fixed credit to the sending device based on its own receiving capacity, driving the sending device to transmit messages according to the credit, thereby limiting the amount of data the sending device can transmit. Here, the credit represents the amount of data the sending device can transmit.
[0004] However, since the receiving device determines the published credit value based solely on its own capabilities, the determined credit value is often unreasonable and may even exacerbate the deterioration of path quality. Summary of the Invention
[0005] To address the aforementioned technical problems, embodiments of this application provide a method, apparatus, and electronic device for congestion control.
[0006] On one hand, this application provides a congestion control method applied to a receiving device, including:
[0007] Detect the path quality from the sender device to the receiver device; the path quality is determined at least based on the degree of congestion on the path from the sender device to the receiver device.
[0008] When the sender's current credit value differs from the credit value matched for path quality, the sender's current credit value is adjusted to the credit value matched for path quality; the credit value is used to indicate the amount of data that the sender can send.
[0009] The adjusted credit value is sent to the sending device so that the sending device can control the transmission of messages based on the adjusted credit value.
[0010] In one implementation, detecting the path quality from the sending device to the receiving device includes:
[0011] Receive messages sent by the sending device; the messages are sent by the sending device according to the current credit value;
[0012] The path quality is determined based on whether at least one message received within a set time period carries an ECN tag and a trim tag.
[0013] In one implementation, determining path quality based on whether at least one message received within a set time period carries an ECN tag and a trim tag includes:
[0014] Obtain network performance parameters of the path from the sender device to the receiver device within a specified time period; these network performance parameters are used to evaluate the network performance of the path.
[0015] The path quality is determined based on network performance parameters and whether at least one packet received within a set time period carries an ECN tag and a trim tag.
[0016] In one implementation, the network performance parameters include at least one of the following:
[0017] The number of devices with message backlog, the number of backlog data packets to be sent, the number of retransmitted data packets, the number of retransmission timeout (RTO) data packets, the number of negative acknowledgment (NACK) data packets, and the size of the received word data packet;
[0018] The number of packet backlog devices refers to the number of network devices on the path that exhibit packet backlog anomalies.
[0019] In one implementation, adjusting the sender device's current credit value to a path quality matching credit value includes:
[0020] Based on the correspondence between path quality and credit value, obtain the credit value corresponding to the path quality from the sender device to the receiver device;
[0021] Update the current credit value to the credit value corresponding to the path quality.
[0022] In one implementation, path quality is determined based on network performance parameters and whether at least one packet received within a set time period carries an ECN tag and a trim tag, including:
[0023] If at least one packet does not carry an ECN tag and a trim tag, and the number of packets piling up on devices is less than a first set threshold, then the path quality is determined to be the first path quality.
[0024] If at least one packet carries an ECN tag but not a trim tag, and the number of packet backlog devices is less than a second set threshold, then the path quality is determined to be the second path quality; the second set threshold is higher than the first set threshold.
[0025] If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is less than a second set threshold, then the path quality is determined to be the third path quality.
[0026] If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is not less than a second set threshold, then the path quality is determined to be the fourth path quality.
[0027] Among them, the quality of the first path, the second path, the third path, and the fourth path decreases in that order, and the credit scores corresponding to the quality of the first path, the second path, the third path, and the fourth path also decrease in that order.
[0028] In one implementation, adjusting the sender device's current credit value to a path quality matching credit value includes:
[0029] Obtain the historical path quality from the sender device to the receiver device;
[0030] Determine the matching credit value based on the current credit value and the quality difference between historical path quality and path quality.
[0031] Among them, the adjustment range of credit score is positively correlated with the quality difference.
[0032] In one implementation, determining a matching credit value based on the current credit value and the quality difference between historical path quality and the current path quality includes:
[0033] Use any one of the following:
[0034] If the historical path quality is higher than the path quality, and the quality difference is less than M, then the difference between the current credit value and the first specified number is determined as the matching credit value; M is a positive number.
[0035] If the quality difference is not less than M, then the difference or ratio between the current credit value and the second specified quantity is determined as the matching credit value;
[0036] If the historical path quality is lower than the path quality, and the quality difference is higher than -M, then the current credit value and the sum of the first specified number are determined as the matching credit value.
[0037] If the quality difference is not higher than -M, then the current credit value is determined by the sum or product of the second specified number.
[0038] On one hand, this application provides a congestion control apparatus applied to a receiving device, the apparatus comprising:
[0039] The detection unit is used to detect the path quality from the sending device to the receiving device; the path quality is determined at least based on the degree of congestion of the path from the sending device to the receiving device.
[0040] The adjustment unit is used to adjust the current credit value of the sending device to the credit value that matches the path quality when the current credit value of the sending device is different from the credit value that matches the path quality; the credit value is used to indicate the amount of data that the sending device can send.
[0041] The sending unit is used to send the adjusted credit value to the sending device so that the sending device can control the transmission of messages based on the adjusted credit value.
[0042] In one embodiment, the detection unit is used for:
[0043] Receive messages sent by the sending device; the messages are sent by the sending device according to the current credit value;
[0044] The path quality is determined based on whether at least one message received within a set time period carries an ECN tag and a trim tag.
[0045] In one embodiment, the detection unit is used for:
[0046] Obtain network performance parameters of the path from the sender device to the receiver device within a specified time period; these network performance parameters are used to evaluate the network performance of the path.
[0047] Based on network performance parameters, and whether at least one message received within a set time period carries an ECN tag and a trim tag.
[0048] In one implementation, the network performance parameters include at least one of the following:
[0049] The number of devices with message backlog, the number of backlog data packets to be sent, the number of retransmitted data packets, the number of retransmission timeout (RTO) data packets, the number of negative acknowledgment (NACK) data packets, and the size of the received word data packet;
[0050] The number of packet backlog devices refers to the number of network devices on the path that exhibit packet backlog anomalies.
[0051] In one embodiment, the adjustment unit is used for:
[0052] Based on the correspondence between path quality and credit value, obtain the credit value corresponding to the path quality from the sender device to the receiver device;
[0053] Update the current credit value to the credit value corresponding to the path quality.
[0054] In one embodiment, the detection unit is used for:
[0055] If at least one packet does not carry an ECN tag and a trim tag, and the number of packets piling up on devices is less than a first set threshold, then the path quality is determined to be the first path quality.
[0056] If at least one packet carries an ECN tag but not a trim tag, and the number of packet backlog devices is less than a second set threshold, then the path quality is determined to be the second path quality; the second set threshold is higher than the first set threshold.
[0057] If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is less than a second set threshold, then the path quality is determined to be the third path quality.
[0058] If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is not less than a second set threshold, then the path quality is determined to be the fourth path quality.
[0059] Among them, the quality of the first path, the second path, the third path, and the fourth path decreases in that order, and the credit scores corresponding to the quality of the first path, the second path, the third path, and the fourth path also decrease in that order.
[0060] In one embodiment, 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 based on the current credit value and the quality difference between historical path quality and path quality.
[0063] Among them, the adjustment range of credit score is positively correlated with the quality difference.
[0064] In one embodiment, the adjustment unit is used for:
[0065] Use any one of the following:
[0066] If the historical path quality is higher than the path quality, and the quality difference is less than M, then the difference between the current credit value and the first specified number is determined as the matching credit value; M is a positive number.
[0067] If the quality difference is not less than M, then the difference or ratio between the current credit value and the second specified quantity is determined as the matching credit value;
[0068] If the historical path quality is lower than the path quality, and the quality difference is higher than -M, then the current credit value and the sum of the first specified number are determined as the matching credit value.
[0069] If the quality difference is not higher than -M, then the current credit value is determined by the sum or product of the second specified number.
[0070] On one hand, this application provides an electronic device, including:
[0071] Processor; and
[0072] The memory stores computer instructions that cause the processor to perform the steps of the methods provided in the various alternative implementations of any of the congestion control methods described above.
[0073] On one hand, embodiments of this application provide a computer-readable storage medium storing computer instructions for causing a computer to perform steps of the methods provided in various alternative implementations of any of the congestion control methods described above.
[0074] On one hand, this application provides a computer program product including computer-readable code or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of an electronic device, the processor in the electronic device performs the steps of the method provided in any of the above-described alternative implementations of congestion control.
[0075] The congestion control method in this application includes detecting the path quality from a sending device to a receiving device; determining the path quality based at least on the congestion level of the path from the sending device to the receiving device; adjusting the sending device's current credit value to the path quality-matching credit value when the current credit value of the sending device differs from the credit value matched by the path quality; the credit value is used to indicate the amount of data that the sending device can send; and sending the adjusted credit value to the sending device so that the sending device controls the transmission of messages based on the adjusted credit value. In this way, the credit value allocated to the sending device can be dynamically adjusted in conjunction with the path quality, improving the accuracy, rationality, and flexibility of credit value allocation, thereby reducing network congestion and improving network performance. Attached Figure Description
[0076] Figure 1 This is a schematic diagram of the architecture of a RoCEV2 network in an embodiment of this application.
[0077] Figure 2 This is a flowchart of a congestion control method according to an embodiment of this application.
[0078] Figure 3This is a schematic diagram of the structure of a congestion control network according to an embodiment of this application.
[0079] Figure 4 This is a detailed implementation flowchart of a congestion control method according to an embodiment of this application.
[0080] Figure 5 This is a structural block diagram of a congestion control device according to an embodiment of this application.
[0081] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0082] The technical solution of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. Furthermore, the technical features involved in the different embodiments of this application described below can be combined with each other as long as they do not conflict with each other.
[0083] The following examples illustrate several network congestion scenarios. One application scenario is in an Artificial Intelligence (AI) cloud system, where network-level congestion can lead to performance degradation and inconsistent runtime when multiple applications run simultaneously. This congestion can be caused by the network traffic of the application itself or the background network traffic of other applications, and its main cause is known as many-to-one congestion, or incast congestion, 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 a single GPU for aggregation, which can also cause incast problems.
[0085] In related technologies, receiving devices typically use credit signaling mechanisms for congestion control. However, because receiving devices cannot detect path congestion or overload, they often blindly issue credit values, which exacerbates the deterioration of path quality.
[0086] Furthermore, under related technologies, mechanisms such as Congestion Notification Packet (CNP) or Priority Flow Control (PFC) are typically used to force a reduction in speed in order to avoid network packet loss.
[0087] However, this approach often leads to low network utilization, slow data exchange speed or waiting state, and is prone to problems such as Priority Flow Control (PFC) storms and Priority Flow Control (PFC) deadlocks.
[0088] Based on the deficiencies of the aforementioned related technologies, this application provides a method, apparatus, and electronic device for congestion control, aiming to reduce incast problems and improve network performance.
[0089] This application provides a congestion control method that can be applied to a receiving device in an Ethernet network. The receiving device can be any type of electronic device. This application does not limit the type of electronic device; it can be any suitable type of device, such as a terminal device or a server. This application will not elaborate further on this.
[0090] The aforementioned Ethernet network can be a RoCEV2 network. The following section will combine... Figure 1 This section provides an example of a RoCEV2 network. (See also...) Figure 1 The diagram shown illustrates the architecture of a RoCEV2 network. A RoCEV2 network includes transmitting devices, switches, and receiving devices.
[0091] Optionally, there can be one or more sending and receiving devices. Both the sending and receiving devices have network interface cards (NICs). Both the sending and receiving devices can also have corresponding queue pairs (QueuePair, QP) configured for communication, such as QP1, QP2, ..., QPn, where n is a positive integer.
[0092] It's important to note that a network interface card (NIC) is typically an expansion card that plugs into the computer's motherboard or is integrated into the motherboard. It connects to the computer's internal bus to exchange data with other components such as the CPU. One of the NIC's main functions is to convert and encapsulate data transmitted from the host, enabling it to be transmitted over the network. For example, in Ethernet, the NIC adds headers and trailers to the data to form Ethernet frames, which are then sent out via a network cable or wireless network. Therefore, in the data transmission process, the NIC is the hardware component that actually performs the transmission operation.
[0093] Figure 1In a network architecture, switches can include core switches (Spine) and leaf switches (Leaf). Spine is the core layer device in the network architecture, responsible for high-speed connections between multiple Leaves and providing high-bandwidth, low-latency transmission paths. Spine typically does not directly connect to servers, but rather aggregates and distributes data through Leaves. The design goal of the Spine layer is to achieve high network scalability and non-blocking communication. Leaf is the access layer device in the network architecture, directly connecting to servers or other terminal devices, responsible for transmitting data from servers to the Spine layer or other Leaves. Leaf is typically deployed on the top of the rack (ToR). The main function of the Leaf layer is to provide connectivity between servers and the network and to enable local data exchange.
[0094] See Figure 2 The diagram shown is a flowchart of a congestion control method according to an embodiment of this application. The following is a description of the method in conjunction with... Figure 1 and 2 The method is described below, and the specific implementation process is as follows:
[0095] Step 201: Detect the path quality from the sending device to the receiving device; the path quality is determined at least based on the congestion level of the path from the sending device to the receiving device.
[0096] In one implementation, when performing step 201, the following steps may be adopted:
[0097] S2011: Receive a message sent by the sending device; the message is sent by the sending device according to the current credit value.
[0098] It should be noted that there can be one or more paths from the sending device to the receiving device. Therefore, it can receive all messages sent by the sending device through each path.
[0099] S2012: Determine the path quality based on whether at least one message received within a set time period carries an Explicit Congestion Notification (ECN) flag and a Trim flag.
[0100] In one implementation, it can be first determined whether each message carries an ECN tag and whether it carries a Trim tag. Then, the determination results of each message are statistically analyzed to determine whether the message set of at least one message received within a set time period carries an ECN tag and a Trim tag.
[0101] For example, if a packet carries an ECN tag, the packet set can be determined to carry an ECN tag; otherwise, the packet set is determined not to carry an ECN tag. Similarly, if a packet carries a Trim tag, the packet set can be determined to carry a Trim tag; otherwise, the packet set is determined not to carry a Trim tag. Therefore, the path quality can be determined based on whether a packet set carries both ECN and Trim tags.
[0102] In another implementation, the judgment results of each message can be statistically analyzed to determine the number of ECN tags and Trim tags carried in the message set, and the path quality can be determined based on the number of ECN tags and Trim tags.
[0103] The ECN and Trim tags are added to the packets by the switch based on the path congestion status during packet transmission.
[0104] It should be noted that if there are multiple paths from the sending device to the receiving device, then what is obtained are the messages sent by the sending device through each path within a set time period. In this case, the path quality refers to the overall quality of all paths from the sending device to the receiving device.
[0105] Furthermore, the path quality can be determined by combining the path's network performance parameters.
[0106] In one implementation, when executing S2012, the following steps may also be adopted:
[0107] Obtain 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; based on the network performance parameters and whether at least one packet received within the set time period carries an ECN tag and a trim tag, determine the path quality.
[0108] Optionally, network performance parameters can be obtained in any way, such as by extraction from packets, manual statistics, addition by switches to packets, or statistics collected by network devices along the path and sent to the receiving device. There are no restrictions on this. Network performance parameters include at least one of the following:
[0109] The number of devices with message backlog, the number of data packets to be sent (Backlog), the number of retransmitted data packets, the number of retransmission timeout (RTO) data packets, the number of negative acknowledgment (NACK) data packets, and the size of received data packets.
[0110] The number of packet backlog devices refers to the number of network devices on the path experiencing packet backlog anomalies. Packet backlog anomalies can be configured according to the actual application scenario and are not limited here. Backlog quantity: refers to the number of data packets currently waiting to be sent, typically used to measure the load on the network's sending buffer. Retransmitted data packet quantity: refers to the number of data packets that need to be retransmitted due to lack of acknowledgment or detected packet loss. RTO data packet quantity: refers to the number of data packets that are retransmitted due to exceeding the retransmission timeout (RTO). RTO is a time threshold in network protocols used to determine whether a data packet needs to be retransmitted. NACK data packet quantity: refers to the number of data packets that the receiver notifies the sender of the need for retransmission via NACK. NACK is typically used to indicate data packet loss or corruption. Received data packet size: refers to the size of the received data packets, usually in bytes, used to measure the amount of data transmitted over the network.
[0111] In this way, path quality can be determined solely based on whether a packet carries an ECN and Trim tag, or it can be determined based on whether a packet carries an ECN and Trim tag and network performance parameters. For example, path quality can be determined based on whether each packet carries an ECN and Trim tag and the number of devices accumulating packets.
[0112] Step 202: When the current credit value of the sending device is different from the credit value for path quality matching, adjust the current credit value of the sending device to the credit value for path quality matching; the credit value is used to indicate the amount of data that the sending device can send.
[0113] In one implementation, step 202 can be performed in any of the following ways:
[0114] Method 1: Based on the correspondence between path quality and credit value, obtain the credit value corresponding to the path quality from the sender device to the receiver device; update the current credit value to the credit value corresponding to the path quality.
[0115] In one implementation, the path quality is determined based on whether at least one message received within a set time period carries an ECN tag and a Trim tag, as well as the number of message accumulators.
[0116] As an example, when determining path quality, any of the following methods can be used:
[0117] Method 1: If at least one packet does not carry ECN and trim tags, and the number of packets piling up on devices is less than a first set threshold, then the path quality is determined to be the first path quality.
[0118] In other words, none of the messages carried the ECN or trim flags.
[0119] Method 2: If at least one packet carries an ECN tag but not a trim tag, and the number of packet backlog devices is less than the second set threshold, then the path quality is determined to be the second path quality; the second set threshold is higher than the first set threshold.
[0120] In other words, there are messages carrying the ECN tag, but there are no messages carrying the trim tag.
[0121] Method 3: If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is less than the second set threshold, then the path quality is determined to be the third path quality.
[0122] In other words, there are messages carrying the ECN tag and messages carrying the trim tag. Messages carrying the ECN tag and messages carrying the trim tag can be the same message or different messages.
[0123] Method 4: If at least one packet carries an ECN tag and a trim tag, and the number of packets piled up on devices is not less than the second set threshold, then the path quality is determined to be the fourth path quality.
[0124] The quality of the first path, second path, third path, and fourth path decreases sequentially, and the corresponding credit values also decrease sequentially. The credit values corresponding to the second, third, and fourth path qualities can be represented as: first credit value, second credit value, third credit value, and fourth credit value, respectively.
[0125] For example, the quality of the first path, the second path, the third path, and the fourth path are J, J-1, J-2, and J-3, respectively, 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, respectively, where k is a positive integer. Furthermore, some credit values may be the same among the first, second, third, and fourth credit values; this is not restricted here.
[0126] The first threshold can be 1, meaning that if the number of devices with packet backlog is less than 1, it means that there is no packet backlog problem in any network device. The second threshold can be a fixed value, such as 3, or it can be calculated based on the proportion of the number of devices. For example, if the total number of devices is 12 and the proportion of the number of devices is 1 / 3, then the second 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 there are no restrictions here.
[0128] If multiple messages are received within a set time period, an example is provided to illustrate the determination of the path quality and credit value based on each message received within that time period.
[0129] The first scenario is as follows: If no packets carrying ECN and TRIM tags are received within the set time period (i.e., none of the packets carry ECN and TRIM tags), and the number of devices experiencing packet backlog is 0, which is lower than the first set threshold of 1 (i.e., no packet backlog issues occur on any network device along the path), then the path quality is the first path quality, and its corresponding credit value is the first credit value. For example, the first credit value can be a credit value equal to k Maximum Transmission Units (MTUs).
[0130] In this case, if the receiving device does not receive a message carrying the ECN and trim tags within a set time period, it indicates that the path quality is good, and it can then issue a credit value of k MTU size to the sending device.
[0131] The second scenario is as follows: If an ECN tag is received but a TRIM tag is not received within a set time period (i.e., some packets carry the ECN tag, but none carry the TRIM tag), and most network devices in the path do not experience packet backlog issues (i.e., the number of devices experiencing packet backlog is below a second set threshold, such as 4), then the path quality is the second path quality, and its corresponding credit value is the second credit value. For example, the second credit value can be a credit value of k-1 MTU size.
[0132] In this case, if the receiving device receives an ECN tag but not a trim tag within the set time period, it indicates that the path quality is good. However, some network devices may experience packet accumulation, resulting in the generation of ECN tags, but no packet loss has occurred yet. Therefore, the published credit value is slightly reduced.
[0133] The third scenario is as follows: If ECN and TRIM tags are received within a set time period (i.e., among all packets, there are packets carrying ECN tags and packets carrying TRIM tags), and most network devices in the path do not experience packet backlog issues (i.e., the number of devices experiencing packet backlog is below the second set threshold), then the path quality is the third path quality, and its corresponding credit value is the third credit value. For example, the third credit value can be a credit value of k-2 MTUs.
[0134] In this situation, if the receiving device receives ECN and TRIM tags within a set time period, it indicates that the overall quality of the path from the sender to the receiver is generally poor, and that packet accumulation and packet loss occur on individual devices. Therefore, the published credit value can be reduced to alleviate congestion on the bottleneck path.
[0135] In the fourth scenario, if both ECN and trim tags are received (i.e., some packets carry ECN tags, and some carry trim tags), and most network devices in the path experience packet backlog, meaning the number of backlogged devices is not less than the second preset threshold, then the path quality is classified as the fourth path quality, and its corresponding credit value is the fourth credit value. For example, the fourth credit value is a credit value of k / 2 MTU.
[0136] If k is odd, the fourth credit score can be obtained by rounding down.
[0137] In this situation, if the receiving device receives ECN and trim tags within a set time period, it indicates that the overall quality of the path from the sender to the receiver is poor. In this case, the receiver should significantly reduce the credit value it publishes to alleviate congestion on the bottleneck path.
[0138] In practical applications, the above correspondence can be set according to the actual application scenario, and there are no restrictions here.
[0139] Method 2: Determine the matching credit value based on the current credit value and the quality difference between historical path quality and path quality.
[0140] In one implementation, the historical path quality from the sending device to the receiving device is obtained, and a matching credit value is determined based on the current credit value and the quality difference between the historical path quality and the current path quality; wherein the adjustment range of the credit value is positively correlated with the quality difference.
[0141] Path quality can be directly measured by the carrying status of each ECN tag and trim tag. For ease of calculation, path quality can be quantified into multiple path levels to quantify the quality difference between different paths. In practical applications, quality difference can also be quantified in other ways, which are not limited here.
[0142] As an example, when executing method two, the following steps can be taken:
[0143] If the historical path quality is higher than the path quality, and the quality difference is less than M, then the difference between the current credit value and a first specified number is used to determine the matching credit value; M is a positive number. If the quality difference is not less than M, then the difference or ratio between the current credit value and a second specified number is used to determine the matching credit value. If the historical path quality is lower than the path quality, and the quality difference is greater than -M, then the sum of the current credit value and a first specified number is used to determine the matching credit value; if the quality difference is not greater than -M, then the sum or product of the current credit value and a second specified number is used to determine the matching credit value. For example, M can be 1.
[0144] In practical applications, the first and second specified quantities can be set according to the actual application scenario, such as 1 and 2 respectively, without any restrictions here. The quality difference can be the level difference, and M can be set according to the actual application scenario, such as 1 or 2, without any restrictions here.
[0145] For example, if 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 less than 2, then the credit value of the above match 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 credit value of the above match can be: the current credit value / 2 (i.e., the second specified quantity).
[0146] In practical applications, a corresponding credit change range can be set for each quality difference, so that the current credit value can be increased or decreased according to the calculated quality difference. There are no restrictions on this.
[0147] Furthermore, upper and lower thresholds for credit scores can be set. If the calculated matching credit score is higher than the maximum credit score, the maximum credit score is directly used as the matching credit score; otherwise, the minimum credit score is used as the matching credit score.
[0148] In this way, network congestion can be effectively suppressed based on historical congestion status, and the credit value can be adjusted according to the magnitude of changes in network status.
[0149] Step 203: Send the adjusted credit value to the sending device so that the sending device controls the transmission of messages based on the adjusted credit value.
[0150] The following is combined with Figure 3 ,right Figure 1 For a detailed explanation of the network congestion control shown, please refer to [link / reference]. Figure 3 The diagram shown is a schematic of a congestion control network. Figure 3The system comprises sending devices, switches, and receiving devices. Both sending and receiving devices include: a host, a network interface card (NIC), a transmit congestion control (CC) module, a receive 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 sending and receiving devices can be interchanged.
[0151] The CC module is a functional module in a network device or network interface card (NIC) used to monitor and manage network congestion, ensuring the stability and efficiency of network traffic. The host and NIC are connected via Peripheral Component Interconnect Express (PCIe). The NIC connects to the GPU / CPU in the host via PCIe to perform RDMA operations. The NIC's transmit and receive CC modules are embedded in its transmit and receive pipelines for credit value exchange and control. Switches can add signals (e.g., tags) indicating network congestion or faults to packets. The transmit CC module is used to request credit values and control the amount of data sent according to those credit values. The receive CC module may include a credit value allocation module and a network signaling module. The credit value allocation module calculates the allocated credit value. The network signaling module extracts tags (ECN and trim tags) and network performance parameters carried in the packet and sends them to the credit value allocation module.
[0152] It should be noted that in this embodiment of the application, the path quality from the sender device to the receiver device is determined based on all messages sent from a sender device to a receiver device within a certain period of time, and the credit value assigned to the sender device is adjusted according to the path quality.
[0153] If there are multiple paths from the sending device to the receiving device, it is not necessary to consider the path quality of each path individually. The path quality is determined based on all the messages sent by the sending device to the receiving device within a set time period. In this case, the path quality is essentially the overall quality of all paths from the sending device to the receiving device.
[0154] The following is combined with Figure 3 and Figure 4 For an example illustrating congestion control methods, please refer to [link / reference]. Figure 4 The diagram shown is a detailed implementation flowchart of a congestion control method, which includes:
[0155] Step 401: The sending device sends a credit value request message to the receiving device.
[0156] In one implementation, the transmit CC module in the network card of the sending device sends a credit value request message to the network card of the receiving device via the TX pipeline and TX buffer, according to its own data transmission needs.
[0157] Step 402: The receiving device determines the allocated credit value based on the received credit value request message.
[0158] In one implementation, the credit value request message is sent to the RX pipeline via the RX buffer of the receiving device. The network interface card (NIC) of the receiving device extracts the credit value request 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 assigned credit value to the sending device.
[0160] In one implementation, the receiving CC module in the receiving device returns the assigned credit value to the network card of the sending device via the TX pipeline and TX buffer through a switch.
[0161] Step 404: The sending device sends a message to the receiving device via the switch according to the assigned 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 device's transmit CC module extracts the allocated credit value from the RX pipeline, and then, upon detecting that a host is sending a message through the TX pipeline, 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] This allows you to influence the packet sending control of the congestion window (cwnd).
[0164] When a packet is forwarded by a switch, the switch enables both ECN and TRIM marking functions. If there is no congestion, the switch directly forwards the received packet to the receiving device. If congestion exists, an ECN mark is added to the packet before forwarding; if congestion is severe, a TRIM mark is added before forwarding. Since ECN and TRIM marking functions can be independent, the same packet can carry both ECN and TRIM marks simultaneously.
[0165] Optionally, the congestion level of the path can be determined, and based on that congestion level, the proportion of tags to be added to the packets can be determined. ECN tags can then be added to only a subset of the packets. In other words, ECN tags can be added only to a portion of the packets.
[0166] In practical applications, the classification and determination of congestion levels can be set according to the actual application scenario, and no restrictions are imposed here.
[0167] If the congestion is severe and the switch's buffer is insufficient to support packet transmission, the packet's payload can be removed, leaving only the header information and a Trim marker to allow the packet to be sent. The Trim marker is a network signal used to indicate that part of the packet's content (such as the payload) has been trimmed, leaving only the header information.
[0168] Step 405: The receiving device determines the path quality based on whether the packets received within a set time period contain ECN and trim tags.
[0169] In one embodiment, the receiving CC module in the receiving device is further provided with a network signal module, which can periodically extract the tags (i.e., ECN tags and trim tags) from the packets from the RX pipeline of the receiving device. The RX pipeline can also actively send the tags in the packets to the network signal module.
[0170] Furthermore, network performance parameters of the path from the sender device to the receiver device within a set time period can be obtained, and the path quality can be determined based on the network performance parameters and whether the packets carry ECN and trim tags.
[0171] Furthermore, depending on whether the received message contains ECN and trim tags, a message feedback message is returned to the sending device. For example, the message feedback message can be a Selective Acknowledgment (SACK) message.
[0172] If the received message contains an ECN tag and / or a trim tag, the receiving device will add the ECN tag and / or trim tag from the message to the message feedback message.
[0173] Optionally, if the message also carries any network performance parameters, they can be added to the message feedback message.
[0174] Furthermore, after receiving the message feedback message, if the sending device determines that the sent message carries a trim marker, it will retransmit the message.
[0175] For example, if it is determined that the sent message carries a trim mark, the sequence number (SeqNum) corresponding to the message is obtained, the original complete message corresponding to the SeqNum is obtained, and the original complete message is retransmitted.
[0176] Step 406: The receiving device updates the credit value assigned to the sending device based on path quality, and then proceeds to step 403.
[0177] In one implementation, a credit value allocation algorithm is used to determine a new credit value based on path quality; or, a credit value allocation algorithm is used to determine a new credit value based on path quality and historical path quality.
[0178] For steps 401-406, please refer to steps 201-203 above for specific steps, which will not be repeated here.
[0179] Under related technologies, the receiving device usually determines the credit value assigned based solely on its own receiving capabilities. However, when assigning credit values in this way, the network transmission status is not taken into account. The credit value allocation is usually unreasonable, which may exacerbate network congestion, reduce network performance, and still cause packet loss, thereby affecting services.
[0180] In this embodiment, the receiving device can detect whether network congestion or other faults have occurred, and adjust the credit value based on the detected network transmission status (i.e., path quality) to resolve network congestion and other fault problems. Specifically, the receiving device can evaluate the path quality of packet transmission based on network performance parameters and whether each packet received within a set time period carries ECN and TRIM tags. Based on this path quality, the receiving device adjusts the credit value assigned to the sending device, thereby improving the accuracy of path quality assessment and dynamically adjusting the credit value according to the path quality. In the event of network congestion or other fault scenarios, timely network adjustments can be made, reducing network congestion and improving the timeliness and flexibility of credit value adjustment, as well as network performance.
[0181] Based on the same inventive concept, this application also provides a congestion control device. Since the principle of the above-mentioned device and apparatus in solving the problem is similar to that of a congestion control method, the implementation of the above-mentioned device can refer to the implementation of the method, and repeated details will not be elaborated further. This device can be applied to electronic devices. This application does not limit the type of electronic device; it can be any suitable type of device, such as terminal devices and servers, etc., which will not be elaborated further in this application. 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 logical device, it is formed by the processor of the electronic device loading the corresponding computer program instructions from non-volatile memory into memory for execution.
[0182] See Figure 5 The diagram shown is a structural block diagram of a congestion control apparatus according to an embodiment of this application. In some embodiments, the congestion control apparatus exemplified in this application includes:
[0183] The detection unit 501 is used to detect the path quality from the sending device to the receiving device; the path quality is determined at least based on the degree of congestion of the path from the sending device to the receiving device.
[0184] The adjustment unit 502 is used to adjust the current credit value of the sending device to the credit value that matches the path quality when the current credit value of the sending device is different from the credit value that matches the path quality; the credit value is used to indicate the amount of data that the sending device can send.
[0185] The sending unit 503 is used to send the adjusted credit value to the sending device so that the sending device controls the sending of messages based on the adjusted credit value.
[0186] In one embodiment, the detection unit 501 is used for:
[0187] Receive messages sent by the sending device; the messages are sent by the sending device according to the current credit value;
[0188] The path quality is determined based on whether at least one message received within a set time period carries an ECN tag and a trim tag.
[0189] In one embodiment, the detection unit 501 is used for:
[0190] Obtain network performance parameters of the path from the sender device to the receiver device within a specified time period; these network performance parameters are used to evaluate the network performance of the path.
[0191] Based on network performance parameters, and whether at least one message received within a set time period carries an ECN tag and a trim tag.
[0192] In one implementation, the network performance parameters include at least one of the following:
[0193] The number of devices with message backlog, the number of backlog data packets to be sent, the number of retransmitted data packets, the number of retransmission timeout (RTO) data packets, the number of negative acknowledgment (NACK) data packets, and the size of the received word data packet;
[0194] The number of packet backlog devices refers to the number of network devices on the path that exhibit packet backlog anomalies.
[0195] In one embodiment, the adjustment unit 502 is used to:
[0196] Based on the correspondence between path quality and credit value, obtain the credit value corresponding to the path quality from the sender device to the receiver device;
[0197] Update the current credit value to the credit value corresponding to the path quality.
[0198] In one embodiment, the detection unit 501 is used for:
[0199] If at least one packet does not carry an ECN tag and a trim tag, and the number of packets piling up on devices is less than a first set threshold, then the path quality is determined to be the first path quality.
[0200] If at least one packet carries an ECN tag but not a trim tag, and the number of packet backlog devices is less than a second set threshold, then the path quality is determined to be the second path quality; the second set threshold is higher than the first set threshold.
[0201] If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is less than a second set threshold, then the path quality is determined to be the third path quality.
[0202] If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is not less than a second set threshold, then the path quality is determined to be the fourth path quality.
[0203] Among them, the quality of the first path, the second path, the third path, and the fourth path decreases in that order, and the credit scores corresponding to the quality of the first path, the second path, the third path, and the fourth path also decrease in that order.
[0204] In one embodiment, the adjustment unit 502 is used to:
[0205] Obtain the historical path quality from the sender device to the receiver device;
[0206] Determine the matching credit value based on the current credit value and the quality difference between historical path quality and path quality.
[0207] Among them, the adjustment range of credit score is positively correlated with the quality difference.
[0208] In one embodiment, the adjustment unit 502 is used to:
[0209] Use any one of the following:
[0210] If the historical path quality is higher than the path quality, and the quality difference is less than M, then the difference between the current credit value and the first specified number is determined as the matching credit value; M is a positive number.
[0211] If the quality difference is not less than M, then the difference or ratio between the current credit value and the second specified quantity is determined as the matching credit value;
[0212] If the historical path quality is lower than the path quality, and the quality difference is higher than -M, then the current credit value and the sum of the first specified number are determined as the matching credit value.
[0213] If the quality difference is not higher than -M, then the current credit value is determined by the sum or product of the second specified number.
[0214] The congestion control method in this application includes detecting the path quality from a sending device to a receiving device; determining the path quality based at least on the congestion level of the path from the sending device to the receiving device; adjusting the sending device's current credit value to the path quality-matching credit value when the current credit value of the sending device differs from the credit value matched by the path quality; the credit value is used to indicate the amount of data that the sending device can send; and sending the adjusted credit value to the sending device so that the sending device controls the transmission of messages based on the adjusted credit value. In this way, the credit value allocated to the sending device can be dynamically adjusted in conjunction with the path quality, improving the accuracy, rationality, and flexibility of credit value allocation, thereby reducing network congestion and improving network performance.
[0215] In this embodiment of the application, an electronic device is also provided, including:
[0216] Processor; and
[0217] The memory stores computer instructions that cause the processor to execute the methods of any of the above-described embodiments.
[0218] In this application embodiment, a computer-readable storage medium is provided, storing computer instructions for causing a computer to perform the methods of any of the above embodiments.
[0219] This application also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in the processor of an electronic device, the processor in the electronic device performs the method of any of the above-described embodiments.
[0220] Figure 6 A schematic diagram of the structure of an electronic device 6000 is shown. (See also...) Figure 6 As shown, the electronic device 6000 includes a processor 6010 and a memory 6020, and optionally may also 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. It connects various components through various interfaces and lines, and performs 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 this embodiment, when the processor 6010 calls the computer program stored in the memory 6020, it executes the steps in the above embodiments.
[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, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 6010. In some embodiments, the processor and memory may be implemented on a single chip; in some embodiments, they may also be implemented separately on independent chips.
[0224] The memory 6020 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, various applications, etc.; the data storage area may store data created based on the use of the electronic device 6000, etc. In addition, the memory 6020 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device, etc.
[0225] Electronic device 6000 also includes a power supply 6030 (such as a battery) that supplies power to various components. The power supply can be logically connected to processor 6010 through a power management system, thereby enabling the management of charging, discharging, and power consumption.
[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 this embodiment, it is mainly used to display the display interfaces of various applications in the electronic device 6000, as well as text, images, and other objects displayed on 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), or the like.
[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. The touch panel 6051, also known as a touch screen, can collect touch operations on or near the touch panel 6051 by the user (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel 6051).
[0228] Specifically, the touch panel 6051 can detect user touch operations and the signals generated by these operations, convert them into touch point coordinates, send them to the processor 6010, and receive and execute commands from the processor 6010. Furthermore, the touch panel 6051 can be implemented using various types of touch technologies, including resistive, capacitive, infrared, and surface acoustic wave. Other input devices 6052 can include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.
[0229] Of course, the touch panel 6051 can cover the display panel 6041. When the touch panel 6051 detects a touch operation on or near it, it transmits the information to the processor 6010 to determine the type of touch event. Subsequently, the processor 6010 provides corresponding visual output on the display panel 6041 based on the type of touch event. Although in Figure 6 In this embodiment, the touch panel 6051 and the display panel 6041 are two separate components to realize the input and output functions of the electronic device 6000. However, 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 gravity acceleration sensor, a proximity sensor, etc. Of course, depending on the specific application, the electronic device 6000 may also include other components such as a camera. Since these components are not the focus of this application embodiment, therefore... Figure 6It is not shown in the text and will not be described in detail here.
[0231] Those skilled in the art will understand that Figure 6 This is merely an example of an electronic device and does not constitute a limitation on the electronic device. It may include more or fewer components than shown, or a combination of certain components, or different components.
[0232] For ease of description, the above sections are divided into modules (or units) according to their functions and described separately. Of course, in implementing this application, the functions of each module (or unit) can be implemented in one or more software or hardware components.
Claims
1. A method for congestion control, characterized in that, Applied to a receiving device, the method includes: The path quality from the sending device to the receiving device is detected; the path quality is the overall quality of all paths from the sending device to the receiving device, and the path quality is the overall quality of the at least one path determined based on network performance parameters of at least one path from the sending device to the receiving device within a set time period and whether at least one packet received within the set time period carries an explicit congestion notification (ECN) flag and a packet trimming notification (TRI) flag; the network performance parameters are used to evaluate the network performance of the path; When the current credit value of the sending device differs from the credit value matching the path quality, if at least one packet does not carry an ECN tag and a trim tag, and the number of packet accumulating devices is lower than a first preset threshold, then the current credit value is adjusted to the first credit value matching the path quality; if at least one packet carries an ECN tag but does not carry a trim tag, and the number of packet accumulating devices is lower than a second preset threshold, then the current credit value is adjusted to the second credit value matching the path quality; if at least one packet carries an ECN tag and a trim tag, and the number of packet accumulating devices is lower than the second preset threshold, then the current credit value is adjusted to the second credit value matching the path quality. A third credit value matching the path quality; if at least one packet carries an ECN tag and a trim tag, and the number of packet stacking devices is not less than the second preset threshold, then the current credit value is adjusted to a fourth credit value matching the path quality; the credit value is used to indicate the amount of data that the sending device can send; wherein, adjusting the current credit value to the credit value matching the path quality includes: obtaining the historical path quality from the sending device to the receiving device; determining the matching credit value based on the current credit value and the quality difference between the historical path quality and the path quality; wherein, the adjustment range of the credit value is positively correlated with the quality difference; The adjusted credit value is sent to the sending device so that the sending device controls the transmission of messages based on the adjusted credit value.
2. The method according to claim 1, characterized in that, The detection of path quality from the sending device to the receiving device includes: Receive 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 based on whether at least one message received within a set time period carries an explicit congestion notification (ECN) flag and a packet trimming notification (TRI) flag.
3. The method according to claim 2, characterized in that, The step of determining the path quality based on whether at least one message received within a set time period carries an ECN tag and a trim tag includes: 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. The path quality is determined based on the network performance parameters and whether at least one packet received within a set time period carries an ECN tag and a trim tag.
4. The method according to claim 3, characterized in that, The network performance parameters include at least one of the following: The number of devices with message backlog, the number of backlog data packets to be sent, the number of retransmitted data packets, the number of retransmission timeout (RTO) data packets, the number of negative acknowledgment (NACK) data packets, and the size of the received word data packet; The number of packet accumulation devices refers to the number of network devices on the path that exhibit packet accumulation anomalies.
5. The method according to claim 3, characterized in that, The step of determining the path quality based on the network performance parameters and whether at least one packet received within a set time period carries an ECN tag and a trim tag includes: If at least one message does not carry an ECN tag and a trim tag, and the number of message stacking devices is less than a first set threshold, then the path quality is determined to be the first path quality. If at least one packet carries an ECN tag but not a trim tag, and the number of packet stacking devices is less than a second preset threshold, then the path quality is determined to be the second path quality; the second preset threshold is higher than the first preset threshold. If at least one message carries an ECN tag and a trim tag, and the number of message stacking devices is less than the second set threshold, then the path quality is determined to be the third path quality. If at least one message carries an ECN tag and a trim tag, and the number of message stacking devices is not less than the second set threshold, then the path quality is determined to be the fourth path quality. The quality of the first path, the second path, the third path, and the fourth path decreases sequentially, and the credit values corresponding to the quality of the first path, the second path, the third path, and the fourth path also decrease sequentially.
6. The method according to claim 1, characterized in that, Determining the matching credit value based on the current credit value and the quality difference between the historical path quality and the path quality includes: Use any one of the following: If the historical path quality is higher than the path quality, and the quality difference is less than M, then the difference between the current credit value and a first specified number is determined as the matched credit value; M is a positive number. If the quality difference is not less than M, then the difference or ratio between the current credit value and the second specified quantity is determined as the matched credit value; If the historical path quality is lower than the path quality, and the quality difference is greater than -M, then the sum of the current credit value and the first specified number is determined as the matching credit value. If the quality difference is not higher than -M, then the current credit value and the sum or product of the second specified quantity are determined as the matching credit value.
7. A congestion control device, characterized in that, Applied to a receiving device, the apparatus includes: A detection unit is used to detect the path quality from the sending device to the receiving device; the path quality is the overall quality of all paths from the sending device to the receiving device, and the path quality is the overall quality of the at least one path determined based on network performance parameters of at least one path from the sending device to the receiving device within a set time period and whether at least one packet received within the set time period carries an explicit congestion notification (ECN) flag and a packet trimming notification (TRI) flag; the network performance parameters are used to evaluate the network performance of the path; An adjustment unit is configured to adjust the current credit value to a first credit value matching the path quality if at least one packet does not carry an ECN tag and a trim tag, and the number of packet accumulating devices is lower than a first preset threshold; adjust the current credit value to a second credit value matching the path quality if at least one packet carries an ECN tag but does not carry a trim tag, and the number of packet accumulating devices is lower than a second preset threshold; adjust the current credit value to a third credit value matching the path quality if at least one packet carries an ECN tag and a trim tag, and the number of packet accumulating devices is lower than the second preset threshold; and adjust the current credit value to a third credit value matching the path quality if at least one packet carries an ECN tag and a trim tag, and the number of packet accumulating devices is lower than the second preset threshold. If at least one message carries an ECN tag and a trim tag, and the number of message backlog devices is not less than the second preset threshold, then the current credit value is adjusted to a fourth credit value that matches the path quality; the credit value is used to indicate the amount of data that the sending device can send; wherein, adjusting the current credit value to the credit value that matches the path quality includes: obtaining the historical path quality from the sending device to the receiving device; determining the matching credit value based on the current credit value and the quality difference between the historical path quality and the current path quality; wherein the adjustment range of the credit value is positively correlated with the quality difference; The sending unit is used to send the adjusted credit value to the sending device, so that the sending device controls the transmission of messages based on the adjusted credit value.
8. An electronic device, characterized in that, include: processor; as well as A memory storing computer instructions for causing the processor to perform the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Credit value-based congestion control method, device and equipment
CN119172314A