Routing method and device for multi-dimensional hypercube interconnection network

By dividing the multidimensional hypercube interconnect network into subnetworks and assigning a dedicated path to each hop, the problems of low data transmission efficiency and out-of-order delivery are solved, achieving more efficient data transmission and reducing network communication latency.

CN119966880BActive Publication Date: 2025-11-25SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510111751.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-23
Publication Date
2025-11-25
Estimated Expiration
2045-01-23

AI Technical Summary

Technical Problem

In existing multidimensional hypercube interconnect networks, data transmission efficiency is low, and data disorder is prone to occur, affecting data transmission efficiency.

Method used

The multidimensional hypercube interconnection network is divided into 2N-2 subnetworks, each of which includes 4 target network nodes. At least 2 transmission paths are deployed between the nodes. By calculating the shortest route between the starting routing node and the final routing node and assigning a dedicated transmission path to each hop, data out-of-order is avoided.

Benefits of technology

It improves the data transmission efficiency of multidimensional hypercube interconnected networks, reduces network communication latency, and solves the problem of out-of-order data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119966880B_ABST
    Figure CN119966880B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a routing method and device of a multi-dimensional hypercube interconnection network, wherein the method is used for routing from a target subnetwork to the target subnetwork or a reference subnetwork, the method comprises the following steps: obtaining a starting routing node on the target subnetwork and a final routing node on the target subnetwork or the reference subnetwork; calculating a shortest routing path from the starting routing node to the final routing node according to a connection relationship between the starting routing node and the final routing node, and obtaining an initial routing path; according to the connection relationship, distributing a target sending path of each hop in the initial routing path, and obtaining a target routing path; and routing from the starting routing node to the final routing node according to the target routing path. Through the application, the technical problem of low data transmission efficiency of the interconnection network in the related art is solved, and the technical effect of improving the data transmission efficiency of the interconnection network is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more specifically, to a routing method and apparatus for a multidimensional hypercube interconnect network. Background Technology

[0002] With the rapid popularization and development of the Internet and the continuous deployment of satellite Internet constellation projects, more user terminals are accessing the network, giving rise to Internet applications covering all aspects of people's production and life. Internet traffic has shown an explosive growth trend. In order to improve the performance of information exchange networks and meet the needs of emerging new applications and services, it is necessary to study exchange networks with larger capacity and better performance, as well as high-performance scheduling algorithms adapted to them.

[0003] Interconnect networks are crucial for building high-performance, massively parallel processing systems. Their design goal is to reliably and efficiently connect a certain number of functional nodes to form a cost-effective large-scale parallel system at the lowest possible cost. Current interconnect networks use hypercube topologies, but while the routing methods used in current multidimensional hypercube interconnect networks offer high flexibility, they are prone to data out-of-order issues, severely impacting data transmission efficiency.

[0004] There is currently no effective solution to the problem of low data transmission efficiency in interconnected networks in related technologies. Summary of the Invention

[0005] This application provides a routing method and apparatus for a multidimensional hypercube interconnection network, which at least solves the technical problem of low data transmission efficiency in interconnection networks in related technologies.

[0006] According to one embodiment of this application, a routing method for a multidimensional hypercube interconnect network is provided, wherein the multidimensional hypercube interconnect network includes 2 N There are 2^N network nodes, where N is the dimension of the multidimensional hypercube interconnection network, which is divided into 2^N network nodes. N-2 There are 2 subnetworks, where N is a positive integer greater than 2. N-2 Each subnetwork in the subnetwork, serving as a target subnetwork, includes four target network nodes. Each target network node is connected to the other three target network nodes in the target subnetwork. N-2 The sub-networks are connected sequentially, and the four target network nodes in the target sub-network are connected one-to-one with the four reference network nodes included in the reference sub-network. The reference sub-network is located in the second sub-network. N-2In the connection of subnetworks, subnetworks adjacent to the target subnetwork have at least two transmission paths deployed between network nodes within the same subnetwork, and at least four transmission paths deployed between network nodes connecting two subnetworks; the routing method is used to route from the target subnetwork to the target subnetwork or the reference subnetwork, and the routing method includes:

[0007] Obtain the starting routing node on the target subnetwork and the final routing node on the target subnetwork or the reference subnetwork;

[0008] Based on the connection relationship between the starting routing node and the final routing node, the shortest routing path from the starting routing node to the final routing node is calculated to obtain the initial routing path;

[0009] Based on the connection relationship, the target sending path is assigned to each hop in the initial routing path to obtain the target routing path;

[0010] Routing from the starting routing node to the final routing node according to the target routing path.

[0011] In an exemplary embodiment, the step of calculating the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node, to obtain the initial route path, includes:

[0012] Detect the connection relationship between the starting routing node and the final routing node;

[0013] The shortest route from the starting routing node to the final routing node is calculated based on the connection relationship to obtain the initial routing path.

[0014] In an exemplary embodiment, calculating the shortest route path from the starting routing node to the final routing node based on the connection relationship to obtain the initial routing path includes:

[0015] If the connection relationship indicates that the starting routing node and the final routing node are directly connected, the shortest routing path is determined to be a direct route from the starting routing node to the final routing node;

[0016] If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the network node in the target sub-network connected to the final routing node is determined as the next hop; the final routing node is determined as the last hop, wherein the shortest routing path includes: the next hop and the last hop.

[0017] In an exemplary embodiment, when N is 3, determining the network node in the target sub-network connected to the final routing node as the next hop includes:

[0018] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the ending routing node is 101, then the identifier of the starting routing node is XORed with 001 to obtain the identifier of the next hop.

[0019] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, then the identifier of the starting routing node is XORed with 010 to obtain the identifier of the next hop.

[0020] If the result of XORing the identifier of the starting routing node and the identifier of the final routing node is 111, then XORing the identifier of the starting routing node with 011 to obtain the identifier of the next hop.

[0021] Among them, the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0022] In an exemplary embodiment, detecting the connection relationship between the starting routing node and the final routing node includes:

[0023] The identifiers of the starting routing node and the final routing node are XORed to obtain the result, wherein the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0024] The connection relationship is determined based on the calculation result.

[0025] In an exemplary embodiment, when N is 3, determining the connection relationship based on the calculation result includes:

[0026] If the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node;

[0027] If the calculation result is 101, 110, or 111, it is determined that the connection relationship is that there is no direct connection between the starting routing node and the final routing node.

[0028] In an exemplary embodiment, calculating the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node includes:

[0029] Calculate all shortest routes from the starting routing node to the final routing node to obtain the initial routing path;

[0030] Based on the connection relationship, the target route path is selected from the initial route path.

[0031] In an exemplary embodiment, the step of filtering the target route path from the initial route path according to the connection relationship and allocating the target sending path for each hop in the shortest route path to obtain the target route path includes:

[0032] When the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path is determined as the target routing path;

[0033] If the connection relationship is such that there is no direct connection between the starting routing node and the final routing node, the routing path of the next hop network node on the reference subnetwork is selected from the initial routing path as the target routing path.

[0034] In an exemplary embodiment, calculating all shortest routes from the starting routing node to the final routing node to obtain the initial routing path includes:

[0035] If the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path is determined to be a direct route to the final routing node;

[0036] When the connection relationship is such that there is no direct connection between the starting routing node and the final routing node, the next hop is determined based on the identifier of the starting routing node and the identifier of the final routing node; the final routing node is determined as the last hop, wherein the initial routing path includes the next hop and the last hop.

[0037] In an exemplary embodiment, when N is 3, determining the next hop based on the identifier of the starting routing node and the identifier of the final routing node includes:

[0038] If the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the result is split into two one-hot codes, wherein the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0039] The identifier of the starting routing node is XORed with each of the two one-hot codes to obtain two next-hop identifiers, wherein the initial routing path includes two routing paths.

[0040] In an exemplary embodiment, when N is 3, determining the next hop based on the identifier of the starting routing node and the identifier of the final routing node includes:

[0041] If the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then 111 is split into 100 and 011, wherein the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0042] The identifier of the starting routing node is XORed with 100 and 011 respectively to obtain two next-hop identifiers, wherein the initial routing path includes two routing paths.

[0043] In an exemplary embodiment, the at least two transmission paths are respectively labeled with a first label and a second label, and the at least four transmission paths are respectively labeled with a first label, a second label, a third label, and a fourth label. The step of allocating a target transmission path for each hop in the initial routing path according to the connection relationship includes:

[0044] If the connection relationship indicates that the starting routing node and the final routing node are directly connected, the target sending path is determined to be the sending path marked with the first tag;

[0045] If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the target sending path of the next hop in the initial routing path is determined to be the sending path marked with the second label; the second label, the third label, or the fourth label is assigned to the last hop in the initial routing path.

[0046] In an exemplary embodiment, when N is 3, assigning the second label, the third label, or the fourth label to the last hop in the initial routing path includes:

[0047] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the second label.

[0048] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the third label.

[0049] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the fourth tag.

[0050] In an exemplary embodiment, when N is 3, the method further includes: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying both the first sub-network and the second sub-network in a triangular pyramid shape, wherein the triangular pyramid shape of the first sub-network is located inside the triangular pyramid shape of the second sub-network; or,

[0051] When N is 3, the method further includes: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying the first sub-network and the second sub-network on the same plane; or, deploying the first sub-network and the second sub-network on different planes.

[0052] In one exemplary embodiment, the method further includes:

[0053] Each of the target network nodes is configured to allow one-hop routing to the other three target network nodes in the target sub-network;

[0054] Each of the target network nodes is configured to allow one-hop routing to the reference network node connected to the target network node in the reference subnetwork;

[0055] Each of the target network nodes is configured to allow two-hop routing to a reference network node in the reference subnetwork that is not connected to the target network node.

[0056] In one exemplary embodiment, the method further includes:

[0057] For the 2 N Each network node is assigned an N-bit binary number as an identifier, wherein the highest bits of the identifiers of network nodes on the same sub-network are the same, the lowest two bits of the identifier of the target network node are the same as the identifier of the directly connected reference network node, and the identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0058] According to another embodiment of this application, a routing device for a multidimensional hypercube interconnect network is provided, wherein the multidimensional hypercube interconnect network includes 2 N There are 2^N network nodes, where N is the dimension of the multidimensional hypercube interconnection network, which is divided into 2^N network nodes. N-2 There are 2 subnetworks, where N is a positive integer greater than 2. N-2 Each subnetwork in the subnetwork, serving as a target subnetwork, includes four target network nodes. Each target network node is connected to the other three target network nodes in the target subnetwork. N-2 The sub-networks are connected sequentially, and the four target network nodes in the target sub-network are connected one-to-one with the four reference network nodes included in the reference sub-network. The reference sub-network is located in the second sub-network. N-2 In the connection of subnetworks, subnetworks adjacent to the target subnetwork have at least two transmission paths deployed between network nodes within the same subnetwork, and at least four transmission paths deployed between network nodes connecting two subnetworks; the routing device is used to route from the target subnetwork to the target subnetwork or the reference subnetwork, and the device includes:

[0059] The acquisition module is used to acquire the starting routing node on the target sub-network and the final routing node on the target sub-network or the reference sub-network;

[0060] The calculation module is used to calculate the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node, so as to obtain the initial route path;

[0061] The allocation module is used to allocate the target sending path for each hop in the initial routing path according to the connection relationship, so as to obtain the target routing path;

[0062] A routing module is used to route from the starting routing node to the final routing node according to the target routing path.

[0063] According to yet another embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and the computer program is configured to perform the steps in any of the above method embodiments when it is run.

[0064] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0065] According to yet another embodiment of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0066] Through this application, due to the above steps, the 2 included in the multidimensional hypercube interconnection network... N The network nodes are divided into 2 N-2 In a sub-network, at least two transmission paths are deployed between network nodes within the same sub-network, and at least four transmission paths are deployed between network nodes connecting two sub-networks. During routing, an initial routing path can be planned first, and then a dedicated transmission path can be assigned to each hop based on the connection relationship between the starting and ending routing nodes, avoiding out-of-order data transmission. Therefore, this solves the technical problem of low data transmission efficiency in interconnected networks in related technologies, achieving the technical effect of improving data transmission efficiency in interconnected networks. Attached Figure Description

[0067] Figure 1 This is a structural framework of a topology of a multidimensional hypercube interconnection network according to an embodiment of this application. Figure 1 ;

[0068] Figure 2 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 1 ;

[0069] Figure 3 This is a structural framework of a topology of a multidimensional hypercube interconnection network according to an embodiment of this application. Figure 2 ;

[0070] Figure 4 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 2 ;

[0071] Figure 5 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 3 ;

[0072] Figure 6 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 4 ;

[0073] Figure 7 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 5 ;

[0074] Figure 8 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 1 ;

[0075] Figure 9 This is a schematic diagram of a routing process in a ring topology according to an embodiment of this application;

[0076] Figure 10 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 2 ;

[0077] Figure 11 This is a schematic diagram of a path marker for a transmission path according to an embodiment of this application;

[0078] Figure 12 This is a schematic diagram of a routing path according to an embodiment of this application. Figure 1 ;

[0079] Figure 13 This is a flowchart of a routing method for a three-dimensional hypercube interconnection network according to an embodiment of this application;

[0080] Figure 14 This is a schematic diagram of the routing process of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 1 ;

[0081] Figure 15 This is a schematic diagram of the routing process of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 2 ;

[0082] Figure 16 This is a schematic diagram of a routing path according to an embodiment of this application. Figure 2 ;

[0083] Figure 17 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 3 ;

[0084] Figure 18 This is a schematic diagram of a path label for a transmission path according to an embodiment of this application;

[0085] Figure 19 This is a schematic diagram of an adaptive routing path according to an embodiment of this application. Figure 1 ;

[0086] Figure 20 This is a schematic diagram of an adaptive routing path according to an embodiment of this application. Figure 2 ;

[0087] Figure 21 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 4 ;

[0088] Figure 22 This is a schematic diagram of a transmission path according to an embodiment of this application;

[0089] Figure 23 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 1 ;

[0090] Figure 24 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 2 ;

[0091] Figure 25 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 3 ;

[0092] Figure 26 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 4 ;

[0093] Figure 27 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 5 ;

[0094] Figure 28 This is a structural block diagram of a routing device for a multidimensional hypercube interconnection network according to an embodiment of this application. Detailed Implementation

[0095] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.

[0096] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0097] This embodiment provides a topology for a multidimensional hypercube interconnect network. Figure 1This is a structural framework of a topology of a multidimensional hypercube interconnection network according to an embodiment of this application. Figure 1 ,like Figure 1 As shown, the multidimensional hypercube interconnect network includes 2 N There are 2 network nodes, where N is the dimension of the multidimensional hypercube interconnection network. The multidimensional hypercube interconnection network is divided into 2... N -2 There are 2 subnetworks, where N is a positive integer greater than 2; 2 N-2 Each subnetwork in the subnetwork, as the target subnetwork 102, includes four target network nodes (102-1 to 102-4). Each target network node (e.g., 102-1) is connected to the other three target network nodes (e.g., 102-2 to 102-4) in the target subnetwork; 2 N-2 The subnetworks are connected sequentially. The four target network nodes (102-1 to 102-4) in target subnetwork 102 are connected one-to-one with the four reference network nodes (104-1 to 104-4, and 104-5 to 104-8) in reference subnetwork 104. Reference subnetwork 104 is a 2 N-2 The subnetworks that are adjacent to the target subnetwork 102 in the connection of the subnetworks.

[0098] Through this topology, due to the 2 included in the multidimensional hypercube interconnect network... N The network nodes are divided into 2 N -2 Each target subnetwork contains four target network nodes, each connected in pairs, and 2 N-2 Each subnetwork is connected sequentially, and the four target network nodes in the target subnetwork are connected one-to-one with the four reference network nodes in its adjacent reference subnetwork, thus shortening the network diameter of the multidimensional hypercube interconnection network. Therefore, this solves the technical problem of high network communication latency in related technologies for multidimensional hypercube interconnections, achieving the technical effect of reducing network communication latency.

[0099] The Internet has several key informational aspects: first, its topology; second, its routing algorithms and switching technologies; and third, its performance metrics. The topology refers to the connection structure between network nodes. In telecommunications networks, a node is a connection point, representing a redistribution point or a communication endpoint (some terminal equipment). Routing is the process of determining the network-wide path for packets traveling from source to destination. The Internet typically has four main performance metrics: 1) Node degree, which represents the number of channels connecting a node to its neighbors, or the number of router ports in a node. 2) Network diameter, which represents the maximum value of the shortest distance between two nodes in the network. A smaller network diameter results in lower network communication latency. 3) Number of links, which represents the total number of links in the network; since the topology is fixed, the number of links is also fixed. 4) Bipartite bandwidth, which is the bandwidth corresponding to the minimum cut set of a network divided into two equal subnets. Higher bipartite bandwidth indicates stronger network communication capabilities.

[0100] In this embodiment, network nodes may include, but are not limited to, terminal nodes. A terminal node is any system or set of units with communication needs. It can be a processor, a processor and memory, a graphics processing unit, a storage controller, an I / O interface, etc.

[0101] In this embodiment, the multidimensional hypercube interconnect network can be applied to any network transmission system, such as server switch chips, databases, distributed systems, etc.

[0102] In this embodiment, the topology of the aforementioned multidimensional hypercube interconnection network exhibits symmetry, regularity, path diversity, and scalability.

[0103] In an optional example, Figure 2 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 1 ,like Figure 2As shown, when N is 3, the multidimensional hypercube interconnection network is divided into a first subnetwork 202 and a second subnetwork 204. The first subnetwork includes four first network nodes (202-1 to 202-4), and the second subnetwork includes four second network nodes (204-1 to 204-4). Each first network node (e.g., 202-1) is connected to the other three first network nodes (e.g., 202-2 to 202-4) in the first subnetwork, and each second network node (e.g., 204-1) is connected to the other three second network nodes (e.g., 204-2 to 204-4) in the second subnetwork. The first network nodes and second network nodes are connected in a one-to-one correspondence (e.g., 202-1 is connected to 204-1).

[0104] In one optional example, the target subnetwork can be, but is not limited to, a triangular pyramid shape. Network nodes within each subnetwork can be deployed on different planes.

[0105] In an optional example, the pyramidal shape of the reference subnetwork may, but is not limited to, be located inside the pyramidal shape of the target subnetwork, and / or, the pyramidal shape of the target subnetwork may, but is not limited to, be located inside the pyramidal shape of the reference subnetwork. Figure 3 This is a structural framework of a topology of a multidimensional hypercube interconnection network according to an embodiment of this application. Figure 2 ,like Figure 3 As shown, the subnetworks can be, but are not limited to, connected layer by layer. For the outermost target subnetwork, its adjacent reference subnetwork is an inner subnetwork. For the innermost target subnetwork, its adjacent reference subnetwork is an outer subnetwork. For other target subnetworks besides the outermost and innermost target subnetworks, their adjacent reference subnetworks are two subnetworks: one is an outer subnetwork, and the other is an inner subnetwork.

[0106] In an optional example, Figure 4 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 2 ,like Figure 4 As shown, when N is 3, the multidimensional hypercube interconnection network is divided into a first subnetwork 402 and a second subnetwork 404; both the first subnetwork 402 and the second subnetwork 404 are triangular pyramidal in shape, and the triangular pyramidal shape of the first subnetwork 402 is located inside the triangular pyramidal shape of the second subnetwork 404.

[0107] In an optional example, the four target network nodes in the target subnetwork may, but are not limited to, be located on the same plane.

[0108] In an optional example, 2 N-2The subnetwork can be distributed across M planes, but is not limited to, where M is greater than or equal to 1 and less than or equal to 2. N-2 Integers.

[0109] In an optional example, when N is 3, the multidimensional hypercube interconnect network may, but is not limited to, be divided into a first subnetwork and a second subnetwork; the first subnetwork and the second subnetwork may, but are not limited to, be located in the same plane, or the first subnetwork and the second subnetwork may, but are not limited to, be located in different planes.

[0110] In an optional example, each target network node is configured to allow one-hop routing to the other three target network nodes in the target subnetwork; each target network node is configured to allow one-hop routing to the reference network node in the reference subnetwork that is connected to the target network node; and each target network node is configured to allow two-hop routing to the reference network node in the reference subnetwork that is not connected to the target network node.

[0111] Traditional 3D hypercube interconnect topologies have a network diameter of 3, resulting in significant network latency. In this embodiment, the network diameter of the 3D hypercube interconnect topology is shortened to 2, effectively reducing network transmission latency.

[0112] In an optional example, 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0113] Taking N=3 as an example, there are 8 routing nodes, numbered 0-7, which can be represented by binary numbers 000-111 respectively. Figure 5 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 3 ,like Figure 5 As shown, the highest bit of all network nodes in the inner triangular pyramid (i.e., the first sub-network) is 0. Figure 6 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 4 ,like Figure 6 As shown, the highest bit of all network nodes in the outer triangular pyramid (i.e., the second sub-network) is 1; Figure 7 This is a structural framework of a topology of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 5 ,like Figure 7 As shown, the routing nodes of the inner triangular pyramid and the routing nodes directly connected to the outer triangular pyramid have a result of 100 after bit XOR, that is, the lower two bits are equal and the highest bit is opposite.

[0114] For each network node, the connection relationship with the other 7 network nodes is as follows: First, it is directly connected to the other three network nodes through 4 full-duplex links; it can directly reach 4 adjacent network nodes with one hop, such as network node 4 (100), which is directly connected to network nodes 0 (000), 5 (101), 6 (110), and 7 (111), and can be directly routed; that is, for network nodes on the outer triangular pyramid, in addition to being directly routed to all network nodes of the outer triangular pyramid, it can also be directly routed to the network nodes of the inner triangular pyramid connected to it; for network nodes of the inner triangular pyramid, in addition to being directly routed to all network nodes of the inner triangular pyramid, it can also be directly routed to the network nodes of the outer triangular pyramid connected to it. Furthermore, each network node can be reached from the remaining three network nodes in two hops. For example, network node 4 (100) can be reached from network nodes 1 (001), 2 (010), and 3 (011) in two hops. In other words, for a network node on the outer triangular pyramid, except for the network nodes of the inner triangular pyramid connected to it, it can be routed to other network nodes of the inner triangular pyramid in two hops. For a network node on the inner triangular pyramid, except for the network nodes of the outer triangular pyramid connected to it, it can be routed to other network nodes of the outer triangular pyramid in two hops.

[0115] The three-dimensional topology described above can be, but is not limited to, a two-layer triangular pyramid network structure, which can effectively reduce network transmission latency. The routing algorithm applicable to this two-layer triangular pyramid network structure is simple and easy to implement in hardware.

[0116] This embodiment also provides a routing method for a multidimensional hypercube interconnection network, applied to the aforementioned multidimensional hypercube interconnection network. This routing method is used to route from a target subnetwork to a target subnetwork or a reference subnetwork. Figure 8 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 1 ,like Figure 8 As shown, the process includes the following steps:

[0117] Step S802: Obtain the starting routing node on the target sub-network and the final routing node on the target sub-network or the reference sub-network;

[0118] Step S804: Calculate the shortest route from the starting routing node to the final routing node to obtain the target route path;

[0119] Step S806: Route from the starting routing node to the final routing node according to the target routing path.

[0120] Through the above steps, the 2 included in the multidimensional hypercube interconnect network... N The network nodes are divided into 2 N-2 Each target subnetwork contains four target network nodes, each connected in pairs, and 2 N-2 The subnetworks are connected sequentially. The four target network nodes in the target subnetwork are connected one-to-one with the four reference network nodes in their adjacent reference subnetworks. During routing, each network node can calculate a one-hop shortest path to a directly connected network node. The shortest path to a non-directly connected network node on an adjacent subnetwork is also only two hops, thus shortening the network diameter of the multidimensional hypercube interconnection network. Therefore, this solves the technical problem of high network communication latency in multidimensional hypercube interconnections in related technologies, achieving the technical effect of reducing network communication latency in multidimensional hypercube interconnections.

[0121] Optionally, in this embodiment, the routing method may be deployed on each network node, but is not limited to.

[0122] In an optional example, in step S804 above, the shortest route path from the starting routing node to the final routing node can be calculated in the following ways, but not limited to: determining the connection relationship between the starting routing node and the final routing node; and calculating the shortest route path as the target route path based on the connection relationship.

[0123] Optionally, in this embodiment, the shortest route path can be calculated as the target route path in different ways, but not limited to, based on the different connection relationships between the starting route node and the final route node.

[0124] In an optional example, the connection between the starting and ending routing nodes can be determined by, but is not limited to, performing an XOR operation on the identifiers of the starting and ending routing nodes, where 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The connection relationship is determined based on the calculation result.

[0125] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node can be determined using an identifier operation, but not limited to this one. This operation can include, but is not limited to, XOR operations. Each network node in the interconnected network is configured with an identifier. Due to the aforementioned identifier method, the highest bit of the XOR operation result for network nodes in the same sub-network is 0, indicating that network nodes in the same sub-network are directly connected. A connection where the highest bit of the XOR operation result is 0 can be determined as a direct connection. For directly connected network nodes in adjacent sub-networks, the highest bit of the identifier is different, but the last two bits are the same. Therefore, a connection where the highest bit of the XOR operation result is 1 and the lowest two bits are 0 can also be determined as a direct connection. In other cases, the connection relationship between the starting routing node and the final routing node can be determined as a non-direct connection.

[0126] In an optional example, when N is 3, the connection relationship can be determined based on the calculation result in the following ways, but not limited to: if the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node; if the calculation result is 101, 110 or 111, the connection relationship is determined to be that there is no direct connection between the starting routing node and the final routing node.

[0127] Optionally, in this embodiment, if the calculation result is 001, 010, 100, or 011, then the highest bit of the calculation result is 0 or the highest bit is 1 and the lowest two bits are 0, which indicates that the connection relationship is a direct connection between the starting routing node and the final routing node. In other cases, if the calculation result is 101, 110, or 111, it can be determined that the connection relationship is not a direct connection between the starting routing node and the final routing node.

[0128] In an optional example, the shortest route path can be calculated as the target route path based on the connectivity in the following ways: if the connectivity is a direct connection between the starting and ending route nodes, the target route path is determined to be a direct route to the ending route node; if the connectivity is not a direct connection between the starting and ending route nodes, the next hop is determined based on the identifiers of the starting and ending route nodes; and the ending route node is determined as the last hop, where the target route path includes both the next hop and the last hop.

[0129] Optionally, in this embodiment, if the connection relationship is a direct connection between the starting routing node and the final routing node, the target routing path can be determined to be a direct route to the final routing node, and the target routing path includes only one hop. If the connection relationship is that the starting routing node and the final routing node are not directly connected, the target routing path will include two hops, then the next hop can be determined, and the final routing node is directly determined as the last hop.

[0130] In an optional example, when N is 3, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following way: if the result of the XOR operation between the identifiers of the starting and ending routing nodes is 101 or 110, the result is split into two one-hot codes, where 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. Randomly select a target one-hot code from the two one-hot codes. Perform an XOR operation between the identifier of the starting routing node and the target one-hot code to obtain the identifier of the next hop.

[0131] Optionally, in this embodiment, when N is 3, if the calculation result is 101, 110, or 111, it can be determined that the connection relationship is that there is no direct connection between the starting routing node and the final routing node. In this case, two scenarios are handled: for calculation results of 101 or 110, the result is split into two one-hot codes. The identifier of the starting routing node and the one-hot code are XORed separately to find two network nodes that are connected to both the starting and final routing nodes. One of the two one-hot codes can be randomly selected as the target one-hot code, and the identifier of the starting routing node is XORed with it to obtain the identifier of the next hop.

[0132] Optionally, in this embodiment, one-hot encoding, also known as one-bit valid encoding, means that only one bit is 1, or only one bit is valid.

[0133] In an optional example, when N is 3, the next hop can also be determined based on the identifiers of the starting and ending routing nodes in the following way: if the result of the XOR operation between the identifiers of the starting and ending routing nodes is 111, then 111 is split into 100 and 011, where 2 NEach network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. A target code is randomly selected from 100 and 011. The identifier of the starting routing node is XORed with the target code to obtain the identifier of the next hop.

[0134] Optionally, in this embodiment, when N is 3, for the result 111, it is split into 100 and 011. The identifier of the starting routing node and the split codes are XORed respectively, thus finding two network nodes that are connected to both the starting and ending routing nodes. One of the two codes can be randomly selected as the target code, and the identifier of the starting routing node is XORed with it to obtain the identifier of the next hop.

[0135] In an optional implementation, a routing algorithm is provided for a two-layer triangular pyramid structure (i.e., a topology of the aforementioned three-dimensional hypercube interconnection network). In this routing algorithm, for a routing request, the source routing node (i.e., the aforementioned starting routing node) is denoted as S, and the destination routing node (i.e., the aforementioned final routing node) is denoted as D. The routing algorithm may include, but is not limited to, the following steps:

[0136] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and denote the result as I.

[0137] Step 2: Determine the value of I: If I is one of 001, 010, 100, or 011, it means that the source routing node S and the destination routing node D are directly connected, and routing can be performed directly through the corresponding output port. For example: If routing node 4 (100) is XORed with the directly connected routing nodes 0 (000), 5 (101), 6 (110), and 7 (111), the resulting I values ​​are 100, 001, 010, and 011, respectively, and routing can be performed directly through the corresponding output port; routing ends.

[0138] If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; then proceed to the third step.

[0139] Step 3: Determining the routing path: If I is 101 or 110, for the bits in I that are 1, I is split into two one-hot codes. Then, randomly select one one-hot code and XOR it with the source routing node S; the routing ends. For example, when S is 100 and D is 001, XORing the bits yields... , Decomposed into several one-hot encoded XOR operations: The possible routing paths are:

[0140] .

[0141] If I is 111, split I into two parts. According to a random method from Select one node from the list and XOR it with the routing node S; the routing ends. For example, when S is 100 and D is 011, XORing them according to their bits yields... The possible routing paths are:

[0142] .

[0143] In a ring topology, deadlock may occur during routing. For example: Figure 9 This is a schematic diagram of a routing process in a ring topology according to an embodiment of this application, as shown below. Figure 9 As shown, suppose there are four routing requests simultaneously, requests 1 to 4. Request 1: from network node 2 to network node 7; Request 2: from network node 3 to network node 6; Request 3: from network node 7 to network node 2; Request 4: from network node 6 to network node 3. All four routing requests need to pass through a network node. If all four requests randomly choose a clockwise route and have already occupied an intermediate network node, a clockwise deadlock occurs. Conversely, if all four requests randomly choose a counter-clockwise route and have already occupied an intermediate network node, a counter-clockwise deadlock occurs.

[0144] To avoid the aforementioned deadlock phenomenon, this embodiment also provides a routing method for a multidimensional hypercube interconnection network. The topology of the multidimensional hypercube interconnection network is any of the topologies described above. P transmission paths are deployed between the target network node and directly connected network nodes, where P is an integer greater than 1. This routing method is used to route from a target subnetwork to a target subnetwork or a reference subnetwork. Figure 10 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 2 ,like Figure 10 As shown, the process includes the following steps:

[0145] Step S1002: Obtain the starting routing node on the target sub-network and the final routing node on the target sub-network or the reference sub-network;

[0146] Step S1004: Calculate the shortest route from the starting routing node to the final routing node to obtain the initial routing path;

[0147] Step S1006: Determine the target sending path for each hop in the initial sending path from the P sending paths based on the initial routing path, and obtain the target routing path;

[0148] Step S1008: Route from the starting routing node to the final routing node according to the target routing path.

[0149] Through the above steps, the 2 included in the multidimensional hypercube interconnect network... N The network nodes are divided into 2 N-2 Each target subnetwork contains four target network nodes, each connected in pairs, and 2 N-2 The subnetworks are connected sequentially. The four target network nodes in the target subnetwork are connected one-to-one with the four reference network nodes in their adjacent reference subnetworks. During routing, an initial routing path can be planned first, and then the sending path for each hop can be planned based on the initial routing path, avoiding deadlock in the target routing path. Therefore, this solves the technical problem of potential deadlock in the routing process in related technologies, achieving the technical effect of avoiding deadlock in the routing process.

[0150] Optionally, in this embodiment, the sending path may refer to, but is not limited to, the sending port. At least two sending ports are deployed on each network node, so that flexible selection can be made when planning the routing path.

[0151] In an optional example, in step S1006 above, the target sending path for each hop in the initial sending path can be determined from the P sending paths according to the initial routing path in the following ways, but not limited to: when the initial routing path is a direct route to the final routing node, a sending path is randomly selected from the P sending paths as the target sending path; when the initial routing path includes a next hop and a last hop, the target sending path for the next hop and the target sending path for the last hop are determined according to the target sub-network, and the corresponding sub-network and sending path, wherein the next hop is determined according to the identifier of the starting routing node and the identifier of the final routing node, and the last hop is the final routing node.

[0152] Optionally, in this embodiment, if the initial routing path has only one hop, i.e., the initial routing path is a direct route to the final routing node, the target sending path can be obtained, but is not limited to, through random selection, thus avoiding deadlock. If the initial routing path has two hops, i.e., the initial routing path includes a next hop and a last hop, the target sending path for the next hop and the target sending path for the last hop can be planned based, but is not limited to, the target sub-network, and the corresponding sub-networks and sending paths, to avoid deadlock.

[0153] In an optional example, the target sending path for the next hop and the target sending path for the last hop can be determined, but not limited to, based on the subnet where the starting routing node is located, and the corresponding subnets and sending paths, by: finding the reference sending path corresponding to the subnet where the starting routing node is located from the corresponding subnets and sending paths; and determining that the target sending path for the next hop and the target sending path for the last hop are both reference sending paths.

[0154] Optionally, in this embodiment, the network architecture is configured with corresponding sub-networks and transmission paths, and the reference transmission path corresponding to the sub-network where the starting routing node is located is used as the target transmission path for the next hop and the target transmission path for the last hop, thereby avoiding deadlock.

[0155] In an optional example, the reference transmission path corresponding to the subnetwork where the starting routing node is located can be found from the corresponding subnetworks and transmission paths in the following manner: From P transmission paths, the transmission path marked with the label corresponding to the subnetwork where the starting routing node is located is found to obtain the reference transmission path corresponding to the subnetwork where the starting routing node is located. Here, the P transmission paths are divided into a first path set and a second path set. The first path set includes at least one transmission path from the P transmission paths, and the second path set includes at least one transmission path from the P transmission paths. The transmission paths in the first path set are marked with the label corresponding to the subnetwork where the transmission network node connected to the transmission path is located, and the transmission paths in the second path set are marked with the label corresponding to the reference subnetwork of the subnetwork where the transmission network node connected to the transmission path is located.

[0156] Optionally, in this embodiment, the P transmission paths may, but are not limited to, be divided into a first path set and a second path set. Each path set includes at least one transmission path. By configuring the labels of the corresponding sub-networks for the transmission paths in the path sets, the transmission paths are assigned to different sub-networks, thereby forming sub-networks and transmission paths with corresponding relationships.

[0157] In an optional example, before searching for the sending path from the P sending paths that is labeled with the tag corresponding to the subnetwork where the starting routing node is located, the corresponding subnetwork and sending path can also be obtained in the following ways, but not limited to: labeling the sending paths in the first path set with the tag corresponding to the subnetwork where the sending network node connected to the sending path is located, and labeling the sending paths in the second path set with the tag corresponding to the reference subnetwork where the subnetwork where the sending network node connected to the sending path is located.

[0158] Optionally, in this embodiment, the label corresponding to the sub-network is used to identify the sub-network. The label can be implemented in various forms, such as numbers, symbols, etc.

[0159] In an optional example, the sending paths in the first path set are labeled with the labels corresponding to the sub-networks where the sending network nodes connected to the sending paths reside, and the sending paths in the second path set are labeled with the labels corresponding to the reference sub-networks where the sending network nodes connected to the sending paths reside, including:

[0160] The sending paths in the first path set are marked with the highest N-2 bits of the identifier of the sending network node to which the sending path is connected, and the sending paths in the second path set are marked with the highest N-2 bits of the identifier of the reference network node to which the sending network node is connected, where 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0161] Optionally, in this embodiment, network nodes are identified in the following way: 2 N Each network node's identifier is an N-bit binary number. Network nodes on the same sub-network share the same highest bit of their identifier. The lowest two bits of the target network node's identifier are the same as the identifier of a directly connected reference network node. The target network node's identifier differs from the identifier of a directly connected reference network node by exactly one bit. Therefore, the target network node and the reference network nodes connected to adjacent sub-networks can be distinguished by the highest N-2 bits of the network node's identifier. By marking the sending paths in the first path set with the highest N-2 bits of the identifier of the sending network node to which the sending path is connected, and marking the sending paths in the second path set with the highest N-2 bits of the identifier of the reference network node to which the sending path is connected, the sub-network corresponding to the sending path can be distinguished.

[0162] In an optional example, with N = 3, the multidimensional hypercube interconnect network is divided into a first subnetwork and a second subnetwork. The first subnetwork includes 4 first network nodes, and the second subnetwork includes 4 second network nodes. Each first network node is connected to the other 3 first network nodes in the first subnetwork, and each second network node is connected to the other 3 second network nodes in the second subnetwork. The first and second network nodes are connected in a one-to-one correspondence. The sending path marked with the label corresponding to the subnetwork where the starting routing node is located can be found from P sending paths in the following manner, but not limited to: when the starting routing node is located in the first subnetwork, from P... In the P sending paths, a sending path marked with the label corresponding to the first sub-network is selected as a reference sending path; if the starting routing node is located in the second sub-network, a sending path marked with the label corresponding to the second sub-network is selected as a reference sending path; wherein, the P sending paths are divided into a first path set and a second path set, the first path set includes at least one sending path from the P sending paths, the second path set includes at least one sending path from the P sending paths, the sending paths in the first path set are marked with the label corresponding to the first sub-network, and the sending paths in the second path set are marked with the label corresponding to the second sub-network.

[0163] Optionally, in this embodiment, network nodes in the three-dimensional hypercube interconnection network are divided into two sub-networks, and P transmission paths are also divided into two path sets, each corresponding to one of the two sub-networks.

[0164] In an optional example, a reference transmission path can be found from P transmission paths by, but is not limited to, searching for a transmission path marked with the label corresponding to the first sub-network as a reference transmission path: searching for a transmission path marked with 1 from P transmission paths as a reference transmission path; a reference transmission path can be found from P transmission paths by, but is not limited to, searching for a transmission path marked with the label corresponding to the second sub-network as a reference transmission path: searching for a transmission path marked with 0 from P transmission paths as a reference transmission path; wherein, the highest bit of the identifier of the four first network nodes on the first sub-network is 1, the highest bit of the identifier of the four second network nodes on the second sub-network is 0, the lowest two bits of the identifier of the corresponding connected first network nodes and second network nodes are the same, the transmission paths in the first path set are marked with 1, and the transmission paths in the second path set are marked with 0.

[0165] Optionally, in this embodiment, the highest bit of the identifier of the four first network nodes on the first sub-network is 1, the highest bit of the identifier of the four second network nodes on the second sub-network is 0, the lowest two bits of the identifier of the corresponding connected first network nodes and second network nodes are the same, the sending path in the first path set is marked with the highest bit of the identifier being 1, and the sending path in the second path set is marked with the highest bit of the identifier being 0. Figure 11 This is a schematic diagram of a path marker for a transmission path according to an embodiment of this application, such as... Figure 11 As shown, taking the example of each network node having two transmission paths, one transmission path is marked as 1 and the other transmission path is marked as 0.

[0166] In an optional example, the shortest route path from the starting routing node to the final routing node can be calculated in the following way, but is not limited to: determining the connection relationship between the starting routing node and the final routing node; and calculating the shortest route path based on the connection relationship as the initial route path.

[0167] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node is determined first, and then different shortest routing paths are calculated according to different connection relationships to obtain the initial routing path.

[0168] In an optional example, the connection between the starting and ending routing nodes can be determined by, but is not limited to, performing an XOR operation on the identifiers of the starting and ending routing nodes, where 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The connection relationship is determined based on the calculation result.

[0169] Optionally, in this embodiment, 2 N Each network node is identified by an N-bit binary number and follows certain identification rules. The connection relationship between network nodes can be determined through operations on the identifier, but is not limited to these operations.

[0170] Optionally, in this embodiment, when N is 3, if the calculation result is 001, 010, 100 or 011, the connection relationship can be determined to be a direct connection between the starting routing node and the final routing node; if the calculation result is 101, 110 or 111, the connection relationship can be determined to be that there is no direct connection between the starting routing node and the final routing node.

[0171] Optionally, in this embodiment, if the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path can be determined to be a direct route to the final routing node; if the connection relationship is that the starting routing node and the final routing node are not directly connected, the next hop can be determined based on the identifier of the starting routing node and the identifier of the final routing node; and the final routing node is determined as the last hop, wherein the initial routing path includes the next hop and the last hop.

[0172] Optionally, in this embodiment, when N is 3, if the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the result can be split into two one-hot codes, where 2 N Each network node's identifier is an N-bit binary number. Network nodes on the same subnetwork share the same highest bit in their identifiers. The lowest two bits of the target network node's identifier are the same as the identifier of the directly connected reference network node. The target network node's identifier differs from the identifier of the directly connected reference network node by exactly one bit. A target one-hot code is randomly selected from two one-hot codes. The identifier of the starting routing node and the target one-hot code are XORed to obtain the identifier of the next hop. Optionally, in this embodiment, when N is 3, if the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then 111 can be split into 100 and 011, where 2... N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. A target code is randomly selected from 100 and 011. The identifier of the starting routing node is XORed with the target code to obtain the identifier of the next hop.

[0173] Optionally, in this embodiment, routing rules can also be configured for network nodes in the following ways, but not limited to: setting each target network node to allow routing to the other three target network nodes in the target subnetwork via one hop; setting each target network node to allow routing to the reference network node in the reference subnetwork connected to the target network node via one hop; and setting each target network node to allow routing to the reference network node in the reference subnetwork not connected to the target network node via two hops.

[0174] Optionally, in this embodiment, network nodes can also be assigned identifiers in the following ways, but not limited to: assigning an identifier of 2. NEach network node is assigned an N-bit binary number as its identifier. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0175] In an optional implementation, for a three-dimensional hypercube interconnection network, the above routing method can be summarized as follows: Rule 1: All routing paths follow the shortest path; Rule 2: If the result I of the XOR operation is one of 001, 010, 100, or 011, it means that the source routing node S and the target routing node D are directly connected and can be routed through either path "1" or path "0"; If the result I of the XOR operation is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the target routing node D; and it is known that S and D must belong to the outer triangular pyramid and the inner triangular pyramid, respectively. Therefore, routing is performed according to the following rules 3 and 4: Rule 3: If the result I of the XOR operation is one of 101, 110, or 111, and S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then the routing path can only follow "1"; Rule 4: If the result I of the XOR operation is one of 101, 110, or 111, and S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, then the routing path can only follow "0".

[0176] In this optional embodiment, a routing algorithm based on the above rules is also provided. For a routing request, the source routing node is denoted as S and the destination routing node is denoted as D. The routing algorithm includes the following steps:

[0177] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and denote the result as I.

[0178] Step 2: Determine the value of I:

[0179] If I is one of 001, 010, 100, or 011, it means there is a direct path connecting S and D. Routing can be performed directly through either path "1" or path "0" connecting S and D; the routing ends. For example, when S is 111, D is 100, and I is 011, the source routing node S and the destination routing node D belong to the same outer pyramid (i.e., the first sub-network), and there is a direct path connecting S and D. Routing can be performed directly through either path "1" or path "0" connecting S and D; the routing ends.

[0180] If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; then proceed to the third step.

[0181] Step 3: Determining the route path: If S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then the route path can only follow "1"; if S belongs to the inner triangular pyramid (i.e., the second sub-network) and D belongs to the outer triangular pyramid, then the route path can only follow "0".

[0182] If I is 101 or 110, for the bits in I that are 1, I is split into two one-hot codes. Then, the two one-hot codes are XORed with the routing node S in a random manner; the routing ends. For example, when S is 100 and D is 001, S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, so the routing path can only follow "1". XORing the bits yields... , Decomposed into several one-hot encoded XOR operations: The possible routing paths are:

[0183] .

[0184] If I is 111, split I into two parts. According to a random method Perform an XOR operation with each of the routing nodes S; the routing process ends.

[0185] For example, when S is 011 and D is 100, S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, so the routing path can only traverse "0". XORing the bits yields... The possible routing paths are:

[0186] .

[0187] Taking the ring structure formed by the routing nodes 111 and 100 of the outer triangular pyramid and the routing nodes 011 and 000 of the inner triangular pyramid as an example, Figure 12 This is a schematic diagram of a routing path according to an embodiment of this application. Figure 1 ,like Figure 12 As shown, suppose there are four routing requests: Request 1: from route node 100 to route node 011; Request 2: from route node 111 to route node 000; Request 3: from route node 011 to route node 100; Request 4: from route node 000 to route node 111. If all four requests require a route node, all choose a clockwise route, and all have already used intermediate route nodes, then a clockwise routing path exists. Conversely, if all requests choose a counter-clockwise route, and all have already used intermediate route nodes, then a counter-clockwise routing path exists. It can be seen that neither the clockwise nor counter-clockwise routing paths result in a deadlock.

[0188] To avoid the aforementioned deadlock phenomenon, this embodiment also provides a routing method for a three-dimensional hypercube interconnection network, which includes 2 3 The 3D hypercube network is divided into a first subnetwork and a second subnetwork. The first subnetwork consists of 4 first network nodes, and the second subnetwork consists of 4 second network nodes. All 4 first network nodes are interconnected, and all 4 second network nodes are interconnected. There is a one-to-one correspondence between the 4 first network nodes and the 4 second network nodes. A routing method is applied to any network node in the 3D hypercube interconnected network. Figure 13 This is a flowchart of a routing method for a three-dimensional hypercube interconnection network according to an embodiment of this application, as shown below. Figure 13 As shown, the process includes the following steps:

[0189] Step S1302: Obtain the starting routing node and the final routing node of the route to be planned;

[0190] Step S1304: Under the connection relationship between the starting routing node and the final routing node, plan the shortest route path from the starting routing node to the final routing node corresponding to the connection relationship, and obtain the target route path;

[0191] Step S1306: Route from the starting routing node to the final routing node according to the target routing path.

[0192] Through the above steps, the eight network nodes in the three-dimensional hypercube interconnection network are divided into two sub-networks. Each sub-network contains four network nodes connected in pairs, and the sub-networks are also connected one-to-one with each other. During routing, planning can be directly based on the connection relationship between the starting and ending routing nodes, avoiding deadlock in the target routing path. Therefore, this solves the technical problem of potential deadlock in the routing process in related technologies, achieving the technical effect of avoiding deadlock in the routing process.

[0193] In an optional example, in step S1304 above, the shortest route path corresponding to the connection relationship between the starting route node and the final route node can be planned in the following ways, but not limited to: detecting the connection relationship between the starting route node and the final route node; and planning the shortest route path corresponding to the connection relationship as the target route path.

[0194] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node is first detected, and the target routing path is planned based on the correspondence between the connection relationship and the shortest routing path.

[0195] Optionally, in this embodiment, the connection relationship between the starting routing node and the ending routing node can be detected in the following way, but is not limited to: performing an XOR operation on the identifier of the starting routing node and the identifier of the ending routing node to obtain the result, wherein 2 3 Each network node is identified by a 3-bit binary number. The highest bit of the identifiers of the four first network nodes on the first sub-network is 1, and the highest bit of the identifiers of the four second network nodes on the second sub-network is 0. The lowest two bits of the identifiers of the corresponding first and second network nodes are the same. The connection relationship is determined based on the calculation result.

[0196] Optionally, in this embodiment, each network node is assigned an identifier according to the above rules, and the connection relationship between network nodes can be determined by the operation of the identifier, but is not limited to.

[0197] Optionally, in this embodiment, the connection relationship can be determined based on the calculation result in the following ways, but not limited to: if the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node; if the calculation result is 101, 110 or 111, the connection relationship is determined to be that there is no direct connection between the starting routing node and the final routing node.

[0198] Optionally, in this embodiment, the shortest route path corresponding to the connection relationship can be planned as the target route path in the following ways, but not limited to: when the connection relationship is a direct connection between the starting route node and the final route node, the target route path is determined to be a direct route to the final route node; when the connection relationship is not a direct connection between the starting route node and the final route node, the network node connected to the starting route node on the subnetwork where the final route node is located is determined as the next hop; the final route node is determined as the last hop, wherein the target route path includes the next hop and the last hop.

[0199] Optionally, in this embodiment, the following routing rules are provided: Rule 1: All routing paths follow the shortest path; if the calculation result I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the target routing node D; and S and D must belong to the outer triangular pyramid and the inner triangular pyramid, respectively. Therefore, there are the following rules 2 and 3: Rule 2: If I is one of 101, 110, or 111, and S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then the first step of the routing needs to be routed from the outer triangular pyramid where S is located to the inner triangular pyramid where D is located. Rule 3: If I is one of 101, 110, or 111, and S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, then the first step of the routing needs to be routed from the inner triangular pyramid where S is located to the outer triangular pyramid where D is located.

[0200] In an optional example, the network node connected to the starting routing node on the subnet where the final routing node is located may be determined as the next hop in the following ways, but not limited to: if the starting routing node is located in the first subnet, the routing node connected to the starting routing node on the second subnet may be determined as the next hop; if the starting routing node is located in the second subnet, the routing node connected to the starting routing node on the first subnet may be determined as the next hop.

[0201] Optionally, in this embodiment, a routing path conforming to rules 2 and 3 can be obtained through the above method, thereby avoiding the occurrence of deadlock.

[0202] In an optional example, the network node connected to the originating route node on the subnet where the final route node resides can be determined as the next hop in the following way: if the result of an XOR operation between the identifier of the originating route node and the identifier of the final route node is 101 or 110, the result is split into two one-hot codes, where 2 3 Each network node is identified by a 3-bit binary number. The highest bit of the identifier of the four first network nodes on the first sub-network is 1, and the highest bit of the identifier of the four second network nodes on the second sub-network is 0. The lowest two bits of the identifiers of the corresponding connected first and second network nodes are the same. 100 is selected as the target one-hot code from the two one-hot codes. The identifier of the starting routing node is XORed with the target one-hot code to obtain the identifier of the next hop.

[0203] Optionally, in this embodiment, if the calculation result is 101 or 110, then 101 or 110 is split into two one-hot codes. 101 can be split into 100 and 001, and 110 can be split into 100 and 010. The 100 code is used as the target one-hot code and XORed with the identifier of the starting routing node to obtain the identifier of the next hop. This enables routing from the inner layer to the outer layer or from the outer layer to the inner layer, thus avoiding deadlock.

[0204] In an optional example, the network node connected to the originating route node on the subnet where the final route node resides can be determined as the next hop in the following way: if the result of an XOR operation between the identifier of the originating route node and the identifier of the final route node is 111, then 111 is split into 100 and 011, where 2 3Each network node is identified by a 3-bit binary number. The highest bit of the identifier of the four first network nodes on the first sub-network is 1, and the highest bit of the identifier of the four second network nodes on the second sub-network is 0. The lowest two bits of the identifiers of the corresponding first and second network nodes are the same. 100 is determined as the target code. The identifier of the starting routing node is XORed with the target code to obtain the identifier of the next hop.

[0205] Optionally, in this embodiment, if the calculation result is 111, then 111 is split into 100 and 011. 100 is used as the target code and XORed with the identifier of the starting routing node to obtain the identifier of the next hop. This enables routing from the inner layer to the outer layer or from the outer layer to the inner layer, thus avoiding deadlock.

[0206] In an optional example, the network node connected to the originating route node on the subnet where the final route node resides can be determined as the next hop in the following way: if the result of an XOR operation between the identifier of the originating route node and the identifier of the final route node is 101, 110, or 111, then 100 is extracted from the result as the target operation code, where 2 3 Each network node is identified by a 3-bit binary number. The highest bit of the identifier of the four first network nodes on the first sub-network is 1, and the highest bit of the identifier of the four second network nodes on the second sub-network is 0. The lowest two bits of the identifiers of the corresponding first and second network nodes are the same. The identifier of the starting routing node is XORed with the target operation code to obtain the identifier of the next hop.

[0207] Optionally, in this embodiment, when the calculation result is 101, 110, or 111, 100 can be directly extracted from the calculation result as the target operation code and XORed with the identifier of the starting routing node to obtain the identifier of the next hop. This enables routing from the inner layer to the outer layer or from the outer layer to the inner layer, thus avoiding deadlock.

[0208] In an optional implementation, a routing algorithm is provided for a three-dimensional hypercube interconnection network. For a routing request, the source routing node is denoted as S and the destination routing node is denoted as D. Taking a two-layer triangular pyramid topology as an example, the routing algorithm includes the following steps:

[0209] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and denote the result as I.

[0210] Step 2: Determine the value of I:

[0211] If I is one of 100, 001, 010, or 011, it means there is a direct path connecting S and D, and routing can be performed directly through the path connecting S and D; routing ends. For example, when S is 111, D is 100, and I is 011, there is a direct path connecting S and D, and routing can be performed directly through the path connecting S and D; routing ends. If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; proceed to step three.

[0212] Step 3: Determine the routing path: Determine the routing path according to Rule 2 and Rule 3.

[0213] If I is 101, 110, or 111: For the bits in I that are 1, split I into two parts.

[0214] .

[0215] Then First, XOR S to obtain the routing node for the first step of routing. This fulfills the requirement in the above rule that the first step should be to route from the inner or outer triangular pyramid where S is located to the outer / inner triangular pyramid where D is located. and XORing yields the routing nodes for the second step of routing. That is, the destination routing node D is reached; the route ends.

[0216] In this optional implementation, taking S as 100 and D as 001 as an example, Figure 14 This is a schematic diagram of the routing process of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 1 ,like Figure 14 As shown, firstly, the source routing node S and the destination routing node D are XORed bitwise, and the result is denoted as... Determine the value of I: If I is 101, it means that the source routing node S needs to go through two hops to reach the destination routing node D; then determine the routing path: for the bits in I that are 1, split I into two one-hot codes. ,Then First, XOR S to obtain the routing node for the first step of routing. : This fulfills the requirement of first routing from the outer triangular pyramid containing S to the inner triangular pyramid containing D. and XORing yields the routing nodes for the second step of routing. : The route reaches the target routing node D; the routing ends. The target routing path is: .

[0217] In this optional implementation, taking S as 011 and D as 100 as an example, Figure 15 This is a schematic diagram of the routing process of a three-dimensional hypercube interconnection network according to an embodiment of this application. Figure 2 ,like Figure 15 As shown, firstly, the source routing node S and the destination routing node D are XORed bitwise, and the result is denoted as... If I is 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D. We can split I into two parts: ,Then First, XOR S to obtain the routing node for the first step of routing. : This fulfills the requirement of first routing from the inner triangular pyramid containing S to the outer triangular pyramid containing D. and XORing yields the routing nodes for the second step of routing. : That is, reaching the target routing node D. XORing the bits yields... The target route path is: .

[0218] In an optional example, the target route path can be obtained by, but is not limited to, planning the shortest route path from the starting route node to the final route node corresponding to the connection relationship between the starting route node and the final route node in the following way: calculating the shortest route path from the starting route node to the final route node to obtain the initial route path; filtering the route paths that match the connection relationship from the initial route path to obtain the target route path.

[0219] Alternatively, in this embodiment, all possible shortest routing paths can be calculated first as the initial routing path, and then the routing path that matches the connection relationship can be selected from the initial routing path to obtain the target routing path.

[0220] In an optional example, the target route path can be obtained by filtering the initial route path to match the connection relationship in the following ways: if the connection relationship is a direct connection between the starting route node and the final route node, the initial route path is determined as the target route path; if the connection relationship is not a direct connection between the starting route node and the final route node, the route path in which the subnet of the next hop network node is located is selected from the initial route path and is selected as the target route path if the subnet of the next hop network node is different from the subnet of the starting route node.

[0221] Optionally, in this embodiment, if the starting routing node and the ending routing node are directly connected, the initial routing path can be directly determined as the target routing path. If the starting routing node and the ending routing node are not directly connected, a routing path whose next-hop network node is located in a subnet different from the subnet where the starting routing node is located can be selected from the initial routing path as the target routing path. That is, if the starting routing node is in the first subnet, a routing path whose next hop is in the second subnet is selected as the target routing path; if the starting routing node is in the second subnet, a routing path whose next hop is in the first subnet is selected as the target routing path.

[0222] In an optional example, the shortest route from the starting routing node to the final routing node can be calculated in the following ways, but not limited to: if the connection between the starting and final routing nodes is a direct connection, the initial route is determined to be a direct route to the final routing node; if the connection between the starting and final routing nodes is not a direct connection, the next hop is determined based on the identifiers of the starting and final routing nodes; and the final routing node is determined as the last hop, wherein the initial route includes both the next hop and the last hop.

[0223] Optionally, in this embodiment, the initial routing path can also be calculated based on the connection relationship. If the starting routing node and the final routing node are directly connected, the initial routing path can be determined to be a direct route to the final routing node. If the starting routing node and the final routing node are not directly connected, the initial routing path can be determined by calculating the next hop and the last hop.

[0224] Optionally, in this embodiment, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following manner, but not limited to: if the result of an XOR operation between the identifiers of the starting and ending routing nodes is 101 or 110, the result is split into two one-hot codes, where 2 3 Each network node is identified by a 3-bit binary number. The highest bit of the identifier of the four first network nodes on the first sub-network is 1, and the highest bit of the identifier of the four second network nodes on the second sub-network is 0. The lowest two bits of the identifiers of the corresponding connected first and second network nodes are the same. The identifier of the starting routing node is XORed with each of the two one-hot codes to obtain the identifiers of the two next hops. The initial routing path includes two routing paths.

[0225] Optionally, in this embodiment, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following manner, but not limited to: if the result of an XOR operation between the identifiers of the starting and ending routing nodes is 111, then 111 is split into 100 and 011, where 2 3 Each network node is identified by a 3-bit binary number. The highest bit of the identifier of the four first network nodes on the first sub-network is 1, and the highest bit of the identifier of the four second network nodes on the second sub-network is 0. The lowest two bits of the identifiers of the corresponding first and second network nodes are the same. The identifier of the starting routing node is XORed with 100 and 011 respectively to obtain the identifiers of the two next hops. The initial routing path includes two routing paths.

[0226] Optionally, in this embodiment, the three-dimensional hypercube interconnect network can also be deployed in the following ways, but not limited to: deploying both the first sub-network and the second sub-network in the shape of a triangular pyramid; or, deploying the four first network nodes included in the first sub-network on the same plane, and deploying the four second network nodes included in the second sub-network on the same plane.

[0227] Optionally, in this embodiment, both the first sub-network and the second sub-network can be deployed in a triangular pyramid shape, but not limited to the following: when both the first sub-network and the second sub-network are triangular pyramid shapes, the triangular pyramid shape of the second sub-network is deployed inside the triangular pyramid shape of the first sub-network.

[0228] Taking the ring structure formed by the routing nodes 111 and 100 of the outer triangular pyramid and the routing nodes 011 and 000 of the inner triangular pyramid as an example, Figure 16 This is a schematic diagram of a routing path according to an embodiment of this application. Figure 2 ,like Figure 16 As shown, suppose there are four routing requests: Request 1: from routing node 100 to routing node 011; Request 2: from routing node 111 to routing node 000; Request 3: from routing node 011 to routing node 100; Request 4: from routing node 000 to routing node 111. When all four routing requests need to pass through a routing node and all of them have already occupied an intermediate routing node, it can be seen from the above routing method that although it is a ring structure, a deadlock has not been formed.

[0229] To avoid the aforementioned deadlock phenomenon, this embodiment also provides another routing method for a multidimensional hypercube interconnection network. The topology of this multidimensional hypercube interconnection network is any of the topologies described above. In this method, Q transmission paths are deployed between the target network node and directly connected network nodes, where Q is an integer greater than 1. This routing method is used to route from a target subnetwork to a target subnetwork or a reference subnetwork.Figure 17 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 3 ,like Figure 17 As shown, the process includes the following steps:

[0230] Step S1702: Obtain the starting routing node on the target subnetwork and the final routing node on the target subnetwork or reference subnetwork;

[0231] Step S1704: Calculate the shortest route from the starting routing node to the final routing node to obtain the initial routing path;

[0232] Step S1706: Based on the occupancy status of the initial routing path and Q sending paths, convert the initial routing path into a target routing path, wherein the target routing path has at most one more hop than the initial routing path;

[0233] Step S1708: Route from the starting routing node to the final routing node according to the target routing path.

[0234] Through the above steps, the 2 included in the multidimensional hypercube interconnect network... N The network nodes are divided into 2 N-2 Each target subnetwork contains four target network nodes, each connected in pairs, and 2 N-2 The subnetworks are connected sequentially. The four target network nodes in the target subnetwork are connected one-to-one with the four reference network nodes in their adjacent reference subnetworks. During routing, an initial route path can be planned first, and then transformed based on the occupancy status of the initial route path to obtain a target route path that is at most one hop longer than the initial route path, thus avoiding deadlock in the target route path. Therefore, this solves the technical problem of potential deadlock in the routing process in related technologies, achieving the technical effect of avoiding deadlock in the routing process.

[0235] Optionally, in this embodiment, the occupancy status of the initial routing path can be used, but is not limited to, to indicate whether the initial routing path has been occupied. The initial routing path can be converted accordingly based on different occupancy statuses to avoid using an occupied routing path as the target routing path, thereby avoiding deadlock.

[0236] In an optional example, the initial route path can be converted into a target route path based on the occupancy status of the initial route path and Q sending paths in the following manner: detect the occupancy status of the initial route path; if the occupancy status indicates that the initial route path is occupied, convert the initial route path into a reference route path; determine the target sending path for each hop in the reference route path from the Q sending paths to obtain the target route path, wherein the reference route path has one more hop than the initial route path.

[0237] Optionally, in this embodiment, the occupancy status of the initial routing path is first detected. If the initial routing path is occupied, it is converted into a reference routing path with one more hop than the initial routing path. Then, a target sending path is determined for each hop in the reference routing path, so that deadlock will not occur in the interconnection network.

[0238] In an optional example, the initial routing path can be converted into a reference routing path in the following ways, but not limited to: detecting the positional relationship between the starting and ending routing nodes; if the positional relationship indicates that the starting and ending routing nodes are directly connected and both are located in the target subnet, selecting one network node from two other network nodes in the target subnet besides the starting and ending routing nodes as the next hop, and determining the ending routing node as the last hop, wherein the reference routing path includes the next hop and the last hop; if the positional relationship indicates that the starting and ending routing nodes are not directly connected, the starting routing node is located in the target subnet, and the ending routing node is located in the reference subnet, determining the routing node in the reference subnet directly connected to the starting routing node as the first hop; selecting one network node from two other network nodes in the reference subnet besides the first hop routing node and the ending routing node as the second hop; and determining the last hop, wherein the reference routing path includes the first hop, the second hop, and the last hop.

[0239] Optionally, in this embodiment, if the starting routing node and the ending routing node are directly connected and both are located in the target subnet, the initial routing path, which originally had only one hop, is converted into a reference routing path that includes two hops. If the starting routing node and the ending routing node are not directly connected, the starting routing node is located in the target subnet, and the ending routing node is located in the reference subnet, the initial routing path, which originally had two hops, is converted into a reference routing path that includes three hops.

[0240] In an optional example, the target sending path for each hop in the reference routing path can be determined from the Q sending paths in such a way as follows: if the reference routing path includes a next hop and a last hop, the target sending path for the next hop is determined to have a different path label than the target sending path for the last hop, wherein each of the Q sending paths is labeled with a corresponding path label.

[0241] Optionally, in this embodiment, if the reference routing path includes a next hop and a last hop, then a target sending path with different path labels is determined for the next hop and the last hop.

[0242] In an optional example, the target sending path for each hop in the reference routing path can be determined from the Q sending paths in the following manner, but not limited to: if the reference routing path includes a first hop, a second hop, and a last hop, select one sending path from the Q sending paths as the target sending path for the first hop; determine that the target sending path for the second hop has a different path label than the target sending path for the last hop, wherein each of the Q sending paths is labeled with a corresponding path label.

[0243] Optionally, in this embodiment, if the reference routing path includes a first hop, a second hop, and a last hop, the sending path of the first hop is any one of the Q sending paths, and different path labels are determined for the target sending paths of the second hop and the last hop.

[0244] Optionally, in this embodiment, each of the Q transmission paths is marked with a corresponding path label, which can be, but is not limited to, any form, such as numbers, symbols, etc. Figure 18 This is a schematic diagram of a path label for a transmission path according to an embodiment of this application, such as... Figure 18 As shown, taking the example of each network node having two sending paths, one sending path is marked with the label "+" and the other sending path is marked with the label "-".

[0245] Taking a three-dimensional hypercube interconnection network as an example, the above routing process can be summarized, but is not limited to, the following rules:

[0246] Rule 1: All routes should prioritize the shortest route. When the shortest route is occupied, an adaptive route can be selected, but the selected adaptive route can have at most one more hop than the shortest route.

[0247] Rule 2: When the source routing node S and the destination routing node D belong to the same outer (inner) pyramid, S and D are definitely directly connected. The shortest route path has only one hop. When the shortest route path is occupied, an adaptive route path can be selected. According to Rule 1, the adaptive route path has two hops. When the shortest route path is selected, both the "+" path and the "-" path can be followed. When the adaptive route path is selected, the signs of the two route paths are different, that is, one is a "+" path and the other is a "-" path.

[0248] For example: Figure 19 This is a schematic diagram of an adaptive routing path according to an embodiment of this application. Figure 1 ,like Figure 19 As shown, S is routing node 110 and D is routing node 100. The shortest route is to route directly from 110 to 100 via either a "+" path or a "-" path. However, if the shortest route is occupied, an adaptive route (a) or an adaptive route (b) can be used for routing.

[0249] The shortest route with only one hop, as described above, will not result in a deadlock. Figure 20 This is a schematic diagram of an adaptive routing path according to an embodiment of this application. Figure 2 For the ring structure generated in the above adaptive routing path, the possible routing methods are as follows: Figure 20 As shown, a "closed loop" cannot be generated, therefore deadlock will not occur.

[0250] If the result I of the XOR operation is one of 101, 110, or 111, it means that the source routing node S needs two hops to reach the destination routing node D via the shortest path. Therefore, according to rule 1, the adaptive routing path should have three hops. Also, S and D must belong to the outer triangular pyramid and the inner triangular pyramid, respectively. Thus, we have the following rules 3 and 4.

[0251] Rule 3: If S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, the first step of routing is to route from the outer triangular pyramid where S is located to the inner triangular pyramid where D is located; the second step is to update S; and the third step is to route according to Rule 2. For example: S is the routing node 100, D is the routing node 011, and I is 111. The routing steps are as follows: First, S should be routed to the inner triangular pyramid where D is located, that is, routed to 000; second, S is updated to 000; third, the route from S (000) to D (011) is routed according to Rule 2.

[0252] Rule 4: If S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, the first step of routing is to route from the inner triangular pyramid where S is located to the outer triangular pyramid where D is located; the second step is to update S; the third step is to route according to Rule 2. For example: S is the routing node 000, D is the routing node 110, and I is 110, then the routing steps are as follows: First step: S should first route to the outer triangular pyramid where D is located, that is, first route to 100; Second step: Update S to 100; Third step: From S (100) to D (110), then route according to Rule 2.

[0253] If rule 3 or rule 4 is used, once the third step is reached, the updated S and D belong to the same inner (outer) triangular pyramid. Using rule 2 will not result in a deadlock. The first two steps of rule 3 or rule 4 involve routing from the outer (inner) triangular pyramid to the inner (outer) triangular pyramid. Taking the ring structure formed by the routing nodes 111 and 100 of the outer triangular pyramid and the routing nodes 011 and 000 of the inner triangular pyramid as an example, suppose there are four routing requests: Request 1: from routing node 100 to routing node 011; Request 2: from routing node 111 to routing node 000; Request 3: from routing node 011 to routing node 100; Request 4: from routing node 000 to routing node 111. When all four routing requests need to pass through a routing node and have already occupied the intermediate routing node, although it is a ring structure, a deadlock does not occur.

[0254] In an optional example, the shortest route path from the starting route node to the final route node can be calculated in the following way, but not limited to: determining the connection relationship between the starting route node and the final route node; and calculating the shortest route path as the initial route path based on the connection relationship.

[0255] Optionally, in this embodiment, the shortest route path can be calculated based on the connection relationship as the initial route path, but not limited to this.

[0256] In an optional example, the connection between the starting and ending routing nodes can be determined, but is not limited to, by performing an XOR operation on the identifiers of the starting and ending routing nodes, where 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The connection relationship is determined based on the calculation result.

[0257] Optionally, in this embodiment, when N is 3, the connection relationship can be determined based on the calculation result in the following ways, but not limited to: when the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node; when the calculation result is 101, 110 or 111, the connection relationship is determined to be that there is no direct connection between the starting routing node and the final routing node.

[0258] Optionally, in this embodiment, the shortest route path can be calculated as the initial route path based on the connection relationship in the following ways, but not limited to: when the connection relationship is a direct connection between the starting route node and the final route node, the initial route path is determined to be a direct route to the final route node; when the connection relationship is not a direct connection between the starting route node and the final route node, the next hop is determined based on the identifier of the starting route node and the identifier of the final route node; the final route node is determined as the last hop, wherein the initial route path includes the next hop and the last hop.

[0259] Optionally, in this embodiment, when N is 3, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following way: if the result of the XOR operation between the identifiers of the starting and ending routing nodes is 101 or 110, the result is split into two one-hot codes, where 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. Randomly select a target one-hot code from the two one-hot codes. Perform an XOR operation between the identifier of the starting routing node and the target one-hot code to obtain the identifier of the next hop.

[0260] Optionally, in this embodiment, when N is 3, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following manner, but not limited to: if the result of the XOR operation between the identifiers of the starting and ending routing nodes is 111, then 111 is split into 100 and 011, where 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. A target code is randomly selected from 100 and 011. The identifier of the starting routing node is XORed with the target code to obtain the identifier of the next hop.

[0261] Optionally, in this embodiment, when N is 3, the multidimensional hypercube interconnect network can be configured in the following ways, but not limited to: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying both the first sub-network and the second sub-network in a triangular pyramid shape, wherein the triangular pyramid shape of the first sub-network is located inside the triangular pyramid shape of the second sub-network.

[0262] Optionally, in this embodiment, the multidimensional hypercube interconnection network can be configured, but is not limited to, by deploying four target network nodes in the target sub-network on the same plane; and by deploying two... N-2 The subnetworks are deployed on M planes, where M is greater than or equal to 1 and less than or equal to 2. N-2 Integers.

[0263] Optionally, in this embodiment, when N is 3, the multidimensional hypercube interconnect network is divided into a first sub-network and a second sub-network. The multidimensional hypercube interconnect network can be configured, but is not limited to, by deploying the first sub-network and the second sub-network on the same plane; or by deploying the first sub-network and the second sub-network on different planes.

[0264] Optionally, in this embodiment, the multidimensional hypercube interconnect network can be configured, but is not limited to, in the following ways: each target network node is configured to allow one-hop routing to the other three target network nodes in the target subnetwork; each target network node is configured to allow one-hop routing to the reference network node in the reference subnetwork that is connected to the target network node; each target network node is configured to allow two-hop routing to the reference network node in the reference subnetwork that is not connected to the target network node.

[0265] Optionally, in this embodiment, the multidimensional hypercube interconnect network can be configured, but is not limited to, in the following ways: for 2 N Each network node is assigned an N-bit binary number as its identifier. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0266] In an optional implementation, for a routing request, the source routing node is denoted as S and the destination routing node is denoted as D. The routing process may include, but is not limited to, the following steps:

[0267] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and denote the result as I;

[0268] Step 2: Determine the value of I:

[0269] If I is One of them indicates that there is a direct path between S and D, proceed to step three;

[0270] If I is If one of them is true, it means that the source routing node S needs to go through two hops to reach the destination routing node D; proceed to step four.

[0271] Step 3: Prioritize the shortest route path, which can be achieved by directly routing through either the "+" or "-" path connecting S and D; routing ends. If both the "+" and "-" shortest paths are occupied, proceed to the process of selecting an adaptive route path.

[0272] The process of selecting an adaptive routing path includes: with S=110 and D=111, at this time... For example, let's break down I into... and Then determine possible adaptive routing paths:

[0273] .

[0274] Choose one of the above alternative adaptive routing paths for routing, but according to rule 2, the signs of the two routing paths cannot be the same, that is, one is a "+" path and the other is a "-" path; the routing ends.

[0275] Step 4: Determining the routing path:

[0276] If I is 101, 110, or 111, for the bits in I that are 1, I is split into two parts:

[0277] .

[0278] Then First, XOR S to obtain the routing node for the first step of routing. This fulfills the requirement of rule 3 or rule 4 to first route from the inner / outer triangular pyramid containing S to the outer / inner triangular pyramid containing D. Then, S is updated to... The target routing path can be obtained by performing the third step on the updated S and the target routing node D.

[0279] To improve network transmission efficiency, this embodiment also provides another routing method for a multidimensional hypercube interconnection network. The topology of this multidimensional hypercube interconnection network is any of the topologies described above. In this method, at least two transmission paths are deployed between network nodes located in the same subnetwork, and at least four transmission paths are deployed between network nodes connecting two subnetworks. This routing method is used to route from a target subnetwork to a target subnetwork or a reference subnetwork. Figure 21 This is a flowchart of a routing method for a multidimensional hypercube interconnected network according to an embodiment of this application. Figure 4 ,like Figure 21 As shown, the process includes the following steps:

[0280] Step S2102: Obtain the starting routing node on the target subnetwork and the final routing node on the target subnetwork or reference subnetwork;

[0281] Step S2104: Based on the connection relationship between the starting routing node and the final routing node, calculate the shortest route from the starting routing node to the final routing node to obtain the initial routing path;

[0282] Step S2106: Based on the connection relationship, allocate the target sending path for each hop in the initial routing path to obtain the target routing path;

[0283] Step S2108: Route from the starting routing node to the final routing node according to the target routing path.

[0284] Through the above steps, the 2 included in the multidimensional hypercube interconnect network... N The network nodes are divided into 2 N-2 In a sub-network, at least two transmission paths are deployed between network nodes within the same sub-network, and at least four transmission paths are deployed between network nodes connecting two sub-networks. During routing, an initial routing path can be planned first, and then a dedicated transmission path can be assigned to each hop based on the connection relationship between the starting and ending routing nodes, avoiding out-of-order data transmission. Therefore, this solves the technical problem of low data transmission efficiency in interconnected networks in related technologies, achieving the technical effect of improving data transmission efficiency in interconnected networks.

[0285] Optionally, in this embodiment, data is transmitted from the transmitting end to the receiving end via a fixed path, thus preserving the order of data and fundamentally solving the problem of out-of-order data. Furthermore, all transmission paths are unique and dedicated, simplifying the logic of the routing nodes and making them easier to implement in hardware.

[0286] In an optional example, the shortest route path from the starting route node to the final route node can be calculated based on the connection relationship between the starting route node and the final route node to obtain the initial route path, but not limited to: detecting the connection relationship between the starting route node and the final route node; calculating the shortest route path from the starting route node to the final route node based on the connection relationship to obtain the initial route path.

[0287] Optionally, in this embodiment, the shortest route path from the starting routing node to the final routing node can be calculated based on the connection relationship in the following ways, but not limited to: when the connection relationship indicates that the starting routing node and the final routing node are directly connected, the shortest route path is determined to be a direct route from the starting routing node to the final routing node; when the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the network node in the target sub-network connected to the final routing node is determined as the next hop; and the final routing node is determined as the last hop, wherein the shortest route path includes: the next hop and the last hop.

[0288] Optionally, in this embodiment, when N is 3, the network node connected to the final routing node in the target sub-network can be determined as the next hop in the following ways, but not limited to: if the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, then the identifier of the starting routing node is XORed with 001 to obtain the identifier of the next hop; if the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, then the identifier of the starting routing node is XORed with 010 to obtain the identifier of the next hop; if the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then the identifier of the starting routing node is XORed with 011 to obtain the identifier of the next hop; wherein, 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0289] Optionally, in this embodiment, the connection relationship between the starting routing node and the ending routing node can be detected in the following way, but is not limited to: performing an XOR operation on the identifier of the starting routing node and the identifier of the ending routing node to obtain the result, wherein 2 NEach network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The connection relationship is determined based on the calculation result.

[0290] Optionally, in this embodiment, when N is 3, the connection relationship can be determined based on the calculation result in the following ways, but not limited to: when the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node; when the calculation result is 101, 110 or 111, the connection relationship is determined to be that there is no direct connection between the starting routing node and the final routing node.

[0291] Optionally, in this embodiment, the shortest route path from the starting route node to the final route node can be calculated based on the connection relationship between the starting route node and the final route node in the following ways: calculate all the shortest route paths from the starting route node to the final route node to obtain the initial route path; and filter the target route path from the initial route path according to the connection relationship.

[0292] Optionally, in this embodiment, the target routing path can be obtained by filtering the target routing path from the initial routing path according to the connection relationship and allocating the target transmission path for each hop in the shortest routing path in the following ways, including: when the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path is determined as the target routing path; when the connection relationship is that there is no direct connection between the starting routing node and the final routing node, the routing path of the next hop network node on the reference subnetwork is selected from the initial routing path as the target routing path.

[0293] Optionally, in this embodiment, the initial routing path can be obtained by calculating all the shortest routing paths from the starting routing node to the final routing node in the following ways, but not limited to: when the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path is determined to be a direct route to the final routing node; when the connection relationship is not a direct connection between the starting routing node and the final routing node, the next hop is determined according to the identifier of the starting routing node and the identifier of the final routing node; the final routing node is determined as the last hop, wherein the initial routing path includes the next hop and the last hop.

[0294] Optionally, in this embodiment, when N is 3, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following way: if the result of the XOR operation between the identifiers of the starting and ending routing nodes is 101 or 110, the result is split into two one-hot codes, where 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The identifier of the starting routing node is XORed with each of the two one-hot codes to obtain the identifiers of the two next hops. The initial routing path includes two routing paths.

[0295] Optionally, in this embodiment, when N is 3, the next hop can be determined based on the identifiers of the starting and ending routing nodes in the following manner, but not limited to: if the result of the XOR operation between the identifiers of the starting and ending routing nodes is 111, then 111 is split into 100 and 011, where 2 N Each network node's identifier is an N-bit binary number. The highest bits of the identifiers of network nodes on the same subnetwork are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The identifier of the starting routing node is XORed with 100 and 011 respectively to obtain the identifiers of the two next hops. The initial routing path includes two routing paths.

[0296] In an optional example, at least two sending paths are labeled as first label and second label respectively, and at least four sending paths are labeled as first label, second label, third label and fourth label respectively. The target sending path for each hop in the initial routing path can be assigned according to the connection relationship in the following manner: when the connection relationship indicates that the starting routing node and the final routing node are directly connected, the target sending path is determined to be the sending path labeled as first label.

[0297] If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, determine the target sending path of the next hop in the initial routing path as the sending path marked with the second label; assign the second label, third label or fourth label to the last hop in the initial routing path.

[0298] Optionally, in this embodiment, the labels for the transmission paths can be, but are not limited to, any form, such as numbers, letters, symbols, etc. For example, at least two transmission paths are labeled as 0 and 1 respectively, and at least four transmission paths are labeled as 0, 1, 2, and 3 respectively. Alternatively, at least two transmission paths are labeled as A and B respectively, and at least four transmission paths are labeled as A, B, C, and D respectively.

[0299] In an optional example, when N is 3, the last hop in the initial routing path can be assigned a second, third, or fourth label in the following ways, but not limited to: if the result of the XOR operation between the identifier of the starting routing node and the identifier of the ending routing node is 101, the target sending path of the last hop in the initial routing path is determined to be the sending path labeled with the second label; if the result of the XOR operation between the identifier of the starting routing node and the identifier of the ending routing node is 110, the target sending path of the last hop in the initial routing path is determined to be the sending path labeled with the third label; if the result of the XOR operation between the identifier of the starting routing node and the identifier of the ending routing node is 111, the target sending path of the last hop in the initial routing path is determined to be the sending path labeled with the fourth label.

[0300] Taking a three-dimensional hypercube interconnect network with a two-layer triangular pyramid topology as an example, Figure 22 This is a schematic diagram of a sending path according to an embodiment of this application, such as... Figure 22 As shown, in order to ensure that all transmission paths are unique and dedicated, the number of transmission paths between the inner and outer triangular pyramids is doubled to at least 4 and marked. The number of transmission paths between the inner and outer triangular pyramids remains at least 2 and is marked.

[0301] To ensure that all transmission paths are unique and dedicated, the following routing rules are proposed in this embodiment:

[0302] Rule 1: All routing paths follow the shortest path.

[0303] Rule 2: If the result I of the XOR operation between the identifier of source routing node S and the identifier of destination routing node D is one of 100, 001, 010, or 011, it indicates that there is a direct path connecting S and D. In this case, routing is performed directly through the path "0" connecting S and D. For example: Figure 23 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 1 ,like Figure 23As shown, S is 100 and D is 101. Both S and D belong to the outer triangular pyramid. According to rule 2, their target routing path is 100, which is routed to 101 through path "0". Figure 24 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 2 ,like Figure 24 As shown, S is 000 and D is 011. Both S and D belong to the inner triangular pyramid. According to rule 2, their target routing path is 000, which is routed to 011 through path "0". Figure 25 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 3 ,like Figure 25 As shown, S is 110 and D is 010. Although S and D belong to different triangular pyramids, they are directly connected. Therefore, according to rule 2, the target route is 110 routed to 010 via path "0". When S is 001 and D is 101, although S and D belong to different triangular pyramids, they are directly connected. Therefore, according to rule 2, the target route is 001 routed to 101 via path "0".

[0304] If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; and S and D must belong to the outer triangular pyramid and the inner triangular pyramid, respectively. Therefore, we have the following rules 3 and 4.

[0305] Rule 3: If S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then routing is performed using the following steps:

[0306] Step 1: S routes within its outer triangular pyramid to the routing node in the outer triangular pyramid that is connected to D; the routing process uses path "1".

[0307] Step 2: Directly route to D through the link connecting the outer and inner triangular pyramids; if I is 101, route "1" is used; if I is 110, route "2" is used; if I is 111, route "3" is used. For example: Figure 26 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 4 ,like Figure 26 As shown, S is 100, D is 001, S belongs to the outer triangular pyramid, D belongs to the inner triangular pyramid, and I is 110. According to rule 3, its target route is 100, which is routed to 101 through path "1", and then routed to 001 through path "2".

[0308] Rule 4: If S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, then routing is performed using the following steps:

[0309] Step 1: S routes within its inner pyramid to the routing node in the inner pyramid that is connected to D; the routing process uses path "1".

[0310] Step 2: Directly route to D through the link connecting the inner and outer triangular pyramids; if I is 101, route "1" is used; if I is 110, route "2" is used; if I is 111, route "3" is used. For example: Figure 27 This is a schematic diagram of a target routing path according to an embodiment of this application. Figure 5 ,like Figure 27 As shown, S is 011, D is 100, S is the inner triangular pyramid, D is the outer triangular pyramid, and I is 111. According to rule 4, its target route is 011, which is routed to 000 through path "1", and then routed to 100 through path "3".

[0311] In an optional implementation, a routing algorithm is provided, wherein for a routing request, the source routing node is denoted as S and the destination routing node is denoted as D, and the routing algorithm includes the following steps:

[0312] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and denote the result as I;

[0313] Step 2: Determine the value of I:

[0314] If I is one of 100, 001, 010, or 011, it means there is a direct path between S and D, and routing is performed directly through the path "0" connecting S and D; the routing ends.

[0315] If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; proceed to the third step.

[0316] Step 3: Determine the routing path: Determine the routing path according to Rule 2 and Rule 3.

[0317] If I is 101, 110, or 111, for the bits in I that are 1, I is split into two parts.

[0318] .

[0319] Then First, XOR S to obtain the routing node for the first step of routing. This fulfills the requirement of rule 3 or 4 that the first step is to route within the triangular pyramid containing S. and XORing yields the routing nodes for the second step of routing. That is, the destination routing node D is reached; the route ends.

[0320] For example, when S is 100 and D is 010, the routing algorithm includes the following steps:

[0321] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and record the result as... .

[0322] Step 2: Determine the value of I:

[0323] If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; proceed to the third step.

[0324] Step 3: Determine the routing path: Determine the routing path according to rules 3 and 4.

[0325] If I is 110, for the bits in I that are 1, I is split into two codes. .

[0326] Then First, XOR S to obtain the routing node for the first step of routing. : .

[0327] This fulfills the requirement of rule 3 that the first step is to route within the outer triangular pyramid where S is located. and XORing yields the routing nodes for the second step of routing. : The route reaches the target routing node D; the routing ends. The target routing path is: .

[0328] For example, when S is 011 and D is 100, the routing algorithm includes the following steps:

[0329] Step 1: Perform a bitwise XOR operation between the source routing node S and the destination routing node D, and record the result as... .

[0330] Step 2: Determine the value of I:

[0331] If I is one of 101, 110, or 111, it means that the source routing node S needs to go through two hops to reach the destination routing node D; proceed to the third step.

[0332] Step 3: Determining the routing path: Determine the routing path according to rules 2 and 3. I is 111, so split I into two parts. .Then First, XOR S to obtain the routing node for the first step of routing. : This fulfills the requirement of rule 3 that the first step should be to route from the inner triangular pyramid containing S. and XORing yields the routing nodes for the second step of routing. : That is, reaching the target routing node D. The target routing path is: .

[0333] In the entire interconnected network, all paths are not only unique paths, but also dedicated paths. All paths are listed below; all paths are unique and dedicated.

[0334] ;

[0335] ;

[0336] ;

[0337] ;

[0338] ;

[0339] ;

[0340] ;

[0341] .

[0342] Optionally, in this embodiment, when N is 3, the multidimensional hypercube interconnect network can be configured, but is not limited to, in the following ways: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying both the first and second sub-networks in a triangular pyramid shape, wherein the triangular pyramid shape of the first sub-network is located inside the triangular pyramid shape of the second sub-network; or, when N is 3, the multidimensional hypercube interconnect network can be configured, but is not limited to, in the following ways: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying the first and second sub-networks on the same plane; or deploying the first and second sub-networks on different planes.

[0343] In an optional example, the multidimensional hypercube interconnect network can be configured, but is not limited to, by: setting each target network node to allow one-hop routing to the other three target network nodes in the target subnetwork; setting each target network node to allow one-hop routing to the reference network node in the reference subnetwork that is connected to the target network node; and setting each target network node to allow two-hop routing to the reference network node in the reference subnetwork that is not connected to the target network node.

[0344] Optionally, in this embodiment, the multidimensional hypercube interconnect network can be configured, but is not limited to, in the following ways: for 2 N Each network node is assigned an N-bit binary number as its identifier. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0345] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0346] This embodiment also provides a routing device for a multidimensional hypercube interconnection network, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0347] This device is applied to the aforementioned multidimensional hypercube interconnection network. The routing device is used to route from a target subnetwork to a target subnetwork or a reference subnetwork. Figure 28 This is a structural block diagram of a routing device for a multidimensional hypercube interconnection network according to an embodiment of this application, as shown below. Figure 28 As shown, the device includes:

[0348] The acquisition module 2802 is used to acquire the starting routing node on the target sub-network and the final routing node on the target sub-network or the reference sub-network;

[0349] Calculation module 2804 is used to calculate the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node, and obtain the initial route path;

[0350] The allocation module 2806 is used to allocate the target sending path for each hop in the initial routing path according to the connection relationship, so as to obtain the target routing path;

[0351] The routing module 2808 is used to route from the starting routing node to the final routing node according to the target routing path.

[0352] In an optional example, the calculation module is used to: detect the connection relationship between the starting routing node and the final routing node;

[0353] The shortest route from the starting routing node to the final routing node is calculated based on the connection relationship to obtain the initial routing path.

[0354] In an optional example, the calculation module is configured to: determine the shortest route path as a direct route from the starting route node to the final route node when the connection relationship indicates that the starting route node and the final route node are directly connected;

[0355] If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the network node in the target sub-network connected to the final routing node is determined as the next hop; the final routing node is determined as the last hop, wherein the shortest routing path includes: the next hop and the last hop.

[0356] In an optional example, the calculation module is used to: determine the network node in the target sub-network connected to the final routing node as the next hop when N is 3, including:

[0357] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the ending routing node is 101, then the identifier of the starting routing node is XORed with 001 to obtain the identifier of the next hop.

[0358] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, then the identifier of the starting routing node is XORed with 010 to obtain the identifier of the next hop.

[0359] If the result of XORing the identifier of the starting routing node and the identifier of the final routing node is 111, then XORing the identifier of the starting routing node with 011 to obtain the identifier of the next hop.

[0360] Among them, the 2 NEach network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0361] In an optional example, the calculation module is used to: perform an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain the calculation result, wherein the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0362] The connection relationship is determined based on the calculation result.

[0363] In an optional example, the calculation module is used to: determine the connection relationship based on the calculation result when N is 3, including:

[0364] If the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node;

[0365] If the calculation result is 101, 110, or 111, it is determined that the connection relationship is that there is no direct connection between the starting routing node and the final routing node.

[0366] In an optional example, the calculation module is used to: calculate all shortest routes from the starting routing node to the final routing node to obtain the initial routing path;

[0367] Based on the connection relationship, the target route path is selected from the initial route path.

[0368] In an optional example, the calculation module is configured to: determine the initial routing path as the target routing path when the connection relationship is a direct connection between the starting routing node and the final routing node;

[0369] If the connection relationship is such that there is no direct connection between the starting routing node and the final routing node, the routing path of the next hop network node on the reference subnetwork is selected from the initial routing path as the target routing path.

[0370] In an optional example, the calculation module is configured to: determine that the initial routing path is a direct route to the final routing node when the connection relationship is a direct connection between the starting routing node and the final routing node;

[0371] When the connection relationship is such that there is no direct connection between the starting routing node and the final routing node, the next hop is determined based on the identifier of the starting routing node and the identifier of the final routing node; the final routing node is determined as the last hop, wherein the initial routing path includes the next hop and the last hop.

[0372] In an optional example, the calculation module is configured to: if the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, split the result into two one-hot codes, wherein the two... N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0373] The identifier of the starting routing node is XORed with each of the two one-hot codes to obtain two next-hop identifiers, wherein the initial routing path includes two routing paths.

[0374] In an optional example, the calculation module is configured to: if the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, split 111 into 100 and 011, wherein the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0375] The identifier of the starting routing node is XORed with 100 and 011 respectively to obtain two next-hop identifiers, wherein the initial routing path includes two routing paths.

[0376] In an optional example, the allocation module is configured to: determine the target transmission path as the transmission path marked with the first tag when the connection relationship indicates that the starting routing node and the final routing node are directly connected;

[0377] If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the target sending path of the next hop in the initial routing path is determined to be the sending path marked with the second label; the second label, the third label, or the fourth label is assigned to the last hop in the initial routing path.

[0378] In an optional example, the allocation module is configured to: determine the target sending path of the last hop in the initial routing path as the sending path marked with the second label if the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101;

[0379] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the third label.

[0380] If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the fourth tag.

[0381] In an optional example, the apparatus is further configured to: divide the multidimensional hypercube network into a first sub-network and a second sub-network; and deploy both the first sub-network and the second sub-network in a triangular pyramid shape, wherein the triangular pyramid shape of the first sub-network is located inside the triangular pyramid shape of the second sub-network.

[0382] In an optional example, the apparatus is further configured to: divide the multidimensional hypercube network into a first sub-network and a second sub-network; deploy the first sub-network and the second sub-network on the same plane; or deploy the first sub-network and the second sub-network on different planes.

[0383] In an optional example, the apparatus is further configured to: configure each of the target network nodes to allow one-hop routing to the other three target network nodes in the target sub-network;

[0384] Each of the target network nodes is configured to allow one-hop routing to the reference network node connected to the target network node in the reference subnetwork;

[0385] Each of the target network nodes is configured to allow two-hop routing to a reference network node in the reference subnetwork that is not connected to the target network node.

[0386] In an optional example, the device is further configured to: provide for the 2 N Each network node is assigned an N-bit binary number as an identifier, wherein the highest bits of the identifiers of network nodes on the same sub-network are the same, the lowest two bits of the identifier of the target network node are the same as the identifier of the directly connected reference network node, and the identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

[0387] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0388] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when run.

[0389] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0390] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0391] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0392] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0393] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0394] The embodiments described herein also provide a computer program that includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps in any of the above method embodiments.

[0395] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0396] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.

[0397] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A routing method for a multidimensional hypercube interconnected network, characterized in that, Multidimensional hypercube interconnect networks include 2 N There are 2^N network nodes, where N is the dimension of the multidimensional hypercube interconnection network, which is divided into 2^N network nodes. N-2 There are 2 subnetworks, where N is a positive integer greater than 2. N-2 Each subnetwork in the subnetwork, serving as a target subnetwork, includes four target network nodes. Each target network node is connected to the other three target network nodes in the target subnetwork. N-2 The sub-networks are connected sequentially, and the four target network nodes in the target sub-network are connected one-to-one with the four reference network nodes included in the reference sub-network. The reference sub-network is located in the second sub-network. N-2 In the connection of the sub-networks, the sub-networks adjacent to the target sub-network have at least two transmission paths deployed between network nodes in the same sub-network, and at least four transmission paths deployed between network nodes connecting the two sub-networks. The routing method is used to route from the target subnetwork to the target subnetwork or the reference subnetwork, and the routing method includes: Obtain the starting routing node on the target subnetwork and the final routing node on the target subnetwork or the reference subnetwork; Based on the connection relationship between the starting routing node and the final routing node, the shortest routing path from the starting routing node to the final routing node is calculated to obtain the initial routing path; Based on the connection relationship, the target sending path is assigned to each hop in the initial routing path to obtain the target routing path; Routing from the starting routing node to the final routing node according to the target routing path; The step of calculating the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node to obtain the initial route path includes: detecting the connection relationship between the starting route node and the final route node; calculating the shortest route path from the starting route node to the final route node based on the connection relationship to obtain the initial route path; The step of calculating the shortest route path from the starting routing node to the final routing node based on the connection relationship to obtain the initial routing path includes: when the connection relationship indicates that the starting routing node and the final routing node are directly connected, determining that the shortest route path is a direct route from the starting routing node to the final routing node; If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the network node in the target sub-network connected to the final routing node is determined as the next hop; the final routing node is determined as the last hop, wherein the shortest routing path includes: the next hop and the last hop.

2. The method according to claim 1, characterized in that, When N is 3, determining the network node in the target sub-network connected to the final routing node as the next hop includes: If the result of the XOR operation between the identifier of the starting routing node and the identifier of the ending routing node is 101, then the identifier of the starting routing node is XORed with 001 to obtain the identifier of the next hop. If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, then the identifier of the starting routing node is XORed with 010 to obtain the identifier of the next hop. If the result of XORing the identifier of the starting routing node and the identifier of the final routing node is 111, then XORing the identifier of the starting routing node with 011 to obtain the identifier of the next hop. Among them, the 2 N Each network node is identified by an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

3. The method according to claim 1, characterized in that, The detection of the connection relationship between the starting routing node and the final routing node includes: The identifiers of the starting routing node and the final routing node are XORed to obtain the result, wherein the 2 N The identifier of each network node is an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The connection relationship is determined based on the calculation result.

4. The method according to claim 3, characterized in that, When N is 3, determining the connection relationship based on the calculation result includes: If the calculation result is 001, 010, 100 or 011, the connection relationship is determined to be a direct connection between the starting routing node and the final routing node; If the calculation result is 101, 110, or 111, it is determined that the connection relationship is that there is no direct connection between the starting routing node and the final routing node.

5. The method according to claim 1, characterized in that, The step of calculating the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node includes: Calculate all shortest routes from the starting routing node to the final routing node to obtain the initial routing path; Based on the connection relationship, the target route path is selected from the initial route path.

6. The method according to claim 5, characterized in that, The step of filtering the target route path from the initial route path according to the connection relationship and allocating the target sending path for each hop in the shortest route path to obtain the target route path includes: When the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path is determined as the target routing path; If the connection relationship is such that there is no direct connection between the starting routing node and the final routing node, the routing path of the next hop network node on the reference subnetwork is selected from the initial routing path as the target routing path.

7. The method according to claim 5, characterized in that, The calculation of all shortest routes from the starting routing node to the final routing node to obtain the initial routing path includes: If the connection relationship is a direct connection between the starting routing node and the final routing node, the initial routing path is determined to be a direct route to the final routing node; When the connection relationship is such that there is no direct connection between the starting routing node and the final routing node, the next hop is determined based on the identifier of the starting routing node and the identifier of the final routing node; the final routing node is determined as the last hop, wherein the initial routing path includes the next hop and the last hop.

8. The method according to claim 7, characterized in that, When N is 3, determining the next hop based on the identifier of the starting routing node and the identifier of the final routing node includes: If the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the result is split into two one-hot codes, wherein the 2 N The identifier of each network node is an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The identifier of the starting routing node is XORed with each of the two one-hot codes to obtain two next-hop identifiers, wherein the initial routing path includes two routing paths.

9. The method according to claim 7, characterized in that, When N is 3, determining the next hop based on the identifier of the starting routing node and the identifier of the final routing node includes: If the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then 111 is split into 100 and 011, wherein the 2 N The identifier of each network node is an N-bit binary number. The highest bits of the identifiers of network nodes on the same sub-network are the same. The lowest two bits of the identifier of the target network node are the same as those of the identifier of the directly connected reference network node. The identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit. The identifier of the starting routing node is XORed with 100 and 011 respectively to obtain two next-hop identifiers, wherein the initial routing path includes two routing paths.

10. The method according to claim 1, characterized in that, The at least two transmission paths are respectively labeled with a first label and a second label, and the at least four transmission paths are respectively labeled with a first label, a second label, a third label, and a fourth label. The step of allocating a target transmission path for each hop in the initial routing path according to the connection relationship includes: If the connection relationship indicates that the starting routing node and the final routing node are directly connected, the target sending path is determined to be the sending path marked with the first tag; If the connection relationship indicates that the starting routing node and the final routing node are not directly connected, the target sending path of the next hop in the initial routing path is determined to be the sending path marked with the second label; the second label, the third label, or the fourth label is assigned to the last hop in the initial routing path.

11. The method according to claim 10, characterized in that, When N is 3, assigning the second label, the third label, or the fourth label to the last hop in the initial routing path includes: If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the second label. If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the third label. If the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, then the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the fourth tag.

12. The method according to claim 1, characterized in that, When N is 3, the method further includes: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying both the first sub-network and the second sub-network in a triangular pyramid shape, wherein the triangular pyramid shape of the first sub-network is located inside the triangular pyramid shape of the second sub-network; or, When N is 3, the method further includes: dividing the multidimensional hypercube interconnect network into a first sub-network and a second sub-network; deploying the first sub-network and the second sub-network on the same plane; or, deploying the first sub-network and the second sub-network on different planes.

13. The method according to claim 1, characterized in that, The method further includes: Each of the target network nodes is configured to allow one-hop routing to the other three target network nodes in the target sub-network; Each of the target network nodes is configured to allow one-hop routing to the reference network node connected to the target network node in the reference subnetwork; Each of the target network nodes is configured to allow two-hop routing to a reference network node in the reference subnetwork that is not connected to the target network node.

14. The method according to claim 1, characterized in that, The method further includes: For the 2 N Each network node is assigned an N-bit binary number as an identifier, wherein the highest bits of the identifiers of network nodes on the same sub-network are the same, the lowest two bits of the identifier of the target network node are the same as the identifier of the directly connected reference network node, and the identifier of the target network node and the identifier of the directly connected reference network node are different by exactly one bit.

15. A routing device for a multidimensional hypercube interconnection network, characterized in that, Multidimensional hypercube interconnect networks include 2 N There are 2^N network nodes, where N is the dimension of the multidimensional hypercube interconnection network, which is divided into 2^N network nodes. N-2 There are 2 subnetworks, where N is a positive integer greater than 2. N-2 Each subnetwork in the subnetwork, serving as a target subnetwork, includes four target network nodes. Each target network node is connected to the other three target network nodes in the target subnetwork. N-2 The sub-networks are connected sequentially, and the four target network nodes in the target sub-network are connected one-to-one with the four reference network nodes included in the reference sub-network. The reference sub-network is located in the second sub-network. N-2 In the connection of the sub-networks, the sub-networks adjacent to the target sub-network have at least two transmission paths deployed between network nodes in the same sub-network, and at least four transmission paths deployed between network nodes connecting the two sub-networks. The routing device is used to route from the target subnetwork to the target subnetwork or the reference subnetwork, the device comprising: The acquisition module is used to acquire the starting routing node on the target sub-network and the final routing node on the target sub-network or the reference sub-network; The calculation module is used to calculate the shortest route path from the starting route node to the final route node based on the connection relationship between the starting route node and the final route node, so as to obtain the initial route path; The allocation module is used to allocate the target sending path for each hop in the initial routing path according to the connection relationship, so as to obtain the target routing path; The routing module is used to route from the starting routing node to the final routing node according to the target routing path; The calculation module is further configured to: detect the connection relationship between the starting routing node and the final routing node; calculate the shortest route path from the starting routing node to the final routing node based on the connection relationship, and obtain an initial routing path; The calculation module is further configured to: determine the shortest route path as a direct route from the starting route node to the final route node when the connection relationship indicates that the starting route node and the final route node are directly connected; determine the network node in the target sub-network connected to the final route node as the next hop when the connection relationship indicates that the starting route node and the final route node are not directly connected; and determine the final route node as the last hop, wherein the shortest route path includes: the next hop and the last hop.

16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 14.

17. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method described in any one of claims 1 to 14.

18. 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 described in any one of claims 1 to 14.

Citation Information

Patent Citations

  • Expandable parallel calculation interconnection network topological structure based on hypercube

    CN101414952A

  • Method and device for determining processing path of multiprocessor network and storage medium

    CN113079094A