A method and device for adaptive routing in computing networks
By adopting an adaptive routing method of intra- and inter-group routing model in high-performance computing systems, the optimal router and transmission link are dynamically selected, and the problems of buffering cost and load imbalance in the prior art are solved, and performance improvement and fault response optimization are achieved.
Patent Information
- Application Number
- CN202410981176.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-22
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2044-07-22
AI Technical Summary
Adaptive routing and fault tolerance solutions for existing high-performance computing systems face significant on-chip router buffering costs, load imbalance and storage bandwidth overhead, resulting in slow network failure response.
Adaptive routing method for computing networks is adopted, and through intra-group and inter-group routing models, combined with adaptive routing decision algorithms, the best router and transmission link are dynamically selected to reduce virtual channel occupation and optimize routing paths.
Improves load balancing capabilities, performance improvements by 10%-150%, and shows elegant performance degradation in failure conditions. It is suitable for Dragonfly networks and provides controllable storage overhead.
Smart Images

Figure CN119182709B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of high-performance computing, and in particular to an adaptive routing method and device for computing networks. Background Art
[0002] With the development of large-scale HPC systems, high-performance computing (HPC) systems use high-order routers to build high-order interconnect networks with low diameter, low deployment cost and high path diversity, Dragonfly being one example. High-performance interconnect networks need to accommodate hundreds of thousands of links and routers. For example, the Slingshot interconnect supports more than 250,000 endpoints in Dragonfly, using 64-port routers, resulting in more than 400,000 links between routers. Therefore, large-scale networks inherently have a higher probability of component failure, resulting in a lower mean time between failures (MTBF). Adaptive routing is a natural way to provide fault tolerance. It uses path diversity to avoid failures and ensures continuous system operation through network management infrastructure. However, existing adaptive routing and fault tolerance schemes for HPC systems face the following problems: (1) Relying solely on virtual channels will result in significant on-chip router buffering costs, especially after a network failure occurs. (2) Completely eliminating virtual channels through steering model-based routing will result in severe load imbalance and performance degradation. (3) Reprocessing information about the fault distribution will incur significant storage and bandwidth overhead, hindering rapid response to failures in large-scale networks. Summary of the Invention
[0003] The present invention mainly solves the problems existing in the adaptive routing and fault-tolerant solutions of existing high-performance computing systems, and discloses an adaptive routing method and device for computing networks.
[0004] In a first aspect, embodiments of the present invention disclose an adaptive routing method for a computing network, implemented using a computing network. The computing network includes computing nodes, a router network, and transmission links. The router network is configured to provide transmission links for data stream transmission between computing nodes. The transmission links include global links and local links. The router network includes several groups, each of which is connected via a global link. The groups include N1 routers. Routers within the same group are connected via local links. The routers include ports, each of which includes a virtual channel and a corresponding buffer queue. The network structure information includes the address of each router in the computing network and the routers and computing nodes connected thereto. The method comprises:
[0005] S1, obtaining a data packet to be transmitted and network structure information; the data packet to be transmitted includes a data flow, a source address, and a destination address;
[0006] S2, dividing and partitioning the router network to obtain division result information; the division result information includes the first router set and the second router set
[0007] S3, according to the source address and the destination address in the data packet to be transmitted, respectively determining a router connected to the computing node corresponding to the source address and a router connected to the computing node corresponding to the destination address;
[0008] S4, determining whether the router connected to the computing node corresponding to the source address and the router connected to the computing node corresponding to the target address are in the same group, and obtaining a first determination result;
[0009] If the first judgment result is yes, using an intra-group routing model, processing the division result information and the network structure information to obtain intra-group routing information;
[0010] If the first judgment result is no, the division result information and the network structure information are processed using an inter-group routing model to obtain global routing information.
[0011] The segmentation and division processing of the router network to obtain segmentation result information includes:
[0012] For each group, the routers are sorted from high to low according to the router number. All the routers that are N1 / 2 ahead of the sort are divided into the first group of the group; all the routers that are N1 / 2 behind the sort are divided into the second group of the group.
[0013] Merge the first packets of all groups to obtain the first router set Using the first router set All outbound global links of the router are constructed to obtain the OUT1 link set;
[0014] Merge the second packets of all groups to obtain the second router set Using the second router set All outbound global links of the router are constructed to obtain the OUT2 link set;
[0015] Using the destination router of each link in the OUT1 link set, we can construct the router set Using the destination router of each link in the OUT2 link set, we can construct the router set Among them, each router set meets
[0016] The intra-group routing model is used to process the division result information and the network structure information to obtain the intra-group routing information, including:
[0017] Randomly select a router from the group of routers connected to the computing node corresponding to the source address as the non-shortest router;
[0018] In the group of routers connected to the computing node corresponding to the source address, select the router connected to the computing node corresponding to the destination address as the shortest router;
[0019] Using a first adaptive routing decision algorithm, processing the non-shortest routers and the shortest router to obtain an optimal router;
[0020] The transmission link between the router connected to the computing node corresponding to the source address and the optimal router is determined as intra-group routing information.
[0021] The method of using a first adaptive routing decision algorithm to process the non-shortest routers and the shortest router to obtain an optimal router includes:
[0022] Obtain the port occupancy value A1 of the shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data;
[0023] Get the port occupancy value A2 of the non-shortest router;
[0024] Determine whether A1-A2 is less than a preset threshold value M to obtain a second judgment result; when the second judgment result is yes, determine the shortest router as the best router; when the second judgment result is no, determine the non-shortest router as the best router; the threshold value M is a positive number.
[0025] The inter-group routing model is used to process the division result information and the network structure information to obtain global routing information, including:
[0026] In the group of routers connected to the computing node corresponding to the source address, select a router connected to the group of routers connected to the computing node corresponding to the target address as the first shortest router;
[0027] Determine the router set to which the router connected to the computing node corresponding to the source address belongs, and randomly select a router from another router set different from the router set to which the router connected to the computing node corresponding to the source address belongs, which is not in the same group as the router connected to the computing node corresponding to the source address and is connected, and determine the group to which the router belongs, which is the intermediate group; the router set is the first router set or a second router set
[0028] Selecting a router from the intermediate group that belongs to another router set different from the router set to which the router belongs as a non-shortest route;
[0029] Using a second adaptive routing decision algorithm, the non-shortest router and the first shortest router are processed to obtain a first optimal router;
[0030] In the group of routers connected to the computing node corresponding to the target address, a router connected to the group of routers connected to the computing node corresponding to the target address is selected as the second shortest router;
[0031] Using a third adaptive routing decision algorithm, processing the non-shortest router and the second shortest router to obtain a second best router;
[0032] The transmission links between the router connected to the computing node corresponding to the source address, the first shortest router, the second shortest router and the router connected to the computing node corresponding to the target address are determined as global routing information.
[0033] The method of using the second adaptive routing decision algorithm to process the non-shortest router and the first shortest router to obtain the first optimal router includes:
[0034] Obtaining a port occupancy value B1 of the first shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data;
[0035] Get the port occupancy value B2 of the non-shortest router;
[0036] Determine whether B1 / (B2+M) is less than a preset threshold value M1 to obtain a third judgment result; when the third judgment result is yes, determine the first shortest router as the first optimal router; when the third judgment result is no, determine the non-shortest router as the first optimal router; the threshold values M and M1 are positive numbers.
[0037] The method of using the third adaptive routing decision algorithm to process the non-shortest router and the second shortest router to obtain the second best router includes:
[0038] Obtaining the port occupancy value B1 of the second shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data;
[0039] Get the port occupancy value B2 of the non-shortest router;
[0040] Determine whether sin[B1 / (B2+M)] is less than a preset threshold value M2 to obtain a fourth judgment result; when the fourth judgment result is yes, determine the second shortest router as the second best router; when the fourth judgment result is no, determine the non-shortest router as the second best router; the threshold values M and M2 are positive numbers.
[0041] According to a second aspect of an embodiment of the present invention, an adaptive routing device for a computing network is disclosed, the device comprising:
[0042] a memory storing executable program code;
[0043] a processor coupled to the memory;
[0044] The processor calls the executable program code stored in the memory to execute the adaptive routing method for computing networks.
[0045] According to a third aspect of an embodiment of the present invention, a computer-storable medium is disclosed. The computer-storable medium stores computer instructions. When the computer instructions are called, they are used to execute the adaptive routing method for computing networks.
[0046] According to a fourth aspect of the embodiments of the present invention, an information data processing terminal is disclosed. The information data processing terminal is used to implement the adaptive routing method for computing networks.
[0047] The beneficial effects of the present invention are:
[0048] The proposed method increases the number of available non-minimum paths in HPC networks, improves load balancing capabilities, and results in 10% to 150% performance improvements before and after failures. Furthermore, it introduces manageable storage overhead and can be deployed in Dragonfly networks.
[0049] The proposed method offers comparable performance to previous adaptive algorithms for three or four VCs, improves performance by 10%-150% compared to the existing fault-tolerant adaptive routing (HyMFR), and exhibits graceful performance degradation in the presence of Dragonfly failures. Evaluation experiments conducted on an in-house simulator demonstrate that the proposed method achieves higher performance and lower latency in both fault-free and faulty scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 Flow chart for the implementation of the method of the present invention;
[0051] Figure 2 This is a schematic diagram of the router classification of the present invention. DETAILED DESCRIPTION
[0052] In order to better understand the content of the present invention, an embodiment is given here.
[0053] Figure 1 Flow chart for the implementation of the method of the present invention; Figure 2 This is a schematic diagram of the router classification of the present invention.
[0054] In a first aspect, embodiments of the present application disclose an adaptive routing method for a computing network, implemented using a computing network. The computing network includes computing nodes, a router network, and transmission links. The router network is configured to provide transmission links for data stream transmission between computing nodes. The transmission links include global links and local links. The router network includes several groups, each of which is connected via a global link. The groups include N1 routers. Routers within the same group are connected via local links. The routers include ports, each of which includes a virtual channel and a corresponding buffer queue. The network structure information includes the address of each router in the computing network and the routers and computing nodes connected thereto.
[0055] The method comprises:
[0056] S1, obtaining a data packet to be transmitted and network structure information; the data packet to be transmitted includes a data flow, a source address, and a destination address;
[0057] S2, dividing and partitioning the router network to obtain division result information; the division result information includes the first router set and the second router set
[0058] S3, according to the source address and the destination address in the data packet to be transmitted, respectively determining a router connected to the computing node corresponding to the source address and a router connected to the computing node corresponding to the destination address;
[0059] S4, determining whether the router connected to the computing node corresponding to the source address and the router connected to the computing node corresponding to the target address are in the same group, and obtaining a first determination result;
[0060] If the first judgment result is yes, using an intra-group routing model, processing the division result information and the network structure information to obtain intra-group routing information;
[0061] If the first judgment result is no, the division result information and the network structure information are processed using an inter-group routing model to obtain global routing information.
[0062] The segmentation and division processing of the router network to obtain segmentation result information includes:
[0063] For each group, the routers are sorted from high to low according to the router number. All the routers that are N1 / 2 ahead of the sort are divided into the first group of the group; all the routers that are N1 / 2 behind the sort are divided into the second group of the group.
[0064] Merge the first packets of all groups to obtain the first router set Using the first router set All outbound global links of the router are constructed to obtain the OUT1 link set;
[0065] Merge the second packets of all groups to obtain the second router set Using the second router set All outbound global links of the router are constructed to obtain the OUT2 link set;
[0066] Using the destination router of each link in the OUT1 link set, we can construct the router set Using the destination router of each link in the OUT2 link set, we can construct the router set Among them, each router set meets
[0067] The intra-group routing model is used to process the division result information and the network structure information to obtain the intra-group routing information, including:
[0068] Randomly select a router from the group of routers connected to the computing node corresponding to the source address as the non-shortest router;
[0069] In the group of routers connected to the computing node corresponding to the source address, select the router connected to the computing node corresponding to the destination address as the shortest router;
[0070] Using a first adaptive routing decision algorithm, processing the non-shortest routers and the shortest router to obtain an optimal router;
[0071] Determine the transmission link between the router connected to the computing node corresponding to the source address and the optimal router as intra-group routing information;
[0072] The first adaptive routing decision algorithm is used to process the non-shortest routers and the shortest router to obtain the best router;
[0073] Obtain the port occupancy value A1 of the shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data;
[0074] Get the port occupancy value A2 of the non-shortest router;
[0075] Determine whether A1-A2 is less than a preset threshold value M to obtain a second judgment result; when the second judgment result is yes, determine the shortest router as the best router; when the second judgment result is no, determine the non-shortest router as the best router; the threshold value M is a positive number;
[0076] The inter-group routing model is used to process the division result information and the network structure information to obtain global routing information, including:
[0077] In the group of routers connected to the computing node corresponding to the source address, select a router connected to the group of routers connected to the computing node corresponding to the target address as the first shortest router;
[0078] Determine the router set to which the router connected to the computing node corresponding to the source address belongs, and randomly select a router from another router set different from the router set to which the router connected to the computing node corresponding to the source address belongs, which is not in the same group as the router connected to the computing node corresponding to the source address and is connected, and determine the group to which the router belongs, which is the intermediate group; the router set is the first router set or a second router set
[0079] Selecting a router from the intermediate group that belongs to another router set different from the router set to which the router belongs as a non-shortest route;
[0080] Using a second adaptive routing decision algorithm, the non-shortest router and the first shortest router are processed to obtain a first optimal router;
[0081] In the group of routers connected to the computing node corresponding to the target address, a router connected to the group of routers connected to the computing node corresponding to the target address is selected as the second shortest router;
[0082] Using a third adaptive routing decision algorithm, processing the non-shortest router and the second shortest router to obtain a second best router;
[0083] Determine the transmission links between the router connected to the computing node corresponding to the source address, the first shortest router, the second shortest router, and the router connected to the computing node corresponding to the target address, as global routing information;
[0084] The non-shortest router and the first shortest router are processed by the second adaptive routing decision algorithm to obtain a first optimal router;
[0085] Obtaining a port occupancy value B1 of the first shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data;
[0086] Get the port occupancy value B2 of the non-shortest router;
[0087] Determine whether B1 / (B2+M) is less than a preset threshold value M1 to obtain a third judgment result; when the third judgment result is yes, determine the first shortest router as the first optimal router; when the third judgment result is no, determine the non-shortest router as the first optimal router; the threshold values M and M1 are positive numbers.
[0088] The non-shortest router and the second shortest router are processed by the third adaptive routing decision algorithm to obtain the second best router;
[0089] Obtaining the port occupancy value B1 of the second shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data;
[0090] Get the port occupancy value B2 of the non-shortest router;
[0091] Determine whether sin[B1 / (B2+M)] is less than a preset threshold value M2 to obtain a fourth judgment result; when the fourth judgment result is yes, determine the second shortest router as the second best router; when the fourth judgment result is no, determine the non-shortest router as the second best router; the threshold values M and M2 are positive numbers.
[0092] The router set to which it belongs is the first router set or first router set
[0093] Said N1 is an even number;
[0094] The determination of the router connected to the computing node corresponding to the source address and the router connected to the computing node corresponding to the target address is determined based on the connection relationship between each router and computing node in the network structure information.
[0095] The data packet to be transmitted is sent from the computing node of the source address to the computing node of the target address.
[0096] The buffer queue is used to store data received by the router port but not yet sent out; the virtual channel is a channel for data transmission between the router and multiple downstream routers, which can store data;
[0097] The routers within a group form a fully interconnected network, and the routers between groups also form a fully interconnected network.
[0098] According to a second aspect of an embodiment of the present invention, an adaptive routing device for a computing network is disclosed, the device comprising:
[0099] a memory storing executable program code;
[0100] a processor coupled to the memory;
[0101] The processor calls the executable program code stored in the memory to execute the adaptive routing method for computing networks.
[0102] According to a third aspect of an embodiment of the present invention, a computer-storable medium is disclosed. The computer-storable medium stores computer instructions. When the computer instructions are called, they are used to execute the adaptive routing method for computing networks.
[0103] According to a fourth aspect of the embodiments of the present invention, an information data processing terminal is disclosed. The information data processing terminal is used to implement the adaptive routing method for computing networks.
[0104] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. An adaptive routing method for computing networks, characterized in that: This is achieved using a computing network, the computing network comprising computing nodes, a router network, and transmission links; the router network is used to provide transmission links for data stream transmission between computing nodes; the transmission links include global links and local links; the router network includes several groups; each group is connected via a global link; each group includes N1 routers; routers within the same group are connected via local links; the routers include ports; each port includes a virtual channel and a corresponding buffer queue; The network structure information includes the address of each router in the computing network and the routers and computing nodes connected thereto; the method includes: S1, obtaining a data packet to be transmitted and network structure information; the data packet to be transmitted includes a data flow, a source address, and a destination address; S2, dividing and partitioning the router network to obtain division result information; the division result information includes the first router set and the second router set S3, according to the source address and the destination address in the data packet to be transmitted, respectively determining a router connected to the computing node corresponding to the source address and a router connected to the computing node corresponding to the destination address; S4, determining whether the router connected to the computing node corresponding to the source address and the router connected to the computing node corresponding to the target address are in the same group, and obtaining a first determination result; If the first judgment result is yes, using an intra-group routing model, processing the division result information and the network structure information to obtain intra-group routing information; If the first judgment result is no, the division result information and the network structure information are processed using an inter-group routing model to obtain global routing information.
2. The adaptive routing method for computing networks according to claim 1, characterized in that: The segmentation and division processing of the router network to obtain segmentation result information includes: For each group, the routers are sorted from high to low according to the router number. All the routers that are N1 / 2 ahead of the sort are divided into the first group of the group; all the routers that are N1 / 2 behind the sort are divided into the second group of the group. Merge the first packets of all groups to obtain the first router set Using the first router set All outbound global links of the router are constructed to obtain the OUT1 link set; Merge the second packets of all groups to obtain the second router set Using the second router set All outbound global links of the router are constructed to obtain the OUT2 link set; Using the destination router of each link in the OUT1 link set, we can construct the router set Using the destination router of each link in the OUT2 link set, we can construct the router set Among them, each router set meets 3. The adaptive routing method for computing networks according to claim 2, characterized in that: The intra-group routing model is used to process the division result information and the network structure information to obtain the intra-group routing information, including: Randomly select a router from the group of routers connected to the computing node corresponding to the source address as the non-shortest router; In the group of routers connected to the computing node corresponding to the source address, select the router connected to the computing node corresponding to the destination address as the shortest router; Using a first adaptive routing decision algorithm, processing the non-shortest routers and the shortest router to obtain an optimal router; The transmission link between the router connected to the computing node corresponding to the source address and the optimal router is determined as intra-group routing information.
4. The adaptive routing method for computing networks according to claim 3, wherein: The method of using a first adaptive routing decision algorithm to process the non-shortest routers and the shortest router to obtain an optimal router includes: Obtain the port occupancy value A1 of the shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data; Get the port occupancy value A2 of the non-shortest router; Determine whether A1-A2 is less than a preset threshold value M to obtain a second judgment result; when the second judgment result is yes, determine the shortest router as the best router; when the second judgment result is no, determine the non-shortest router as the best router; the threshold value M is a positive number.
5. The adaptive routing method for computing networks according to claim 2, wherein: The inter-group routing model is used to process the division result information and the network structure information to obtain global routing information, including: In the group of routers connected to the computing node corresponding to the source address, select a router connected to the group of routers connected to the computing node corresponding to the target address as the first shortest router; Determine the router set to which the router connected to the computing node corresponding to the source address belongs, and randomly select a router from another router set different from the router set to which the router connected to the computing node corresponding to the source address belongs, which is not in the same group as the router connected to the computing node corresponding to the source address and is connected, and determine the group to which the router belongs, which is the intermediate group; the router set is the first router set or a second router set Selecting a router from the intermediate group that belongs to another router set different from the router set to which the router belongs as a non-shortest route; Using a second adaptive routing decision algorithm, the non-shortest router and the first shortest router are processed to obtain a first optimal router; In the group of routers connected to the computing node corresponding to the target address, a router connected to the group of routers connected to the computing node corresponding to the target address is selected as the second shortest router; Using a third adaptive routing decision algorithm, processing the non-shortest router and the second shortest router to obtain a second best router; The transmission links between the router connected to the computing node corresponding to the source address, the first shortest router, the second shortest router and the router connected to the computing node corresponding to the target address are determined as global routing information.
6. The adaptive routing method for computing networks according to claim 5, characterized in that: The method of using the second adaptive routing decision algorithm to process the non-shortest router and the first shortest router to obtain the first optimal router includes: Obtaining a port occupancy value B1 of the first shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data; Get the port occupancy value B2 of the non-shortest router; Determine whether B1 / (B2+M) is less than a preset threshold value M1 to obtain a third judgment result; when the third judgment result is yes, determine the first shortest router as the first optimal router; when the third judgment result is no, determine the non-shortest router as the first optimal router; the threshold values M and M1 are positive numbers.
7. The adaptive routing method for computing networks according to claim 5, characterized in that: The method of using the third adaptive routing decision algorithm to process the non-shortest router and the second shortest router to obtain the second best router includes: Obtaining the port occupancy value B1 of the second shortest router; the port occupancy value is the number of virtual channels of the router that are fully populated with data; Get the port occupancy value B2 of the non-shortest router; Determine whether sin[B1 / (B2+M)] is less than a preset threshold value M2 to obtain a fourth judgment result; when the fourth judgment result is yes, determine the second shortest router as the second best router; when the fourth judgment result is no, determine the non-shortest router as the second best router; the threshold values M and M2 are positive numbers.
8. An adaptive routing device for a computing network, characterized in that: The device comprises: a memory storing executable program code; a processor coupled to the memory; The processor calls the executable program code stored in the memory to execute the adaptive routing method for computing networks according to any one of claims 1 to 7.
9. A computer storable medium, characterized in that The computer storable medium stores computer instructions, and when the computer instructions are called, they are used to execute the adaptive routing method for computing networks according to any one of claims 1 to 7.
10. An information data processing terminal, characterized in that: The information data processing terminal is used to implement the adaptive routing method for computing networks according to any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-layer interconnection network, adaptive routing method and routing equipment
CN108234310A
Multistage dynamic adaptive routing method and device for Dragonfly network
CN117768376A