Communication optimization method and apparatus, storage medium, and electronic device
By determining the communication flow timing diagram and flow information list, and combining network link rate characteristics and multipath characteristics, integrated communication was achieved, solving the load balancing and congestion control problems of traditional technologies in large model training scenarios, and improving network transmission efficiency and accuracy.
Patent Information
- Application Number
- CN202411999634.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2044-12-31
AI Technical Summary
Traditional load balancing and congestion control techniques are ineffective in large model training scenarios, making it difficult to achieve efficient load balancing and avoid congestion, resulting in network performance loss and reduced transmission efficiency.
By determining the communication flow timing diagram, flow information list, network link rate characteristics, and multipath characteristics, and combining aggregated communication, the communication flow transmission path is optimized to achieve coordinated scheduling of load balancing and congestion control.
It effectively reduces the search space, lowers complexity, avoids mutual interference between load balancing and congestion control, improves the load balancing and congestion control effect in large model training scenarios, and ensures efficient and accurate network transmission.
Smart Images

Figure CN119788597B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of artificial intelligence, and in particular, to a communication optimization method and device, a storage medium, and an electronic device. BACKGROUND
[0002] In the field of large model intelligent computing centers, traditional load balancing schemes and congestion control schemes have encountered new challenges.
[0003] Traditional load balancing techniques all select multiple paths and switch at the flow or flowlet granularity to achieve balanced link utilization. However, in the large model training scenario of intelligent computing centers, the data volume of flow transmission is large, and switching at the flow granularity is too large to achieve load balancing. Moreover, the flow runs at full capacity for a long time, which makes it difficult to split the flow. Load balancing switching within the flow will cause packet out-of-order problems. In the protocol in the intelligent computing center, packet out-of-order will be regarded as packet loss, causing serious performance loss.
[0004] Traditional congestion control techniques are based on predefined congestion signals to adjust the sending rate at the sending end to avoid local hotspots on the network. However, it is difficult to grasp the strength of rate adjustment. When the congestion signal appears, the speed is too slow, and there is a possibility that congestion cannot be completely avoided to cause network errors.
[0005] The problems faced by current congestion control techniques and load balancing techniques are because the design goals of both are aimed at the network usage scenario of traditional data center multi-task, which is not suitable for the single large task scenario of large model training in intelligent computing centers. This leads to poor performance of congestion control and load balancing in the large model training process of intelligent computing centers.
[0006] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY
[0007] The present disclosure provides a communication optimization method and device, a storage medium, and an electronic device, which at least partially overcome the problem of poor performance of congestion control and load balancing in the large model training process of intelligent computing centers due to related technologies.
[0008] Other characteristics and advantages of the present disclosure will become apparent from the following detailed description, or will be learned by practice of the present disclosure.
[0009] According to one aspect of the present disclosure, a communication optimization method is provided, comprising:
[0010] determining a communication flow timing diagram according to an execution graph of a model;
[0011] determine a flow information list according to the communication flow timing diagram; the flow information list includes a plurality of communication flows and transmission information corresponding to the communication flows; the transmission information includes acknowledgement and path information of the communication flows;
[0012] determine network link rate characteristics according to the acknowledgement of the communication flows;
[0013] determine multi-path characteristics according to the path information of the communication flows;
[0014] perform set communication synthesis with the flow information list, the network link rate characteristics and the multi-path characteristics as constraints to determine a communication optimization routing result of a communication flow transmission path.
[0015] In some embodiments, the communication flow timing diagram is determined according to an execution graph of a model, including:
[0016] determine execution duration of an operation according to an execution graph of a model; the execution graph includes operation nodes and in-edges and out-edges of the operation nodes;
[0017] delete the operation nodes in the execution graph, connect the out-edges and the in-edges of the operation nodes and label the execution duration of the operation to determine the communication flow timing diagram.
[0018] In some embodiments, the flow information list is determined according to the communication flow timing diagram, including:
[0019] determine a communication flow set according to the communication flow timing diagram; the communication flow set includes a plurality of communication flows;
[0020] calculate residual bandwidth according to traffic distribution of the communication flow set on a topology to determine an available bandwidth threshold;
[0021] if a target communication flow in the communication flow set meets the available bandwidth threshold, send the target communication flow and record transmission information of the target communication flow;
[0022] in response to complete transmission of all the communication flows in the communication flow set, determine a flow information list according to the transmission information and corresponding communication flows.
[0023] In some embodiments, the communication flow set includes an in-transit flow set, a ready flow set and a to-be-processed flow set;
[0024] if a target communication flow in the communication flow set meets the available bandwidth threshold, send the target communication flow, including:
[0025] if there is a completed communication flow in the in-transit flow set, removing the completed communication flow from the in-transit flow set, releasing the occupied network bandwidth corresponding to the completed communication flow to adjust the available bandwidth threshold;
[0026] selecting a target communication flow from the ready flow set to calculate the maximum transmission rate and path of the selected target communication flow, and if the maximum transmission rate meets a rate threshold, scheduling the selected target communication flow to be sent according to the path;
[0027] if the target communication flow completes transmission, releasing the occupied bandwidth of the target communication flow and updating the ready time of the target communication flow, so that the target communication flow is sent according to the ready time.
[0028] In some embodiments, the network link rate characteristic is determined according to the acknowledgement response of the communication flow, including:
[0029] The target network delay and the target host delay are determined according to the acknowledgement response of the communication flow;
[0030] The multi-path delay is obtained, and the average network delay corresponding to the multi-path delay is calculated;
[0031] The network link rate characteristic is determined according to the target network delay, the target host delay, and the average network delay.
[0032] In some embodiments, the network link rate characteristic is determined according to the target network delay, the target host delay, and the average network delay, including:
[0033] If the average network delay is greater than the target network delay, the network delay needs to be reduced;
[0034] The current host delay is obtained, and if the current host delay is greater than the target host delay, the host delay needs to be reduced;
[0035] If only the host delay needs to be reduced, the sending window size is reduced according to the difference between the current host delay and the target host delay at a first proportion, and a host rate reduction characteristic is determined;
[0036] If the host delay does not need to be reduced but the network delay needs to be reduced, the sending window size is reduced according to the difference between the average network delay and the target network delay at a second proportion, and a network rate reduction characteristic is determined;
[0037] If the host delay does not need to be reduced and the network delay does not need to be reduced, the size of the sending window is increased according to the difference between the target network delay and the average network delay at a proportion, and a network rate increase characteristic is determined;
[0038] According to the host rate reduction feature, the network rate reduction feature, and the fixed network rate increase feature, a network link rate feature is determined.
[0039] In some embodiments, according to path information of the communication flow, a multi-path feature is determined, including:
[0040] A check path function, a data packet processing function, and an acknowledgement packet processing function are registered.
[0041] Using the data packet processing function and the acknowledgement packet processing function, a network congestion control parameter in the path information of the communication flow is extracted.
[0042] If it is detected that there is a communication flow that needs to be subjected to congestion control, the check path function is called to process the communication flow according to the network congestion control parameter, and a communication flow congestion processing result is determined.
[0043] According to the communication flow congestion processing result, a maximum flow delay and a maximum switch bandwidth are calculated.
[0044] According to the maximum flow delay and the maximum switch bandwidth, a multi-path feature is determined.
[0045] According to another aspect of the present disclosure, a communication optimization method is also provided, including:
[0046] A communication flow timing diagram determination module is configured to determine a communication flow timing diagram according to an execution graph of a model.
[0047] A flow information list determination module is configured to determine a flow information list according to the communication flow timing diagram; the flow information list includes a plurality of communication flows and transmission information corresponding to the communication flows; the transmission information includes acknowledgement and path information of the communication flows.
[0048] A network link rate feature determination module is configured to determine a network link rate feature according to the acknowledgement of the communication flows.
[0049] A multi-path feature determination module is configured to determine a multi-path feature according to the path information of the communication flows.
[0050] A communication optimization routing result determination module is configured to perform set communication synthesis with the flow information list, the network link rate feature, and the multi-path feature as constraints, and determine a communication optimization routing result of a communication flow transmission path.
[0051] According to another aspect of the present disclosure, an electronic device is also provided, including a processor and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the communication optimization method described in any of the above by executing the executable instructions.
[0052] According to another aspect of the present disclosure, a computer readable storage medium is also provided, having stored thereon a computer program which, when executed by a processor, implements the communication optimization method of any of the above.
[0053] According to another aspect of the present disclosure, a computer program product is also provided, comprising a computer program which, when executed by a processor, implements the communication optimization method of any of the above.
[0054] The communication optimization method and device, storage medium and electronic device provided in the embodiments of the present disclosure, the method comprises: determining a communication flow timing diagram according to an execution graph of a model; determining a flow information list according to the communication flow timing diagram; the flow information list comprises a plurality of communication flows and transmission information corresponding to the communication flows; the transmission information comprises acknowledgement and path information of the communication flows; determining network link rate characteristics according to the acknowledgement of the communication flows; determining multi-path characteristics according to the path information of the communication flows; and performing set communication synthesis with the flow information list, the network link rate characteristics and the multi-path characteristics as constraints to determine a communication optimization routing result of a communication flow transmission path. In the large model training scene of a computing center, large model training traffic bursts and traffic persistence, causing physical links to be unable to complete transmission tasks at the speed required by communication demand, and optimal load balancing and congestion control techniques also cannot avoid network bottlenecks, and can only limit the sending speed to avoid greater transmission errors at the cost of slowing down the sending rhythm. The embodiments of the present disclosure obtain a flow information list through a communication flow timing diagram, divide traffic through traffic shaping, divide a plurality of reasonable communication tasks as communication flows, avoid injecting traffic exceeding the load balancing and congestion control scheduling capabilities into the network, further determine network link rate characteristics according to the acknowledgement of the communication flows, extract load balancing characteristics, determine multi-path characteristics according to the path information of the communication flows, extract congestion control characteristics, and perform set communication synthesis with the flow information list, the network link rate characteristics and the multi-path characteristics as constraints, thereby greatly reducing the search space of the synthesis action and reducing the search complexity. The set communication synthesis scheduling can solve the poor effect problem encountered by traditional load balancing and congestion control in the large model training scene from the source, and the amount of work required by the set communication synthesis scheduling is less than that required by the communication draft, and the total amount of constraints is also improved, further reducing the complexity of the synthesis process, avoiding the mutual interference of load balancing and congestion control on the input and output, improving the load balancing and congestion control effect of the large model training scene, and guaranteeing the efficiency and accuracy of the large model training.
[0055] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0056] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0057] Figure 1 A schematic diagram of the system architecture of a communication optimization method according to an embodiment of this disclosure is shown.
[0058] Figure 2 A schematic diagram of a communication optimization method according to an embodiment of this disclosure is shown.
[0059] Figure 3 This diagram illustrates the process of determining the communication flow timing diagram of a communication optimization method according to an embodiment of the present disclosure.
[0060] Figure 4 This diagram illustrates a communication flow timing diagram of a communication optimization method according to an embodiment of the present disclosure.
[0061] Figure 5 This diagram illustrates the process of determining a flow information list in a communication optimization method according to an embodiment of the present disclosure.
[0062] Figure 6 This diagram illustrates the target communication flow process of a communication optimization method according to an embodiment of the present disclosure.
[0063] Figure 7 This diagram illustrates the process of determining network link rate characteristics using a communication optimization method according to an embodiment of the present disclosure.
[0064] Figure 8 This diagram illustrates a detailed process for determining network link rate characteristics using a communication optimization method according to an embodiment of the present disclosure.
[0065] Figure 9 This diagram illustrates the process of determining multipath characteristics in a communication optimization method according to an embodiment of the present disclosure.
[0066] Figure 10 A schematic diagram of a communication optimization device according to an embodiment of the present disclosure is shown.
[0067] Figure 11 A structural block diagram of a computer device for a communication optimization method according to an embodiment of the present disclosure is shown. Detailed Implementation
[0068] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary 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.
[0069] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0070] To facilitate understanding, before introducing the embodiments of this disclosure, the following explanations are provided for several terms involved in the embodiments of this disclosure:
[0071] Ensemble Communication Synthesis: Ensemble communication operations are responsible for implementing inter-process communication during parallel training of large models. These operations reflect the communication requirements of the application, and ensemble communication libraries need to be optimized for specific hardware environments. However, designing optimized ensemble algorithms is not easy. Most current ensemble communication libraries, including NCCL, use predefined templates of ensemble algorithms superimposed on the target topology, which is not ideal for scenarios with varying topologies and data sizes. Therefore, ensemble communication synthesis techniques for network topology and transmission tasks have emerged to automate ensemble communication algorithms. However, the automatic search for optimal ensemble communication is NP-hard, and its complexity increases exponentially with the number of GPUs. To make the problem more tractable, human-assisted methods have emerged, such as TACCL, which uses user-provided communication sketches as constraints, reducing the difficulty of automatic synthesis.
[0072] The specific implementation methods of the embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0073] Figure 1 A schematic diagram of an exemplary application system architecture to which the communication optimization method of the embodiments of this disclosure can be applied is shown. For example... Figure 1 As shown, the system architecture may include terminal device 101, network 102 and server 103.
[0074] Network 102 is a medium used to provide a communication link between terminal device 101 and server 103, and can be a wired network or a wireless network.
[0075] Optionally, the aforementioned wireless or wired networks use standard communication technologies and / or protocols. The network is typically the Internet, but can also be any network, including but not limited to Local Area Networks (LANs), Metropolitan Area Networks (MANs), Wide Area Networks (WANs), mobile, wired or wireless networks, private networks, or any combination of virtual private networks. In some embodiments, technologies and / or formats including Hyper Text Markup Language (HTML), Extensible Markup Language (XML), etc., are used to represent data exchanged over the network. Furthermore, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Networks (VPNs), and Internet Protocol Security (IPsec) can be used to encrypt all or some links. In other embodiments, custom and / or dedicated data communication technologies can be used to replace or supplement the aforementioned data communication technologies.
[0076] Terminal device 101 can be various electronic devices, including but not limited to smartphones, tablets, laptops, desktop computers, wearable devices, augmented reality devices, virtual reality devices, etc.
[0077] Optionally, the client of the application installed on different terminal devices 101 may be the same, or the client of the same type of application based on different operating systems. Depending on the terminal platform, the specific form of the application client may also be different; for example, the application client may be a mobile client, a PC client, etc.
[0078] Server 103 can be a server that provides various services, such as a backend management server that supports the device operated by the user using terminal device 101. The backend management server can analyze and process received requests and other data, and feed the processing results back to the terminal device.
[0079] Optionally, the server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited herein.
[0080] Those skilled in the art will know that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative; any number of terminal devices, networks, and servers can be included depending on actual needs. This disclosure does not limit the scope of the embodiments.
[0081] Under the above system architecture, this disclosure provides a communication optimization method that can be executed by any electronic device with computing power.
[0082] In some embodiments, the communication optimization method provided in this disclosure can be executed by a terminal device in the above-described system architecture; in other embodiments, the communication optimization method provided in this disclosure can be executed by a server in the above-described system architecture; in still other embodiments, the communication optimization method provided in this disclosure can be implemented by the terminal device and the server in the above-described system architecture through interaction.
[0083] In the field of large-scale intelligent computing centers, traditional load balancing and congestion control schemes have encountered new challenges. Traditional load balancing technologies, such as ECMP, achieve link utilization balancing by performing multi-path selection and switching at the flow or flowlet granularity. However, in the large-scale model training scenarios of intelligent computing centers, the amount of data transmitted by the stream is very large. Switching at the flow level is too granular and difficult to achieve load balancing. Moreover, the flow runs at full load for a long time, leaving no opportunity to split into smaller flows. Load balancing switching within a flow can lead to packet out-of-order issues. In the RDMA protocol in intelligent computing centers, out-of-order packets are treated as packet loss, causing serious performance loss. Traditional congestion control technologies adjust the sending rate at the sending end based on predefined congestion signals to avoid local hotspots on the network. However, the degree of rate adjustment is difficult to control. When a congestion signal appears, if the rate reduction is too slow, there is a possibility that it cannot completely avoid network errors caused by congestion. Data shows that 1% packet loss can cause a 33% performance loss in large-scale model training. Therefore, congestion control schemes tend to aggressively reduce the rate, which in turn leads to a decrease in network transmission efficiency. Meanwhile, some traditional congestion mitigation schemes are not suitable for large-scale model training scenarios in intelligent computing centers. For example, fairness is a concern, as some studies have shown that unfairness can actually improve training performance.
[0084] Furthermore, while both congestion control and load balancing aim to improve network transmission efficiency and ensure healthy network operation, their joint operation inevitably leads to mutual interference, especially when they share network state signals. One party's response can cause the other's response to become outdated. In intelligent computing center scenarios, congestion control and load balancing achieve the same goal: improving network transmission efficiency and avoiding localized hotspots. Therefore, they need to be considered collaboratively. The optimal point for the collaborative redesign of congestion control and load balancing is the aggregated communication library. Scheduling within the aggregated communication algorithm can achieve a superset of load balancing and congestion control functions.
[0085] The essence of load balancing and congestion control scheduling actions is to dynamically adjust the rate across multiple paths between the source and destination. Implementing this functionality through aggregated communication offers the following benefits:
[0086] First, the granularity of load balancing is controllable. The collective communication algorithm can divide a transmission into arbitrary granularities to meet the small flow requirements of load balancing. The collective communication algorithm performs targeted traffic distribution on different paths, rather than a simple and coarse random average distribution. For example, under topology-aware conditions, collective communication can increase the traffic on high-bandwidth paths, rather than simply averaging and cutting it off.
[0087] Furthermore, the ensemble communication algorithm avoids the dilemma of choosing between aggressive and conservative strategies when performing congestion control. The ensemble communication algorithm is more sophisticated and application-oriented than congestion control algorithms. Under topology-aware conditions, it can calculate the maximum allowable transmission rate of the network, thus planning the traffic transmission rate at the source. This avoids the untimely and reactive speed adjustments of traditional congestion control schemes that only occur when congestion is about to occur, and allows the transmission rate to quickly increase to near the maximum allowable value.
[0088] However, integrating load balancing and congestion control into aggregated communication algorithms also faces some challenges. First, current optimal load balancing and congestion control methods require support from both the sending and receiving hosts, as well as the switches on the network, while aggregated communication only operates at the sending end, limiting its available functionality. Second, current congestion control and load balancing occur between the network's link and transport layers, while aggregated communication runs at the application layer, making it less capable of acquiring real-time network status information compared to the former two.
[0089] Therefore, to use ensemble communication algorithms for the coordination of load balancing and congestion control, the following issues need to be addressed: how to reuse the advanced technologies in current top-performing load balancing and congestion control schemes; how to avoid mutual interference during the implementation of load balancing and congestion control; and how to handle congestion problems that even the most advanced top-performing load balancing and congestion control technologies cannot avoid in scenarios with huge transmission traffic during large model training.
[0090] Figure 2 This diagram illustrates a communication optimization method according to an embodiment of the present disclosure, such as... Figure 2 As shown, the communication optimization method provided in this embodiment includes the following steps:
[0091] Step S202: Determine the communication flow timing diagram based on the execution diagram of the model;
[0092] Step S204: Determine the flow information list based on the communication flow timing diagram; the flow information list includes multiple communication flows and the corresponding transmission information of the communication flows; the transmission information includes the acknowledgment response and path information of the communication flows;
[0093] Step S206: Determine the network link rate characteristics based on the acknowledgment response of the communication flow;
[0094] Step S208: Determine multipath characteristics based on the path information of the communication flow;
[0095] Step S2010: Perform aggregated communication synthesis based on the flow information list, network link rate characteristics, and multipath characteristics to determine the communication optimization routing result for the communication flow transmission path.
[0096] This embodiment obtains a flow information list through a communication flow timing diagram, segments the flow through flow shaping, and divides it into multiple reasonable communication tasks as communication flows. This avoids the injection of flow exceeding the load balancing and congestion control scheduling capabilities into the network. Furthermore, it determines network link rate characteristics based on the acknowledgment responses of the communication flows, achieving the extraction of load balancing characteristics. It also determines multi-path characteristics based on the path information of the communication flows, achieving the extraction of congestion control characteristics. By combining the flow information list, network link rate characteristics, and multi-path characteristics as constraints for aggregated communication, the search space for the combined action is greatly reduced, and the search complexity is lowered. Using aggregated communication for combined scheduling can solve the problem of poor performance of traditional load balancing and congestion control in large model training scenarios from the source. It requires less work than using a communication draft, increases the total number of constraints, further reduces the complexity of the combined process, avoids mutual interference between load balancing and congestion control at the input and output, improves the load balancing and congestion control effects in large model training scenarios, and ensures the efficiency and accuracy of large model training.
[0097] Figure 3 This diagram illustrates the process of determining the communication flow timing diagram in a communication optimization method according to an embodiment of the present disclosure, as shown below. Figure 3 As shown in the embodiment, the communication flow timing diagram is determined based on the execution graph of the model, including:
[0098] Step S302: Determine the execution time of the operation based on the execution graph of the model; the execution graph includes the operation nodes and the incoming and outgoing edges of the operation nodes;
[0099] Step S304: Delete the operation nodes in the execution graph, connect the outgoing and incoming edges of the operation nodes, mark the execution duration of the operation, and determine the communication flow sequence graph.
[0100] This embodiment mainly consists of three stages: traffic shaping, optimal load balancing and congestion control feature extraction, and integrated communication algorithm synthesis. Traffic shaping addresses the issue that in the current scenario of large-scale model training in intelligent computing centers, a traffic scheduling scheme that meets the requirements may not exist. This is because the bursts and persistence of traffic during large-scale model training cause physical links to be unable to complete transmission tasks at the speed generated by communication demands. In this context, even the most efficient load balancing and congestion control technologies cannot avoid network bottlenecks and can only limit the transmission rate, slowing down the transmission pace to avoid greater transmission errors. Therefore, the integrated communication scheme in this embodiment must distinguish within what traffic range can be optimized based on load balancing and congestion control. Beyond this range, traffic shaping is used to segment the traffic and divide it into multiple reasonable communication tasks.
[0101] Therefore, traffic shaping involves analyzing the execution graph of the computational communication code of a large model, estimating reasonable communication traffic, and transforming the communication calls in the code into a series of reasonable communication tasks.
[0102] First, we need to generate a communication flow timing diagram. The method is to add time annotations to the execution graph generated by the deep learning framework for a large model, and then convert the execution graph into a communication flow timing diagram.
[0103] Figure 4 A schematic diagram of a communication flow timing is shown, such as Figure 4 As shown, the conversion process between the execution diagram and the communication flow timing diagram is as follows:
[0104] Estimate the execution time τ of the operation on the execution graph, delete the operation node, connect the in edge set and out edge set of the operation node directly to form a new edge, and mark τ on the new edge as the edge delay to form a communication flow sequence graph.
[0105] Figure 5 This diagram illustrates the process of determining a flow information list in a communication optimization method according to an embodiment of the present disclosure, as shown below. Figure 5 As shown in the embodiment, the flow information list is determined based on the communication flow timing diagram, including:
[0106] Step S502: Determine the communication flow set based on the communication flow timing diagram; the communication flow set includes multiple communication flows;
[0107] Step S504: Calculate the remaining bandwidth based on the traffic distribution of the communication flow set on the topology, and determine the available bandwidth threshold;
[0108] Step S506: If the target communication flow in the communication flow set meets the available bandwidth threshold, then send the target communication flow and record the transmission information of the target communication flow;
[0109] Step S508: In response to the completion of transmission of all communication flows in the communication flow set, determine the flow information list based on the transmission information and its corresponding communication flows.
[0110] In this embodiment, determining the flow information list based on the communication flow timing graph can be achieved by executing the flow shaping function `taffic_reshape()`. The input is the communication flow timing graph (FDG), and the function runs step-by-step. Within each time step, each communication request is tested. If the minimum allowable bandwidth can be achieved through multipathing, the communication request is scheduled. This continues until all communication is complete, at which point the flow information list is output.
[0111] At the start, the traffic shaping function initializes several sets of communication flows, including a set of flows in transit (flows that have started but not yet completed), a set of flows to be processed (a set of all nodes, obtained from the traffic graph), and a set of flows ready (flows that can begin transmission, initially including the root node of the traffic graph). For each node corresponding to a communication flow whose dependencies satisfy the requirement to be sent, the remaining bandwidth is obtained based on the traffic distribution on the current topology. The maximum available bandwidth that the current communication flow can obtain in a multi-path scenario is calculated based on the maximum flow algorithm. If the available bandwidth meets the minimum bandwidth requirement, the flow is sent; otherwise, it waits for the next time step, hoping that other communication flows will continue to release bandwidth. When all communication flows in the set have been successfully sent and transmitted, it means that all communication flows have been successfully scheduled and transmitted. The corresponding transmission information during the transmission process is combined with the corresponding sent communication flows to determine the flow information list.
[0112] Figure 6 This diagram illustrates the target communication flow process of a communication optimization method according to an embodiment of the present disclosure, as shown below. Figure 6 As shown in the embodiment, the communication flow set includes: a flow in transit set, a flow ready set, and a flow to be processed set;
[0113] If the target communication flow in the communication flow set meets the available bandwidth threshold, then the target communication flow is sent, including:
[0114] Step S602: If there are communication flows that have completed transmission in the in-transit flow set, remove the completed communication flows from the in-transit flow set and release the network bandwidth occupied by the completed communication flows to adjust the available bandwidth threshold.
[0115] Step S604: Select a target communication flow from the ready flow set to calculate the maximum transmission rate and path of the selected target communication flow. If the maximum transmission rate meets the rate threshold, then send the selected target communication flow according to the path schedule.
[0116] Step S606: If the target communication stream has completed transmission, release the bandwidth occupied by the target communication stream and update the ready time dependent on the target communication stream so that the target communication stream is sent according to the ready time.
[0117] In this embodiment, a scheduling loop is provided to continuously attempt to schedule new communication flows until all communication flows have been scheduled. In each loop, it first checks if any communication flows in the in-transit flow set have completed transmission. If so, they are removed from the in-transit flow set, and the network bandwidth they occupy is released. Based on the scheduling loop, the algorithm attempts to move forward, i.e., to attempt to schedule a new communication flow. This includes selecting a communication flow from the ready flow set, calculating its maximum transmission rate and path. If this rate meets certain conditions (greater than a minimum rate threshold), the algorithm continues to schedule this communication flow. If the selected communication flow meets the scheduling conditions, the algorithm reduces the network bandwidth (i.e., allocates bandwidth to this flow), updates the communication flow's rate and start time, moves it from the ready flow set to the in-transit flow set, and records the communication flow's transmission information, including acknowledgment and path information. When a flow completes transmission, the algorithm releases the bandwidth it occupies and updates the ready times of other flows that depend on this flow, allowing these flows to start transmission as soon as possible.
[0118] When the in-transit flow set, the pending flow set, and the ready flow set are all empty, it means that all flows have been successfully scheduled and transmitted. The algorithm ends the loop and returns a list containing all sent flow information as the flow information list (flow_send_list).
[0119] This embodiment avoids injecting traffic into the network that exceeds the scheduling capabilities of the load balancer (LB) and congestion control (CC). As long as the scheduling capabilities of the load balancing and congestion control technologies are adequate, smooth network traffic transmission can be achieved. The above results are based on theoretical estimates and serve as a lower bound for actual transmission time. The allocation method calculated by the maximum flow algorithm cannot be directly used for actual communication generation and needs further refinement through simulation.
[0120] The output of the first-stage traffic shaping is a flow information list (flow_send_list), which constrains the transmission rate of traffic to ensure that the current network topology can meet transmission requirements. This constraint provides the foundation for the second-stage load balancing and congestion control. Due to the rational limitation of traffic, an excellent combination of load balancing and congestion control can achieve congestion-free traffic transmission through multi-pathing and reasonable rate limiting. However, since the current best-performing load balancing and congestion control methods have specific hardware and protocol requirements, this embodiment uses simulation to run load balancing and congestion control. The goal is to output the traffic characteristics of the optimal solution during operation, which is then passed to the third-stage integrated communication process as an auxiliary condition. Specifically, a full-system simulator, Aastrasim, connected to the NS3 network simulator, is used to train a large model for one iteration. The simulated traffic is divided using flow_send_list, and network traffic is controlled by combining congestion control and load balancing methods. The congestion control algorithm is responsible for avoiding potential congestion development, while the load balancing method is responsible for dynamically selecting multiple paths to ultimately achieve non-blocking transmission and record network state characteristics. This is based on the commonalities between the two. Load balancing and congestion control technologies are essentially about modulating the rate of each link in the network topology, so there is a possibility of their integration.
[0121] The optimal congestion control baseline scheme was chosen as SWIFT (Scalable and Workload-aware IncastFlow control Technique, a data center congestion control algorithm), and the optimal load balancing baseline scheme was chosen as ConWeave. Both SWIFT and ConWeave use delay signals such as RTT as input and transmission rate as output, making them relatively easy to integrate. This embodiment makes some adjustments and enhancements to both to adapt to the needs of multi-path transmission, without specific dependence on any particular baseline load balancing or congestion control scheme. The training simulation environment uses the Astrasim V2 full-system simulator connected to the NS3 network simulator.
[0122] The second phase of the overall system integrates load balancing and congestion control algorithms, with enhancements made by the SWIFT+ module on the sending host and the ConWeave+ module on the sending TOR.
[0123] Standard SWIFT calculates the delay upon receiving an acknowledgment (ack) and compares it to a pre-calculated target delay to determine delay changes along the transmission path and within the host. This helps identify congestion and adjusts the transmission rate using additive, multiplicative, and subtractive (A / B) window adjustments. In this embodiment, SWIFT+ is an enhanced version. The enhancements to SWIFT+ primarily address changes in multipath transmission, such as comparing the average delay across multiple paths. Considering that ConWeave on the network also possesses some congestion control capabilities, it continues to use aggressive additive, multiplicative, and subtractive (A / B) adjustments for changes in host delay, but adjusts the response to changes in network delay to an additive approach.
[0124] Figure 7 This diagram illustrates the process of determining network link rate characteristics using a communication optimization method according to an embodiment of the present disclosure. Figure 7 As shown in the embodiment, determining the network link rate characteristics based on the acknowledgment response of the communication flow includes:
[0125] Step S702: Determine the target network latency and target host latency based on the acknowledgment response of the communication flow;
[0126] Step S704: Obtain the multipath delay and calculate the average network delay corresponding to the multipath delay;
[0127] Step S706: Determine the network link rate characteristics based on the target network latency, target host latency, and average network latency.
[0128] In this embodiment, the congestion response function `SWIFT_response_to_congestion` adjusts the network congestion control strategy based on the received acknowledgment (ACK) responses. Its functions include: obtaining path and latency: The function first obtains the current data transmission path using the received acknowledgment responses; then calculates the target network latency and target host latency; simultaneously obtains the current host latency; records multipath latency; and records the target network latency in a multipath latency dictionary, using the target address and path as keys. Checking the number of paths: If the number of paths for a specific target address exceeds the required number of paths, the average network latency of all paths is calculated.
[0129] Figure 8 This diagram illustrates a detailed process for determining network link rate characteristics using a communication optimization method according to an embodiment of the present disclosure. Figure 8 As shown in the embodiment, determining network link rate characteristics based on target network latency, target host latency, and average network latency includes:
[0130] Step S802: If the average network latency is greater than the target network latency, then the network latency needs to be reduced;
[0131] Step S804: Obtain the current host latency. If the current host latency is greater than the target host latency, the host latency needs to be reduced.
[0132] Step S806: If only host latency needs to be reduced, then based on the difference between the current host latency and the target host latency, reduce the sending window size according to the first ratio to determine the host rate reduction characteristic;
[0133] Step S808: If it is not necessary to reduce host latency but it is necessary to reduce network latency, then based on the difference between the average network latency and the target network latency, reduce the sending window size according to the second ratio to determine the network rate reduction characteristic;
[0134] Step S8010: If it is not necessary to reduce host latency and it is not necessary to reduce network latency, then increase the size of the sending window proportionally according to the difference between the target network latency and the average network latency, and determine the network rate increase characteristics;
[0135] Step S8012: Determine the network link rate characteristics based on the host rate decrease characteristics, network rate decrease characteristics, and constant network rate increase characteristics.
[0136] In this embodiment, it is determined whether network latency needs to be reduced: if the calculated average network latency is greater than the target network latency, then network latency needs to be reduced. It is also determined whether host latency needs to be reduced: if the current host latency is greater than the target host latency, then host latency needs to be reduced.
[0137] Adjusting the sending window size based on latency: If host latency needs to be reduced, the sending window size is reduced proportionally to the difference between the host latency and the target host latency to determine the host rate reduction characteristic. If host latency reduction is not required but network latency reduction is needed, the sending window size is reduced proportionally to the difference between the average network latency and the target network latency to determine the network rate reduction characteristic. If neither host latency nor network latency reduction is required, the sending window size is increased proportionally to the difference between the target network latency and the average network latency to determine the network rate increase characteristic. Finally, based on the host rate reduction characteristic, network rate reduction characteristic, and network rate increase characteristic obtained above, the network link rate characteristic is determined.
[0138] The standard ConWeave consists of two components: one running on the source ToR switch and the other on the destination ToR switch. The ToR switches are connected via a data center network. The component on the source ToR performs latency monitoring to identify “bad” paths to avoid and available normal paths, selecting a new path when an excessive increase in latency is detected. The component on the destination ToR switch provides packet reordering capabilities, shielding against out-of-order transmissions caused by rerouting.
[0139] Since it is implemented in a simulated environment and is not limited by hardware conditions, and the design goal is to explore the maximum multipath bandwidth, our enhanced ConWeave, namely ConWeave+, can support any number of multipath reorderings. At the same time, during rerouting, it selects multiple non-congested paths for multipath transmission between ToRs.
[0140] ConWeave+ takes latency as its input signal and multipath transmission as its output action. It is responsible for load balancing and some congestion control between ToRs in the converged solution. The global congestion control task is completed by the SWIFT+ module running on the sending host.
[0141] Figure 9 This diagram illustrates the process of determining multipath characteristics in a communication optimization method according to an embodiment of the present disclosure, as shown below. Figure 9 As shown in the embodiment, determining multi-path characteristics based on the path information of the communication flow includes:
[0142] Step S902: Register the path check function, data packet processing function, and acknowledgment packet processing function;
[0143] Step S904: Use the packet processing function and the acknowledgment packet processing function to extract the network congestion control parameters from the path information of the communication flow;
[0144] Step S906: If a communication flow is detected that requires congestion control, the path check function is called to process the communication flow according to the congestion control parameters I obtained, and the congestion processing result of the communication flow is determined.
[0145] Step S908: Calculate the maximum flow delay and maximum switch bandwidth based on the communication flow congestion processing results;
[0146] Step S9010: Determine the multipath characteristics based on the maximum flow delay and the maximum switch bandwidth.
[0147] In this embodiment, to dynamically select a path for each forwarding packet at runtime, we use the `path_congestion_level` variable to characterize the congestion level of the path, and its calculation method is as follows:
[0148]
[0149] Where path_congestion_level is the level of congestion on the path; β is a constant factor; inflight_packets is the number of packets currently being transmitted in the network; delay_increasing is the current increase in delay; target_delay is the target delay, i.e., the expected delay threshold; and link_bw is the link bandwidth, i.e., the maximum transmission rate of the network link.
[0150] For each dst's multiple paths, the switch records its network status information in the following data structure:
[0151] fabric_status[dst][path]{
[0152] inflight_packets: int; The number of packets that have been sent consecutively so far.
[0153] path_delay: timestamps; the current delay of the path;
[0154] target_delay: timestamps; the target delay for the path.
[0155] link_bw_ratio:float;} (sending link bandwidth / total link bandwidth of the current node);
[0156] CONVEAVE+ functionality is primarily implemented on the source TOR, mainly including path congestion detection and multipath forwarding. The main functionalities involved are as follows:
[0157] The `inspect_path` function iterates through all flows, searching for all possible paths (`all_paths`) for each flow's destination address. For each path, it sets the requested path (`req.path = p`) and sends a round-trip time (RTT) request (`send_RTT_request(req)`).
[0158] The `check_RTT_reply` function handles the response (rep) to the RTT request. If the response is null, it checks if the difference between the current time and the requested time exceeds the timeout period (TIME_OUT). If so, it sets the current delay to the maximum delay (MAX_DELAY); otherwise, it returns to a waiting-for-response status (REPLY_WAIT). If the response is not null, it retrieves the delay from the response (get_delay(reply)) and obtains information about all switch interfaces (get_all_sw_int(reply)). Then, it updates the network status of the path corresponding to the target address, including the path delay (fabric_status[dst][path].path_delay) and the maximum bandwidth of each switch interface (max_bw[src][dst][path][sw]). Finally, it returns the updated delay status (UPDATED_DELAY).
[0159] The packet processing function (on_data_packet) handles inbound data packets (dp). It first obtains the destination address (dst) of the packet and sets a minimum congestion level (min_congestion_level) as the congestion threshold (CONGESTION_THRESHOLD). Then, it iterates through all paths to the destination address, calculating the congestion level (path_congestion_level) for each path. This level is calculated based on the number of packets en route, path latency, destination latency, and link bandwidth. If a path with a lower congestion level is found, the minimum congestion level is updated, and this path (free_path) is recorded. If a non-empty path is found, the number of packets en route on this path is updated, the path throughput is increased, and then a send transaction (schedule_send_transaction) is scheduled.
[0160] Acknowledgment packet handling function (on_ack_packet): This function processes inbound acknowledgment packets (ack). It reduces the number of packets in transit for the corresponding path (inflight_packets) and schedules the next transaction (schedule_send_transaction).
[0161] The overall operation flow of the sending end TOR includes an initialization process and a time-periodic loop. `on_data_packet()` and `on_ack_packet()` are registered under the forwarding thread for data packets and the return thread for ack packets, respectively, and are called as needed. `inspect_path()` is attached to a periodically running thread. Specific functional descriptions are as follows:
[0162] The initialization function (initialize) is responsible for initializing the parameters and data structures related to network congestion control. It registers the packet handling function (on_data_packet) and the acknowledgment packet handling function (on_ack_packet). Then, for all source TORs (Top of Rack) and destination TORs, and all paths between them, the function initializes the path throughput (path_throuput[p]), network status (fabric_status[st][dt][p]), path delay, destination delay, number of packets in transit, and link bandwidth ratio. The destination delay is obtained by calculating the topology delay (calculate_topo_delay(p)). The link bandwidth ratio is the ratio of the source TOR link bandwidth to the sum of all link bandwidths. The maximum delay and maximum bandwidth arrays are also initialized to 0.
[0163] The main loop function (loop_func) is a continuously running loop that constantly checks if there are any streams that need to be processed. If there are streams, it calls the path inspection function (inspect_path). Then, if there are pending requests (reqs), it waits for the maximum round-trip time (MAX_RTT), moves unanswered requests to the waiting queue (wait_reqs), and continues waiting for one epoch.
[0164] The `finalize` function executes after all data processing is complete. It calculates and returns key performance metrics for network congestion control. For all source and destination TORs, and all paths in between, the function calculates the maximum flow delay (MAX_FLOW_LAT[p]) and the maximum switch bandwidth (MAX_SW_BW[sw]). The maximum flow delay is obtained by normalizing the maximum delay of all paths (max_latency[src][dt][p]). The maximum switch bandwidth is obtained by normalizing the maximum bandwidth of all paths (max_bw[src][dt][p][sw]). Finally, the function returns the maximum flow delay and maximum switch bandwidth, identifying multipath characteristics used to evaluate network performance.
[0165] The second stage outputs normalized maximum forwarding bandwidth and maximum flow latency of the switch. Normalization aims to eliminate the influence of actual physical bandwidth, yielding the distribution characteristics of the communication traffic within the large model training process. It can be seen that, compared to the estimation in the first stage, the results obtained in the second stage, based on simulation and optimal load balancing and congestion control techniques, are more accurate. On one hand, it simulates the specific latency of the computing nodes; on the other hand, load balancing and congestion control replace purely theoretical centralized maximum flow calculation results with distributed continuous optimization. Although the full system simulation is slower, this stage only requires offline execution once before training begins, inputting the physical environment and model information, and does not affect the overall runtime efficiency of the solution. Real-time processing is achieved through aggregated communication in the third stage.
[0166] The bandwidth and delay distribution characteristics of the flow allocation provided in the second stage serve as auxiliary information, similar to a communication sketch, for the ensemble communication synthesis stage, greatly reducing the latter's synthesis complexity. The third stage combines three inputs: first, the maximum network-supported transmission capacity output from the first stage; second, the more accurate network link rate characteristics under congestion-avoidance conditions provided by the optimal congestion control method integrated in the second stage; and finally, the multi-path characteristics found by the load balancing method. These characteristics are passed as constraints to the synthesizer, significantly reducing the search space and complexity of the synthesis actions. The third stage runs before each training iteration, arranging multiple communication paths for the forward and backward processes in this iteration, while simultaneously collecting real-time available link bandwidth information as input for synthesis before the next iteration.
[0167] In this stage, based on the Taccl synthesis algorithm, the set communication problem is formalized into a mixed integer linear programming (MILP) problem. The second stage, the flow loan delay distribution, will replace the manual communication sketch in Taccl as a constraint and be input into the optimizer tool to solve the problem and obtain the transmission path of each data packet.
[0168] The specific methods are explained below:
[0169] The optimizer's inputs are: network topology G, L being the set of links in G; a set of transmitted data blocks C{(c,t,src,dst)}, where c is the data block chunk, t is the data preparation time, and src and dst are the source and destination of the transmission, respectively; the maximum available bandwidth BWl of each link l in L; and the problem representation, which is also the optimizer's output, is the transmission path for each data chunk, formalized as start[c,sw]; representing the available time of the data chunk at each switch on the path, as well as at the source src and destination dst. Compared to a direct link-based path representation, this representation method can more easily unify the optimization objective, output, and constraints.
[0170] Next, we define the optimization objective as the completion time T of all set communication CC operations in one training iteration. The communication completion time is also the design objective of load balancing and congestion control, and it also reflects the actual effect of load balancing and congestion control.
[0171] Based on the above definition, the following constraints naturally apply:
[0172] Prerequisites and postrequisites:
[0173] time ≥ start[c, dst];
[0174] Link sequence constraints:
[0175]
[0176] send[c,swi,swi+1] represents the sending time of chunk c on the link (swi,swi+1).
[0177] The following are the constraints provided by the second-stage simulation sampling results:
[0178] Delay constraints:
[0179] start[c,dst]≤MAX_FLOW_LAT(src,dst);
[0180] Bandwidth constraints on each switch (SW):
[0181] (c.size) / (start[c,sw_(i+1)]-send[c,sw_i,sw_(i+1)])≤MAX_SW_BW(sw_i);
[0182] Finally, the formalized time optimization problem and the aforementioned constraints will be fed into the optimization solver. Due to the refined constraints, the optimization solver can provide the start_time for each block along multiple paths within a valid timeframe. This can be directly converted into a communication optimization routing result, which can then be passed to the underlying communication library for execution.
[0183] This embodiment utilizes aggregated communication to simultaneously achieve load balancing and congestion control. Both load balancing and congestion control in intelligent computing center networks aim to rationally schedule and control traffic, preventing network bottlenecks, and their input signals share similarities. This embodiment uses aggregated communication to rationally design multi-path transmission. Aggregated communication is a decisive traffic source during large-scale model training in intelligent computing centers; rational aggregated communication scheduling can address the new challenges encountered by traditional load balancing and congestion control in large-scale model training scenarios from the source. Features of top-tier load balancing and congestion control technologies are extracted based on simulation. To learn the advantages of current load balancing and congestion control technologies, this embodiment runs a training iteration on a full-system simulator, recording the traffic scheduling characteristics of distributed load balancing and congestion control, and incorporating them into the aggregated communication synthesis process. Providing the traffic characteristics of load balancing and congestion control as constraints to the automated aggregated communication synthesis tool requires less user effort than using a communication draft, while increasing the total number of constraints and further reducing the complexity of the synthesis process.
[0184] This embodiment lowers the barrier to entry for applying state-of-the-art load balancing and congestion control technologies. Previously, top-tier load balancing and congestion control required dedicated network hardware and even protocol stacks, limiting their widespread adoption. This embodiment uses simulation to extract their operational characteristics and then encapsulates them through integrated communication. Only software library modifications are needed to integrate the advantages of both advanced technologies, while also avoiding mutual interference between load balancing and congestion control at the input and output levels.
[0185] This embodiment is easy to deploy and requires low computing power. Both the maximum flow algorithm in traffic shaping and the MILP solver in the synthesis phase are mature technologies and methods, requiring no additional large computing power for execution and thus not increasing system costs. This embodiment achieves a good balance between real-time performance and flexibility. The first and second phases of the scheme perform offline analysis and simulation based on a preset network topology and large model structure, requiring only one run. The dynamic synthesis phase examines real-time bandwidth changes in the network topology, taking into account both the impact of other non-training processes and the interaction of multi-node communication integration, thereby adjusting the output results. Furthermore, due to sufficient constraints, the solution speed is fast, meeting the requirements for real-time operation.
[0186] It should be noted that the acquisition, storage, use, and processing of data in this disclosed technical solution comply with the relevant provisions of national laws and regulations. The various types of data, such as personal identity data, operational data, and behavioral data related to individuals, customers, and groups, obtained in the embodiments of this disclosure have all been authorized.
[0187] Based on the same inventive concept, this disclosure also provides a communication optimization device, as described in the following embodiments. Since the principle by which this device solves the problem is similar to that of the method embodiments described above, the implementation of this device embodiment can refer to the implementation of the method embodiments described above, and repeated details will not be elaborated further.
[0188] Figure 10 This diagram illustrates a communication optimization device according to an embodiment of the present disclosure, such as... Figure 10 As shown, the device includes:
[0189] The communication flow timing diagram determination module 1001 is used to determine the communication flow timing diagram based on the execution diagram of the model;
[0190] The flow information list determination module 1002 is used to determine a flow information list based on the communication flow timing diagram; the flow information list includes multiple communication flows and the transmission information corresponding to the communication flows; the transmission information includes the acknowledgment response and path information of the communication flows;
[0191] The network link rate characteristic determination module 1003 is used to determine the network link rate characteristics based on the acknowledgment response of the communication flow.
[0192] The multi-path feature determination module 1004 is used to determine multi-path features based on the path information of the communication flow;
[0193] The communication optimization routing result determination module 1005 is used to perform aggregated communication synthesis based on the flow information list, network link rate characteristics and multipath characteristics as constraints, and determine the communication optimization routing result of the communication flow transmission path.
[0194] It should be noted that the communication flow timing diagram determination module 1001, flow information list determination module 1002, network link rate characteristic determination module 1003, multipath characteristic determination module 1004, and communication optimization routing result determination module 1005 mentioned above correspond to S202 to S2010 in the method embodiment. The examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above method embodiment. It should be noted that the above modules, as part of the apparatus, can be executed in a computer system such as a set of computer-executable instructions.
[0195] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."
[0196] The following referenceFigure 11 To describe an electronic device 1100 according to such an embodiment of the present disclosure. Figure 11 The electronic device 1100 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0197] like Figure 11 As shown, the electronic device 1100 is manifested in the form of a general-purpose computing device. The components of the electronic device 1100 may include, but are not limited to: at least one processing unit 1110, at least one storage unit 1120, and a bus 1130 connecting different system components (including storage unit 1120 and processing unit 1110).
[0198] The storage unit stores program code that can be executed by the processing unit 1110, causing the processing unit 1110 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 1110 can perform the following steps of the above method embodiment: determining a communication flow timing diagram based on the execution diagram of the model; determining a flow information list based on the communication flow timing diagram; the flow information list includes multiple communication flows and corresponding transmission information for the communication flows; the transmission information includes acknowledgment responses and path information for the communication flows; determining network link rate characteristics based on the acknowledgment responses of the communication flows; determining multi-path characteristics based on the path information of the communication flows; and performing aggregated communication synthesis with constraints of the flow information list, network link rate characteristics, and multi-path characteristics to determine the communication optimization routing result for the communication flow transmission path.
[0199] Storage unit 1120 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 11201 and / or cache memory 11202, and may further include a read-only memory (ROM) 11203.
[0200] 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: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0201] Bus 1130 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0202] Electronic device 1100 can also communicate with one or more external devices 1140 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 1100, and / or with any device that enables electronic device 1100 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1150. Furthermore, electronic device 1100 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, 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 figures, other hardware and / or software modules can 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.
[0203] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0204] In particular, according to embodiments of this disclosure, the process described above with reference to the flowchart can be implemented as a computer program product, which includes a computer program that, when executed by a processor, implements the above-described communication optimization method.
[0205] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. A program product capable of implementing the methods described above is stored thereon. In some possible implementations, various aspects of this disclosure may also be implemented as a program product including program code, which, when run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0206] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0207] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying 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, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.
[0208] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0209] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0210] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0211] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0212] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0213] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.
Claims
1. A communication optimization method, characterized in that, include: Based on the execution graph of the model, the communication flow timing graph is determined, including determining the execution duration of the computation operation based on the execution graph of the model; the execution graph includes computation nodes and the incoming and outgoing edges of the computation nodes; the computation nodes in the execution graph are deleted, the outgoing and incoming edges of the computation nodes are connected, and the execution duration of the computation operation is marked to determine the communication flow timing graph; Based on the communication flow timing diagram, a flow information list is determined; the flow information list includes multiple communication flows and the corresponding transmission information of the communication flows; The transmitted information includes acknowledgment responses and path information for the communication stream; Based on the acknowledgment response of the communication flow, the network link rate characteristics are determined, and the acknowledgment response is used to obtain the latency; Based on the path information of the communication stream, determine the multi-path characteristics; Using the aforementioned flow information list, network link rate characteristics, and multipath characteristics as constraints, aggregated communication is performed to determine the optimized routing result for the communication flow transmission path.
2. The communication optimization method according to claim 1, characterized in that, Based on the communication flow timing diagram, a flow information list is determined, including: Based on the communication flow timing diagram, a communication flow set is determined; the communication flow set includes multiple communication flows. Calculate the remaining bandwidth based on the traffic distribution of the communication flow set on the topology, and determine the available bandwidth threshold. If the target communication flow in the communication flow set meets the available bandwidth threshold, then the target communication flow is sent and the transmission information of the target communication flow is recorded; In response to the completion of transmission of all communication flows in the communication flow set, a flow information list is determined based on the transmission information and its corresponding communication flows.
3. The communication optimization method according to claim 2, characterized in that, The communication flow set includes: a flow in transit set, a flow ready set, and a flow to be processed set; If a target communication flow in the communication flow set meets the available bandwidth threshold, then the target communication flow is sent, including: If there are communication flows that have completed transmission in the in-transit flow set, the completed communication flows are removed from the in-transit flow set to release the network bandwidth occupied by the completed communication flows and adjust the available bandwidth threshold. A target communication flow is selected from the set of ready flows to calculate the maximum transmission rate and path of the selected target communication flow. If the maximum transmission rate meets the rate threshold, the selected target communication flow is scheduled to be sent according to the path. If the target communication stream completes transmission, the bandwidth occupied by the target communication stream is released and the readiness time of other communication streams that depend on the target communication stream is updated so that the other communication streams that depend on the target communication stream are sent according to the readiness time.
4. The communication optimization method according to claim 1, characterized in that, Based on the acknowledgment response of the communication flow, the network link rate characteristics are determined, including: Based on the acknowledgment response of the communication flow, the target network latency and the target host latency are determined; Obtain the multipath delay and calculate the average network delay corresponding to the multipath delay; The network link rate characteristics are determined based on the target network latency, target host latency, and average network latency.
5. The communication optimization method according to claim 4, characterized in that, Based on the target network latency, target host latency, and average network latency, determine the network link rate characteristics, including: If the average network latency is greater than the target network latency, then the network latency needs to be reduced. Get the current host latency. If the current host latency is greater than the target host latency, then the host latency needs to be reduced. If only host latency needs to be reduced, then based on the difference between the current host latency and the target host latency, the sending window size is reduced according to a first ratio to determine the host rate reduction characteristic; If reducing host latency is not required but reducing network latency is required, then the network rate reduction characteristic is determined by reducing the sending window size according to the second ratio based on the difference between the average network latency and the target network latency. If neither reducing host latency nor reducing network latency is required, then the size of the sending window is increased proportionally based on the difference between the target network latency and the average network latency to determine the network rate increase characteristics. Based on the host rate reduction characteristics, network rate reduction characteristics, and network rate increase characteristics, the network link rate characteristics are determined.
6. The communication optimization method according to claim 1, characterized in that, Based on the path information of the communication stream, multi-path characteristics are determined, including: Register the path check function, packet processing function, and acknowledgment packet processing function; Using the packet processing function and the acknowledgment packet processing function, network congestion control parameters are extracted from the path information of the communication flow; If a communication flow is detected that requires congestion control, the path checking function is called to process the communication flow according to the network congestion control parameters, and the communication flow congestion processing result is determined. Based on the communication flow congestion processing results, calculate the maximum flow delay and the maximum switch bandwidth; Multipath characteristics are determined based on the maximum flow delay and the maximum switch bandwidth.
7. A communication optimization device, characterized in that, include: The communication flow timing graph determination module is used to determine the communication flow timing graph based on the execution graph of the model, including determining the execution duration of the operation based on the execution graph of the model; the execution graph includes operation nodes and the incoming and outgoing edges of the operation nodes; deleting operation nodes in the execution graph, connecting the outgoing and incoming edges of the operation nodes, and marking the execution duration of the operation to determine the communication flow timing graph; The flow information list determination module is used to determine the flow information list based on the communication flow timing diagram; the flow information list includes multiple communication flows and the transmission information corresponding to the communication flows; The transmitted information includes acknowledgment responses and path information for the communication stream; A network link rate characteristic determination module is used to determine the network link rate characteristics based on the acknowledgment response of the communication flow, wherein the acknowledgment response is used to obtain the delay; A multi-path feature determination module is used to determine multi-path features based on the path information of the communication flow; The communication optimization routing result determination module is used to perform aggregated communication synthesis based on the flow information list, network link rate characteristics, and multipath characteristics to determine the communication optimization routing result of the communication flow transmission path.
8. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the communication optimization method according to any one of claims 1 to 6 by executing the executable instructions.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the communication optimization method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the communication optimization method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Satellite network time delay and rate joint guarantee routing method based on time aggregation graph
CN109951335A
Path determination method and related equipment
CN117527675A