Task transmission method and device, equipment, storage medium and program product
By acquiring the target chip's current path mode and bandwidth utilization, and combining this with traffic thresholds, the task transmission path is dynamically adjusted, solving the problem of unbalanced path load in the chip interconnect system and achieving path load balancing and improved resource utilization efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MOORE THREADS TECH CO LTD
- Filing Date
- 2026-04-27
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, chip interconnect systems cannot adapt to dynamically changing traffic conditions on the transmission path during task transmission, resulting in uneven path load.
By acquiring the target chip's current path mode and bandwidth utilization, and combining this with traffic thresholds, the task transmission path is dynamically adjusted to adapt to traffic changes and ensure path load balancing.
It achieves balanced adjustment of path load in the chip system under dynamic traffic conditions, improving resource utilization efficiency and transmission stability.
Smart Images

Figure CN122496449A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of chip interconnect technology, and in particular to a task transmission method, apparatus, device, storage medium, and program product. Background Technology
[0002] In chip interconnect systems, multiple chips exchange information through data transmission to collaboratively complete complex inference tasks.
[0003] In related technologies, there are usually multiple transmission paths between two chips in a chip interconnect system. When transmitting tasks between two chips, a static routing strategy, such as the shortest path first strategy, is usually adopted to select one of the paths between the two chips as the primary path for task transmission and switch to the backup path in case of failure.
[0004] However, the task transmission methods in related technologies cannot adapt to the dynamically changing traffic conditions on the transmission path, resulting in an imbalance of path load. Summary of the Invention
[0005] Therefore, it is necessary to provide a task transmission method, apparatus, device, storage medium, and program product that can adapt to dynamically changing traffic conditions on the transmission path and ensure load balancing across the chip's corresponding paths, addressing the aforementioned technical problems.
[0006] In a first aspect, this application provides a task transmission method, the method comprising:
[0007] Obtain the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode;
[0008] Based on the bandwidth utilization of the transmission path and the traffic threshold that is compatible with the current path mode, the target transmission path for the target chip to transmit tasks is determined.
[0009] The target chip's task is transferred using the target transmission path.
[0010] In one embodiment, the current path mode includes a single-path mode, and the traffic threshold adapted to the single-path mode includes a first threshold; determining the target transmission path for the target chip to perform task transmission based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode includes:
[0011] If the bandwidth utilization of the transmission path is greater than the first threshold, at least one backup path is selected from the multiple backup paths corresponding to the target chip as a backup transmission path, and the target transmission path for the target chip to perform task transmission is determined based on the current transmission path and the backup transmission path.
[0012] If the bandwidth utilization of the transmission path is less than or equal to the first threshold, the current transmission path for task transmission of the target chip is determined as the target transmission path.
[0013] In one embodiment, selecting at least one backup path from multiple backup paths corresponding to the target chip as a backup transmission path includes:
[0014] The target chip is controlled to send probe packets to the peer chip via different backup paths;
[0015] Based on the response of the probe packets received by the target chip, the connectivity verification results of each backup path are determined.
[0016] The backup path that passes the connectivity verification is designated as the backup transmission path.
[0017] In one embodiment, determining the target transmission path for the target chip to perform task transmission based on the current transmission path and the backup transmission path includes:
[0018] Obtain the activation order of each backup transmission path;
[0019] According to the activation order of each backup transmission path, each backup transmission path is activated step by step until the bandwidth utilization of the current transmission path is less than the first threshold, and the target transmission path is obtained.
[0020] In one embodiment, the current path mode includes a multi-path mode, and the traffic threshold adapted to the current path mode includes a second threshold; determining the target transmission path for task transmission by the target chip based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode includes:
[0021] If the bandwidth utilization of the transmission path is less than the second threshold, an active path is selected from multiple transmission paths corresponding to the target chip, and the active path is determined as the target transmission path; the active path is the transmission path with the largest bandwidth value among the multiple transmission paths corresponding to the target chip.
[0022] If the bandwidth utilization of the transmission path is greater than the second threshold, the current transmission path for task transmission of the target chip is determined as the target transmission path.
[0023] In one embodiment, before obtaining the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode, the method further includes:
[0024] In response to the boot command of the chip system to which the target chip belongs, obtain the chip interconnect topology of the chip system;
[0025] Based on the chip interconnect topology, multiple transmission paths corresponding to the target chip are identified, and the bandwidth of each transmission path is obtained.
[0026] The transmission path corresponding to the maximum bandwidth value is determined as the active path corresponding to the target chip, and the transmission paths other than the active path among the multiple transmission paths are determined as the backup paths corresponding to the target chip.
[0027] In one embodiment, the transmission path corresponding to the maximum bandwidth value includes multiple candidate active paths; the method further includes:
[0028] Based on the chip interconnect topology, the hop count of each candidate active path is obtained; the hop count represents the number of intermediate nodes in each candidate active path.
[0029] The candidate active path corresponding to the minimum number of hops is determined as the active path.
[0030] In one embodiment, the method further includes:
[0031] Obtain the hop count and maximum bandwidth of each backup path;
[0032] The activation order of each backup path is determined based on the number of hops and the maximum carrying bandwidth of each backup path.
[0033] In one embodiment, the current path mode includes a single-path mode; the target transmission path includes multiple transmission paths; and the target transmission path is used to perform task transmission to the target chip, including:
[0034] Continue transmitting the current data stream along the current transmission path, and distribute the new data stream to each target transmission path for transmission; the target transmission path includes the current transmission path.
[0035] In one embodiment, the current path mode includes a multi-path mode; the target transmission path includes a single transmission path; and the task transmission to the target chip is performed using the target transmission path, including:
[0036] Continue transmitting the current data stream along the current transmission path, and close each current transmission path once the current data stream transmission on the current transmission path is complete; and allocate the new data stream to the target transmission path for task transmission.
[0037] In one embodiment, the method further includes:
[0038] During the process of transmitting the target chip's task using the target transmission path, the load information of each transmission path is obtained.
[0039] If the load information of each transmission path is less than the load threshold, then the current transmission path will continue to be used for task transmission.
[0040] If the load information of any transmission path is greater than the load threshold, the traffic proportion of each path currently transmitting the task will be adjusted so that the load information of the transmission path is less than the load threshold.
[0041] Secondly, this application also provides a task transmission device, comprising:
[0042] The data acquisition module is used to acquire the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode.
[0043] The path adjustment module is used to determine the target transmission path for the target chip to transmit tasks based on the bandwidth utilization of the transmission path and the traffic threshold that is compatible with the current path mode.
[0044] The task transfer module is used to transfer tasks to the target chip using the target transfer path.
[0045] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method steps in the embodiments of the first aspect described above.
[0046] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method steps described in the embodiments of the first aspect above.
[0047] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the method steps described in the embodiments of the first aspect above.
[0048] The aforementioned task transmission method, apparatus, device, storage medium, and program product acquire the current path mode used by the target chip for task transmission and the bandwidth utilization of the corresponding transmission path. Then, based on the bandwidth utilization of the transmission path and a traffic threshold compatible with the current path mode, the target transmission path for task transmission of the target chip is determined. Finally, the target transmission path is used to transmit the target chip's tasks. In this way, by acquiring the bandwidth utilization of the current transmission path, sensing the path status, and combining it with a traffic threshold compatible with the current path mode, the transmission path for task transmission of the target chip is dynamically adjusted. This allows the adjusted transmission path to adapt to dynamically changing traffic conditions on the transmission path, thereby ensuring load balancing among the paths corresponding to the target chip. Attached Figure Description
[0049] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0050] Figure 1 This is a schematic diagram of the chip system architecture in one embodiment;
[0051] Figure 2 This is a flowchart illustrating a task transmission method in one embodiment;
[0052] Figure 3 This is a flowchart illustrating the bandwidth utilization acquisition step in one embodiment;
[0053] Figure 4 This is a flowchart illustrating the bandwidth utilization acquisition step in another embodiment;
[0054] Figure 5 This is a flowchart illustrating the path adjustment steps in one embodiment;
[0055] Figure 6 This is a flowchart illustrating the backup path connectivity verification steps in one embodiment;
[0056] Figure 7 This is a flowchart illustrating the multipath enabling steps in one embodiment;
[0057] Figure 8 This is a flowchart illustrating the path adjustment steps in another embodiment;
[0058] Figure 9 This is a flowchart illustrating the path identification steps in one embodiment;
[0059] Figure 10 This is a flowchart illustrating the path load assessment steps in one embodiment;
[0060] Figure 11 This is a flowchart illustrating the task transfer method in another embodiment;
[0061] Figure 12 This is a flowchart illustrating the path identification steps in another embodiment;
[0062] Figure 13 This is a flowchart illustrating the path adjustment steps in another embodiment;
[0063] Figure 14 This is a flowchart illustrating the multipath enabling steps in another embodiment;
[0064] Figure 15 This is a flowchart illustrating the path load assessment steps in another embodiment;
[0065] Figure 16 This is a flowchart illustrating the path mode switching steps in one embodiment;
[0066] Figure 17 This is a structural block diagram of a task transmission device in one embodiment;
[0067] Figure 18 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0068] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0069] In chip interconnect systems, multiple transmission paths typically exist between two chips. Path selection occurs before task transmission between the two chips, based on static routing strategies such as shortest path first or equal-cost multi-path routing. However, in practical applications, these path selection schemes lack the ability to perceive real-time traffic conditions during path selection.
[0070] Next, during task transmission, a primary and backup path can be used, prioritizing the primary path for task transmission and switching to the backup path when the primary path fails. However, the above-mentioned primary and backup path switching method only switches paths when a failure occurs, and cannot dynamically adjust according to traffic changes. It lacks proactive adjustment based on traffic load, does not fully utilize the parallel transmission capability of multiple paths, and has a large response delay to sudden traffic surges.
[0071] In summary, the embodiments of this application provide a task transmission method that dynamically adjusts the transmission path of the target chip for task transmission by using the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode, so as to adapt to the dynamically changing traffic conditions on the transmission path and ensure load balancing of each path corresponding to the chip.
[0072] The task transfer method provided in this application embodiment can be applied to, for example... Figure 1 The chip system shown can be a graphics processing unit (GPU) cluster, an artificial intelligence (AI) computing platform, or a data center interconnect architecture. Figure 1 The diagram illustrates a multi-chip system (MSS) consisting of four chips: A, B, C, and D. Figure 1 Tasks can be transferred between chip A and chip D via multiple paths, such as chip A to chip D; chip A to chip B, chip B to chip C, chip C to chip D; chip A to chip C, chip C to chip D.
[0073] In one exemplary embodiment, such as Figure 2 As shown, a task transfer method is provided, including the following steps:
[0074] S201, obtain the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode.
[0075] The target chip refers to the chip that initiates the task transmission. It transmits the task to the receiving chip through one or more paths to enable the two chips to work together.
[0076] The current path mode represents the number of transmission paths used for the current transmission task, including single-path mode and multi-path mode. Furthermore, the bandwidth utilization rate of the transmission path corresponding to the current path mode refers to the ratio of the actual transmission rate of the transmission path to the link bandwidth within a certain time period; it is an indicator of whether bandwidth resources are being fully utilized.
[0077] One possible way to obtain the current path mode is to determine it based on the number of transmission paths of the currently executing task. For example, if the number of transmission paths of the currently executing task is 1, the current path mode is determined to be a single-path mode; if the number of transmission paths of the currently executing task is greater than 1, the current path mode is determined to be a multi-path mode.
[0078] As one possible way to obtain the bandwidth utilization of a transmission path, the current traffic data of the transmission path can be collected first, and then the bandwidth utilization of the transmission path can be determined based on the current traffic data.
[0079] Taking the current traffic data, including the amount of data transmitted and the actual transmission time, as an example, the method for determining bandwidth utilization is explained as follows: First, calculate the ratio between the amount of data transmitted and the actual transmission time to determine the actual transmission rate of the transmission path per unit time; at the same time, obtain the maximum bandwidth of the transmission path, which is the maximum amount of data that the transmission path can transmit per unit time, and is the upper limit of the link's transmission capacity; finally, determine the bandwidth utilization of the transmission path based on the actual transmission rate and the maximum bandwidth of the transmission path.
[0080] In practical applications, the bandwidth utilization of the current path mode and the corresponding transmission path can be periodically collected during the task transmission process of the target chip; the bandwidth utilization of the current path mode and the corresponding transmission path can be monitored in real time; and the bandwidth utilization of the current path mode and the corresponding transmission path can be obtained once when the current path mode is detected to be switched.
[0081] S202, based on the bandwidth utilization of the transmission path and the traffic threshold that is compatible with the current path mode, determine the target transmission path for the target chip to transmit tasks.
[0082] Among these, the traffic thresholds adapted to the current path pattern include the bandwidth utilization threshold. In this case, the bandwidth utilization of the transmission path and the bandwidth utilization threshold can be compared, and based on the comparison result, the transmission path for performing the task transmission can be adjusted or left unchanged.
[0083] Optionally, if the bandwidth utilization of a transmission path exceeds the bandwidth utilization threshold, it indicates that the transmission path is overloaded. In this case, the number of transmission paths can be increased according to the extent of the bandwidth overload. If the bandwidth utilization of a transmission path does not exceed the bandwidth utilization threshold, it indicates that the bandwidth utilization of the transmission path is low and there is a waste of resources. In this case, the number of transmission paths can be reduced according to the degree of idle bandwidth utilization.
[0084] S203 uses the target transmission path to transmit the target chip's task.
[0085] It should be noted that during the process of adjusting the transmission path, the current transmission path will continue to transmit the current task data, and no new task data will be assigned to it. Instead, the new task data will be assigned to the adjusted transmission path for task transmission to the target chip.
[0086] In this embodiment, the current path mode used by the target chip for task transmission and the bandwidth utilization of the corresponding transmission path are obtained. Then, based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode, the target transmission path for task transmission of the target chip is determined. Finally, the target transmission path is used to transmit the target chip's tasks. In this way, by obtaining the bandwidth utilization of the current transmission path, sensing the path status, and combining it with the traffic threshold adapted to the current path mode, the transmission path for task transmission of the target chip is dynamically adjusted. This allows the adjusted transmission path to adapt to dynamically changing traffic conditions on the transmission path, thereby ensuring load balancing among the paths corresponding to the target chip.
[0087] In practical applications, the calculation method for bandwidth utilization differs depending on the path pattern. Therefore, the following two examples illustrate the calculation formulas for bandwidth utilization under different path patterns.
[0088] In one exemplary embodiment, such as Figure 3 As shown, the current path mode corresponds to a transmission path; obtain the bandwidth utilization of the transmission path corresponding to the current path mode used by the target chip for task transmission, including:
[0089] S301: Obtain the actual bandwidth of the transmission path based on the current traffic data of the transmission path.
[0090] The current path mode corresponds to a single transmission path. In this mode, the current traffic data of the transmission path is the same as the current traffic data of the single path, including the actual amount of data transmitted and the actual transmission time. In this case, the ratio between the actual amount of data transmitted and the actual transmission time can be calculated to obtain the data transmission rate per unit time, which is taken as the actual bandwidth of the transmission path.
[0091] S302, based on the ratio of the actual bandwidth to the maximum carrying bandwidth of the transmission path, obtains the bandwidth utilization rate of the transmission path.
[0092] The maximum carrying bandwidth of a transmission path refers to the maximum data transmission rate of the transmission path per unit time. After standardizing the units of the actual bandwidth and the maximum carrying bandwidth of the transmission path, the ratio of the actual bandwidth to the maximum carrying bandwidth of the transmission path is calculated, and this ratio is used as the bandwidth utilization rate of a single transmission path.
[0093] In this embodiment of the application, under single-path mode, the actual bandwidth of the transmission path is obtained based on the current traffic data of the transmission path, and the bandwidth utilization rate of the transmission path is obtained based on the ratio of the actual bandwidth to the maximum carrying bandwidth of the transmission path. This improves the accuracy of bandwidth utilization and provides a reliable decision-making basis for optimization strategies such as dynamic scheduling and load balancing of network bandwidth resources, thereby improving the resource utilization efficiency of the transmission path.
[0094] The above embodiments illustrate bandwidth utilization in single-path mode. The following describes the calculation method for bandwidth utilization in multi-path mode. In an exemplary embodiment, such as... Figure 4 As shown, the current path mode corresponds to multiple transmission paths; obtain the bandwidth utilization of the transmission path corresponding to the current path mode used by the target chip for task transmission, including:
[0095] S401: Obtain the bandwidth utilization rate of each transmission path based on the current traffic data of each transmission path.
[0096] For each transmission path, the actual bandwidth of each transmission path is obtained based on the current traffic data of each transmission path, and the bandwidth utilization rate of each transmission path is obtained based on the ratio of the actual bandwidth to the maximum carrying bandwidth of the corresponding transmission path.
[0097] S402, obtain the bandwidth utilization statistics of each transmission path based on the bandwidth utilization of each transmission path.
[0098] For example, the bandwidth utilization of each transmission path can be averaged to obtain the bandwidth utilization statistics of each transmission path, or the bandwidth utilization of each transmission path can be weighted according to the weight of each transmission path to obtain the bandwidth utilization statistics.
[0099] For example, the bandwidth utilization of each transmission path is sorted, and the median of the sorting results is used as the statistical value of bandwidth utilization for each transmission path.
[0100] For example, the mode of bandwidth utilization for each transmission path can be obtained to get the bandwidth utilization statistics for each transmission path.
[0101] S403 determines the bandwidth utilization statistics as the bandwidth utilization of the transmission path.
[0102] In this embodiment of the application, under the multi-path mode, the bandwidth utilization rate of each transmission path is obtained based on the current traffic data of each transmission path, and the bandwidth utilization rate statistics of each transmission path are obtained based on the bandwidth utilization rate of each transmission path. This serves as the bandwidth utilization rate of the transmission path, accurately depicting the overall bandwidth occupancy of each transmission path, and providing more reliable data support for optimization strategies such as multi-path load balancing scheduling, dynamic allocation of bandwidth resources, and congestion warning.
[0103] After obtaining the bandwidth utilization of the transmission path under the current path mode, the adjustment strategy for the transmission path can be determined by further combining it with the traffic threshold corresponding to the current path mode. In the embodiments of this application, the load requirements for the transmission path are different under different path modes, and correspondingly, the adjustment strategies for the transmission path are also different. Based on this, the adjustment strategies for the transmission path under different path modes are described below.
[0104] In one exemplary embodiment, such as Figure 5 As shown, the current path mode includes a single-path mode, and the traffic threshold adapted to the single-path mode includes a first threshold; based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode, the target transmission path for the target chip to perform task transmission is determined, including:
[0105] S501, when the bandwidth utilization of the transmission path is greater than the first threshold, select at least one backup path from the multiple backup paths corresponding to the target chip as a backup transmission path, and determine the target transmission path for the target chip to perform task transmission based on the current transmission path and the backup transmission path.
[0106] In single-path mode, there is one and only one transmission path (usually an active path with bandwidth exceeding a preset threshold) for task transmission. In this case, it is necessary to monitor whether the transmission path is overloaded. The traffic thresholds adapted to single-path mode include a first threshold, which refers to the upper limit of bandwidth utilization for a single path.
[0107] The bandwidth utilization of the transmission path is compared with a first threshold. If the bandwidth utilization of the transmission path is greater than the first threshold, it indicates that the bandwidth utilization of a single transmission path is too high, and the transmission load is large. In this case, at least one of the multiple backup paths corresponding to the target chip needs to be selected as a backup transmission path to share the transmission pressure of the single transmission path. Multiple target transmission paths are then determined from the current transmission path and the selected backup transmission paths. Optionally, both the current transmission path and each backup transmission path can be used as target transmission paths, or a portion of the backup transmission paths can be used as target transmission paths.
[0108] S502, if the bandwidth utilization of the transmission path is less than or equal to the first threshold, the current transmission path for the target chip to perform task transmission is determined as the target transmission path.
[0109] If the bandwidth utilization of the transmission path is less than or equal to the first threshold, it indicates that the transmission load of a single transmission path is in a normal state. At this time, there is no need to add a new transmission path to share the transmission pressure, and the current single transmission path for the target chip to perform task transmission is determined as the target transmission path.
[0110] In this embodiment of the application, in single-path mode, if the bandwidth utilization of a single transmission path is greater than a first threshold, at least one backup path is selected from multiple backup paths corresponding to the target chip as a backup transmission path, and the target transmission path is determined based on the current transmission path and the backup transmission path to share the transmission pressure of the single transmission path and improve transmission efficiency; if the bandwidth utilization of a single transmission path is less than or equal to the first threshold, the transmission path for the target chip to perform task transmission remains unchanged to reduce the additional overhead caused by path switching and ensure transmission stability.
[0111] In an exemplary embodiment, one possible implementation of the aforementioned step S501, "selecting at least one backup path from multiple backup paths corresponding to the target chip as a backup transmission path," will be described, such as... Figure 6 As shown, it includes:
[0112] S601 controls the target chip to send probe packets to the peer chip through different backup paths.
[0113] The peer chip refers to the terminal chip of the target chip for transmitting tasks. There are multiple paths between the peer chip and the target chip, and each path can be used to transmit tasks.
[0114] The target chip is controlled to send probe packets to the peer chip via different backup paths, instructing the peer chip to return a response command according to the backup path used to receive the probe packets. For example, the target chip can be instructed to send different probe packets to the peer chip via different backup paths.
[0115] S602, based on the response of the probe packets received by the target chip, determine the connectivity verification results of each backup path.
[0116] The probe packet response received by the target chip includes a path identifier, representing the path through which the peer chip sent the probe packet response. If the target chip receives a probe packet response returned by the peer chip via a certain path, it means that the target chip successfully sent the probe packet to the peer chip, and the peer chip can also return a probe packet response based on the sending path, confirming that the path is connected between the target and peer chips. Conversely, if the target chip does not receive a probe packet response returned by the peer chip via a certain path, it means that the path is not connected between the target and peer chips.
[0117] Based on this, the response of the probe packet received by the target chip is identified, the path identifier in the probe packet response is obtained, and the connectivity verification result of the backup path corresponding to the path identifier is determined as the connectivity verification passed.
[0118] S603, the backup path that passes the connectivity verification is determined as the backup transmission path.
[0119] If the connectivity verification passes for any backup path, indicating that the path is usable, then the backup path is designated as a backup transmission path; otherwise, if the connectivity verification fails, indicating that the path is unusable, then the backup path is marked as a faulty path and excluded from the multiple paths corresponding to the target chip and the peer chip.
[0120] In this embodiment, the target chip is controlled to send probe packets to the peer chip through different backup paths. Based on the response of the probe packets received by the target chip, the connectivity verification results of each backup path are determined, and the available backup transmission paths are accurately selected. At the same time, invalid paths are eliminated in advance, ensuring that the backup transmission paths can be quickly called when a single path is overloaded and needs to be switched or expanded, thus ensuring the reliability and timeliness of the transmission path adjustment strategy.
[0121] In an exemplary embodiment, one possible implementation of the aforementioned step S501, "determining the target transmission path for task transmission of the target chip based on the current transmission path and the backup transmission path," will be described, such as... Figure 7 As shown, it includes:
[0122] S701, obtain the activation order of each backup transmission path.
[0123] For any backup transmission path, the earlier the backup transmission path is started, the earlier the timing for enabling the backup transmission path for task transmission; while the later the timing is started, the later the timing for enabling the backup transmission path for task transmission, or even the backup transmission path may not be enabled.
[0124] When obtaining the activation order of each backup transmission path, the activation order of each backup path between the target chip and the peer chip can be obtained first. Since the backup transmission paths are obtained by filtering from the backup paths, the activation order of each backup path naturally includes the activation order of each backup transmission path. Based on this, the activation order of each backup transmission path can be directly filtered from the activation order of each backup path.
[0125] The activation order of each backup path is determined before the target chip performs task transmission, for example, in real time after the chip system to which the target chip belongs starts up, and can be pre-stored in a preset memory space.
[0126] S702, according to the activation order of each backup transmission path, start each backup transmission path step by step until the bandwidth utilization of the current transmission path is less than the first threshold, and obtain the target transmission path.
[0127] For existing data streams that are being transmitted on the original transmission path, instead of forcibly migrating them, they are allowed to continue transmitting on the old path to avoid potential connection interruptions, out-of-order data, or packet loss during the migration process.
[0128] For newly arrived task data, each backup transmission path is activated in stages based on the activation order of each backup transmission path, such as activating one backup transmission path at a time or activating a preset number of backup transmission paths at a time. Furthermore, for each batch of backup transmission paths initiated, the bandwidth ratio between the original transmission path and the current backup transmission path is determined, and tasks are transmitted using this bandwidth ratio. Then, the bandwidth utilization of the original transmission path and the backup transmission path is evaluated to see if it is less than a first threshold. If the bandwidth utilization of both the original transmission path and the initiated batch of backup transmission paths is less than or equal to the first threshold, no new backup transmission paths are initiated. If the bandwidth utilization of any path among the original transmission path and the initiated batch of backup transmission paths is greater than the first threshold, a second batch of backup transmission paths is initiated. The bandwidth ratio between the original transmission path and the two batches of initiated backup transmission paths is determined, and tasks are transmitted using this bandwidth ratio. Then, the bandwidth utilization of both the original transmission path and the two batches of initiated backup transmission paths is evaluated to see if it is less than the first threshold. The above steps are repeated until the bandwidth utilization of both the current transmission path and the initiated backup transmission paths is less than the first threshold. The transmission path that meets the conditions and needs to be initiated is then determined as the target transmission path.
[0129] It should be noted that when determining the bandwidth ratio of the original transmission path and the backup transmission path, it can be based on the bandwidth of the original transmission path and the backup transmission path. For example, if the bandwidth of the original transmission path and the backup transmission path are 400M and 100M respectively, then the bandwidth ratio of the original transmission path is determined to be 80% and the bandwidth ratio of the backup transmission path is 20% based on the ratio of the path bandwidth to the total bandwidth.
[0130] In this embodiment, each backup transmission path is activated step-by-step according to its activation order until the bandwidth utilization of the current transmission path is less than a first threshold, thus achieving on-demand, fine-grained allocation of backup path resources. Furthermore, this gradual path expansion method can accurately match the need to alleviate transmission pressure, avoid hardware power waste caused by over-activating backup paths, ensure the smoothness of the transmission path adjustment process, effectively prevent transmission jitter and packet loss risks caused by path switching or expansion, and further improve the reliability and resource utilization efficiency of the transmission system load balancing strategy.
[0131] In one exemplary embodiment, such as Figure 8 As shown, the current path mode includes a multi-path mode, and the traffic threshold adapted to the current path mode includes a second threshold; based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode, the target transmission path for the target chip to perform task transmission is determined, including:
[0132] S801 selects an active path from multiple transmission paths corresponding to the target chip when the bandwidth utilization of the transmission path is less than the second threshold, and determines the active path as the target transmission path.
[0133] The active path is the transmission path with the largest bandwidth value among the multiple transmission paths corresponding to the target chip.
[0134] In multipath mode, multiple transmission paths (typically an active path and at least one backup path) perform task transmission. In this case, it is necessary to monitor whether these transmission paths are too idle to avoid resource waste. Traffic thresholds adapted to multipath mode include a second threshold, which can be a lower limit for bandwidth utilization across multiple paths.
[0135] The bandwidth utilization of the transmission path is compared with the second threshold. If the bandwidth utilization of the transmission path is less than the second threshold, it indicates that there is a situation where the transmission load of the transmission path is small among the multiple transmission paths, and the transmission resources of the transmission path are not fully utilized. In this case, the optimal performance path is selected from the multiple paths corresponding to the target chip, such as the transmission path with the largest bandwidth (active path), as the target transmission path.
[0136] It should be noted that the embodiments of this application adopt a gradual shutdown method, gradually closing each transmission path. That is, after the current data stream transmission of each transmission path is completed, each transmission path is closed, and then the active path is used for task transmission.
[0137] S802, if the bandwidth utilization of the transmission path is greater than the second threshold, determines the current transmission path for task transmission of the target chip as the target transmission path.
[0138] If the bandwidth utilization of the transmission path is greater than the second threshold, it indicates that the transmission load of multiple transmission paths is balanced. At this time, there is no need to add new transmission paths to share the transmission pressure, nor is it necessary to reduce transmission paths to disrupt the transmission load balance. The current multiple transmission paths used by the target chip to transmit tasks are determined as the target transmission paths.
[0139] In this embodiment, under multi-path mode, if the bandwidth utilization of the transmission path is less than a second threshold, the active path with the largest bandwidth value is selected from the multiple transmission paths corresponding to the target chip as the target transmission path, reducing hardware power consumption and link management overhead caused by multi-path parallelism. If the bandwidth utilization of the transmission path is greater than the second threshold, the transmission path used by the target chip for task transmission remains unchanged, maintaining the multi-path parallel transmission state, ensuring transmission stability under high traffic load, and preventing congestion and increased latency caused by path reduction. This path adjustment method balances resource efficiency in low-load scenarios with transmission performance in high-load scenarios, improving the flexibility and reliability of multi-path task transmission of the target chip.
[0140] In one exemplary embodiment, such as Figure 9 As shown, before obtaining the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode, the method further includes:
[0141] S901, in response to the startup command of the chip system to which the target chip belongs, obtains the chip interconnect topology in the chip system.
[0142] The startup command for a chip system can be a power-on command. Once the chip system is running and before the target chip performs task transmission, the chip interconnect topology within the chip system can be obtained in real time. This chip interconnect topology can be a schematic diagram of the connections between the various chips within the chip system, representing the connection relationships between them.
[0143] S902 identifies multiple transmission paths corresponding to the target chip based on the chip interconnect topology and obtains the bandwidth of each transmission path.
[0144] Based on the chip interconnect topology, multiple transmission paths between the target chip and the peer chip are identified. For each transmission path, the corresponding bandwidth is determined according to the type of the transmission path. For example, if the transmission path is a direct connection, the maximum bandwidth of the transmission path is determined as the bandwidth of the transmission path; if the transmission path is a path obtained by splicing multiple segmented paths, the minimum bandwidth of each segmented path can be determined as the bandwidth of the transmission path.
[0145] With the target chip as chip A and the peer chip as chip D, there are two transmission paths between the two chips: ①A-D, ②A-B, and BD. For example, the bandwidth of AD is 80Mbps, the bandwidth of AB is 70Mbps, and the bandwidth of BD is 50Mbps. Here we can determine that the bandwidth of the transmission path AD is 80Mbps and the bandwidth of the transmission path AB and BD is 50Mbps.
[0146] S903 determines the transmission path corresponding to the maximum bandwidth value as the active path corresponding to the target chip, and determines the transmission paths other than the active path among multiple transmission paths as the backup paths corresponding to the target chip.
[0147] The bandwidth of each transmission path is compared to determine the maximum bandwidth value. The transmission path corresponding to the maximum bandwidth value is determined as the active path. The transmission paths other than the active path among the multiple transmission paths are determined as the backup paths corresponding to the target chip.
[0148] In this embodiment, in response to the startup command of the chip system to which the target chip belongs, the chip interconnect topology in the chip system is obtained, and then multiple transmission paths corresponding to the target chip are identified. Then, the bandwidth of each transmission path is compared, and the transmission path corresponding to the maximum bandwidth value is determined as the active path corresponding to the target chip. In addition, the transmission paths other than the active path among the multiple transmission paths are determined as the backup paths corresponding to the target chip. This realizes the initial configuration of the transmission paths and provides a reliable basis for rapid switching when a single path is overloaded.
[0149] In the above embodiment, when the bandwidth of each transmission path corresponding to the target chip is obtained, the bandwidths of each transmission path are sorted in descending order, and the maximum bandwidth value and the corresponding transmission path (active path) are determined based on the sorting result. Further, if multiple identical bandwidth values appear in the sorting result, and all are maximum bandwidth values, the transmission paths corresponding to the multiple maximum bandwidth values can be determined as candidate active paths, and one active path is selected from the multiple candidate active paths. In an exemplary embodiment, the transmission path corresponding to the maximum bandwidth value includes multiple candidate active paths; the method further includes:
[0150] Based on the chip interconnect topology, the hop count of each candidate active path is obtained; the hop count represents the number of intermediate nodes in each candidate active path; the candidate active path corresponding to the minimum hop count is determined as the active path.
[0151] Candidate active paths refer to multiple transmission paths with the same bandwidth value, all of which are the maximum bandwidth value, corresponding to the target chip. When multiple candidate active paths exist for the transmission path corresponding to the maximum bandwidth value, it is necessary to select an active path from these multiple candidate active paths and designate the remaining candidate active paths as backup paths.
[0152] Based on the chip interconnect topology, the number of intermediate nodes for each candidate active path is identified, the transmission complexity of each candidate active path is quantified, and then the candidate active path with the fewest intermediate nodes, i.e., the fewest hops, is determined as the final active path. It should be noted that fewer intermediate nodes mean lower forwarding latency and protocol overhead during data transmission, fewer points of failure risk during transmission, a lower probability of data packet loss and transmission interruption, and higher path transmission stability.
[0153] For example, if the candidate active path corresponding to the minimum hop count still includes multiple paths, then one candidate active path is randomly selected from the candidate active paths corresponding to the minimum hop count as the final active path.
[0154] In this embodiment, when the transmission path corresponding to the maximum bandwidth value includes multiple candidate active paths, the candidate active path with the fewest intermediate nodes is determined as the active path to ensure the stable transmission capability of the active path, while taking into account the low latency and high reliability of the active path, thus realizing the precision and optimization of the chip system transmission path initialization configuration.
[0155] After determining the active and backup paths, the default active path is the first path to be enabled for task transmission. In addition, the activation order of each backup path needs to be determined to provide a basis for switching from single-path mode to multi-path mode during actual task transmission. In an exemplary embodiment, the method further includes:
[0156] Obtain the hop count and maximum bandwidth of each backup path; determine the activation order of each backup path based on the hop count and maximum bandwidth of each backup path.
[0157] As an optional implementation, the backup paths are sorted in descending order of maximum carrying bandwidth to obtain the initial activation order of each backup path. Then, the activation order of multiple backup paths with the same maximum carrying bandwidth is fine-tuned in ascending order of hop count to finally determine the activation order of each backup path, taking into account both hop count and maximum carrying bandwidth.
[0158] As another optional embodiment, the backup paths are sorted in ascending order of hop count to obtain the initial activation order of each backup path. Then, the activation order of multiple backup paths with the same hop count is fine-tuned in descending order of maximum carrying bandwidth. Finally, the activation order of each backup path is determined by comprehensively considering both hop count and maximum carrying bandwidth.
[0159] In this embodiment, the activation order of each backup path is determined based on the number of hops and the maximum carrying bandwidth of each backup path. On the one hand, combined with the bandwidth index, high-bandwidth backup paths can be prioritized to quickly alleviate the transmission pressure of the main path and ensure the efficiency of task transmission. On the other hand, combined with the number of hops index, paths with fewer hops can be prioritized to reduce data forwarding latency and intermediate node failure risk, thereby improving transmission stability. The activation order determined by this dual-dimensional sorting strategy is more in line with actual transmission needs.
[0160] In an exemplary embodiment, the current path mode includes a single-path mode; the target transmission path includes multiple transmission paths; and the target transmission path is used to perform task transmission to the target chip, including:
[0161] Continue transmitting the current data stream along the current transmission path, and distribute the new data stream to each target transmission path for transmission; the target transmission path includes the current transmission path.
[0162] It should be noted that the current path mode is single-path mode, meaning there is only one current transmission path. However, the target transmission path includes multiple transmission paths, which means a path mode switch from single-path to multi-path is required. In this case, the current data stream continues to be transmitted on its original current transmission path, while new data streams are proportionally allocated to different target transmission paths for transmission.
[0163] Furthermore, the target transmission path includes the current transmission path, eliminating the need to discard existing available paths. It directly expands multiple transmissions on the existing transmission basis, achieving efficient reuse of transmission resources while avoiding the additional overhead and latency caused by path reconstruction and reconnection.
[0164] Optionally, the bandwidths of each target transmission path are summed to obtain the total bandwidth. Then, the proportion of the bandwidth of each target transmission path in the total bandwidth is calculated as the data flow allocation ratio of each target transmission path. Then, according to the data flow allocation ratio of each target transmission path, the new data flow is allocated to different target transmission paths for transmission.
[0165] In this embodiment, for the switching scenario from single path to multiple paths, the original current transmission path is retained to continue carrying the existing data stream, avoiding interruption of data stream transmission, and the new data stream is allocated to multiple target transmission paths for parallel transmission, making full use of the bandwidth resources of multiple paths to achieve parallel distribution of data streams, significantly improving the overall efficiency and data throughput of target chip task transmission.
[0166] In an exemplary embodiment, the current path mode includes a multi-path mode; the target transmission path includes a single transmission path; and the task transmission to the target chip is performed using the target transmission path, including:
[0167] Continue transmitting the current data stream along the current transmission path, and close each current transmission path once the current data stream transmission on the current transmission path is complete; and allocate the new data stream to the target transmission path for task transmission.
[0168] It should be noted that the current path mode is multi-path mode, meaning the number of current transmission paths is greater than one, while the target transmission path includes a single transmission path. This implies a need to switch from multi-path to single-path path mode. In this case, the current data stream continues to be transmitted on its existing transmission path, and all current transmission paths are closed once the current data stream on each path has completed its transmission. Simultaneously, for any newly arriving data stream, the new data stream is assigned to the target transmission path for task transmission.
[0169] In this embodiment, for the switching scenario from multiple paths to a single path, the current transmission path continues to transmit the current data stream, and when the current data stream transmission on the current transmission path is completed, each current transmission path is closed to ensure the continuity and stability of data transmission; at the same time, the new data stream is allocated to the target transmission path for task transmission, reducing the resource overhead caused by multiple paths and reducing chip transmission power consumption and scheduling complexity.
[0170] In one exemplary embodiment, such as Figure 10 As shown, the method also includes:
[0171] S1001: During the task transmission of the target chip using the target transmission path, obtain the load information of each transmission path.
[0172] During the task transmission of the target chip using the target transmission path, the actual bandwidth of each transmission path currently transmitting the task is collected in real time as the load information of each transmission path.
[0173] In practical applications, if the adjusted transmission path includes one path, the actual bandwidth of that transmission path is collected; if the adjusted transmission path includes multiple paths, the actual bandwidth of each current transmission path is collected separately.
[0174] S1002, if the load information of each transmission path is less than the load threshold, then continue to use the current transmission path for task transmission.
[0175] The load threshold is a preset upper limit for the load of a single transmission path. If the load information of each transmission path is less than the load threshold, it indicates that the transmission load of each transmission path is in a normal transmission state, and the current transmission path will continue to be used for task transmission.
[0176] S1003, if the load information of any transmission path is greater than the load threshold, the traffic ratio of each path currently transmitting the task is adjusted so that the load information of the transmission path is less than the load threshold.
[0177] If the load information of any transmission path is greater than the load threshold, it indicates that the transmission load of that transmission path is in an abnormal transmission state. In this case, the traffic proportion of that transmission path is reduced, and the traffic proportion of all other transmission paths is increased, so that the load information of each transmission path is less than the load threshold.
[0178] For example, a multi-path pattern includes path A and path B, with traffic shares of 50% and 50% respectively. If the load information for both path A and path B is less than the load threshold, this ratio remains unchanged. If the load of path B is greater than the load threshold, the ratio is adjusted, for example, the traffic shares of path A and path B are adjusted to 70% and 30% respectively.
[0179] As a scalable implementation, if the load information of any transmission path exceeds the load threshold, a new transmission path can be selected from the idle paths of the target chip, and the data stream of the overloaded transmission path can be migrated to the new transmission path.
[0180] The idle path of the target chip refers to the path other than the current transmission path among the multiple transmission paths between the target chip and the peer chip, that is, the transmission path that is not currently transmitting tasks.
[0181] If the load information of any transmission path exceeds the load threshold, indicating that the transmission load of that path is in an abnormal transmission state, a new transmission path is selected from the idle paths of the target chip to replace the current transmission path, and the task transmission is performed. When selecting a new transmission path from the idle paths, the idle path with the largest bandwidth can be selected as the new transmission path based on the bandwidth of each idle path.
[0182] In this embodiment, during the task transmission of the target chip using the adjusted transmission path, the load information of each transmission path is obtained. If the load information of each transmission path is less than the load threshold, the current transmission path is continued to be used for task transmission to avoid system overhead caused by invalid path switching. If the load information of any transmission path is greater than the load threshold, the traffic ratio of each path currently transmitting the task is adjusted so that the load information of the transmission path is less than the load threshold, thereby avoiding transmission delay and packet loss caused by excessive load.
[0183] In one exemplary embodiment, a task transfer method is provided, such as... Figure 11 As shown, it includes the following steps:
[0184] S1101, chip system startup.
[0185] S1102, based on the chip interconnect topology of the chip system, obtain one active path and multiple backup paths between the target chip and the peer chip.
[0186] S1103 performs task transfer to the target chip based on the path.
[0187] S1104 continuously monitors the current traffic data of the current transmission path and determines the bandwidth utilization of the current transmission path based on the current traffic data.
[0188] S1105, determine whether the bandwidth utilization of the current transmission path is greater than the bandwidth utilization of the single-path mode.
[0189] S1106, if not, maintain the current path mode transmission status.
[0190] S1107, if so, then initiate multipath transmission.
[0191] S1108 is the bandwidth allocation ratio for multipath.
[0192] S1109, evaluate the path load performance of multipath.
[0193] S1110 determines whether path adjustments are needed based on the path load performance of the multi-path system.
[0194] If no path adjustment is required, return to step S1104.
[0195] If S1111 is correct, then perform path adjustment.
[0196] S1112, using the adjusted path to transmit the task.
[0197] In this embodiment, after the chip system starts up, active and backup paths are pre-set based on the interconnect topology. The single-path to multi-path mode switching is triggered by the bandwidth utilization rate as a threshold. Combined with bandwidth ratio allocation, path load performance evaluation and dynamic path adjustment, a closed-loop management mechanism is formed. This ensures transmission efficiency and low overhead in low-load scenarios, and can quickly expand capacity to relieve pressure in high-load scenarios. It effectively avoids latency and packet loss problems caused by single-path overload. At the same time, through continuous monitoring and dynamic optimization, fine-grained scheduling of transmission path resources is achieved, which improves the stability, flexibility and overall resource utilization efficiency of inter-chip task transmission.
[0198] In one exemplary embodiment, one possible implementation of the aforementioned step S1102 is described, such as... Figure 12 As shown, Figure 12 A flowchart illustrating the path selection method, including the following steps:
[0199] S1201 enumerates all paths between the two chips.
[0200] S1202, calculate the bandwidth weight for each path.
[0201] S1203, Select the set of weighted paths corresponding to the maximum bandwidth weight.
[0202] S1204, determine whether the number of paths in the weighted path set is multiple paths.
[0203] S1205, if not, then select this path directly.
[0204] S1206, If so, select the set of paths with the smallest number of hops from the set of weighted paths.
[0205] S1207, Determine whether the number of paths in the hop count path set is multiple paths.
[0206] S1208, if so, then select any path from the hop count path set.
[0207] S1209, if not, then directly select a single path from the hop count path set.
[0208] S1210, configured as the active path.
[0209] S1211 identifies all paths between two chips other than the active path as backup paths.
[0210] In this embodiment, a hierarchical and progressive path selection strategy is adopted, which involves enumerating all paths, calculating bandwidth weights to filter high-bandwidth path sets, filtering low-latency path sets by hop count, and selecting or determining a unique path as needed. This strategy achieves precise division between active and backup paths, prioritizing the high-bandwidth and low-latency transmission characteristics of active paths while avoiding the one-sidedness of single-indicator selection. At the same time, by clarifying the division rules for backup paths, reliable path resource support is provided for subsequent single / multi-path mode switching, improving the scientificity and efficiency of the chip system's transmission path initialization configuration.
[0211] In an exemplary embodiment, one possible implementation method of the aforementioned step S1104 traffic monitoring process is described, such as... Figure 13 As shown, Figure 13 The flowchart for the path adjustment method includes the following steps:
[0212] S1301, Start monitoring.
[0213] S1302, collect current traffic data of the current transmission path.
[0214] S1303 calculates bandwidth utilization based on current traffic data.
[0215] S1304, Get the current path mode.
[0216] S1305, Determine whether the current path is in single-path mode.
[0217] S1306 If it is a single-path mode, then determine whether the bandwidth utilization is greater than the maximum bandwidth utilization threshold matched by the single-path mode.
[0218] S1307, if so, then multipathing is enabled.
[0219] For example, if the maximum bandwidth utilization threshold is 80%, and the bandwidth utilization in single-path mode exceeds 80%, multi-path load sharing needs to be enabled.
[0220] S1308, Perform multipath switching.
[0221] S1309, if not, then maintain single-path mode.
[0222] S1310, if it is a multipath mode, then determine whether the bandwidth utilization is less than the minimum bandwidth threshold for multipath mode matching.
[0223] S1311, if so, then single-path enablement is triggered.
[0224] Taking a minimum bandwidth utilization threshold of 30% as an example, if the bandwidth utilization in single-path mode is less than 30%, single-path load sharing needs to be enabled to save resources.
[0225] S1312, perform single-path switching.
[0226] S1313, if not, then maintain multipath mode.
[0227] S1314, continue monitoring.
[0228] In this embodiment, by continuously collecting transmission path traffic data and calculating bandwidth utilization, and configuring differentiated bandwidth utilization thresholds for single-path and multi-path modes respectively, adaptive switching between single-path and multi-path modes is achieved. When the utilization exceeds the threshold in single-path mode, multi-path load sharing is automatically enabled to avoid transmission delay and packet loss caused by single-path overload. When the utilization is below the threshold in multi-path mode, it automatically switches back to single-path to reduce hardware power consumption and link management overhead caused by multi-path parallelism. At the same time, a closed-loop continuous monitoring mechanism ensures the timeliness and accuracy of mode switching. Ultimately, while taking into account the transmission stability in high-load scenarios and the resource utilization in low-load scenarios, the overall flexibility and reliability of inter-chip task transmission are improved.
[0229] In an exemplary embodiment, one possible implementation of the multipath startup mechanism in steps S1307-S1308 is described, such as... Figure 14 As shown, Figure 14The flowchart for the multipath startup method includes the following steps:
[0230] S1401, receive multipath enable command.
[0231] S1402, Get the list of alternative paths.
[0232] S1403, Verify the connectivity of the backup path.
[0233] For each backup path, verify its connectivity by sending test frames to verify the path. If an unusable path is found before activation, it can be removed from the backup path list in advance.
[0234] S1404, determine whether each backup path has been successfully verified.
[0235] S1405, if not, mark the faulty path and remove it from the alternative path list.
[0236] S1406, if so, activate the available alternative path.
[0237] S1407 sets the bandwidth ratio of multiple paths based on available alternative paths.
[0238] Based on the weight values and hop counts of multiple paths, the specific proportion of total bandwidth allocated to each available path is set to maximize bandwidth utilization.
[0239] S1408, Update hardware routing table rules.
[0240] S1409, configure the multi-path interleaving ratio and routing table.
[0241] S1410, initiate multipath transmission.
[0242] In this embodiment, after receiving the multipath activation command, the availability of the backup path to be activated is ensured by first verifying the connectivity of the backup path and removing faulty paths, thus avoiding transmission interruption or switching failure caused by activating an invalid path. At the same time, based on the available paths, the bandwidth ratio is set, the hardware routing table is updated, and the interleaving ratio is configured, realizing fine-grained scheduling of multipath transmission and efficient hardware-level adaptation, ensuring the load balancing effect and transmission stability after multipath activation. The overall process not only improves the reliability and accuracy of multipath switching, but also optimizes the resource allocation efficiency of multipath transmission, providing stable support for task transmission in high-load scenarios.
[0243] In one exemplary embodiment, such as Figure 15 As shown, this paper describes an implementation method for further adjusting the transmission path during the transmission task using the adjusted path to ensure path load balancing. The method includes the following steps:
[0244] S1501, new data has arrived.
[0245] S1502, Extract traffic statistics information for the current transmission path.
[0246] S1503, determine the current path load based on traffic statistics.
[0247] S1504, Determine if the current transmission path is overloaded.
[0248] S1505, if not, then keep the original selected path.
[0249] S1506, if so, then select an available path again.
[0250] S1507, transmit new data via the selected path.
[0251] The system continues to forward data through the selected path, while simultaneously updating the path traffic statistics in real time. This ensures that the traffic statistics used for the next decision (referring to the arrival of new data) are up-to-date, thus forming a closed-loop feedback loop.
[0252] S1508, Update the traffic statistics information for the current transmission path.
[0253] S1509, periodically evaluate the load balancing effect.
[0254] Analyze the overall traffic distribution over a period of time to determine if traffic reallocation is necessary. If so, adjust the data distribution ratio; for example, change from the original 50%-50% allocation between path A and path B to a more optimal 70%-30% allocation. If not, continue with the current distribution strategy. After optimization, the process returns to the starting point, waiting for the next new data to arrive before starting a new loop.
[0255] S1510, determine whether the data distribution ratio needs to be reallocated.
[0256] S1511, if not, continue with the current distribution strategy.
[0257] S1512, if so, adjust the data distribution ratio.
[0258] In this embodiment, traffic statistics, including real-time data such as bandwidth utilization, latency, and packet loss rate for each path, are extracted and collected. The collected information is then used to assess the path status, determining if existing paths are overloaded. Finally, intelligent path selection is performed: if the path load is within a normal range, the original selected path continues to be used to maintain connection stability and simplicity; if the path load is too high, an idle path is selected to guide data to a less busy, higher-performing link to avoid congestion. In summary, by selecting paths in real-time based on data flow for rapid response and periodically adjusting the overall traffic allocation strategy, efficient and adaptive load balancing is achieved.
[0259] In one exemplary embodiment, such as Figure 16 As shown, for Figure 13 The illustrated embodiment describes one possible implementation of path switching, including the following steps:
[0260] S1601, Determine the switching path.
[0261] S1602, identify the switching type.
[0262] S1603, confirm single-path switching to multi-path.
[0263] S1604, a new path for gradual activation.
[0264] S1605, allocates a new data stream proportion to the new path.
[0265] S1606, classify and process existing data volume.
[0266] S1607, waiting for the existing data stream to end naturally.
[0267] S1608, the original path allocates traffic proportionally.
[0268] S1609, confirm multi-path switching to single path.
[0269] S1610, select a single optimal path.
[0270] S1611, gradually discontinue the use of other paths.
[0271] S1612, wait for the existing data stream to end naturally.
[0272] S1613, uses the optimal path to transmit the new data stream.
[0273] S1614, Switching complete.
[0274] In this embodiment, during path switching, a seamless transition is achieved through a mechanism that allows for parallel operation of new and old paths and differentiates between new and old traffic, thereby avoiding service interruptions or data packet loss and maximizing business continuity. Furthermore, for existing data flows, the original path is not immediately cut off; instead, a new path is introduced to share traffic with the old path, or the old path is closed only after the tasks on it have naturally completed. The focus is on guiding newly arriving traffic rather than forcibly migrating ongoing business traffic; existing connections are allowed to terminate naturally.
[0275] Specifically, when switching from a single path to a multi-path system (e.g., due to increased traffic), one or more new paths are gradually enabled instead of all of them at once to activate the new paths. When guiding new traffic, all newly arriving data streams (new flows) are allocated to the old and new paths according to a preset ratio (e.g., 50% / 50%), immediately relieving the pressure on the original paths. At the same time, old traffic is retained. Existing data streams that are being transmitted on the original paths are not forcibly migrated, but are allowed to continue to complete their transmission on the old paths. This avoids connection interruptions, out-of-order data, or packet loss that may occur during the migration process.
[0276] When switching back to a single path from a multi-path system (e.g., due to reduced traffic), the system selects the best-performing path from the current multiple paths as the transmission link. When guiding new traffic, all newly arriving data streams are directed to this selected optimal path. When emptying old paths, no new traffic is sent to the paths to be deactivated, but existing data streams are allowed to continue transmitting until they naturally end. Finally, these idle paths are shut down.
[0277] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0278] Based on the same inventive concept, this application also provides a task transmission apparatus for implementing the task transmission method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more task transmission apparatus embodiments provided below can be found in the limitations of the task transmission method described above, and will not be repeated here.
[0279] In one exemplary embodiment, such as Figure 17 As shown, a task transmission device is provided, including: a data acquisition module 1701, a path adjustment module 1702, and a task transmission module 1703, wherein:
[0280] The data acquisition module 1701 is used to acquire the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode.
[0281] The path adjustment module 1702 is used to determine the target transmission path for the target chip to transmit tasks based on the bandwidth utilization of the transmission path and the traffic threshold that is compatible with the current path mode.
[0282] The task transfer module 1703 is used to transfer tasks to the target chip using the target transfer path.
[0283] In one embodiment, the current path mode includes a single-path mode, and the traffic threshold adapted to the single-path mode includes a first threshold; the path adjustment module 1702 includes: a multi-path switching unit and a single-path holding unit, wherein:
[0284] The multi-path switching unit is used to select at least one backup path as a backup transmission path from multiple backup paths corresponding to the target chip when the bandwidth utilization of the transmission path is greater than a first threshold, and to determine the target transmission path for the target chip to perform task transmission based on the current transmission path and the backup transmission path.
[0285] A single-path holding unit is used to determine the current transmission path of the target chip for task transmission as the target transmission path when the bandwidth utilization of the transmission path is less than or equal to a first threshold.
[0286] In one embodiment, the multipath switching unit is further configured to control the target chip to send probe packets to the peer chip through different backup paths; determine the connectivity verification result of each backup path based on the response of the probe packets received by the target chip; and determine the backup path with the connectivity verification result of "passed" as the backup transmission path.
[0287] In one embodiment, the multipath switching unit is further configured to obtain the activation order of each backup transmission path; and to activate each backup transmission path step by step according to the activation order of each backup transmission path until the bandwidth utilization of the current transmission path is less than a first threshold, thereby obtaining the target transmission path.
[0288] In one embodiment, the current path mode includes a multi-path mode, and the traffic threshold adapted to the current path mode includes a second threshold; the path adjustment module 1702 includes: a single-path switching unit and a multi-path holding unit, wherein:
[0289] A single-path switching unit is used to select an active path from multiple transmission paths corresponding to the target chip when the bandwidth utilization of the transmission path is less than a second threshold, and to determine the active path as the target transmission path; the active path is the transmission path with the largest bandwidth value among the multiple transmission paths corresponding to the target chip.
[0290] The multipath holding unit is used to determine the current transmission path of the target chip for task transmission as the target transmission path when the bandwidth utilization of the transmission path is greater than a second threshold.
[0291] In one embodiment, the task transmission device further includes: a structure acquisition module, a bandwidth acquisition module, and a path partitioning module, wherein:
[0292] The structure acquisition module is used to acquire the chip interconnect topology in the chip system in response to the startup command of the chip system to which the target chip belongs;
[0293] The bandwidth acquisition module is used to identify multiple transmission paths corresponding to the target chip based on the chip interconnect topology and to acquire the bandwidth of each transmission path.
[0294] The path partitioning module is used to determine the transmission path corresponding to the maximum bandwidth value as the active path corresponding to the target chip, and to determine the transmission paths other than the active path among multiple transmission paths as the backup paths corresponding to the target chip.
[0295] In one embodiment, the transmission path corresponding to the maximum bandwidth value includes multiple candidate active paths; the path division module is further used to obtain the hop count of each candidate active path based on the chip interconnect topology; the hop count represents the number of intermediate nodes in each candidate active path; and the candidate active path corresponding to the minimum hop count is determined as the active path.
[0296] In one embodiment, the task transmission device further includes: a sequence determination module, configured to obtain the hop count and maximum bandwidth of each backup path; and determine the activation order of each backup path based on the hop count and maximum bandwidth of each backup path.
[0297] In one embodiment, the current path mode includes a single path mode; the target transmission path includes multiple transmission paths; the task transmission module 1703 further includes a first transmission unit for maintaining the current transmission path to continue transmitting the current data stream and allocating new data streams to each target transmission path for transmission; the target transmission path includes the current transmission path.
[0298] In one embodiment, the current path mode includes a multi-path mode; the target transmission path includes a single transmission path; the task transmission module 1703 further includes a second transmission unit for maintaining the current transmission path to continue transmitting the current data stream, and closing each current transmission path when the current data stream transmission on the current transmission path is completed; and allocating a new data stream to the target transmission path for task transmission.
[0299] In one embodiment, the task transmission device further includes: a load assessment module, configured to acquire the load information of each current transmission path during the task transmission of the target chip using the adjusted transmission path; if the load information of each transmission path is less than the load threshold, then continue to use the current transmission path for task transmission; if the load information of any transmission path is greater than the load threshold, then adjust the traffic ratio of each path currently transmitting the task so that the load information of the transmission path is less than the load threshold.
[0300] Each module in the aforementioned task transmission device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0301] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 18As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores task transfer data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a task transfer method.
[0302] Those skilled in the art will understand that Figure 18 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0303] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0304] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the above method embodiments.
[0305] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0306] It should be noted that the data involved in this application (including but not limited to data used for analysis, data stored, data displayed, etc.) are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0307] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0308] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0309] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A task transmission method, characterized in that, The method includes: Obtain the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode; Based on the bandwidth utilization of the transmission path and the traffic threshold that is compatible with the current path mode, the target transmission path for the target chip to perform task transmission is determined. The target chip's task is transmitted using the target transmission path.
2. The method according to claim 1, characterized in that, The current path mode includes a single-path mode, and the traffic threshold adapted to the single-path mode includes a first threshold; determining the target transmission path for the target chip to perform task transmission based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode includes: If the bandwidth utilization of the transmission path is greater than the first threshold, at least one backup path is selected from the multiple backup paths corresponding to the target chip as a backup transmission path, and the target transmission path for the target chip to perform task transmission is determined based on the current transmission path and the backup transmission path. If the bandwidth utilization of the transmission path is less than or equal to the first threshold, the current transmission path for task transmission of the target chip is determined as the target transmission path.
3. The method according to claim 2, characterized in that, The step of selecting at least one backup path from multiple backup paths corresponding to the target chip as a backup transmission path includes: The target chip is controlled to send probe packets to the peer chip via different backup paths; Based on the response of the probe packets received by the target chip, the connectivity verification results of each of the backup paths are determined; The backup path that passes the connectivity verification is determined as the backup transmission path.
4. The method according to claim 2, characterized in that, The step of determining the target transmission path for task transmission of the target chip based on the current transmission path and the backup transmission path includes: Obtain the activation order of each of the aforementioned backup transmission paths; According to the activation order of each backup transmission path, each backup transmission path is activated step by step until the bandwidth utilization of the current transmission path is less than the first threshold, and the target transmission path is obtained.
5. The method according to any one of claims 1-4, characterized in that, The current path mode includes a multi-path mode, and the traffic threshold adapted to the current path mode includes a second threshold; determining the target transmission path for task transmission of the target chip based on the bandwidth utilization of the transmission path and the traffic threshold adapted to the current path mode includes: If the bandwidth utilization of the transmission path is less than the second threshold, an active path is selected from the multiple transmission paths corresponding to the target chip, and the active path is determined as the target transmission path; the active path is the transmission path with the largest bandwidth value among the multiple transmission paths corresponding to the target chip. If the bandwidth utilization of the transmission path is greater than the second threshold, the current transmission path for task transmission of the target chip is determined as the target transmission path.
6. The method according to any one of claims 1-4, characterized in that, Before obtaining the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode, the method further includes: In response to the startup command of the chip system to which the target chip belongs, the chip interconnection topology of the chip system is obtained; Based on the chip interconnect topology, multiple transmission paths corresponding to the target chip are identified, and the bandwidth of each transmission path is obtained; The transmission path corresponding to the maximum bandwidth value is determined as the active path corresponding to the target chip, and the transmission paths other than the active path among the multiple transmission paths are determined as the backup paths corresponding to the target chip.
7. The method according to claim 6, characterized in that, The transmission path corresponding to the maximum bandwidth value includes multiple candidate active paths; the method further includes: Based on the chip interconnect topology, the hop count of each candidate active path is obtained; the hop count represents the number of intermediate nodes in each candidate active path. The candidate active path corresponding to the minimum number of hops is determined as the active path.
8. The method according to claim 6, characterized in that, The method further includes: Obtain the hop count and maximum bandwidth of each of the alternative paths; The activation order of each backup path is determined based on the number of hops and the maximum carrying bandwidth of each backup path.
9. The method according to any one of claims 1-4, characterized in that, The current path mode includes a single path mode; the target transmission path includes multiple transmission paths; the step of using the target transmission path to perform task transmission for the target chip includes: The current data stream is continued to be transmitted along the current transmission path, and new data streams are allocated to each of the target transmission paths for transmission; the target transmission paths include the current transmission path.
10. The method according to any one of claims 1-4, characterized in that, The current path mode includes a multi-path mode; the target transmission path includes a single transmission path; the step of using the target transmission path to transmit tasks to the target chip includes: The current transmission path continues to transmit the current data stream, and when the current data stream transmission on the current transmission path is completed, each of the current transmission paths is closed; and a new data stream is assigned to the target transmission path for task transmission.
11. The method according to any one of claims 1-4, characterized in that, The method further includes: During the process of transmitting the target chip's task using the target transmission path, the load information of each transmission path is obtained. If the load information of each transmission path is less than the load threshold, then the current transmission path will continue to be used for task transmission. If the load information of any transmission path is greater than the load threshold, the traffic proportion of each path currently transmitting the task is adjusted so that the load information of the transmission path is less than the load threshold.
12. A task transmission device, characterized in that, The device includes: The data acquisition module is used to acquire the current path mode used by the target chip for task transmission and the bandwidth utilization of the transmission path corresponding to the current path mode. The path adjustment module is used to determine the target transmission path for the target chip to transmit tasks based on the bandwidth utilization of the transmission path and the traffic threshold that is compatible with the current path mode. The task transmission module is used to transmit the target chip's tasks using the target transmission path.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 11.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 11.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 11.