Congestion control method and device, electronic equipment and readable storage medium
By decomposing the original congestion control parameter decision model into multiple lightweight data decision submodels and running in parallel in a multi-threaded environment, the problem of insufficient real-time congestion control in the prior art is solved, and faster and more reliable network congestion control is achieved.
Patent Information
- Application Number
- CN202510295801.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-13
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2045-03-13
AI Technical Summary
The existing congestion control algorithms have shortcomings in real-time, and it is difficult to respond to the current congestion state in a timely manner, resulting in the inability to effectively control network congestion.
By lightening the original congestion control parameter decision model into multiple smaller-scale data decision submodels, and running these submodels in parallel in a multi-threaded environment, we generate multiple sets of reference control parameters, and finally obtain the target control parameters through joint decisions for congestion control.
It improves the real-time congestion control of the data transmission node, ensures the reliability and rapid acquisition of target control parameters, and enhances the network's response ability to the current congestion state.
Smart Images

Figure CN119814665A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data communication technology, and in particular to a congestion control method, device, electronic device and readable storage medium. Background Art
[0002] As one of the key factors affecting data center performance, effective control of network congestion is directly related to the overall performance, user experience, and business continuity of the data center. The DCQCN (Data Center Quantized Congestion Notification) algorithm is the most widely deployed congestion control algorithm in the current business. It uses the ECN (Explicit Congestion Notification) mechanism to provide timely congestion feedback and dynamically adjust the sending rate. However, due to the essential differences in throughput and latency requirements in different network scenarios, professionals are required to configure the corresponding DCQCN parameters for different network scenarios.
[0003] At present, artificial intelligence technology has brought new methods for the innovation of congestion control algorithms. Under the current network topology and traffic characteristics, neural networks can intelligently select the most optimized DCQCN parameter configuration for switches.
[0004] However, due to the complexity of the neural network algorithm, its reasoning process requires time cost, making it difficult to meet the real-time requirements of the congestion control parameter update, resulting in the inability to control the current congestion status in a timely manner. Summary of the invention
[0005] The present application provides a congestion control method, device, electronic device and readable storage medium to at least solve the problem of insufficient real-time performance of congestion control in related technologies.
[0006] The present application provides a congestion control method, including: Based on the original congestion control parameter decision model, construct multiple data decision sub-models, each of which has a smaller scale than the original congestion control parameter decision model; Inputting the real-time status data of the data transmission node into each of the data decision sub-models respectively, to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, wherein each of the data decision sub-models generates a group of reference control parameters respectively; Generating a set of target control parameters corresponding to the real-time state number according to the multiple sets of reference control parameters; Congestion control is performed on the data transmission node according to the target control parameter.
[0007] The present application also provides a congestion control device, comprising: A construction module, used to construct a plurality of data decision sub-models based on the original congestion control parameter decision model, wherein the scale of each of the data decision sub-models is smaller than the scale of the original congestion control parameter decision model; A first acquisition module is used to input the real-time status data of the data transmission node into each of the data decision sub-models to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, wherein each of the data decision sub-models generates a group of reference control parameters; A second acquisition module, used for generating a set of target control parameters corresponding to the real-time state number according to the multiple sets of reference control parameters; The congestion control module is used to perform congestion control on the data transmission node according to the target control parameter.
[0008] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any one of the above-mentioned congestion control methods when executing the computer program.
[0009] The present application also provides a computer-readable storage medium, in which a computer program is stored, wherein when the computer program is executed by a processor, the steps of any of the above-mentioned congestion control methods are implemented.
[0010] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above congestion control methods when executed by a processor.
[0011] Through the present application, the complex original congestion control parameter decision model is lightweighted into multiple smaller data decision sub-models, thereby improving the data decision efficiency of each data decision sub-model, and further making a joint decision based on the reference control parameters output by the multiple data decision sub-models, and finally obtaining the target control parameters to perform congestion control of the data transmission node, so as to solve the problem of insufficient accuracy of data decision making by a single data decision sub-model due to the lightweighting of the model, thereby ensuring the reliability of the target control parameters while accelerating the efficiency of obtaining the target control parameters and improving the real-time performance of congestion control of the data transmission node. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0013] Figure 1A flow chart of a congestion control method provided by an embodiment of the present disclosure; Figure 2 A schematic diagram of an application scenario provided by an embodiment of the present disclosure; Figure 3 A congestion control schematic diagram provided for an embodiment of the present disclosure; Figure 4 A schematic diagram of constructing a data decision sub-model provided in an embodiment of the present disclosure; Figure 5 A flow chart of a congestion control method provided by another embodiment of the present disclosure; Figure 6 A schematic diagram of a congestion control device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0014] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0015] It should be noted that, in the description of this application, the terms "include", "comprise" or any other variant 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 includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0016] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0017] In conjunction with the specific application environment architecture or the specific hardware architecture on which the execution of the congestion control method depends, the specific application environment architecture or the specific hardware architecture is described herein.
[0018] Figure 1 A flow chart of a congestion control method provided in an embodiment of the present disclosure, which can be applied to Figure 2 The scene shown, such as Figure 2As shown, the application scenario includes a sending end 21, a receiving end 22 and a data transmission node 23 (such as a switch or a router), wherein the data transmission node is responsible for forwarding the data packet from the sending end to the receiving end. The congestion control method in this embodiment can be deployed in a switch in a network architecture, that is, multiple data decision sub-models are deployed on each switch node, and the congestion control method is implemented using the central processing unit (CPU) on the switch.
[0019] Combine the following Figure 2 The application scenario shown is Figure 1 The congestion control method shown in the figure is introduced. Figure 1 As shown, the method includes the following steps: S101. Based on the original congestion control parameter decision model, multiple data decision sub-models are constructed, and the scale of each data decision sub-model is smaller than the scale of the original congestion control parameter decision model.
[0020] Optionally, the data transmission node is a switch node.
[0021] The original congestion control parameter decision model is deployed on the data transmission node, and the congestion of the current data transmission node is controlled through the decided control parameters. Optionally, the original congestion control parameter decision model can be an agent that needs to be re-learned online proposed by Automatic Congestion Control (ACC), or an agent that needs to interact with information proposed in GraphCC, or a more intelligent ECN parameter configuration agent proposed by more scholars later.
[0022] As the most widely deployed congestion control algorithm in current commercial deployment, the DCQCN algorithm reduces network delays and packet losses caused by congestion through timely congestion feedback and dynamic adjustment of the sending rate. At this moment, when there is a queue buffer at the egress port of the data transmission node, the forwarding data packet will be forwarded with probability according to the preset parameters Kmin, Kmax and Pmax of the DCQCN algorithm. ECN marking is performed. When the receiving end receives the ECN marked data packet, it sends a CNP (congestion notification packet) to the sending end. After receiving the CNP data packet, the sending end reduces the data packet sending rate, thereby alleviating the congestion level of the data transmission node.
[0023] The above original congestion control model can decide the appropriate congestion control parameters Kmin, Kmax and Pmax based on the congestion status information of the current data transmission node (such as the length of the queue buffer of the data transmission node egress port). The data decision sub-model is a lightweight neural network built based on the original congestion control parameter decision model. The scale of each data decision sub-model is smaller than the original congestion control parameter decision model, and each data decision sub-model can achieve the same function as the original congestion control parameter decision model, but due to its small scale, the corresponding ability to make decisions on the original congestion control parameters is lower than that of the original congestion control parameter decision model.
[0024] The following is an introduction to the congestion control parameters Kmin, Kmax and Pmax. At time t, the probability that the data transmission node will perform ECN marking on the forwarded data packet It can be expressed as:
[0025] in, for The length of the queue buffer at the egress port of the data transmission node at a given moment is the queue length.
[0026] Kmin refers to the minimum value of the ECN marking threshold at which the data transmission node or router starts marking packets when network congestion occurs, that is, the lower limit of the ECN marking threshold. When the queue length or delay reaches Kmin, the data transmission node starts marking the ECN bit on the data packet instead of discarding the data packet.
[0027] Kmax refers to the maximum value of the ECN marking threshold for data transmission nodes or routers to mark data packets, that is, the upper limit of the ECN marking threshold. When the queue length or delay reaches Kmax, the data transmission node may start to discard data packets even if they are not marked with the ECN bit.
[0028] Pmax refers to the maximum marking probability or maximum packet loss rate that can be tolerated in the network, that is, the maximum ECN marking probability. This is the maximum proportion of packets that a network device can mark in ECN marking mode. If the marking probability exceeds Pmax, the network may need to take more aggressive measures to control congestion, such as starting to drop packets.
[0029] It can be seen that if the network system takes maintaining low latency as its primary goal, then the queue length in the data transmission node buffer should not be too long. , which requires setting Kmin and Kmax relatively low, while Pmax needs to be set high to ensure fast response and reduce the delay of congestion signals. On the contrary, if you pursue high throughput, you need to maximize the transmission speed of the terminal server without causing packet loss. This can be achieved by increasing the values of Kmin and Kmax, while reducing the value of Pmax to balance the relationship between congestion signals and transmission efficiency.
[0030] S102. Input the real-time status data of the data transmission node into each data decision sub-model respectively, and obtain multiple groups of reference control parameters output by multiple data decision sub-models, wherein each data decision sub-model generates a group of reference control parameters respectively.
[0031] Each data decision sub-model can achieve the same function as the original congestion control parameter decision model, that is, to decide the congestion control parameters that best suit the current data transmission node congestion status based on the real-time status data of the current data transmission node.
[0032] Among them, when constructing the data decision sub-model, each data decision sub-model uses a different training sample set. Therefore, for the same real-time status data, different data decision sub-models may decide different congestion control parameters. At the same time, the scale of the data decision sub-model is lightweight compared to the original congestion control parameter decision model, and its decision reliability for the congestion control parameters will be reduced. The congestion control parameters output by a single data decision sub-model can only be used as a reference, which is called a reference control parameter.
[0033] Specifically, the reference control parameters at least include an ECN marking threshold lower limit Kmin, an ECN marking threshold upper limit Kmax, and an ECN marking probability maximum value Pmax.
[0034] One possible implementation scenario is that a data center network includes multiple data transmission nodes, and real-time status data of the data transmission nodes is obtained, including: building a graph neural network model based on the topology of the data center network, with each data transmission node serving as a node of the graph neural network model, and the real physical links within the data center network serving as the edges of the graph. Information transmission between nodes on the graph is used to complete the status update of each node on the graph, thereby obtaining real-time status data of each node (data transmission node).
[0035] Correspondingly, self-update based on the real state of data transmission nodes can effectively cope with changes in the state of data transmission nodes when the network topology and traffic patterns change, without the need to retrain new data decision sub-models, reducing the technical and labor costs of model training and deployment, and improving the flexibility of congestion control in data center networks.
[0036] S103. Generate a set of target control parameters corresponding to the real-time state number according to the multiple sets of reference control parameters.
[0037] For the data decision sub-model deployed on a single data transmission node, multiple sets of different reference control parameters may be generated in the end. In this step, based on the principle of "the minority obeys the majority", one set of reference control parameters is determined from multiple sets of different reference control parameters as the target control parameter for the final congestion control of the data transmission node.
[0038] Optionally, for each set of reference control parameters, the number of data decision sub-models that output this set of reference control parameters is counted; and the reference control parameter with the largest number of data decision sub-models that output the same reference control parameter is selected as the target control parameter.
[0039] S104. Perform congestion control on the data transmission node according to the target control parameter.
[0040] The congestion control parameters of the data transmission node are configured according to the target control parameters, so that the data transmission node performs congestion control according to the target control parameters.
[0041] The target control parameters include at least the lower limit of the ECN marking threshold Kmin, the upper limit of the ECN marking threshold Kmax, and the maximum value of the ECN marking probability Pmax.
[0042] Figure 3 A congestion control schematic diagram provided by an embodiment of the present disclosure. Figure 3 As shown in the figure, the original congestion control parameter decision model, as a highly complex neural network intelligent agent, is lightweighted into multiple lightweight data decision sub-models Agent1, Agent2, Agent3...AgentN. Multiple lightweight decisions are made separately to obtain multiple groups of reference control parameters Action1, Action2, Action3...ActionN. Finally, the multiple decision results of Action1, Action2, Action3...ActionN are combined. Each lightweight data decision sub-model has the same decision-making status, and finally the joint decision is completed.
[0043] The disclosed embodiment constructs multiple data decision sub-models based on the original congestion control parameter decision model, and the scale of each data decision sub-model is smaller than the scale of the original congestion control parameter decision model; the real-time status data of the data transmission node is respectively input into each data decision sub-model to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, wherein each data decision sub-model generates a group of reference control parameters respectively; a group of target control parameters corresponding to the real-time status number is generated according to the multiple groups of reference control parameters; congestion control is performed on the data transmission node according to the target control parameters; the data decision efficiency of each data decision sub-model is improved by lightweighting the complex original congestion control parameter decision model into multiple smaller-scale data decision sub-models, and further a joint decision is made according to the reference control parameters respectively output by the multiple data decision sub-models, and finally the target control parameters are obtained to perform congestion control on the data transmission node, so as to solve the problem of insufficient accuracy of data decision made by a single data decision sub-model due to the lightweight model, thereby ensuring the reliability of the target control parameters while accelerating the efficiency of obtaining the target control parameters and improving the real-time performance of congestion control of the data transmission node.
[0044] On the basis of the above-mentioned embodiment, after constructing multiple data decision sub-models based on the original congestion control parameter decision model, the method also includes: determining a preset number of threads among multiple threads of the data transmission node as decision threads; deploying multiple data decision sub-models to the decision threads, and the data decision sub-models correspond to the decision threads one by one.
[0045] Optionally, the data transmission node is a switch node. The CPU of the data transmission node is multi-threaded.
[0046] The decision thread is used to deploy the data decision sub-model to execute data decision. The number of decision threads is not less than the number of data decision sub-models, so that each data decision sub-model can run independently and in parallel on different decision threads.
[0047] Optionally, the number of decision threads is determined based on the hardware condition of the current data transmission node, and the maximum number of parallel threads that can be used for model inference is dynamically determined without affecting the normal function of the data transmission node.
[0048] Specifically, the real-time status data of the data transmission node is input into each data decision sub-model respectively, so that the data decision sub-models on different decision threads make parallel decisions according to the real-time status data of the data transmission node; the decision results of the data decision sub-models on different decision threads are collected to obtain multiple sets of reference control parameters.
[0049] In the model deployment, the real-time status data of the data transmission node is addressed so that each data decision sub-model can obtain the real-time status data of the data transmission node according to the address.
[0050] Furthermore, the data decision sub-models on different decision threads each make data decisions based on the real-time status data of the acquired data transmission nodes, and the data decision sub-models on multiple decision threads make data decisions in parallel, thereby being able to use the data decision sub-models simultaneously in a short period of time to execute the decision process separately and obtain multiple sets of reference control parameters.
[0051] In some embodiments, the processing flow of the congestion control method is expressed in pseudo code as follows: 1. Function-Integrated Learning; 2.Input=Read();#Data transmission node collects real-time status data 3. Ptr_Input = &Input; #Address the real-time status data obtained by the data transmission node 4. THREADS_NUMBER=10;#Set multithreading 5. NN_threads = OUTPUT[THREADS_NUMBER]; # Output memory-list 6.FOR i in range(THREADS_NUMBER): 7. NN_threads[i]=thread(Function-IntegratedLearning( Ptr_Input)); 8. NN_threads[i].start(); 9. DONE; 10.FOR i in range(THREADS_NUMBER) 11. NN_threads[i].join(); 12. OUTPUT[i] = NN_threads[i].output(); 13. DONE; 14. Make a final decision The pseudo code is described in detail below.
[0052] Line 1: Pseudocode flow chart of the ensemble learning congestion control method.
[0053] Line 2: Collect real-time status data of data transmission nodes.
[0054] The real-time status data of the data transmission node includes at least one of the following: a normalized packet sending rate, a normalized ECN marking rate, and a normalized queue length.
[0055] The real-time status data of the data transmission node can be calculated based on the operation data of the data transmission node and normalized so that different features corresponding to the operation data are at the same scale.
[0056] Normalized packet rate based on preset time period The data forwarding amount Tx_Bytes of the data transmission node in the data transmission node is obtained, and the ratio of the forwarding data amount to the preset time period is calculated to obtain the data forwarding rate; the ratio of the data forwarding rate to the data transmission node link bandwidth B is calculated to obtain the normalized packet sending rate. The normalized packet sending rate calculation process is expressed as:
[0057] Normalized ECN marking rate based on preset time period The normalized ECN marking rate calculation process is expressed as:
[0058] The normalized queue length is determined based on the current queue length que_length and the preset Q+1 queue length levels. Determine that the current queue length que_length belongs to the qth of the preset Q+1 queue length levels, and further calculate the normalized queue length , the calculation process is expressed as:
[0059]
[0060]
[0061] where argmin refers to The minimum q value of .
[0062] Line 3: Addresses the real-time status data at multiple moments collected by the data transmission node so that the data decision sub-model can read the corresponding real-time status data based on the address.
[0063] Line 4: Set 10 threads in the multithreading of the data transfer node CPU.
[0064] It is understandable that the number of threads can be determined based on actual conditions, and the embodiments of the present disclosure do not limit this.
[0065] Line 5: Allocate corresponding memory space to the threads of 10 data decision sub-models.
[0066] Lines 6 to 9: Start 10 data decision sub-models.
[0067] Each data decision sub-model is deployed on a different thread.
[0068] Lines 10 to 13: Wait for 10 data decision sub-models to make independent decisions and obtain 10 sets of reference control parameters.
[0069] In the multi-threaded environment of the data transmission node CPU, multiple data decision sub-models can process decision tasks in parallel.
[0070] Line 14: Use the principle of "the minority obeys the majority" to determine the final target control parameters.
[0071] In the disclosed embodiment, multiple data decision sub-models are deployed on different threads respectively, based on the multi-thread parallel capability, so that each data decision sub-model can execute parallel decisions on congestion control parameters in parallel, thereby further improving the decision efficiency of congestion control parameters and improving the real-time performance of congestion control.
[0072] At the same time, since the computing power of data transmission nodes is relatively weak, after the original congestion control parameter decision model is lightweighted into a data decision sub-model, the scale of the neural network is reduced, which can greatly reduce the computing and resource pressure of the data transmission nodes; at the same time, deploying multiple data decision sub-models on different threads can fully utilize the advantages of multi-core and multi-threading of data transmission nodes to improve the real-time performance of data decision-making without affecting the normal functions of data transmission nodes.
[0073] On the basis of the above embodiment, the steps of constructing multiple data decision sub-models based on the original congestion control parameter decision model include: S1011. Construct multiple models to be trained based on the structural parameters of the original congestion control parameter decision model.
[0074] The structural parameters of the original congestion control parameter decision model include the input layer data dimension, the output layer data dimension, and the number of hidden layer neurons.
[0075] Specifically, the input layer data dimension, output layer data dimension, and number of hidden layer neurons of the original congestion control parameter decision model are obtained; a model to be trained is constructed according to the input layer data dimension, output layer data dimension, and number of hidden layer neurons, so that the input layer data dimension and output layer data dimension of the model to be trained are the same as those of the original congestion control parameter decision model, and the number of hidden layer neurons of the model to be trained is less than the number of hidden layer neurons of the original congestion control parameter decision model.
[0076] Among them, the input layer data dimension and the output layer data dimension are the characteristic dimension of the input data and the characteristic dimension of the output data of the original congestion control parameter decision model. As a model that can already perform congestion control in the data transmission node, the original congestion control parameter decision model can directly use the input data of the specified dimension for the feature mapping of the hidden layer, and the output data of the specified dimension can also be directly used for the congestion control of the data transmission node. Therefore, when constructing a lightweight model to be trained, the input layer data dimension and the output layer data dimension are kept unchanged, that is, the input and output of the same dimension are guaranteed, and the model is lightweight only through the hidden layer.
[0077] For the hidden layer, reducing the number of neurons in the hidden layer can achieve model lightweight. When constructing the model to be trained, the number of neurons in the hidden layer is appropriately reduced compared to the number of neurons in the original congestion control parameter decision model, while ensuring that the model to be trained can achieve the congestion control parameter decision function after training.
[0078] In this step, by retaining the same dimensional input and output of each data decision sub-model as the original congestion control parameter decision model, the network model is lightweight only in the hidden layer, which reduces the difficulty of deploying multiple data decision sub-models on the data transmission node.
[0079] S1012. Construct a sub-model training sample data set based on historical operating parameters of the data transmission node, where the sub-model training sample data set includes multiple sample data combinations.
[0080] Specifically, historical operating parameters of the data transmission node are obtained, and the historical operating parameters include data transmission node status data and data transmission node congestion configuration parameters at each sampling moment; based on the data transmission node status data at the first sampling moment and the data transmission node status data at the second sampling moment, the system benefit of the data transmission node congestion configuration parameters at the first sampling moment is calculated, and the first sampling moment is the sampling moment before the second sampling moment; the data transmission node status data at the first sampling moment, the data transmission node status data at the second sampling moment, the data transmission node congestion configuration parameters at the first sampling moment, and the system benefit are combined into a sample data combination.
[0081] Record historical operating parameters as data sets , which contains data transmission node status data and data transmission node congestion configuration parameters at multiple sampling times. is the data transmission node status data at the first sampling moment, The data transmission node status data at the next sampling moment of the first sampling moment, that is, the data transmission node status data at the second sampling moment; Congestion configuration parameters for data transmission nodes, that is, congestion control strategies for data transmission nodes at the first moment; is the system benefit of the data transmission node congestion configuration parameters at the first sampling moment, that is, The system benefit obtained is used to measure the congestion control strategy of the data transmission node at the first moment The advantages and disadvantages.
[0082] S1013. Sampling the sub-model training sample data set to obtain multiple sample data subsets, each sample data subset including a different sample data combination.
[0083] Figure 4 The following is a schematic diagram of constructing a data decision sub-model provided in an embodiment of the present disclosure. Figure 4 As shown, using the Bootstrap method, the data set Sampling with replacement is performed, that is, each time a sample is drawn, the sample is returned to the data set and may be drawn again, and a total of N samples are drawn. From these N samples, M sub-model training sample data sets are generated. Each sub-model training sample data set contains L samples, that is, L samples at the sampling time. . Due to sampling with replacement, some samples may be drawn multiple times, while some samples may not be drawn. The drawn samples are called "in-bag" (IB), and the undrawn samples are called "out-bag" (OOB). In other words, the samples contained in the training sample data set of each sub-model are different.
[0084] The number M of sub-model training sample data sets is determined according to the required number M of models to be trained, and each sub-model training sample data set is used to train one model to be trained.
[0085] Using this method for data sampling, since the training sample data of each model is relatively independent, it can enable the trained model to better cope with noisy data and outliers, and improve the generalization ability of the data decision sub-model to new data.
[0086] S1014. Use multiple sample data subsets to train multiple models to be trained respectively to obtain multiple data decision sub-models.
[0087] The M sub-model training sample data sets are respectively input into the M models to be trained for training. Figure 4 As shown, M data decision sub-models are finally obtained, and each data decision sub-model can be regarded as a lightweight intelligent agent.
[0088] For each model to be trained, each agent will perform forward propagation and back propagation, that is, calculate the output based on the input data and adjust the model parameters according to the error until the model error no longer decreases significantly, achieving model convergence.
[0089] Among them, the error backpropagation technology is used to adjust the connection weights of each neuron in the neural network, so that the prediction results of the model are closer to the true value, that is, the model converges and a data decision sub-model is obtained.
[0090] Among them, a neuron can be understood as a "computing unit" that receives input data and outputs a result after calculation. The weight of a neuron refers to the strength of the connection between neurons, which determines the degree of influence of the input data on the output result.
[0091] Optionally, an independent training thread is allocated to each model to be trained; multiple independent training threads are controlled to run, and multiple models to be trained are trained in parallel to obtain multiple data decision sub-models.
[0092] Specifically, multiple sample data subsets are assigned to multiple independent training threads; Control multiple independent training threads to perform parallel training on multiple models to be trained based on sample data subsets to obtain multiple data decision sub-models.
[0093] Among them, independent training threads can be multiple threads in the data transmission node, and / or the independent training thread is the decision-making thread. After the data decision sub-model is deployed and launched, a new sub-model training sample data set and a further sampled sample data subset can still be constructed based on the status data of the data transmission node during actual operation. Reinforcement learning of the data decision sub-model can be achieved through continuous interaction with the actual operating environment of the data transmission node.
[0094] Independent training threads can run in parallel; multiple models to be trained are trained in parallel on different independent training threads, and each model to be trained is trained based on a different subset of sample data. The training processes between different independent training threads do not interfere with each other, which greatly improves the training and model convergence efficiency.
[0095] In the embodiment of the present disclosure, the sample data subsets used by each data decision sub-model during the training process include different sample data combinations, and each data decision sub-model uses a different sample data subset. Therefore, even if some data decision sub-models have overfitting and other phenomena that may cause errors, other data decision sub-models can compensate for the errors, thereby improving the stability of congested data decisions as a whole.
[0096] In addition, in the embodiments of the present disclosure, each data decision sub-model can be independently trained on different data subsets. Combined with the multi-threading capability of the data transmission node CPU, the model can be trained in parallel on multiple independent training threads, which not only speeds up the training speed but also improves the scalability of the algorithm.
[0097] On the basis of any one of the above embodiments, the real-time status data of the data transmission node is respectively input into each data decision sub-model to obtain multiple sets of reference control parameters output by multiple data decision sub-models, including: obtaining multiple sets of preset control parameters; for each data decision sub-model, the real-time status data of the data transmission node is input into the data decision sub-model so that the data decision sub-model makes a decision among the multiple sets of preset control parameters, and selects a set of preset control parameters as the reference control parameters output by the data decision sub-model.
[0098] The multiple groups of preset control parameters are multiple groups of congestion control parameters preset based on expert experience, and each group of preset control parameters includes at least one of the following: a normalized packet sending rate, a normalized ECN marking rate, and a normalized queue length.
[0099] The data decision sub-model makes data decisions by selecting a set of preset control parameters that best suits the current data transmission node from multiple sets of preset control parameters based on the real-time status data of the currently input data transmission node, and outputs it as a reference control parameter.
[0100] Specifically, according to the multiple groups of reference control parameters, the number of decision hits of each group of preset control parameters is counted; and the preset control parameter with the largest number of decision hits is determined as the target control parameter.
[0101] Specifically, for each set of preset control parameters, the number of data decision sub-models whose output results are the preset control parameters is counted; and the number of data decision sub-models whose output results are the preset control parameters is taken as the number of decision hits of the preset control parameters.
[0102] Since multiple data decision sub-models are trained based on different sample data subsets, after the data decision sub-models are put into use, for the same input data, that is, the real-time status data of the data transmission node, different data decision sub-models may select different reference control parameters from multiple sets of preset control parameters. Some data decision sub-models may make different decision results from other models due to model overfitting and other situations.
[0103] The number of decision hits of the preset control parameters is the number of data decision sub-models whose output results are the preset control parameters. For a set of preset control parameters, the more the number of data decision sub-models whose output results are the preset control parameters, that is, the more decision hits, the greater the probability that the preset control parameters are the optimal control parameters in the real-time state of the current data transmission node, and the higher the reliability of using the preset control parameters with the largest number of decision hits as the target control parameters for congestion control.
[0104] The disclosed embodiment utilizes multiple data decision sub-models to make joint decisions, selects the preset control parameter with the highest number of decision hits as the final target control parameter, and eliminates possible erroneous decisions made by a small number of data decision sub-models, thereby compensating for the problem of decreased decision-making ability caused by lightweight models, improving the robustness of congestion control parameter decisions, and ensuring the reliability of congestion control.
[0105] Figure 5 This is a flow chart of a congestion control method provided by another embodiment of the present disclosure. Figure 5 As shown, the method comprises the following steps: S501. Construct a sub-model training sample data set based on the historical operating parameters of the data transmission node.
[0106] Specifically, historical operating parameters of the data transmission node are obtained, and the historical operating parameters include data transmission node status data and data transmission node congestion configuration parameters at each sampling moment; based on the data transmission node status data at the first sampling moment and the data transmission node status data at the second sampling moment, the system benefit of the data transmission node congestion configuration parameters at the first sampling moment is calculated, and the first sampling moment is the sampling moment before the second sampling moment; the data transmission node status data at the first sampling moment, the data transmission node status data at the second sampling moment, the data transmission node congestion configuration parameters at the first sampling moment, and the system benefit are combined into a sample data combination.
[0107] S502: Sampling the sub-model training sample data set to obtain multiple sample data subsets, each sample data subset including a different sample data combination.
[0108] The Bootstrap method is used to sample the sub-model training sample data set with replacement to obtain multiple sample data subsets.
[0109] S503: Perform multi-threaded parallel training on multiple models to be trained using multiple sample data subsets to obtain multiple data decision sub-models.
[0110] S504, deploy multiple data decision sub-models to multiple threads and run them in parallel.
[0111] S505. Input the real-time status data of the data transmission node into each data decision sub-model respectively, obtain multiple groups of reference control parameters output by multiple data decision sub-models, and generate a group of target control parameters corresponding to the real-time status data according to the multiple groups of reference control parameters.
[0112] Specifically, multiple groups of preset control parameters are obtained; for each data decision sub-model, the real-time status data of the data transmission node is input into the data decision sub-model, so that the data decision sub-model makes a decision among the multiple groups of preset control parameters, and selects a group of preset control parameters as the reference control parameters output by the data decision sub-model. According to the multiple groups of reference control parameters, the number of decision hits of each group of preset control parameters is counted; and the preset control parameter with the largest number of decision hits is determined as the target control parameter.
[0113] The disclosed embodiment decomposes the original congestion control parameter decision model into multiple lightweight data decision sub-models, performs Bootstrap sampling on the offline training data set to generate multiple training subsets for fast distributed training, and then fully utilizes the CPU multi-core and multi-threaded deployment capabilities to efficiently promote the real-time decision-making of multiple lightweight data decision sub-models, while maximizing the impact of erroneous data in some data collection processes, improving the robustness of the model, and solving the overfitting problem of individual data decision sub-models based on joint decision-making.
[0114] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment 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.
[0115] Figure 6 Schematic diagram of a congestion control device provided in an embodiment of the present disclosure. The device can execute the above congestion control method embodiment. Figure 6As shown, the congestion control device includes: a construction module 61, a first acquisition module 62, a second acquisition module 63, and a congestion control module 64; the construction module 61 is used to construct multiple data decision sub-models based on the original congestion control parameter decision model, and the scale of each data decision sub-model is smaller than the scale of the original congestion control parameter decision model; the first acquisition module 62 is used to input the real-time status data of the data transmission node into each data decision sub-model respectively, and obtain multiple groups of reference control parameters output by multiple data decision sub-models, wherein each data decision sub-model generates a group of reference control parameters respectively; the second acquisition module 63 is used to generate a group of target control parameters corresponding to the real-time status number according to the multiple groups of reference control parameters; the congestion control module 64 is used to perform congestion control on the data transmission node according to the target control parameters.
[0116] Optionally, the construction module 61 includes a first construction unit 611, a second construction unit 612, a sampling unit 613, and a training unit 614; the first construction unit 611 is used to construct multiple models to be trained based on the structural parameters of the original congestion control parameter decision model; the second construction unit 612 is used to construct a sub-model training sample data set based on the historical operating parameters of the data transmission node, and the sub-model training sample data set includes multiple sample data combinations; the sampling unit 613 is used to sample the sub-model training sample data set to obtain multiple sample data subsets, each sample data subset includes a different sample data combination; the training unit 614 is used to use multiple sample data subsets to train multiple models to be trained respectively to obtain multiple data decision sub-models.
[0117] Optionally, the first construction unit 611 is used to obtain the input layer data dimension, output layer data dimension, and the number of hidden layer neurons of the original congestion control parameter decision model; and construct the model to be trained according to the input layer data dimension, output layer data dimension, and the number of hidden layer neurons, so that the input layer data dimension and output layer data dimension of the model to be trained are the same as those of the original congestion control parameter decision model, and the number of hidden layer neurons of the model to be trained is less than the number of hidden layer neurons of the original congestion control parameter decision model.
[0118] Optionally, the second construction unit 612 is used to obtain historical operating parameters of the data transmission node, the historical operating parameters including data transmission node status data and data transmission node congestion configuration parameters at each sampling moment; based on the data transmission node status data at the first sampling moment and the data transmission node status data at the second sampling moment, calculate the system benefit of the data transmission node congestion configuration parameters at the first sampling moment, the first sampling moment being the sampling moment before the second sampling moment; the data transmission node status data at the first sampling moment, the data transmission node status data at the second sampling moment, the data transmission node congestion configuration parameters at the first sampling moment, and the system benefit form a sample data combination.
[0119] Optionally, the training unit 614 is used to allocate an independent training thread to each of the models to be trained; control the operation of multiple independent training threads, perform parallel training on the multiple models to be trained, and obtain the multiple data decision sub-models.
[0120] Optionally, the training unit 614 is used to distribute multiple sample data subsets to multiple independent training threads; control the multiple independent training threads to perform parallel training on the multiple models to be trained based on the sample data subsets to obtain the multiple data decision sub-models.
[0121] Optionally, the congestion control device also includes a deployment module 65, which is used to determine a preset number of threads among the multiple threads of the data transmission node as decision threads; deploy the multiple data decision sub-models to the decision threads, and the data decision sub-models correspond one-to-one to the decision threads.
[0122] Optionally, the first acquisition module 62 is used to input the real-time status data of the data transmission node into each of the data decision sub-models respectively, so that the data decision sub-models on different decision threads make parallel decisions based on the real-time status data of the data transmission node; collect the decision results of the data decision sub-models on the different decision threads to obtain multiple sets of reference control parameters.
[0123] Optionally, the first acquisition module 62 includes an acquisition unit 621 and a decision unit 622; the acquisition unit 621 is used to acquire multiple sets of preset control parameters; the decision unit 622 is used to input the real-time status data of the data transmission node into the data decision sub-model for each data decision sub-model, so that the data decision sub-model makes a decision among the multiple sets of preset control parameters and selects a set of preset control parameters as reference control parameters output by the data decision sub-model.
[0124] Optionally, the second acquisition module 63 includes a statistical unit 631 and a determination unit 632; the statistical unit 631 is used to count the number of decision hits for each group of preset control parameters based on multiple groups of reference control parameters; the determination unit 632 is used to determine the preset control parameter with the largest number of decision hits as the target control parameter.
[0125] Optionally, the statistical unit 631 is used to count the number of data decision sub-models whose output results are the preset control parameters for each group of preset control parameters; and take the number of data decision sub-models whose output results are the preset control parameters as the number of decision hits for the preset control parameters.
[0126] Optionally, the real-time status data of the data transmission node includes at least one of the following: a normalized packet sending rate, a normalized ECN marking rate, and a normalized queue length.
[0127] For the description of the features in the embodiment corresponding to the congestion control device, please refer to the relevant description of the embodiment corresponding to the congestion control method, which will not be repeated here.
[0128] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above-mentioned congestion control method embodiments.
[0129] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any one of the above-mentioned congestion control method embodiments when running.
[0130] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0131] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above congestion control method embodiments are implemented.
[0132] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above-mentioned congestion control method embodiments are implemented.
[0133] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0134] The above is a detailed introduction to a congestion control method, device, electronic device and readable storage medium provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A congestion control method, characterized in that: The method is applied to a data transmission node in a network architecture, and the method comprises: Based on the original congestion control parameter decision model, construct multiple data decision sub-models, each of which has a smaller scale than the original congestion control parameter decision model; Inputting the real-time status data of the data transmission node into each of the data decision sub-models respectively, to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, wherein each of the data decision sub-models generates a group of reference control parameters respectively; Generating a set of target control parameters corresponding to the real-time state number according to the multiple sets of reference control parameters; Congestion control is performed on the data transmission node according to the target control parameter.
2. The congestion control method according to claim 1, characterized in that: Based on the original congestion control parameter decision model, multiple data decision sub-models are constructed, including: Based on the structural parameters of the original congestion control parameter decision model, construct a plurality of models to be trained; Constructing a sub-model training sample data set based on historical operating parameters of the data transmission node, wherein the sub-model training sample data set includes multiple sample data combinations; Sampling the sub-model training sample data set to obtain a plurality of sample data subsets, each of the sample data subsets including a different sample data combination; The multiple models to be trained are trained respectively using the multiple sample data subsets to obtain multiple data decision sub-models.
3. The method according to claim 2, characterized in that The constructing of multiple models to be trained based on the structural parameters of the original congestion control parameter decision model includes: Obtaining the input layer data dimension, output layer data dimension, and number of hidden layer neurons of the original congestion control parameter decision model; The model to be trained is constructed according to the input layer data dimension, the output layer data dimension, and the number of hidden layer neurons, so that the input layer data dimension and the output layer data dimension of the model to be trained are the same as those of the original congestion control parameter decision model, and the number of hidden layer neurons of the model to be trained is less than the number of hidden layer neurons of the original congestion control parameter decision model.
4. The congestion control method according to claim 2, characterized in that: The sub-model training sample data set is constructed based on the historical operating parameters of the data transmission node, including: Acquire historical operating parameters of the data transmission node, wherein the historical operating parameters include data transmission node status data and data transmission node congestion configuration parameters at each sampling time; Calculate the system benefit of the data transmission node congestion configuration parameter at the first sampling moment according to the data transmission node status data at the first sampling moment and the data transmission node status data at the second sampling moment, wherein the first sampling moment is a sampling moment before the second sampling moment; The data transmission node status data at the first sampling moment, the data transmission node status data at the second sampling moment, the data transmission node congestion configuration parameters at the first sampling moment, and the system benefit form a sample data combination.
5. The method according to claim 2, characterized in that: The method of using the multiple sample data subsets to train the multiple models to be trained respectively to obtain multiple data decision sub-models includes: Allocate an independent training thread to each of the models to be trained; Control the multiple independent training threads to run, perform parallel training on the multiple models to be trained, and obtain the multiple data decision sub-models.
6. The method according to claim 5, characterized in that The controlling the plurality of independent training threads to run and performing parallel training on the plurality of models to be trained includes: Allocating a plurality of sample data subsets to a plurality of the independent training threads; Control the multiple independent training threads to perform parallel training on the multiple models to be trained based on the sample data subset to obtain the multiple data decision sub-models.
7. The congestion control method according to claim 1, characterized in that: After constructing a plurality of data decision sub-models based on the original congestion control parameter decision model, the method further includes: Determining a preset number of threads from among the plurality of threads of the data transmission node as decision threads; The multiple data decision sub-models are deployed to the decision thread, and the data decision sub-models correspond to the decision thread one by one.
8. The congestion control method according to claim 7, characterized in that: The real-time status data of the data transmission node is input into each of the data decision sub-models to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, including: Inputting the real-time status data of the data transmission node into each of the data decision sub-models respectively, so that the data decision sub-models on different decision threads make parallel decisions according to the real-time status data of the data transmission node; The decision results of the data decision sub-models on the different decision threads are collected to obtain multiple groups of reference control parameters.
9. The congestion control method according to claim 1, characterized in that: The real-time status data of the data transmission node is input into each of the data decision sub-models to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, including: Get multiple sets of preset control parameters; For each data decision sub-model, the real-time status data of the data transmission node is input into the data decision sub-model so that the data decision sub-model makes a decision among the multiple groups of preset control parameters and selects a group of preset control parameters as reference control parameters output by the data decision sub-model.
10. The congestion control method according to claim 9, characterized in that: Generating a set of target control parameters corresponding to the data transmission node status data according to the multiple sets of reference control parameters includes: According to the multiple groups of reference control parameters, counting the number of decision hits of each group of preset control parameters; The preset control parameter with the largest number of decision hits is determined as the target control parameter.
11. The congestion control method according to claim 10, characterized in that: The counting of the number of decision hits of each set of preset control parameters according to the multiple sets of reference control parameters includes: For each set of preset control parameters, the statistical output result is the number of data decision sub-models of the preset control parameters; The number of data decision sub-models whose output results are the preset control parameters is taken as the number of decision hits of the preset control parameters.
12. The method according to any one of claims 1 to 11, characterized in that The real-time status data of the data transmission node includes at least one of the following: a normalized packet sending rate, a normalized ECN marking rate, and a normalized queue length.
13. A congestion control device, characterized in that: include: A construction module, used to construct a plurality of data decision sub-models based on the original congestion control parameter decision model, wherein the scale of each of the data decision sub-models is smaller than the scale of the original congestion control parameter decision model; A first acquisition module is used to input the real-time status data of the data transmission node into each of the data decision sub-models to obtain multiple groups of reference control parameters output by the multiple data decision sub-models, wherein each of the data decision sub-models generates a group of reference control parameters; A second acquisition module, used for generating a set of target control parameters corresponding to the real-time state number according to the multiple sets of reference control parameters; The congestion control module is used to perform congestion control on the data transmission node according to the target control parameter.
14. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the congestion control method according to any one of claims 1 to 12 when executing the computer program.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the congestion control method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Intelligent congestion control method and system for space-ground integrated information network, and medium
CN114500383A
Network congestion control method, system and device, electronic equipment and storage medium
CN117692390A
Congestion control method, electronic device, storage medium and program product
CN118214718A
Congestion control method, congestion control model training method, switch and medium
CN118233383A
Network congestion control method, device, equipment, medium and product
CN118590932A