Network flow control method, system, engine, node and related equipment
By determining the optimal source port and transmission rate in network traffic control and establishing a port path table, the problems of insufficient link bandwidth utilization and insufficient burst traffic response in traditional methods are solved, and network data transmission efficiency is improved.
Patent Information
- Application Number
- CN202510885049.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-08-29
AI Technical Summary
Traditional load balancing methods are prone to hash polarization problems, resulting in insufficient link bandwidth utilization, and traditional congestion control methods cannot cope with burst transmission traffic, resulting in inefficient network data transmission.
By receiving communication information from the source computing node, the optimal source port and transmission rate are determined, the forwarding path is allocated to the source computing node based on the communication information, and the detection packet traversal is performed before the data is transmitted, and the port path table is established to avoid the source computing node from selecting the same source port, and make full use of each forwarding path.
It improves network data transmission efficiency, solves the problems of insufficient link bandwidth utilization and inability to cope with burst transmission traffic, and achieves more efficient network data transmission.
Smart Images

Figure CN120567772A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a network traffic control method, system, engine, node and related equipment. Background Art
[0002] To ensure efficient data transmission, network traffic (data flow) must be controlled. Traffic control involves two aspects: load balancing and congestion control. Traditional load balancing methods are prone to hash polarization, which leads to insufficient link bandwidth utilization and restricts overall network efficiency. Traditional congestion control methods only adjust data flow speeds after congestion occurs, making them unable to cope with bursts (sudden data flows requiring transmission) and prone to problems such as queue backlogs on switches. Summary of the Invention
[0003] The present disclosure provides a network traffic control method, system, engine, node and related devices, which can improve the efficiency of network data transmission at least to a certain extent.
[0004] According to one aspect of the present disclosure, a network traffic control method is provided, which is applied to a network intelligent control engine, including: receiving communication information of a source computing power node, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and the identification number of a source port selected by the source computing power node; determining the optimal source port and sending rate of the source computing power node based on the communication information; determining the forwarding path of the source computing power node based on the optimal sending port; and sending configuration information to the source computing power node, wherein the configuration information includes: a sending rate and a forwarding path.
[0005] In one embodiment of the present disclosure, determining a forwarding path of a source computing power node based on an optimal sending port includes: determining a forwarding path corresponding to the optimal sending port from a port path table.
[0006] In one embodiment of the present disclosure, before determining the forwarding path of the source computing power node based on the optimal sending port, the method also includes: sending a detection packet to traverse the source ports within a preset range, recording the path passed by the detection packet through each source port; and storing each source port and the path corresponding to each source port in a port path table.
[0007] In one embodiment of the present disclosure, after storing each source port and the path corresponding to each source port in a port path table, the method further includes: determining the number of all paths stored in the port path table; obtaining the total number of paths in the network; and determining whether to stop sending the probe packet based on the number of all paths stored in the port path table and the total number of paths.
[0008] In one embodiment of the present disclosure, the following loop is executed: receiving communication information of a source computing power node; determining the optimal source port and sending rate based on the communication information; determining a forwarding path based on the optimal sending port; sending configuration information to the source computing power node; determining whether model training is completed, wherein distributed model training is performed between the source computing power node and the target computing power node; if model training is completed, exiting the loop; otherwise, continuing the loop.
[0009] In one embodiment of the present disclosure, before determining the forwarding path of the source computing power node based on the optimal sending port, the method also includes: executing the following loop: sending a detection packet to traverse the source ports within a preset range, and recording the path that the detection packet passes through each source port; storing each source port and the path corresponding to each source port in a port path table; determining the number of all paths stored in the port path table; obtaining the total number of paths in the network; calculating the detection coverage rate based on the number of all paths stored in the port path table and the total number of paths; when the detection coverage rate is greater than the preset value, ending the loop; when the detection coverage rate is not greater than the preset value, continuing the loop.
[0010] In one embodiment of the present disclosure, the communication information also includes the identification numbers of the computing units selected by the source computing power node and the target computing power node.
[0011] According to another aspect of the present disclosure, a network traffic control method is provided, which is applied to a source computing power node, including: sending communication information to a network intelligent control engine, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node; receiving configuration information fed back by the network intelligent control engine, wherein the configuration information includes: the sending rate and forwarding path of the source computing power node, the network intelligent control engine determines the sending rate and forwarding path based on the communication information; and sending data to the target computing power node according to the sending rate and forwarding path.
[0012] In one embodiment of the present disclosure, the method also includes: executing the following loop: sending communication information to the network intelligent control engine; receiving configuration information fed back by the network intelligent control engine; sending training results to the target computing power node according to the sending rate and forwarding path, wherein distributed model training is performed between the source computing power node and the target computing power node; judging whether the model training is completed; if the model training is completed, exiting the loop, otherwise, continuing the loop.
[0013] According to another aspect of the present disclosure, a network intelligent control engine is provided, including: a first receiving unit, configured to receive communication information of a source computing power node, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and the identification number of a source port selected by the source computing power node; a load balancing decision unit, configured to determine the optimal source port of the source computing power node based on the communication information, and determine the forwarding path of the source computing power node based on the optimal sending port; a congestion control decision unit, configured to determine the sending rate of the source computing power node based on the communication information; and a first sending unit, configured to send configuration information to the source computing power node, wherein the configuration information includes: a sending rate and a forwarding path.
[0014] According to another aspect of the present disclosure, a source computing power node is provided, including: a communication information reporting unit, configured to send communication information to a network intelligent control engine, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node; a second receiving unit, configured to receive configuration information fed back by the network intelligent control engine, wherein the configuration information includes: the sending rate and forwarding path of the source computing power node, and the network intelligent control engine determines the sending rate and forwarding path based on the communication information; and a second sending unit, configured to send data to the target computing power node according to the sending rate and forwarding path.
[0015] According to another aspect of the present disclosure, a network traffic control system is provided, comprising: the above-mentioned network intelligent control engine and the above-mentioned source computing power node.
[0016] According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the above methods by executing the executable instructions.
[0017] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, any of the above methods is implemented.
[0018] According to another aspect of the present disclosure, a computer program product is provided, including computer instructions stored in a computer-readable storage medium, and the computer instructions implement operating instructions of any of the above methods when executed by a processor.
[0019] In an embodiment of the present disclosure, the optimal source port and sending rate of the source computing power node are determined based on communication information, the forwarding path of the source computing power node is determined based on the optimal sending port, and the forwarding path and sending rate are sent to the source computing power node, thereby solving the problems of insufficient link bandwidth utilization and inability to cope with burst transmission traffic in network data transmission in related technologies, thereby improving network data transmission efficiency.
[0020] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0022] Figure 1 A schematic diagram of a network traffic control system in an embodiment of the present disclosure is shown.
[0023] Figure 2 A flow chart of a network traffic control method in an embodiment of the present disclosure is shown.
[0024] Figure 3 A flowchart of a distributed model training method in an embodiment of the present disclosure is shown.
[0025] Figure 4 A flow chart of a path detection method in an embodiment of the present disclosure is shown.
[0026] Figure 5 A flowchart of another network traffic control method in an embodiment of the present disclosure is shown.
[0027] Figure 6 A flowchart of another distributed model training method in an embodiment of the present disclosure is shown.
[0028] Figure 7 A schematic diagram showing another network traffic control system in an embodiment of the present disclosure.
[0029] Figure 8 A network intelligent control engine in an embodiment of the present disclosure is shown.
[0030] Figure 9 A source computing power node in an embodiment of the present disclosure is shown.
[0031] Figure 10 A schematic diagram showing another network traffic control system in an embodiment of the present disclosure is shown.
[0032] Figure 11 A schematic diagram of an electronic device provided in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0033] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0034] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0035] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0036] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0037] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".
[0038] It should be pointed out that, in the absence of conflict, the embodiments of the present disclosure and the technical features therein may be combined with each other.
[0039] For ease of understanding, several terms involved in this disclosure are explained below:
[0040] ECMP (Equal-Cost Multi-Path) is a network routing technology that evenly distributes traffic across multiple equal-cost paths, improving network bandwidth utilization and reliability. In commercial RoCE (RDMA over Converged Ethernet) solutions, ECMP is widely used for per-flow load balancing.
[0041] Heuristic congestion control is a traffic management technology based on empirical rules and real-time network status feedback. Its core is to determine the degree of network congestion by rapidly detecting metrics such as packet loss, latency, and queue length, and dynamically adjust the transmission rate to avoid performance degradation. Unlike algorithms that rely on mathematical models, heuristic methods achieve rapid response through empirical rules (such as packet loss triggering a speed reduction and increasing latency triggering a reduction in the send window), making them suitable for dynamically changing network environments (such as wireless communications and data center networks). Their advantages lie in flexibility and low computational overhead, but their overreliance on empirical evidence can lead to imprecise strategies, necessitating parameter optimization based on specific scenarios.
[0042] UDP (User Datagram Protocol) is a connectionless transport layer protocol that doesn't guarantee reliable data transmission, but it offers low overhead and high transmission efficiency. UDP ports are logical ports used to identify different applications or services. Port numbers allow operating systems to correctly forward received UDP packets to the appropriate applications.
[0043] The Collective Communication Library (CCL) operation is the core mechanism for achieving efficient collaborative communication among multiple nodes in distributed training. It encapsulates collective operations such as All Reduce (all nodes aggregate gradients and synchronize results) and Broadcast (the master node broadcasts data to all nodes), enabling each node to synchronize data (such as model parameters and gradients) or exchange information (such as features) during training, thereby avoiding the manual implementation of complex point-to-point communication logic. For example, in deep learning training, the All Reduce operation aggregates the gradients of all computing nodes, averages them, and broadcasts them back to each node to ensure model parameter consistency. The communication information reporting unit helps developers analyze communication bottlenecks and optimize distributed training efficiency by recording key indicators such as the time slice, data volume, communication nodes, and time consumption of these operations.
[0044] Intelligent computing training scenarios are mainly focused on using artificial intelligence algorithms to learn large-scale data and train high-performance intelligent models to achieve various intelligent tasks such as image recognition, natural language processing, speech recognition, and intelligent recommendations.
[0045] Distributed training is a technology that distributes the training of large-scale machine learning or deep learning models across multiple computing nodes (such as multiple servers or GPU clusters) for parallel execution. Its core purpose is to significantly shorten model training time and improve training efficiency by leveraging the collaborative work of multiple computing nodes, enabling the processing of larger datasets and more complex model architectures. In distributed training, computing nodes primarily share training results (such as gradients and parameters) rather than the original training data, reducing communication overhead and protecting data privacy.
[0046] Priority Flow Control (PFC): A technology used in data center networks that addresses the limitations of traditional flow control mechanisms in multi-priority traffic environments. Based on the IEEE 802.1Qbb standard, it enhances Ethernet flow control by allowing for separate flow control for data flows of different priorities. This means that if a data flow of a specific priority becomes congested, PFC can suspend the transmission of data frames of that priority without affecting the normal transmission of data flows of other priorities.
[0047] Figure 1 A schematic diagram of a network traffic control system in an embodiment of the present disclosure is shown, which involves a computing power layer, a network layer, and a control layer. Multiple servers (such as Server 1 to Server Z) are deployed in the computing power layer, each server including a communication information reporting unit, a communication port modification unit, and a transmission rate modification unit; multiple backbone nodes (Spine) and leaf nodes (Leaf) are deployed in the network layer, and both the backbone nodes and leaf nodes are switches; and a network intelligent control engine is deployed in the control layer, which includes a traffic analysis module, a congestion control decision module, and a load balancing decision module.
[0048] The communication information reporting unit is configured to send communication information to the network intelligent control engine, wherein the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node.
[0049] The traffic analysis module is configured to aggregate the communication information of all source computing nodes.
[0050] The load balancing decision unit is configured to determine the optimal source port of the source computing power node based on the communication information, and determine the forwarding path of the source computing power node based on the optimal sending port.
[0051] A congestion control decision unit is configured to determine the sending rate of the source computing power node based on the communication information.
[0052] The communication port modification unit is configured to modify the source port selected by the source computing power node to the source port corresponding to the forwarding path.
[0053] The sending rate modification unit is configured to modify the sending rate selected or defaulted by the source computing power node to the sending rate in the configuration information.
[0054] Figure 2 A flow chart of a network traffic control method according to an embodiment of the present disclosure is shown, which is applied to a network intelligent control engine. Figure 2 As shown, the following steps are included:
[0055] S201, receiving communication information of a source computing power node, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and an identification number of a source port selected by the source computing power node.
[0056] For example, computing nodes can be interactive servers, devices, and clouds, etc. The source computing node acts as the sender, and the target computing node acts as the receiver.
[0057] It should be noted that a computing node can serve as both a source computing node and a target computing node. For example, when a computing node needs to send data, it serves as a source computing node; when a computing node needs to receive data, it serves as a target computing node.
[0058] In this embodiment, the communication information includes an identification number for marking a source computing power node, an identification number for marking a target computing power node, and an identification number for marking a source port.
[0059] For example, the source port is the UDP port selected by the source computing power node to send data.
[0060] In one embodiment of the present disclosure, the communication information also includes the identification numbers of the computing units selected by the source computing power node and the target computing power node.
[0061] Exemplarily, the computing unit may be a central processing unit or a graphics processing unit. The source computing node and the target computing node may have one or more computing units.
[0062] In this embodiment, the communication information includes an identification number for marking the computing unit selected by the source computing power node and an identification number for marking the computing unit selected by the target computing power node.
[0063] S202: Determine the optimal source port and sending rate of the source computing power node based on the communication information.
[0064] In this embodiment, based on one or more pieces of information in the communication information, an optimal source port is allocated to the source computing power node, and the sending rate of data (data flow) sent by the source computing power node is determined.
[0065] In an exemplary embodiment, the principle of allocating the optimal source port to the source computing power node is that there will not be a situation in the network where two source computing power nodes choose one source port. Because in the related art, when there is no congestion, the source computing power node selects a source port on its own, and only after congestion occurs, the congestion is resolved by using methods such as heuristic congestion control algorithms. In the embodiment of the present disclosure, before transmitting data, the optimal source port is allocated to the source computing power node based on the communication information, avoiding the situation where two source computing power nodes choose one source port, making full use of each source port, and then making full use of each forwarding path, solving the problem of insufficient link bandwidth utilization in network data transmission, and improving network data transmission efficiency.
[0066] In the embodiment of the present disclosure, when no congestion occurs, the sending rate of the source computing power node is determined each time based on the communication information, so there is no sudden traffic that needs to be transmitted affecting the existing transmission of the network, so as to solve the problem that the network data transmission cannot cope with sudden transmission traffic, thereby improving the network data transmission efficiency.
[0067] In one exemplary embodiment, the sending rate is determined based on the available bandwidth and the number of connections in the network.
[0068] For example, the ratio of available bandwidth to the number of connections is used as the sending rate. Available bandwidth is the bandwidth available in the network. A source computing node sending data to a target computing node is considered a connection, and the number of connections is the total number of connections in the network.
[0069] In one exemplary embodiment, the sending rate is determined based on the available bandwidth in the network and the number of source computing nodes.
[0070] For example, the ratio of available bandwidth to the number of source computing nodes is used as the sending rate.
[0071] S203: Determine the forwarding path of the source computing power node based on the optimal sending port.
[0072] In an exemplary embodiment, one sending port corresponds to one or more forwarding paths, so the forwarding path of the source computing power node can be determined based on the optimal sending port.
[0073] In one embodiment of the present disclosure, determining a forwarding path of a source computing power node based on an optimal sending port includes: determining a forwarding path corresponding to the optimal sending port from a port path table.
[0074] The port path table stores the correspondence between the sending port and the forwarding path, so a corresponding forwarding path can be determined for the optimal sending port from the port path table.
[0075] S204: Send configuration information to the source computing power node, where the configuration information includes: sending rate and forwarding path.
[0076] In this embodiment, the configuration information is sent to the source computing power node, and then the source computing power node sends data to the target computing power node according to the configuration information.
[0077] In an optional embodiment, the configuration information includes: a sending rate, a forwarding path, and an optimal sending port.
[0078] In an optional embodiment, the above technical solution can be applied to intelligent computing training scenarios, specifically distributed model training, where both the source computing node and the target computing node are training parties in the distributed model training. After receiving the configuration information, the source computing node sends the training results to the target computing node according to the configuration information, thereby enabling the exchange of training results between the training parties.
[0079] In an optional embodiment, a network traffic control method is provided, including: receiving communication information of each source computing power node; determining the optimal source port and sending rate of each source computing power node based on the communication information of each source computing power node; determining the forwarding path of each source computing power node based on the optimal sending port of each source computing power node; and sending configuration information to each source computing power node.
[0080] The load balancing method in the related art, such as ECMP, is to distribute different data streams to different paths through a hash algorithm to achieve load balancing. However, in the intelligent computing training scenario, the number of data streams is relatively small. When the hash algorithm maps a limited number of data streams to the same or a few forwarding paths, hash polarization will occur. Because some links carry a large number of data streams, the load is too heavy and approaches or reaches the bandwidth limit; while other links have almost no data streams passing through and are in an idle state. This results in the overall link bandwidth not being effectively utilized, wasting network resources. Furthermore, due to congestion on some links, data transmission delays increase, and data loss may even occur, which will affect the timely processing of data and iterative updates of the model during intelligent computing training, thereby restricting the overall efficiency of model training. In the embodiment of the present disclosure, before transmitting data, the optimal source port is allocated to the source computing power node based on communication information, avoiding the situation where two source computing power nodes choose one source port, making full use of each source port, and then making full use of each forwarding path, solving the problem of insufficient link bandwidth utilization in network data transmission, and improving network data transmission efficiency.
[0081] Congestion control methods in related technologies, such as heuristic congestion control, are heuristic algorithms for passive speed regulation, and each computing power node will only take speed reduction measures after congestion occurs. In intelligent computing training, due to the bursty nature of data transmission, when burst traffic reaches the switch, the switch may not have time to process it, resulting in a rapid accumulation of queues. Due to the passivity of the algorithm, after congestion occurs, the response speed of the node to reduce speed may be slow, and the congestion cannot be alleviated in time. At the same time, when the subsequent traffic decreases, the speed increase response may also be too slow, resulting in an overly conservative rate, further exacerbating the congestion. In the embodiment of the present disclosure, when there is no congestion, each time the sending rate of the source computing power node is determined based on the communication information, there is no sudden need to transmit traffic to affect the existing transmission of the network, so as to solve the problem that network data transmission cannot cope with burst transmission traffic, thereby improving network data transmission efficiency.
[0082] In one embodiment of the present disclosure, before determining the forwarding path of the source computing power node based on the optimal sending port, the method also includes: sending a detection packet to traverse the source ports within a preset range, recording the path passed by the detection packet through each source port; and storing each source port and the path corresponding to each source port in a port path table.
[0083] In the disclosed embodiment, each source port is used as the sending port, a detection packet is sent, the path taken by the detection packet through the source port is recorded, and the recorded path corresponding to each source port is stored in a port path table. Through the above technical means, the path passed by each source port in the network is detected, and the port path table is obtained.
[0084] In one embodiment of the present disclosure, after storing each source port and the path corresponding to each source port in a port path table, the method further includes: determining the number of all paths stored in the port path table; obtaining the total number of paths in the network; and determining whether to stop sending the probe packet based on the number of all paths stored in the port path table and the total number of paths.
[0085] Exemplarily, the ratio of the number of all paths stored in the port path table to the total number of paths is calculated as the detection coverage rate. If the detection coverage rate is greater than a preset value, the sending of the detection packet is stopped, otherwise, the sending of the detection packet is continued.
[0086] In the embodiment of the present disclosure, whether to stop sending the detection packet is determined according to the detection coverage rate. The detection is stopped only when the detection coverage rate is greater than a preset threshold, thereby ensuring that the port path table stores enough paths.
[0087] Figure 3 A flow chart of a distributed model training method according to an embodiment of the present disclosure is shown, which is applied to a network intelligent control engine, such as Figure 3 As shown, execute the following loop:
[0088] S301, receiving communication information from a source computing power node;
[0089] S302, determining an optimal source port and sending rate based on the communication information;
[0090] S303, determining a forwarding path based on the optimal sending port;
[0091] S304: Send configuration information to the source computing power node;
[0092] S305: Determine whether model training is complete, wherein distributed model training is performed between the source computing power node and the target computing power node;
[0093] S306, if the model training is completed, exit the loop;
[0094] Otherwise, continue looping.
[0095] In an optional embodiment, if the number of training rounds is greater than a preset number of rounds, it is determined that the model training is completed; otherwise, it is determined that the model training is not completed.
[0096] In an optional embodiment, if the accuracy of the models of the source computing power node and the target computing power node are both greater than the preset accuracy, it is determined that the model training is completed; otherwise, it is determined that the model training is not completed.
[0097] In this embodiment, if the distributed model training is not completed, the forwarding path and sending rate are determined based on the communication information uploaded by the source computing power node, and the forwarding path and sending rate are sent to the source computing power node. Then, the source computing power node sends the training results to the target computing power node based on the forwarding path and sending rate. This solves the problems of insufficient link bandwidth utilization and inability to cope with burst transmission traffic in the existing network data transmission method in the distributed model training scenario, thereby improving the network data transmission efficiency.
[0098] Figure 4 A flow chart of a path detection method according to an embodiment of the present disclosure is shown, which is applied to a network intelligent control engine, such as Figure 4 As shown, execute the following loop:
[0099] S401, sending a detection packet to traverse the source ports within a preset range, and recording the path that the detection packet passes through each source port;
[0100] S402, storing each source port and the path corresponding to each source port in a port path table;
[0101] S403, determining the number of all paths stored in the port path table; obtaining the total number of paths in the network;
[0102] S404, calculating the detection coverage based on the number of all paths stored in the port path table and the total number of paths;
[0103] S405, when the detection coverage is greater than the preset value, the loop ends;
[0104] S406: When the detection coverage is not greater than the preset value, the cycle continues.
[0105] In an embodiment of the present disclosure, the paths passing through each source port in the network are detected, the paths corresponding to the detected source ports are stored in a port path table, the detection coverage is calculated, and it is determined whether to stop sending detection packets based on the detection coverage. When the detection coverage is greater than a preset value, the detection is stopped, thereby ensuring that the port path table stores enough paths.
[0106] For example, the following table is a port path table in a communication matrix format:
[0107]
[0108]
[0109] Table 1
[0110] For example, the following table shows the communication information reported by a source computing node:
[0111]
[0112] Table 2
[0113] Figure 5 A flowchart of another network traffic control method according to an embodiment of the present disclosure is shown, which is applied to a source computing power node, such as Figure 5 As shown, the following methods are included:
[0114] S501, sending communication information to the network intelligent control engine, where the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node;
[0115] S502: Receive configuration information fed back by the network intelligent control engine, where the configuration information includes: a sending rate and a forwarding path of a source computing power node, and the network intelligent control engine determines the sending rate and the forwarding path based on the communication information;
[0116] S503: Send data to the target computing power node according to the sending rate and forwarding path.
[0117] In the disclosed embodiment, before transmitting data, the source computing power node reports communication information to the network intelligent control engine, obtains the transmission rate and forwarding path determined by the network intelligent control engine for it, and the source computing power node sends data according to the forwarding path, avoiding the situation where two source computing power nodes choose one source port, making full use of each source port, and then making full use of each forwarding path, solving the problem of insufficient link bandwidth utilization in network data transmission, and improving network data transmission efficiency. The source computing power node sends data according to the transmission rate, so that the existing network transmission is not affected by the sudden need to transmit traffic, thereby solving the problem of network data transmission being unable to cope with sudden transmission traffic, thereby improving network data transmission efficiency.
[0118] Figure 6 A flow chart of another distributed model training method according to an embodiment of the present disclosure is shown, which is applied to a source computing power node, such as Figure 6 As shown, execute the following loop:
[0119] S601, sending communication information to the network intelligent control engine;
[0120] S602, receiving configuration information fed back by the network intelligent control engine;
[0121] S603: Send the training results to the target computing power node according to the sending rate and forwarding path, wherein distributed model training is performed between the source computing power node and the target computing power node;
[0122] S604, determining whether model training is completed;
[0123] S605, if the model training is completed, exit the loop;
[0124] Otherwise, continue looping.
[0125] In this embodiment, if the distributed model training is not completed, the source computing power node continues to upload communication information to the network intelligent control engine, obtains the forwarding path and sending rate determined by the network intelligent control engine for the source computing power node, and then sends the training results to the target computing power node based on the forwarding path and sending rate, thereby solving the problems of insufficient link bandwidth utilization and inability to cope with burst transmission traffic in the existing network data transmission method in the distributed model training scenario, thereby improving network data transmission efficiency.
[0126] In an optional embodiment, during the first round of training, the source computing node does not send communication information to the network intelligent control engine. Instead, it uses default source port forwarding and a heuristic congestion control algorithm to control the sending rate. After the first round of training, the source computing node sends communication information to the network intelligent control engine, obtains configuration information, and then sends data to the target computing node according to the configuration information.
[0127] In an optional embodiment, multiple source computing power nodes and target computing power nodes train an image recognition model (the target computing power node acts as the master node, summarizing the training results of all source computing power nodes to optimize the model): first, the source computing power node and the target computing power node each use some of their own data to train the image recognition model deployed on their own to obtain training results, which include gradients or parameters, etc.; then the source computing power node sends communication information to the network intelligent control engine to obtain configuration information fed back by the network intelligent control engine; the source computing power node sends its own training results (data) to the target computing power node according to the configuration information, so that the target computing power node obtains the training results of multiple source computing power nodes; then the target computing power node optimizes the image recognition model based on all training results, thereby realizing distributed training of the image recognition model.
[0128] Figure 7 A schematic diagram showing another network traffic control system according to an embodiment of the present disclosure is shown. Figure 7 As shown, the network traffic control system includes:
[0129] Computing node 0 and computing node 1, both computing node 0 and computing node 1 have two computing units, GPU 0 and GPU 1. Computing node 0 and computing node 1 can both serve as source computing nodes or target computing nodes;
[0130] Leaf 0 is the switch closest to computing node 0, and leaf 1 is the switch closest to computing node 1. Spine 0 and spine 1 are transit switches. Leaf 0 and leaf 1, as well as spine 0 and spine 1, are all deployed at the network layer.
[0131] All connections are 400G links.
[0132] like Figure 7 Therefore, each computing unit of computing power node 0 and computing power node 1 can send data to each other through two forwarding paths.
[0133] Based on the same inventive concept, the present disclosure also provides various sensing nodes, network elements, and systems, such as the following embodiments. Since the principles for solving the problems of various sensing nodes, network elements, and systems are similar to those of the aforementioned method embodiments, the implementation of the various sensing nodes, network elements, and systems can refer to the implementation of the aforementioned method embodiments, and any repetitions will not be repeated.
[0134] Figure 8 A network intelligent control engine according to an embodiment of the present disclosure is shown. Figure 8 As shown, the network intelligent control engine may include:
[0135] The first receiving unit 801 is configured to receive communication information of a source computing power node, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and an identification number of a source port selected by the source computing power node;
[0136] The load balancing decision unit 802 is configured to determine the optimal source port of the source computing power node based on the communication information, and determine the forwarding path of the source computing power node based on the optimal sending port;
[0137] The congestion control decision unit 803 is configured to determine the sending rate of the source computing power node based on the communication information;
[0138] The first sending unit 804 is configured to send configuration information to the source computing power node, where the configuration information includes: a sending rate and a forwarding path.
[0139] According to the technical solution provided by the embodiment of the present disclosure, before transmitting data, the optimal source port is allocated to the source computing power node based on the communication information, avoiding the situation where two source computing power nodes choose one source port, making full use of each source port, and then making full use of each forwarding path, solving the problem of insufficient link bandwidth utilization in network data transmission, and improving network data transmission efficiency; when there is no congestion, the sending rate of the source computing power node is determined each time according to the communication information, and there is no sudden need to transmit traffic to affect the existing transmission of the network, so as to solve the problem that network data transmission cannot cope with sudden transmission traffic, thereby improving network data transmission efficiency.
[0140] The load balancing decision unit 802 may directly send the forwarding path to the source computing power node, and the congestion control decision unit 803 may directly send the sending rate to the source computing power node.
[0141] For example, the following table is a table of port numbers that are directly issued by the load balancing decision unit and will not cause hash conflicts:
[0142] Connection ID Source Port 0 50001 1 50004
[0143] Table 3
[0144] In some embodiments, the load balancing decision unit 802 is further configured to determine a forwarding path corresponding to an optimal sending port from the port path table.
[0145] In some embodiments, the load balancing decision unit 802 is further configured to send a probe packet to traverse source ports within a preset range, record the path that the probe packet passes through each source port, and store each source port and the path corresponding to each source port in a port path table.
[0146] In some embodiments, the load balancing decision unit 802 is further configured to determine the number of all paths stored in the port path table; obtain the total number of paths in the network; and determine whether to stop sending the probe packet based on the number of all paths stored in the port path table and the total number of paths.
[0147] In some embodiments, the first receiving unit 801 is further configured to execute the following loop: receive communication information of the source computing power node; determine the optimal source port and sending rate based on the communication information; determine the forwarding path based on the optimal sending port; send configuration information to the source computing power node; determine whether the model training is completed, wherein distributed model training is performed between the source computing power node and the target computing power node; if the model training is completed, exit the loop, otherwise, continue the loop.
[0148] In some embodiments, the load balancing decision unit 802 is further configured to execute the following loop: sending a probe packet to traverse the source ports within a preset range, recording the path that the probe packet passes through each source port; storing each source port and the path corresponding to each source port in a port path table; determining the number of all paths stored in the port path table; obtaining the total number of paths in the network; calculating the detection coverage based on the number of all paths stored in the port path table and the total number of paths; when the detection coverage is greater than a preset value, ending the loop; when the detection coverage is not greater than the preset value, continuing the loop.
[0149] In one embodiment of the present disclosure, the communication information also includes the identification numbers of the computing units selected by the source computing power node and the target computing power node.
[0150] Figure 9 A source computing power node in an embodiment of the present disclosure is shown. Figure 9 As shown, the source computing power node may include:
[0151] The communication information reporting unit 901 is configured to send communication information to the network intelligent control engine, wherein the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node;
[0152] The second receiving unit 902 is configured to receive configuration information fed back by the network intelligent control engine, wherein the configuration information includes: a sending rate and a forwarding path of the source computing power node, and the network intelligent control engine determines the sending rate and the forwarding path based on the communication information;
[0153] The second sending unit 903 is configured to send data to the target computing power node according to the sending rate and forwarding path.
[0154] According to the technical solution provided by the embodiment of the present disclosure, before transmitting data, the source computing power node reports communication information to the network intelligent control engine, obtains the transmission rate and forwarding path determined by the network intelligent control engine for it, and the source computing power node sends data according to the forwarding path, avoiding the situation where two source computing power nodes choose one source port, making full use of each source port, and then making full use of each forwarding path, solving the problem of insufficient link bandwidth utilization in network data transmission, and improving network data transmission efficiency. The source computing power node sends data according to the transmission rate, so that the existing network transmission is not affected by the sudden need to transmit traffic, thereby solving the problem of network data transmission being unable to cope with sudden transmission traffic, thereby improving network data transmission efficiency.
[0155] In some embodiments, the source computing node includes a communication port modification unit and a transmission rate modification unit. The port modification unit modifies the source port selected by the source computing node to the source port corresponding to the forwarding path, according to the transmission rate. The transmission rate modification unit modifies the selected or default transmission rate of the source computing node to the transmission rate in the configuration information. The communication port modification unit stores a port path table, which can be obtained from the network intelligent control engine.
[0156] In some embodiments, the communication information reporting unit 901 is further configured to perform a CCL operation and then send the communication information to the network intelligent control engine.
[0157] In some embodiments, the communication information reporting unit 901 is also configured to execute the following loop: sending communication information to the network intelligent control engine; receiving configuration information fed back by the network intelligent control engine; sending training results to the target computing power node according to the sending rate and forwarding path, wherein distributed model training is performed between the source computing power node and the target computing power node; judging whether the model training is completed; if the model training is completed, exiting the loop, otherwise, continuing the loop.
[0158] Figure 10 A schematic diagram of another network traffic control system according to an embodiment of the present disclosure is shown. Figure 10 As shown, the network traffic control system may include: the above-mentioned network intelligent control engine and the above-mentioned source computing power node.
[0159] In some embodiments, the network intelligent control engine is deployed at the control layer, and the source computing power node is deployed at the computing power layer.
[0160] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods, or program products. Therefore, various aspects of the present disclosure may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."
[0161] Refer to the following Figure 11 1100 according to this embodiment of the present disclosure will be described. Figure 11 The electronic device 1100 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0162] like Figure 11 As shown, electronic device 1100 is implemented as a general-purpose computing device. Components of electronic device 1100 may include, but are not limited to, the aforementioned at least one processing unit 1110, the aforementioned at least one storage unit 1120, and a bus 1130 connecting various system components (including storage unit 1120 and processing unit 1110).
[0163] The storage unit stores program code, and the program code can be executed by the processing unit 1110, so that the processing unit 1110 performs the steps described in the "Exemplary Method" section of this specification according to various exemplary embodiments of the present disclosure. For example, the processing unit 1110 can perform the following steps of the above-mentioned method embodiment: receiving communication information of the source computing power node, wherein the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node; determining the optimal source port and sending rate of the source computing power node based on the communication information; determining the forwarding path of the source computing power node based on the optimal sending port; and sending configuration information to the source computing power node, wherein the configuration information includes: sending rate and forwarding path.
[0164] The processing unit 1110 can execute the following steps of the above method embodiment: sending communication information to the network intelligent control engine, wherein the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node; receiving configuration information fed back by the network intelligent control engine, wherein the configuration information includes: the sending rate and forwarding path of the source computing power node, and the network intelligent control engine determines the sending rate and forwarding path based on the communication information; and sending data to the target computing power node according to the sending rate and forwarding path.
[0165] The storage unit 1120 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 11201 and / or a cache memory unit 11202 , and may further include a read-only memory unit (ROM) 11203 .
[0166] The storage unit 1120 may also include a program / utility 11204 having a set (at least one) of program modules 11205, such program modules 11205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0167] The bus 1130 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0168] Electronic device 1100 may also communicate with one or more external devices 1140 (e.g., a keyboard, pointing device, Bluetooth device, etc.), one or more network traffic controllers that enable a user to interact with electronic device 1100, and / or any device that enables electronic device 1100 to communicate with one or more other computing devices (e.g., a router, modem, etc.). Such communication may occur via input / output (I / O) interface 1150. Furthermore, electronic device 1100 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via network adapter 1160. As shown, network adapter 1160 communicates with other modules of electronic device 1100 via bus 1130. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with electronic device 1100, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0169] In the disclosed exemplary embodiments, a computer-readable storage medium is also provided. The computer-readable storage medium may be a readable signal medium or a readable storage medium.
[0170] In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps of various exemplary implementations of the present disclosure described in the above "Specific Implementation Methods" section of this specification.
[0171] More specific examples of computer-readable storage media in the present disclosure may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0172] In the present disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0173] Alternatively, the program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0174] In a specific implementation, the program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the terminal device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0175] The present disclosure provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the network traffic control method provided in any of the various optional embodiments of the present disclosure.
[0176] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.
[0177] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0178] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
[0179] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope of the present disclosure being indicated by the appended claims.
Claims
1. A network traffic control method, applied to a network intelligent control engine, characterized in that: include: Receive communication information of a source computing power node, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and an identification number of a source port selected by the source computing power node; Determine the optimal source port and sending rate of the source computing power node based on the communication information; Determining a forwarding path for the source computing power node based on the optimal sending port; Send configuration information to the source computing power node, wherein the configuration information includes: the sending rate and the forwarding path.
2. The method according to claim 1, characterized in that The determining the forwarding path of the source computing power node based on the optimal sending port includes: Determine the forwarding path corresponding to the optimal sending port from the port path table.
3. The method according to claim 1 or 2, characterized in that Before determining the forwarding path of the source computing power node based on the optimal sending port, the method further includes: Sending a probe packet to traverse source ports within a preset range, and recording the path that the probe packet passes through each source port; Each source port and the path corresponding to each source port are stored in a port path table.
4. The method according to claim 3, characterized in that After storing each source port and the path corresponding to each source port in the port path table, the method further includes: Determining the number of all paths stored in the port path table; Get the total number of paths in the network; Whether to stop sending the detection packet is determined based on the number of all paths stored in the port path table and the total number of paths.
5. The method according to claim 1, wherein The method further comprises: Execute the following loop: Receiving communication information from the source computing power node; Determining the optimal source port and sending rate based on the communication information; determining the forwarding path based on the optimal sending port; Sending the configuration information to the source computing power node; Determining whether model training is completed, wherein distributed model training is performed between the source computing power node and the target computing power node; If the model training is completed, exit the loop; otherwise, continue the loop.
6. The method according to claim 1 or 2, characterized in that Before determining the forwarding path of the source computing power node based on the optimal sending port, the method further includes: Execute the following loop: Sending a probe packet to traverse source ports within a preset range, and recording the path that the probe packet passes through each source port; Store each source port and the path corresponding to each source port in the port path table; Determining the number of all paths stored in the port path table; Get the total number of paths in the network; Calculating the detection coverage based on the number of all paths stored in the port path table and the total number of paths; When the detection coverage is greater than a preset value, the loop ends; When the detection coverage is not greater than the preset value, the cycle continues.
7. The method according to claim 1, characterized in that The communication information also includes the identification numbers of the computing units selected by the source computing power node and the target computing power node.
8. A network traffic control method, applied to a source computing power node, characterized in that: include: Sending communication information to the network intelligent control engine, wherein the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node; receiving configuration information fed back by the network intelligent control engine, wherein the configuration information includes: a sending rate and a forwarding path of the source computing power node, and the network intelligent control engine determines the sending rate and the forwarding path based on the communication information; Send data to the target computing power node according to the sending rate and the forwarding path.
9. The method according to claim 8, characterized in that The method further comprises: Execute the following loop: Sending the communication information to the network intelligent control engine; receiving the configuration information fed back by the network intelligent control engine; Sending the training result to the target computing power node according to the sending rate and the forwarding path, wherein distributed model training is performed between the source computing power node and the target computing power node; Determining whether the model training is completed; If the model training is completed, exit the loop; otherwise, continue the loop.
10. A network intelligent control engine, characterized in that: include: A first receiving unit is configured to receive communication information of a source computing power node, wherein the communication information includes identification numbers of the source computing power node and the target computing power node, and an identification number of a source port selected by the source computing power node; a load balancing decision unit, configured to determine an optimal source port of the source computing power node based on the communication information, and determine a forwarding path of the source computing power node based on the optimal sending port; a congestion control decision unit, configured to determine a sending rate of the source computing power node based on the communication information; The first sending unit is configured to send configuration information to the source computing power node, wherein the configuration information includes: the sending rate and the forwarding path.
11. A source computing power node, characterized in that: include: A communication information reporting unit is configured to send communication information to the network intelligent control engine, wherein the communication information includes the identification numbers of the source computing power node and the target computing power node, and the identification number of the source port selected by the source computing power node; a second receiving unit configured to receive configuration information fed back by the network intelligent control engine, wherein the configuration information includes: a sending rate and a forwarding path of the source computing power node, and the network intelligent control engine determines the sending rate and the forwarding path based on the communication information; The second sending unit is configured to send data to the target computing power node according to the sending rate and the forwarding path.
12. A network traffic control system, characterized in that: include: The network intelligent control engine in claim 10 and the source computing power node in claim 11.
13. The control system according to claim 12, characterized in that: The network intelligent control engine is deployed in the control layer, and the source computing power node is deployed in the computing power layer.
14. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to perform the method of any one of claims 1-7 or 8-9 by executing the executable instructions.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 or 8 to 9 is implemented.
16. A computer program product, comprising computer instructions, wherein the computer instructions are stored in a computer-readable storage medium, and when the computer instructions are executed by a processor, the operating instructions of the method according to any one of claims 1 to 7 or 8 to 9 are implemented.
Citation Information
Cited By
Traffic scheduling method and electronic equipment
CN121098802A
Traffic scheduling method and electronic device
CN121098802B
Flow processing system and method, data processing method, equipment, medium and product
CN121357103A
Traffic processing system and method, data processing method, device, medium and product
CN121357103B