Control method, device, equipment, storage medium and computer program product

By determining the proportion information of burst flow in the service flow and the confidence information of the filter in the receiving device, adjusting the filter parameters for signal reconstruction, the problem of low congestion detection accuracy in the prior art is solved, and timely congestion control and high-precision detection of the service flow are realized.

CN119922130APending Publication Date: 2025-05-02CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510096942.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The existing network congestion detection method adopts explicit congestion notification (ECN), but the amount of congestion information is small, resulting in low detection accuracy and inability to control congestion on service flows in time.

Method used

By determining the proportion of burst flow in the service flow sent by the transmitting device in the receiving device and the confidence information of the filter, adjusting the filter parameters, performing signal reconstruction, and improving the detection accuracy of the congested signal.

Benefits of technology

It realizes timely congestion control of service flow, improves congestion detection accuracy, reduces the difficulty of system regulating parameters, and has better system robustness and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119922130A_ABST
    Figure CN119922130A_ABST
Patent Text Reader

Abstract

The invention provides a control method, device and equipment, a storage medium and a computer program product, and is applied to receiving end equipment, the method comprises the following steps: determining proportion information of burst flow in service flow sent by sending end equipment, and determining confidence degree information corresponding to a filter; obtaining a first parameter of the filter, and adjusting the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter; sending the second parameter and the service flow to a filter; the second parameter is used for performing signal reconstruction on the first signal of the service flow by the filter to obtain a second signal; the first signal is a congestion signal when the sending end equipment sends the service flow; receiving a second signal sent by the filter, and sending the second signal to the sending end equipment to indicate the sending end equipment to control the rate of sending the service flow based on the second signal; the detection precision of the congestion signal can be improved, and congestion control can be carried out on the service flow in time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a control method, device, equipment, storage medium and computer program product. Background Art

[0002] Existing network congestion detection methods usually use explicit congestion notification (ECN), but the amount of congestion information in the ECN method is small, the communication delay is increased, resulting in low congestion detection accuracy and inability to perform timely congestion control on business flows. Summary of the invention

[0003] The embodiments of the present application provide a control method, apparatus, device, storage medium and computer program product, which can improve the accuracy of congestion detection and thereby timely control congestion of business flows.

[0004] To achieve the above purpose, the technical solution of the embodiment of the present application is implemented as follows:

[0005] In a first aspect, the present application proposes a control method, which is applied to a receiving device, and the method includes:

[0006] Determine the proportion of burst flows in the service flow sent by the sending end device, and determine the confidence information corresponding to the filter;

[0007] Acquire a first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter;

[0008] The second parameter and the service flow are sent to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain the second signal; the first signal is a congestion signal when the transmitting end device sends the service flow;

[0009] The second signal sent by the filter is received, and the second signal is sent to the transmitting end device to instruct the transmitting end device to control the rate of sending the service flow based on the second signal.

[0010] In a second aspect, the present application proposes a control device, which is applied to a receiving device, and the device includes:

[0011] A determination unit, used to determine the proportion of burst flows in the service flow sent by the sending end device, and determine the confidence information corresponding to the filter;

[0012] an adjusting unit, configured to obtain a first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter;

[0013] A sending unit, configured to send the second parameter and the service flow to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain a second signal; the first signal is a congestion signal when the sending end device sends the service flow;

[0014] A receiving unit is used to receive the second signal sent by the filter, and send the second signal to the sending end device to instruct the sending end device to control the rate of sending the service flow based on the second signal.

[0015] In a third aspect, the present application proposes a control device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any of the above methods when executing the program.

[0016] In a fourth aspect, the present application proposes a storage medium having a computer program stored thereon, which implements the steps of any of the above methods when executed by a processor.

[0017] In a fifth aspect, the present application proposes a computer program product, comprising a computer program, which implements the steps of any of the above methods when executed by a processor.

[0018] The present application proposes a control method, apparatus, device, storage medium and computer program product, which are applied to a receiving device, and the method includes: determining the proportion information of burst flow in the service flow sent by the sending device, and determining the confidence information corresponding to the filter; obtaining a first parameter of the filter, and adjusting the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter; sending the second parameter and the service flow to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain a second signal; the first signal is a congestion signal when the sending device sends the service flow; receiving the second signal sent by the filter, and sending the second signal to the sending device to instruct the sending device to control the rate of sending the service flow based on the second signal. By adopting the above implementation scheme, the receiving end device can obtain the proportion information of the burst flow in the received business flow in real time, adjust the first parameter of the filter according to the proportion information and the confidence information of the filter to obtain the second parameter, and the filter reconstructs the signal with the first signal of the business flow according to the second parameter to obtain the second signal. The receiving end device sends the received second signal to the sending end device to instruct the sending end device to control the rate of sending the business flow based on the second signal, thereby realizing real-time adjustment of the filter parameters according to the burst flow, and signal reconstruction of the congestion signal of the business flow according to the filter, thereby improving the detection accuracy of the congestion signal, and then timely controlling the congestion of the business flow. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 A flow chart of an exemplary conventional ECN-based congestion control provided in an embodiment of the present application;

[0020] Figure 2 A flow chart of a control method provided in an embodiment of the present application;

[0021] Figure 3 A schematic diagram of an exemplary congestion detection process provided in an embodiment of the present application;

[0022] Figure 4 A schematic diagram of an exemplary CNP message protocol provided in an embodiment of the present application;

[0023] Figure 5 A schematic diagram of the structure of an exemplary PID controller provided in an embodiment of the present application;

[0024] Figure 6 A schematic diagram of a filter parameter adjustment process provided in an embodiment of the present application;

[0025] Figure 7 A schematic diagram of an exemplary input parameter signal membership function provided in an embodiment of the present application;

[0026] Figure 8 A schematic diagram of the structure of a control device provided in an embodiment of the present application;

[0027] Fig. 9 A schematic diagram of the structure of a control device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.

[0029] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0030] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. It should also be noted that the terms "first\second" and the like involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first\second" and the like may be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0031] Remote Direct Memory Access (RDMA) is a lossless network technology that allows direct memory access between two computers. Since the transmission process does not require the participation of the operating system, RDMA has the technical advantages of high bandwidth, low latency and zero central processing unit (CPU) occupancy, which completely changes the way data is transmitted and received over the network. However, with the increasing application of RDMA in data centers, congestion control issues have become increasingly critical.

[0032] For distributed cloud storage, high-performance computing, artificial intelligence, key-value storage and other cloud computing core services, the technical characteristics of RDMA lossless network, such as high bandwidth, low latency, and zero CPU usage, are particularly suitable. Therefore, the deployment share of RDMA lossless network in cloud computing data centers is increasing day by day. RDMA provides ultra-high throughput computing-storage and storage backend networks in distributed cloud storage, and is one of the core technologies for creating ultra-high IOPS cloud storage products.

[0033] Network congestion refers to the situation where too many packets are transmitted in a network switch, and the accumulated packets exceed the limited cache resources of the switch, resulting in a decrease in network transmission performance. When a data center switch is congested, it will cause packet loss, increase the latency of the RDMA network, reduce throughput, and significantly reduce transmission efficiency.

[0034] At the same time, due to the unpredictability of cloud computing service objects, the usage of its network traffic is more complicated than that of traditional scenarios. In an RDMA network used by multiple tenants at the same time, more network congestion is inevitable, which limits the deployment and use of the overall RDMA network and makes it difficult to ensure the ideal performance of the network in large-scale deployment. Therefore, for RDMA network applications in cloud computing scenarios, higher-performance congestion control is particularly important.

[0035] The specific function of congestion detection technology is to provide the most original measurement information for the overall end-to-end congestion control system. According to the measured congestion information, the corresponding congestion control algorithm is designed to achieve network congestion control.

[0036] For a general congestion control system based on ECN detection, Figure 1 A flow chart of an exemplary conventional ECN-based congestion control process provided in an embodiment of the present application; Figure 1 As shown, the steps are as follows:

[0037] 1. Establish a connection and send data packets.

[0038] It should be noted that the source end (RP) establishes a connection with the switch (CP) and sends a data packet to the switch.

[0039] 2. Congestion signal marking.

[0040] It should be noted that the switch marks the congestion signal according to the five-tuple information in the data packet.

[0041] 3. Unpack.

[0042] It should be noted that the target end (NP) receives the data packet sent by the switch in which the congestion signal is packaged, and unpacks it.

[0043] 4. Determine ECN every T3.

[0044] It should be noted that the target end judges the ECN every T3 time. If it is judged that the ECN obtains congestion information, step 5 is executed; if it is judged that the ECN does not obtain congestion information, step 4 is re-executed.

[0045] 5. The CNP message is packaged and sent, and T3 is set to zero.

[0046] 6. Forward.

[0047] It should be noted that the switch forwards the CNP message sent by the target end to the source end.

[0048] 7. Write to the CNP register.

[0049] It should be noted that the source end writes the CNP message into the CNP register.

[0050] 8. Determine once every T1 whether there is CNP.

[0051] It should be noted that, when there is a CNP, step 9 is executed; when there is no CNP, step 8 is executed again.

[0052] 9. Execute speed reduction, set T2 to zero, and wait until the speed increases.

[0053] 10. Determine whether T2 has arrived.

[0054] It should be noted that, when T2 has expired, step 11 is executed; when T2 has not expired, step 10 is executed again.

[0055] 11. Determine whether to execute quick reply.

[0056] It should be noted that, when executing a quick reply, execute step 12; when not executing a quick reply, execute step 13.

[0057] 12. Quick reply.

[0058] It should be noted that after executing the quick reply, re-execute step 9.

[0059] 13. Judge and execute super fast reply.

[0060] It should be noted that, when super-fast reply is performed, step 14 is performed; when super-fast reply is not performed, step 15 is performed.

[0061] 14. Super fast reply.

[0062] It should be noted that after executing the super-fast reply, step 9 is executed again.

[0063] 15. Additive reply.

[0064] It should be noted that after performing the additive response, step 9 is re-executed.

[0065] For ease of understanding, the above steps are described in detail here. The sending network card (i.e., the source end) sends the data packet to the switch; after the switch receives the data packet, it calculates the next-hop route, the current cache queue length, and the timestamp according to the five-tuple information in the data packet header, performs a specific marking algorithm, and packages the congestion information and sends it to the next hop until it reaches the receiving network card (i.e., the target end); after the receiving network card processes the congestion information in the data packet header, it completes the detection of the congestion information and returns the congestion information through the CNP message; the sending network card receives the returned congestion information, calculates the current expected speed regulation (or window adjustment) information according to the Additive Increase Multiplicative Decrease (AIMD) algorithm, and executes it.

[0066] The congestion detection mechanism is an important basis for defining different congestion control schemes and is also the core difference between different solutions. The shortcomings of the existing RDMA lossless network congestion control mechanism are as follows:

[0067] 1. Congestion detection mechanism based on switch cache waterline.

[0068] Congestion detection based on the switch cache watermark is common in early RDMA network traffic control solutions. This mechanism monitors the switch cache watermark. Once it exceeds the established watermark, it triggers a PAUSE message to notify the sender to suspend sending. After the cache is reduced, it triggers a control message to notify the sender to resume sending.

[0069] This mechanism is based on monitoring the switch cache watermark and performs hop-by-hop flow controls to ensure lossless performance of the RDMA network. However, cache watermark-based hop-by-hop flow control may cause a series of side effects, including head-of-line blocking, unfairness, flow control mechanism (Priority Flow Control, PFC) storms, and even network deadlocks. Therefore, subsequent congestion detection and control solutions tend to be implemented through end-to-end solutions.

[0070] 2. Congestion detection mechanism based on ECN marking.

[0071] The working principle of Explicit Congestion Notification (ECN) is that a 2-bit ECN header is added to the packet header in the switch to notify the congestion status. The switch marks the header of each data packet according to the current cache queue length to reflect the current congestion level.

[0072] Compared with the congestion control scheme based on cache watermark-triggered PFC, this mechanism (such as Data Center TCP (DCTCP) and Data Center Quantized Congestion Notification (DCQCN) algorithm) regulates the sender's rate according to the received ECN mark, achieving ideal fairness, eliminating head-of-line blocking, and avoiding PFC storms and deadlocks.

[0073] However, ECN marking has certain limitations, namely, the amount of congestion information is small (only 2-bit), which leads to several negative effects. First, the algorithm fluctuates greatly and converges slowly. Second, queue accumulation also means higher communication delay. Third, complex parameter debugging. For example, in the DCQCN algorithm, the number of related parameters reaches more than 10, which brings a huge burden to the large-scale operation and maintenance of the network.

[0074] 3. RTT-based congestion detection mechanism.

[0075] Round Trip Time (RTT) is another mechanism used for congestion detection. Its working principle is to use the packet sending timestamp and the acknowledgment (ACK) message timestamp as the starting point and end point of the RTT calculation to obtain the transmission delay of the message in the switch, cable and optical module. This delay is proportional to the congestion level of the corresponding network link, so it can be used as an input signal for congestion control.

[0076] Compared with the ECN-based solution, the congestion information obtained by this solution has a larger amount of information (multi-bit congestion information). At the same time, this measurement process not only counts the congestion of the switch, but also the congestion information of the entire link, which has certain technical advantages.

[0077] However, this solution also has its flaws. First, the measurement accuracy is not as good as ECN, resulting in large fluctuations in control. Second, the control algorithm of this solution makes queue accumulation more serious and there is no specific stable point. Third, it is difficult to select the target delay. The inherent delay of each link is different, which makes deployment more difficult and the performance in application is poor.

[0078] 4. Congestion detection mechanism based on INT.

[0079] In-network telemetry (INT) is an emerging network status monitoring technology, which is also gradually applied in congestion detection of RDMA lossless networks. Its working principle is to inject the current congestion information into the packet header every time a data packet passes through a switch / network card node. In this way, accurate switch cache and timestamp information can be obtained, and high-precision congestion control can be achieved by designing corresponding control algorithms.

[0080] The INT solution obtains the congestion information that can be detected by ECN and RTT at the same time, so it has an absolute advantage in the efficiency of detecting information. However, this solution also has an overhead problem that is difficult to overcome. Each hop of network transmission adds data bits to the packet header, which results in a large amount of effective bandwidth being used to transmit congestion information. Overall, the actual throughput of the network has dropped by about 10%-15%.

[0081] Based on this, an embodiment of the present application provides a control method. Figure 2 A flow chart of a control method provided in an embodiment of the present application; Figure 2 As shown, applied to a receiving device, the method includes:

[0082] S201. Determine the proportion of burst flows in a service flow sent by a transmitting device, and determine confidence information corresponding to a filter.

[0083] It should be noted that, in practical applications, the receiving device can be understood as a receiving network card, and the sending device can be understood as a sending network card. The filter can be any filter, which is not limited here. As an example, the filter can be a Kalman filter. The service flow and the burst flow can be received in the form of data packets.

[0084] In an embodiment of the present application, the process of determining the proportion information of burst flows in the service flow sent by the sending device specifically includes: obtaining first quantity information of the service flow sent by the sending device, and determining second quantity information of the burst flow in the service flow; determining the proportion information based on the first quantity information and the second quantity information.

[0085] It should be noted that the receiving device receives the service flow sent by the sending device, which can be understood as the receiving device receiving the service flow of the sending device through the switch, that is, the sending device sends the service flow to the switch, and the switch forwards the service flow to the receiving device. Determining the proportion information based on the first quantity information and the second quantity information can be understood as determining the quantity proportion information of the burst flow in the service flow based on the number of service flows and the number of burst flows.

[0086] In an embodiment of the present application, the process of determining the confidence information corresponding to the filter specifically includes: obtaining error information corresponding to the filter, and determining the confidence information based on the error information.

[0087] It should be noted that the error information can be understood as the observation error information. The observation error of the filter can be e k =(z k -x k ) is determined, where z k It can be understood as an observed value, x k It can be understood as the measured value. The confidence information can be understood as the model confidence. In practical applications, it can be recorded as I C , we can use the formula To express it, where, in the kth data, the numerator represents the standard deviation of the most recent T1 data, and the denominator represents the standard deviation of the most recent T2 data, and the ratio reflects the model deviation between the current filter model and the actual traffic.

[0088] S202: Obtain a first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter.

[0089] It should be noted that the first parameter may include the initial covariance coefficient and adaptive parameter of the filter. In practical applications, the initial covariance coefficient may be denoted as R0, and the adaptive parameter may be denoted as K. The second parameter may include covariance matrices Q and R.

[0090] In an embodiment of the present application, the process of adjusting the first parameter based on the proportion information and the confidence information to obtain the adjusted second parameter specifically includes: respectively determining the first membership parameter corresponding to the proportion information and the second membership parameter corresponding to the confidence information; adjusting the first parameter according to the first membership parameter and the second membership parameter to obtain the adjusted second parameter.

[0091] It should be noted that the first membership parameter can be understood as the membership corresponding to the proportion information. Determining the first membership parameter corresponding to the proportion information can be understood as determining the first membership corresponding to the proportion information according to the membership function. Among them, the first membership parameter includes any one of low, lower, medium, higher and high, which is specifically determined according to the proportion information.

[0092] It should be noted that the second membership parameter can be understood as the membership corresponding to the confidence information. Determining the second membership parameter corresponding to the confidence information can be understood as determining the second membership corresponding to the confidence parameter according to the membership function. The second membership parameter includes any one of low, medium and high, which is specifically determined according to the confidence information.

[0093] In an embodiment of the present application, the first parameter is adjusted according to the first membership parameter and the second membership parameter to obtain the adjusted second parameter. The process specifically includes: using the first membership parameter and the second membership parameter as query conditions, searching for corresponding parameter decision information from a preset fuzzy decision table; adjusting the first parameter according to the parameter decision information to obtain the second parameter.

[0094] It should be noted that the preset fuzzy decision table can be understood as a fuzzy decision rule table, and the parameter decision information can be understood as a decision rule. The fuzzy decision rule table is shown in Table 1:

[0095] Table 1

[0096]

[0097] Among them, I B / I T Indicates the proportion information, I B is the number of burst flows, I T The number of business flows, I C is the model confidence. The output is the decision rule. As an example, when the proportion of information I B / I T is low and confidence level I C When is also low, a decision rule with unchanged parameters is obtained, and there is no need to adjust the first parameter.

[0098] It should be noted that adjusting the first parameter according to the parameter decision information to obtain the second parameter can be understood as performing weighted summation according to the parameter decision information to obtain the second parameter.

[0099] The solution of the embodiment of the present application adjusts the parameters of the Kalman filter in real time, and adaptively adjusts the covariance matrix parameters of the filter according to the proportion of the current network burst flow in the total flow, so that the network card side has the ability to adaptively adjust the burst flow in the service.

[0100] S203, sending the second parameter and the service flow to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain the second signal; the first signal is a congestion signal when the transmitting device sends the service flow.

[0101] It should be noted that the first signal of the service flow can be understood as an actual ECN signal, which is 1-bit in size; the first signal is obtained by extracting the third signal of the service flow forwarded by the switch from the receiving device. The third signal is the congestion signal marking signal of the switch according to the ECN marking parameters preset by the device after the sending device sends the service flow to the switch, that is, the third signal is the ECN signal generated by the switch, which is 2-bit. The second signal is the Explicit Quantized Congestion Notification (EQCN) obtained after the filter reconstructs the 1-bit ECN signal, which is 32-bit in size.

[0102] The solution of the embodiment of the present application improves the detection accuracy of the original ECN signal (1-bit) to the EQCN detection signal (32-bit). At the same time, the noise covariance parameters Q and R of the Kalman filter enable the detection device to adapt to different noise characteristics.

[0103] S204: receiving a second signal sent by the filter, and sending the second signal to the transmitting end device to instruct the transmitting end device to control the rate of the service flow based on the second signal.

[0104] In an embodiment of the present application, the process of sending the second signal to the sending device specifically includes: sending a first message to the sending device; the first message carries the second signal, and the first message is used to send a congestion signal to the sending device.

[0105] It should be noted that the first message can be understood as a congestion notification (CNP) message, which carries an EQCN signal. Sending the first message to the sending end device can be understood as the receiving end device sending the CNP message carrying the EQCN signal to the switch, and the switch forwards the CNP message carrying the EQCN signal to the sending end device.

[0106] It should be noted that the sending device controls the rate of the service flow based on the second signal. It can be understood that the sending device calculates the deviation between the target congestion level of the device and the measured value corresponding to the received second signal. The deviation value is calculated through incremental proportional integral differential (Proportional Integration Differentiation, PID) control to calculate the actual network card sending rate / window, and the obtained network card sending rate is executed in the network card flow control group to control the actual sending rate / window of the sending network card.

[0107] The solution of the embodiment of the present application, due to the improvement of detection accuracy, enables the system design to get rid of the time-triggered mechanism of the original AIMD and can use PID control, which greatly reduces the difficulty of system adjustment parameters and at the same time has better system robustness and stability.

[0108] Compared with the same type of high-precision detection, the scheme of the embodiment of the present application generates less network bandwidth overhead in the congestion control process in the embodiment of the present application, which is significant for cloud service providers in that it reduces the overall network construction cost.

[0109] For ease of understanding, the above method is illustrated here. In practical applications, the control method can be understood as a congestion control method for burst flow suppression. The ECN signal (2-bit) is reconstructed into EQCN (mult-bit) by designing a Kalman filter. This design has the following considerations:

[0110] (1) The Kalman filter can effectively suppress detection white noise. According to the adaptive covariance adjustment technology in this proposal, it can match the complex traffic characteristics of the cloud scene in real time, making the congestion detection unit more resistant to noise.

[0111] (2) It overcomes the problem of small amount of congestion information in the ECN marking scheme, improves the detection accuracy, and facilitates subsequent high-precision control;

[0112] (3) Compared with similar high-precision detection (such as in-band telemetry), it occupies less network bandwidth.

[0113] For ease of understanding, Figure 3 A schematic diagram of an exemplary congestion detection process provided in an embodiment of the present application; Figure 3 As shown, the specific steps are as follows:

[0114] 1. Establish a connection and send data packets.

[0115] It should be noted that the source end establishes a connection with the switch and sends a data packet to the switch.

[0116] 2. Congestion information marking.

[0117] It should be noted that the switch marks the data packet with a congestion signal.

[0118] 3. Unpack.

[0119] It should be noted that the target end unpacks the data packet carrying the congestion signal mark forwarded by the switch.

[0120] 4. The CE bit is placed in the filter input register.

[0121] 5. Sampling.

[0122] 6. Enter the Kalman filter.

[0123] It should be noted that the input to the Kalman filter is the actual 1-bit ECN signal after extraction, and the Kalman filter has pre-configured Q and R parameters.

[0124] 7. Sampling.

[0125] It should be noted that the target end samples the 32-bit ECN signal output by the Kalman filter.

[0126] 8. EQCN message is packaged and sent.

[0127] It should be noted that the target end packages the EQCN message and sends it to the switch.

[0128] 9. Forward.

[0129] It should be noted that the switch forwards the received EQCN message to the source end.

[0130] 10. Write to the EQCN register.

[0131] 11. Extract the EQCN message payload field.

[0132] 12. Sampling.

[0133] 13. PID controller calculates and outputs the control rate.

[0134] It should be noted that the PID controller is pre-configured with K P , K i parameter.

[0135] 14. Sampling.

[0136] 15. Execute the flow control group bandwidth according to the calculated control rate.

[0137] For ease of understanding, the above steps are described in detail here as follows:

[0138] (1) The sending NIC sends a data packet. First, the sending NIC is synchronized with the receiving NIC. The queue pair (QP) is created and initialized. The QP address and key value are synchronized. The QP context information is updated to complete the connection establishment. The data packet starts the writing task through the write (WRITE) operation and is sent to the switch.

[0139] (2) Switch congestion information marking: The switch marks the congestion information of the data packet according to the pre-set ECN marking parameters.

[0140] (3) Reconstruction of congestion information on the receiving end network card. The data packets with 2-bit ECN marks generated by the switch are written into the memory of the receiving end network card. The ECN marks 11, 10, 01, and 00 represent different states respectively. The binary information is extracted into a 1-bit actual ECN signal, connected to the ECN reconstruction filter, and output as a 32-bit EQCN congestion signal.

[0141] (4) Congestion information feedback. The EQCN signal generated in (3) is packaged into a congestion notification message and transmitted back to the sending network card. The network card samples the EQCN signal in the register periodically. The sending network card calculates the deviation between the set target congestion level and the current measured value. The deviation value is used to calculate the actual network card sending rate / window through incremental PID control.

[0142] (5) Speed ​​control of the sending network card. The network card sending rate calculated in (4) is executed in the network card flow control group to control the actual sending rate / window of the sending network card.

[0143] Based on the implementation principle and process, the solution has the following features:

[0144] (1) Congestion detection: The ECN reconstruction filter based on Kalman filtering is used, which enables the scheme to obtain fine-grained congestion detection information while avoiding the on-off fluctuation of the detection signal, and has outstanding performance in congestion information detection;

[0145] The ECN reconstructor is implemented through the Kalman filter, which is used to reconstruct the ECN input signal. The iterative formula of the method is as follows:

[0146]

[0147] Formula (1) (2) is the prediction step of Kalman filter, which is used to predict the state variable x k The predicted value of .

[0148]

[0149] Formulas (3), (4), and (5) are the update steps of the Kalman filter, which are used to update the state variable x k Measured value of .

[0150] By setting the R and Q matrices of the Kalman filter to larger values ​​and setting the input xk to the extracted ECN signal, real-time reconstruction of a string of 01 sequences can be achieved, and the 1-bit actual ECN signal can be reconstructed into a 32-bit EQCN signal.

[0151] In order to match the high-precision EQCN congestion detection signal, the solution also designs the message format and subsequent controller. Figure 4 A schematic diagram of an exemplary CNP message protocol provided in an embodiment of the present application; Figure 4 As shown, EQCN is the reconstructed congestion signal.

[0152] The customized CNP message protocol adds 4 bytes (Byte, B) of congestion information to a single data packet compared to the original DCQCN congestion control protocol. Compared with other solutions for implementing fine detection (such as INT solution 46B), the bandwidth occupation effect produced is extremely small.

[0153] Controller: Based on EQCN signal detection, the subsequent controller uses a PID controller, and its basic principle is as follows: Figure 5 A schematic diagram of the structure of an exemplary PID controller provided in an embodiment of the present application; Figure 5 The method comprises a proportional link, a differential link, an integral link and a network load; the expected switch queue length and the time switch queue length are multiplied and then input into the proportional link, the differential link and the integral link respectively, and the obtained sending rate is sent to the network load.

[0154] PID is a non-model-based controller that can maintain system stability under large external disturbances and make the system robust. Therefore, the use of PID controller is of great significance for network congestion control systems. Since RoCEv2 does not support packet-by-packet ACK, DCQCN cannot achieve the aggregation of multiple ECN signals, so PID cannot be applied in DCQCN.

[0155] In the embodiment of the present application, a fuzzy expert system is used to adaptively adjust the parameters of the congestion detection system according to the statistical characteristics of the burst traffic of the cloud network; Figure 6 A flowchart of filter parameter adjustment provided in an embodiment of the present application; the specific steps are as follows:

[0156] 1. Start.

[0157] 2. Collect the proportion of burst flow of input variables I B / I T .

[0158] 3. Fuzzification of input variables.

[0159] 4. Reasoning based on fuzzy rules.

[0160] 5. Defuzzify the inference results.

[0161] 6. Output the results.

[0162] 7. Update detection filter parameters.

[0163] 8. End.

[0164] According to the above logic, a fuzzy reasoning decision system is designed. In this system, the network traffic characteristics of the application layer are first fuzzified. For example, a server equipped with multiple cloud hosts has I T flows, the number of burst flows is I B , whose membership function is set according to the specific data center network characteristics. At the same time, it is necessary to combine the prediction error of the Kalman filter to evaluate the inconsistency between the real-time traffic and the model parameters. According to the observation error of the Kalman filter, Get the model confidence I C The membership function of is , in which, in the kth data, the numerator represents the standard deviation of the most recent T1 data, and the denominator represents the standard deviation of the most recent T2 data, and the ratio reflects the model deviation between the current filter model and the actual traffic. Figure 7 A schematic diagram of an exemplary input parameter signal membership function provided in an embodiment of the present application, such as Figure 7 As shown in 7(a), the membership degree corresponding to the proportion of burst flow is Figure 7 (b) is the corresponding membership degree of the model confidence.

[0165] According to the membership function, after the input signal is fuzzified, the fuzzified input is matched to the fuzzy decision rule table to activate the decision rule (parameter adjustment step). According to the minimum value method, the corresponding decision rule is determined. In this decision rule, when the model confidence is low, the decision bias does not update the R matrix. When the model confidence is medium or high, the R matrix is ​​updated normally.

[0166] According to the rule table in Table 1 above, the deployment personnel only need to set the initial covariance coefficient R0 and adaptive parameter K to achieve real-time covariance matrix Q and R parameter tuning according to the proportion of burst flows.

[0167] According to the strength of the given fuzzy rules, a weighted sum is performed to obtain the defuzzified decision result, and the parameter adjustment amount of the decision is sent to the business node to complete the workflow. The defuzzification formula (6) is as follows:

[0168]

[0169] Among them, Q(i) is the strength of the i-th rule, and U(i) is the strength of the i-th strategy.

[0170] The present application embodiment provides a control device, Figure 8 A schematic diagram of the structure of a control device provided in an embodiment of the present application; Figure 8 As shown, applied to a receiving end device, the control device 800 includes:

[0171] The determination unit 801 is used to determine the proportion of burst flows in the service flow sent by the sending end device, and determine the confidence information corresponding to the filter;

[0172] An adjusting unit 802 is used to obtain a first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter;

[0173] The sending unit 803 is used to send the second parameter and the service flow to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain the second signal; the first signal is a congestion signal when the sending end device sends the service flow;

[0174] The receiving unit 804 is configured to receive the second signal sent by the filter, and send the second signal to the transmitting end device to instruct the transmitting end device to control the rate of sending the service flow based on the second signal.

[0175] Optionally, the determination unit 801 is further configured to obtain error information corresponding to the filter, and determine the confidence information based on the error information.

[0176] Optionally, the adjustment unit 802 is further used to respectively determine a first membership parameter corresponding to the proportion information and a second membership parameter corresponding to the confidence information; adjust the first parameter according to the first membership parameter and the second membership parameter to obtain the adjusted second parameter.

[0177] Optionally, the adjustment unit 802 is further used to use the first membership parameter and the second membership parameter as query conditions to search for corresponding parameter decision information from a preset fuzzy decision table; and adjust the first parameter according to the parameter decision information to obtain the second parameter.

[0178] Optionally, the control device 800 further includes a sending unit, configured to send a first message to the sending end device; the first message carries the second signal, and the first message is used to send a congestion signal to the sending end device.

[0179] Optionally, the determination unit 801 is further used to obtain first quantity information of the service flow sent by the sending end device, and determine second quantity information of the burst flow in the service flow; and determine the proportion information based on the first quantity information and the second quantity information.

[0180] The present application also provides a control device, Fig. 9A schematic diagram of a control device provided in an embodiment of the present application; Fig. 9 As shown, the control device 900 includes: a processor 901 and a memory 903 . Optionally, the control device 900 may also include a communication bus 902 .

[0181] In the process of a specific embodiment, the processor 901 may be at least one of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing image processing device (DSPD), a programmable logic image processing device (PLD), a field programmable gate array (FPGA), a CPU, a controller, a microcontroller, and a microprocessor. It can be understood that for different devices, the electronic device used to implement the function of the processor may also be other, which is not specifically limited in this embodiment.

[0182] In the embodiment of the present application, the communication bus 902 is used to realize the connection and communication between the processor 901 and the memory 903; when the processor 901 executes the running program stored in the memory 903, the following control method is implemented:

[0183] Determine the proportion information of burst flow in the service flow sent by the sending end device, and determine the confidence information corresponding to the filter; obtain the first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain the adjusted second parameter; send the second parameter and the service flow to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain the second signal; the first signal is a congestion signal when the sending end device sends the service flow; receive the second signal sent by the filter, and send the second signal to the sending end device to instruct the sending end device to control the rate of sending the service flow based on the second signal.

[0184] Furthermore, the processor 901 is further configured to obtain error information corresponding to the filter, and determine the confidence information based on the error information.

[0185] Furthermore, the processor 901 is also used to respectively determine a first membership parameter corresponding to the proportion information and a second membership parameter corresponding to the confidence information; and adjust the first parameter according to the first membership parameter and the second membership parameter to obtain the adjusted second parameter.

[0186] Furthermore, the processor 901 is also used to use the first membership parameter and the second membership parameter as query conditions to search for corresponding parameter decision information from a preset fuzzy decision table; and adjust the first parameter according to the parameter decision information to obtain the second parameter.

[0187] Furthermore, the processor 901 is further configured to send a first message to the transmitting end device; the first message carries the second signal, and the first message is configured to send a congestion signal to the transmitting end device.

[0188] Furthermore, the processor 901 is also used to obtain first quantity information of the service flow sent by the sending end device, and determine second quantity information of the burst flow in the service flow; and determine the proportion information based on the first quantity information and the second quantity information.

[0189] An embodiment of the present application provides a storage medium having a computer program stored thereon. The computer-readable storage medium stores one or more programs. The one or more programs can be executed by one or more processors. The computer program implements the control method as described above.

[0190] Based on the above embodiments, an embodiment of the present application provides a computer program product, including a computer program, which can be executed by one or more processors, and the computer program implements the control method as described above.

[0191] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0192] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present disclosure, or the part that contributes to the relevant technology, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for enabling an image display device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present disclosure.

[0193] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Claims

1. A control method, characterized in that: Applied to a receiving device, the method comprises: Determine the proportion of burst flows in the service flow sent by the sending end device, and determine the confidence information corresponding to the filter; Acquire a first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter; The second parameter and the service flow are sent to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain the second signal; the first signal is a congestion signal when the transmitting end device sends the service flow; The second signal sent by the filter is received, and the second signal is sent to the transmitting end device to instruct the transmitting end device to control the rate of sending the service flow based on the second signal.

2. The method according to claim 1, characterized in that The determining of confidence information corresponding to the filter includes: Obtain error information corresponding to the filter, and determine the confidence information based on the error information.

3. The method according to claim 1, characterized in that The adjusting the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter includes: Respectively determining a first membership parameter corresponding to the proportion information and a second membership parameter corresponding to the confidence information; The first parameter is adjusted according to the first membership parameter and the second membership parameter to obtain the adjusted second parameter.

4. The method according to claim 3, characterized in that The step of adjusting the first parameter according to the first membership parameter and the second membership parameter to obtain the adjusted second parameter includes: Using the first membership parameter and the second membership parameter as query conditions, searching for corresponding parameter decision information from a preset fuzzy decision table; The first parameter is adjusted according to the parameter decision information to obtain the second parameter.

5. The method according to claim 1, characterized in that The sending the second signal to the transmitting end device includes: A first message is sent to the sending end device; the first message carries the second signal, and the first message is used to send a congestion signal to the sending end device.

6. The method according to claim 1, characterized in that The determining of the proportion of burst flows in the service flow sent by the sending end device includes: Acquire first quantity information of the service flow sent by the transmitting end device, and determine second quantity information of the burst flow in the service flow; The proportion information is determined according to the first quantity information and the second quantity information.

7. A control device, characterized in that: Applied to a receiving device, the device comprises: A determination unit, used to determine the proportion of burst flows in the service flow sent by the sending end device, and determine the confidence information corresponding to the filter; an adjusting unit, configured to obtain a first parameter of the filter, and adjust the first parameter based on the proportion information and the confidence information to obtain an adjusted second parameter; A sending unit, configured to send the second parameter and the service flow to the filter; the second parameter is used by the filter to reconstruct the first signal of the service flow to obtain a second signal; the first signal is a congestion signal when the sending end device sends the service flow; A receiving unit is used to receive the second signal sent by the filter, and send the second signal to the sending end device to instruct the sending end device to control the rate of sending the service flow based on the second signal.

8. A control device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the steps of the method according to any one of claims 1 to 6 are implemented when the processor executes the program.

9. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.