A path pre-planning method, apparatus and related equipment

By dividing the iteration cycle into time slices in the intelligent computing network, statistically analyzing traffic transmission, and pre-planning paths, the problems of mutual interference and congestion between data streams are solved, improving network performance and training efficiency, and ensuring the data synchronization consistency and accuracy of AI large model training.

CN122093326APending Publication Date: 2026-05-26NEW H3C TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610003875.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-04
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In intelligent computing networks, traditional multi-path load balancing techniques cannot effectively solve the problems of mutual interference and congestion between data streams, leading to decreased network utilization and increased packet loss rate, especially in AI large model training scenarios where performance degradation is significant.

Method used

The iteration cycle is divided into time slices. The traffic of each training stream in each time slice is statistically analyzed to determine the overlap of traffic transmission time. Based on this, forwarding paths are pre-planned to avoid traffic conflicts and select the path with the lowest load weight for transmission.

Benefits of technology

It effectively reduces the probability of network congestion, improves training efficiency, ensures the consistency and accuracy of data synchronization, makes full use of existing bandwidth, and improves network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122093326A_ABST
    Figure CN122093326A_ABST
Patent Text Reader

Abstract

This application relates to the field of network communication technology, and in particular to a path pre-planning method, apparatus, and related equipment. The method includes: statistically analyzing the traffic presence of each training stream in each time slice of the current iteration cycle, wherein an iteration cycle is divided into M time slices, each time slice having the same duration; determining whether there is any overlap in traffic transmission time between the training streams based on the traffic presence of each training stream in each time slice of the current iteration cycle; and pre-planning the forwarding path of each training stream in the parameter network in the next iteration cycle based on the overlap in traffic transmission time between the training streams and the device and interface information of each training stream flowing through the parameter network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network communication technology, and in particular to a path pre-planning method, apparatus and related equipment. Background Technology

[0002] In increasingly large-scale intelligent computing clusters, servers across the network need to transmit massive amounts of data to each other. Each data stream has its own purpose, size, bandwidth, and latency requirements, inevitably leading to interference and localized congestion, resulting in performance degradation and even data loss. While device network bandwidth and server network card bandwidth are rapidly increasing, simply increasing bandwidth is no longer sufficient to keep pace with the explosive growth of business. Congestion remains a common problem in intelligent computing networks, and is particularly pronounced in these networks.

[0003] Training large-scale intelligent computing network models involves complex traffic and high single-stream bandwidth. Traditional multi-path load balancing techniques—such as hash algorithms—often fail, leading to a significant decrease in network utilization, increased congestion risk, and packet loss. In RDMA transmission, a packet loss rate of 0.1% can result in a 50% performance degradation. Therefore, it is essential to minimize network load imbalance. Avoiding congestion, fully utilizing existing bandwidth, maximizing hardware performance, and ensuring service quality are continuous goals.

[0004] In the AI ​​training scenario of the intelligent computing center network, since the training of large AI models usually adopts parallel computing modes, such as data parallelism, tensor parallelism and pipeline parallelism, these parallel modes require efficient data synchronization between GPUs, and the synchronization method uses aggregate communication.

[0005] Collective communication is a set of global communication operations between processes. It provides a rich set of communication primitives, such as Broadcast and All Reduce, which can meet the data synchronization requirements of different parallel computing modes.

[0006] In the training scenario described above, a high-bandwidth network is required to support data exchange and synchronization between multiple computing nodes, ensuring the consistency and accuracy of the training process. Summary of the Invention

[0007] This application provides a path pre-planning method, apparatus, and related equipment.

[0008] Firstly, this application provides a path pre-planning method, the method comprising: Based on the iteration cycle, the flow of each training stream in each time slice of the current iteration cycle is statistically analyzed. One iteration cycle is divided into M time slices, and each time slice has the same duration. Based on the traffic situation of each training stream in each time slice of the current iteration cycle, determine whether there is a traffic transmission time overlap between the training streams in the time dimension; Based on the overlapping of traffic transmission times between training streams, each training stream flows through device and interface information in the parameter network, and the forwarding path of each training stream in the parameter network in the next iteration cycle is pre-planned.

[0009] Optionally, the step of statistically analyzing the flow of each training stream in each time slice of the current iteration cycle includes: For any training flow, construct the flow vector corresponding to the training flow. The flow vector corresponding to the training flow includes M flow components that correspond one-to-one with M time slices. If the flow exists in a time slice, the value of the flow component corresponding to that time slice is set to 1; otherwise, the value of the flow component corresponding to that time slice is set to 0.

[0010] Optionally, the step of determining whether there is a time overlap in traffic transmission between training streams based on the traffic presence of each training stream in each time slice of the current iteration period includes: For any two training streams, determine whether there is a case where the values ​​of the stream components corresponding to the same time slice are all 1 between the two training streams; If the condition is found to exist, it is determined that there is an overlap in the transmission time between the two training streams in the time dimension; otherwise, it is determined that there is no overlap in the transmission time between the two training streams in the time dimension.

[0011] Optionally, the method further includes: After a training flow is planned to be carried on a forwarding path, if the training flow and other training flows already carried on the forwarding path have overlapping traffic transmission times in the time dimension, the load weight value of the forwarding path is incremented by 1.

[0012] Optionally, based on the overlap of traffic transmission times between training streams, and the device and interface information of each training stream flowing through the parameter network, the step of pre-planning the forwarding path of each training stream in the parameter network in the next iteration cycle includes: For each training stream to be planned, at least one forwarding path in the parameter network that can be used to transmit the training stream is determined based on the source and destination of the training stream. The forwarding path with the lowest load weight value among the at least one forwarding path shall be used as the forwarding path carrying the training path.

[0013] Secondly, this application provides a path pre-planning device, the device comprising: The statistics unit is used to count the flow of each training stream in each time slice of the current iteration cycle based on the iteration cycle. An iteration cycle is divided into M time slices, and each time slice has the same duration. The determining unit is used to determine whether there is a traffic transmission time overlap between the training streams in the time dimension based on the traffic existence of each training stream in each time slice of the current iteration period. The planning unit is used to pre-plan the forwarding path of each training stream in the parameter network in the next iteration cycle, based on the overlapping of traffic transmission time between each training stream and the device and interface information of each training stream in the parameter network.

[0014] Optionally, when statistically analyzing the flow of each training stream in each time slice of the current iteration cycle, the statistical unit is specifically used for: For any training flow, construct the flow vector corresponding to the training flow. The flow vector corresponding to the training flow includes M flow components that correspond one-to-one with M time slices. If the flow exists in a time slice, the value of the flow component corresponding to that time slice is set to 1; otherwise, the value of the flow component corresponding to that time slice is set to 0.

[0015] Optionally, when determining whether there is a time overlap in traffic transmission time between training streams based on the traffic presence of each training stream in each time slice of the current iteration period, the determining unit is specifically used for: For any two training streams, determine whether there is a case where the values ​​of the stream components corresponding to the same time slice are all 1 between the two training streams; If the condition is found to exist, it is determined that there is an overlap in the transmission time between the two training streams in the time dimension; otherwise, it is determined that there is no overlap in the transmission time between the two training streams in the time dimension.

[0016] Optionally, the device further includes: The accumulation unit is used to increment the load weight value of the forwarding path by 1 if, after a training flow is planned to be carried on a forwarding path, there is a time overlap between the training flow and other training flows already carried on the forwarding path.

[0017] Optionally, based on the overlapping transmission times between training streams, and considering the device and interface information of each training stream in the parameter network, when pre-planning the forwarding path of each training stream in the parameter network for the next iteration cycle, the planning unit is specifically used for: For each training stream to be planned, at least one forwarding path in the parameter network that can be used to transmit the training stream is determined based on the source and destination of the training stream. The forwarding path with the lowest load weight value among the at least one forwarding path shall be used as the forwarding path carrying the training path.

[0018] Thirdly, embodiments of this application provide a path pre-planning device, which includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of the first aspects above, according to the obtained program instructions.

[0019] Fourthly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the steps of the method as described in any of the first aspects above.

[0020] In summary, the path pre-planning method provided in this application's embodiments is based on the traffic presence of each training stream in each time slice of the current iteration cycle, where an iteration cycle is divided into M time slices, each with the same duration. Based on the traffic presence of each training stream in each time slice of the current iteration cycle, it determines whether there is any overlap in traffic transmission time between the training streams. Based on the overlap in traffic transmission time between the training streams, and considering the device and interface information of each training stream in the parameter network, the forwarding path of each training stream in the parameter network in the next iteration cycle is pre-planned.

[0021] The path pre-planning method provided in this application divides the iteration cycle into several time slices and statistically analyzes the traffic transmission of each training stream in each time slice. This allows for the determination of whether there are traffic conflicts among the training streams in each time slice. Based on the statistical analysis of traffic conflicts among the training streams in each time slice, the forwarding path for each training stream in the next iteration cycle is pre-planned. This advance planning reduces the probability of network congestion, ensuring that the transmission path for each stream in each iteration cycle is the optimal choice, accelerating the training process of large models and significantly improving training efficiency. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.

[0023] Figure 1A detailed flowchart of a path pre-planning method provided in an embodiment of this application; Figure 2 A schematic diagram of time-axis-based stream component quantization for a training stream is provided in an embodiment of this application; Figure 3 A schematic diagram of a conflict matrix provided for an embodiment of this application; Figure 4 A schematic diagram of the structure of a path pre-planning device provided in an embodiment of this application; Figure 5 This is a schematic diagram of the hardware architecture of a path pre-planning device provided in an embodiment of this application. Detailed Implementation

[0024] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.

[0025] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."

[0026] Currently, Load Balancer (LBN) technology improves network throughput by grouping and intelligently orchestrating ingress ports to create a one-to-one mapping between ingress and egress points, thus distributing traffic load across different egress points. However, it lacks a global perspective, cannot effectively achieve global traffic balancing, and network congestion still occurs. Furthermore, it cannot automatically and dynamically adjust / allocate the paths of each training stream.

[0027] For example, see Figure 1 The diagram shown is a detailed flowchart of a path pre-planning method provided in an embodiment of this application. The method includes the following steps: Step 100: Based on the iteration cycle, count the traffic of each training stream in each time slice of the current iteration cycle. An iteration cycle is divided into M time slices, and each time slice has the same duration.

[0028] In practical applications, through in-depth analysis of the network traffic of large AI models, it is found that the traffic involved in each AI training task iterates according to a pattern. That is, the time slice for traffic transmission required by a training stream is the same in different iteration cycles. Based on this, the forwarding path selection for each traffic in the next iteration cycle can be pre-planned according to the traffic characteristics of each traffic in the current iteration cycle.

[0029] In this embodiment, an iteration cycle is divided into M time slices. For example, if the iteration cycle is 1 minute, it is divided into 60 time slices, and each time slice is 1 second in size. Periodically, it is determined whether any traffic is being transmitted within the M time slices of the current iteration cycle for each traffic parameter currently being carried.

[0030] In this embodiment of the application, when statistically analyzing the flow of each training stream in each time slice of the current iteration cycle based on the iteration cycle, a preferred implementation is as follows: For any training flow, construct the flow vector corresponding to the training flow. The flow vector corresponding to the training flow includes M flow components that correspond one-to-one with M time slices. If the flow exists in a time slice, the value of the flow component corresponding to that time slice is set to 1; otherwise, the value of the flow component corresponding to that time slice is set to 0.

[0031] For example, see Figure 2 The diagram illustrates a time-axis-based flow component quantization method for training flows according to an embodiment of this application. For each training flow (flow1, flow2, and flow3), a corresponding flow vector is constructed, and the flow transmission status of each training flow within the M time slices included in the flow vector is statistically analyzed. If a training flow exhibits flow transmission within a time slice, the value of the flow component corresponding to that time slice in the flow vector is set to 1; otherwise, if the training flow does not exhibit flow transmission within a time slice, the value of the flow component corresponding to that time slice in the flow vector is set to 0.

[0032] For example, see Figure 2 As shown, if flow2 is transmitting traffic in the first time slice, the value of the flow component corresponding to that time slice is set to 1. If flow2 is transmitting traffic in the second time slice, the value of the flow component corresponding to that time slice is set to 0, and so on.

[0033] Step 110: Based on the traffic presence of each training stream in each time slice of the current iteration period, determine whether there is any overlap in traffic transmission time between the training streams in the time dimension.

[0034] In this embodiment of the application, when determining whether there is a time overlap in traffic transmission time between training streams based on the traffic presence of each training stream in each time slice of the current iteration period, a preferred implementation is as follows: For any two training streams, determine whether there is a case where the values ​​of the stream components corresponding to the same time slice are all 1 between the two training streams; If the condition is found to exist, it is determined that there is an overlap in the transmission time between the two training streams in the time dimension; otherwise, it is determined that there is no overlap in the transmission time between the two training streams in the time dimension.

[0035] In practical applications, after quantizing each training stream based on the time axis, it is easy to intuitively determine whether there is a conflict (overlapping of traffic transmission time) between two streams in the time dimension. Specifically, a better way is to calculate the dot product of the two streams. The dot product can represent the similarity between the two stream vectors, which in practice means the degree of similarity (conflict) between the two streams in the time dimension.

[0036] The following example illustrates flow vectors A and B, which include four dimensions (four time slices): For example, suppose flow A = (1, 0, 1, 0), meaning flow A has traffic transmission in time slices 1 and 3, but no traffic transmission in time slices 2 and 4; flow B = (0, 1, 0, 1), meaning flow B has no traffic transmission in time slices 1 and 3, but traffic transmission in time slices 2 and 4. Then the dot product of flow A and flow B is calculated as: flow A * flow B = 1*0 + 0*1 + 1*0 + 0*1 = 0, which confirms that there is no conflict between flow1 and flow2.

[0037] For example, suppose flow C = (1, 1, 1, 0), meaning flow C has traffic transmission in time slices 1, 2, and 3, but no traffic transmission in time slice 4; flow D = (0, 1, 1, 1), meaning flow D has no traffic transmission in time slice 1, but traffic transmission in time slices 2, 3, and 4. Then the dot product of flow C and flow D is calculated as: flow C * flow D = 1*0 + 1*1 + 1*1 + 0*1 = 2. Therefore, it is determined that there is a conflict between flow C and flow D.

[0038] Furthermore, in this embodiment, all training streams can be traversed, and the conflict matrix can be obtained by calculating the dot product of every two training streams. For example, see [link to relevant documentation]. Figure 3The diagram shown is a schematic representation of a conflict matrix provided in an embodiment of this application. Users can quickly query the transmission time overlap relationship of training streams using the conflict matrix. That is, the conflict matrix can be used to quickly determine whether there is a transmission time overlap between any two training streams.

[0039] Step 120: Based on the overlapping of traffic transmission times between training streams, and the device and interface information of each training stream in the parameter network, pre-plan the forwarding path of each training stream in the parameter network in the next iteration cycle.

[0040] In this embodiment of the application, the above-mentioned path pre-planning method may further include the following steps: After a training flow is planned to be carried on a forwarding path, if the training flow and other training flows already carried on the forwarding path have overlapping traffic transmission times in the time dimension, the load weight value of the forwarding path is incremented by 1.

[0041] The controller maintains load weight values ​​for each path, which can be used for subsequent path pre-planning. In this embodiment, after a training flow is planned to be carried on a forwarding path, if the training flow overlaps with other training flows already carried on that forwarding path in terms of traffic transmission time, the load weight value of that forwarding path is incremented by 1. If the training flow does not overlap with other training flows already carried on that forwarding path in terms of traffic transmission time, the load weight value of that forwarding path remains unchanged.

[0042] In other words, link weight, as a direct reflection of link load, defines the load of a flow onto a specified link: If a flow conflicts with other flows on the link, the weight of the flow loaded onto that link is increased by 1; if it does not conflict with any other flows on the link, the weight of the flow loaded onto that link remains unchanged. Therefore, in this embodiment of the application, when considering the overlapping transmission times between training streams, and the device and interface information of each training stream in the parameter network, and pre-planning the forwarding path of each training stream in the parameter network for the next iteration cycle, a preferred implementation is as follows: For each training stream to be planned, at least one forwarding path in the parameter network that can be used to transmit the training stream is determined based on the source and destination of the training stream. The forwarding path with the lowest load weight value among the at least one forwarding path shall be used as the forwarding path carrying the training path.

[0043] Specifically, all candidate path flows and their corresponding conflict relationships are obtained from the full-flow session information; all optional paths are obtained based on the source and destination; after confirming all optional paths, the new path load weight value after superimposing the candidate path flows on all optional paths is calculated; the path with the smallest new path load weight is selected to carry the candidate path flow.

[0044] The path pre-planning method provided in this application determines which flows will conflict in the time dimension by obtaining the traffic transmission status of each flow across the entire network in the time dimension, i.e., which flows will be triggered simultaneously. Flows that conflict in the time dimension need to be spatially staggered to avoid scheduling them on the same link, thereby preventing multiple flows from competing with each other on the same link at the same time and causing congestion.

[0045] Based on the same inventive concept as the above-described embodiments, see, for example, the following: Figure 4 The diagram shown is a structural schematic of a path pre-planning device provided in an embodiment of this application. The device includes: The statistics unit 40 is used to count the flow of each training stream in each time slice of the current iteration cycle based on the iteration cycle. An iteration cycle is divided into M time slices, and each time slice has the same duration. The determining unit 41 is used to determine whether there is a traffic transmission time overlap between the training streams in the time dimension based on the traffic existence of each training stream in each time slice of the current iteration period. Planning unit 42 is used to pre-plan the forwarding path of each training stream in the parameter network in the next iteration cycle based on the overlapping of traffic transmission time between each training stream and the device and interface information of each training stream in the parameter network.

[0046] Optionally, when statistically analyzing the flow of each training stream in each time slice of the current iteration cycle, the statistical unit 40 is specifically used for: For any training flow, construct the flow vector corresponding to the training flow. The flow vector corresponding to the training flow includes M flow components that correspond one-to-one with M time slices. If the flow exists in a time slice, the value of the flow component corresponding to that time slice is set to 1; otherwise, the value of the flow component corresponding to that time slice is set to 0.

[0047] Optionally, when determining whether there is a time overlap in traffic transmission between training streams based on the traffic presence of each training stream in each time slice of the current iteration period, the determining unit 41 is specifically used for: For any two training streams, determine whether there is a case where the values ​​of the stream components corresponding to the same time slice are all 1 between the two training streams; If the condition is found to exist, it is determined that there is an overlap in the transmission time between the two training streams in the time dimension; otherwise, it is determined that there is no overlap in the transmission time between the two training streams in the time dimension.

[0048] Optionally, the device further includes: The accumulation unit is used to increment the load weight value of the forwarding path by 1 if, after a training flow is planned to be carried on a forwarding path, there is a time overlap between the training flow and other training flows already carried on the forwarding path.

[0049] Optionally, based on the overlapping transmission times between training streams, and considering the device and interface information of each training stream in the parameter network, when pre-planning the forwarding path of each training stream in the parameter network for the next iteration cycle, the planning unit is specifically used for: For each training stream to be planned, at least one forwarding path in the parameter network that can be used to transmit the training stream is determined based on the source and destination of the training stream. The forwarding path with the lowest load weight value among the at least one forwarding path shall be used as the forwarding path carrying the training path.

[0050] These units can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when one of these units is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these units can be integrated together to form a system-on-a-chip (SOC).

[0051] Furthermore, regarding the path pre-planning device provided in this application embodiment, from a hardware perspective, the hardware architecture schematic diagram of the path pre-planning device can be found in [reference needed]. Figure 5 As shown, the path pre-planning device may include: a memory 50 and a processor 51. The memory 50 is used to store program instructions; the processor 51 calls the program instructions stored in the memory 50 and executes the above method embodiment according to the obtained program instructions. The specific implementation method and technical effect are similar, and will not be described again here.

[0052] Optionally, this application also provides a controller, including at least one processing element (or chip) for performing the above method embodiments.

[0053] Optionally, this application also provides a program product, such as a computer-readable storage medium storing computer-executable instructions for causing the computer to perform the above-described method embodiments.

[0054] Here, a machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, a machine-readable storage medium can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.

[0055] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0056] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0057] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0058] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0059] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0060] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0061] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A path pre-planning method, characterized in that, The method includes: Based on the iteration cycle, the flow of each training stream in each time slice of the current iteration cycle is statistically analyzed. One iteration cycle is divided into M time slices, and each time slice has the same duration. Based on the traffic situation of each training stream in each time slice of the current iteration cycle, determine whether there is a traffic transmission time overlap between the training streams in the time dimension; Based on the overlapping of traffic transmission times between training streams, each training stream flows through device and interface information in the parameter network, and the forwarding path of each training stream in the parameter network in the next iteration cycle is pre-planned.

2. The method as described in claim 1, characterized in that, The steps for statistically analyzing the traffic of each training stream in each time slice of the current iteration cycle include: For any training flow, construct the flow vector corresponding to the training flow. The flow vector corresponding to the training flow includes M flow components that correspond one-to-one with M time slices. If the flow exists in a time slice, the value of the flow component corresponding to that time slice is set to 1; otherwise, the value of the flow component corresponding to that time slice is set to 0.

3. The method as described in claim 2, characterized in that, The step of determining whether there is any overlap in traffic transmission time between training streams in the time dimension, based on the traffic presence of each training stream in each time slice of the current iteration period, includes: For any two training streams, determine whether there is a case where the values ​​of the stream components corresponding to the same time slice are all 1 between the two training streams; If the condition is found to exist, it is determined that there is an overlap in the transmission time between the two training streams in the time dimension; otherwise, it is determined that there is no overlap in the transmission time between the two training streams in the time dimension.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: After a training flow is planned to be carried on a forwarding path, if the training flow and other training flows already carried on the forwarding path have overlapping traffic transmission times in the time dimension, the load weight value of the forwarding path is incremented by 1.

5. The method as described in claim 4, characterized in that, Based on the overlapping transmission times between training streams, and considering the device and interface information of each training stream in the parameter network, the steps for pre-planning the forwarding path of each training stream in the parameter network for the next iteration cycle include: For each training stream to be planned, at least one forwarding path in the parameter network that can be used to transmit the training stream is determined based on the source and destination of the training stream. The forwarding path with the lowest load weight value among the at least one forwarding path shall be used as the forwarding path carrying the training path.

6. A path pre-planning device, characterized in that, The device includes: The statistics unit is used to count the flow of each training stream in each time slice of the current iteration cycle based on the iteration cycle. An iteration cycle is divided into M time slices, and each time slice has the same duration. The determining unit is used to determine whether there is a traffic transmission time overlap between the training streams in the time dimension based on the traffic existence of each training stream in each time slice of the current iteration period. The planning unit is used to pre-plan the forwarding path of each training stream in the parameter network in the next iteration cycle, based on the overlapping of traffic transmission time between each training stream and the device and interface information of each training stream in the parameter network.

7. The apparatus as claimed in claim 6, characterized in that, When calculating the flow of each training stream within each time slice of the current iteration cycle based on the iteration cycle statistics, the statistical unit is specifically used for: For any training flow, construct the flow vector corresponding to the training flow. The flow vector corresponding to the training flow includes M flow components that correspond one-to-one with M time slices. If the flow exists in a time slice, the value of the flow component corresponding to that time slice is set to 1; otherwise, the value of the flow component corresponding to that time slice is set to 0.

8. The apparatus as claimed in claim 7, characterized in that, When determining whether there is any overlap in traffic transmission time between training streams in the time dimension based on the traffic situation of each training stream in each time slice of the current iteration period, the determining unit is specifically used for: For any two training streams, determine whether there is a case where the values ​​of the stream components corresponding to the same time slice are all 1 between the two training streams; If the condition is found to exist, it is determined that there is an overlap in the transmission time between the two training streams in the time dimension; otherwise, it is determined that there is no overlap in the transmission time between the two training streams in the time dimension.

9. The apparatus according to any one of claims 6-8, characterized in that, The device further includes: The accumulation unit is used to increment the load weight value of the forwarding path by 1 if, after a training flow is planned to be carried on a forwarding path, there is a time overlap between the training flow and other training flows already carried on the forwarding path.

10. The apparatus as claimed in claim 9, characterized in that, Given the overlapping transmission times between training streams, and considering the device and interface information of each training stream flowing through the parameter network, when pre-planning the forwarding path of each training stream in the parameter network for the next iteration cycle, the planning unit is specifically used for: For each training stream to be planned, at least one forwarding path in the parameter network that can be used to transmit the training stream is determined based on the source and destination of the training stream. The forwarding path with the lowest load weight value among the at least one forwarding path shall be used as the forwarding path carrying the training path.

11. A path pre-planning device, characterized in that, The device includes: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the steps of the method as described in any one of claims 1-5 according to the obtained program instructions.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions for causing the computer to perform the steps of the method as described in any one of claims 1-5.