Routing method and device for multi-dimensional hypercube interconnection network

By dividing the network and deploying multiple transmission paths in a multi-dimensional hypercube interconnect network, combined with the planning and allocation of routing methods, the problems of low data transmission efficiency and disordered order are solved, and more efficient data transmission is achieved.

CN119966880AActive Publication Date: 2025-05-09SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The data transmission efficiency in the existing multi-dimensional hypercube interconnect network is low, and it is prone to data out of order, which seriously affects the efficiency of data transmission.

Method used

By dividing the multi-dimensional hypercube interconnection network into 2N-2 subnets, each subnet contains 4 target network nodes, the network nodes in the target subnet are connected one by one and the network nodes in the reference subnet, and at least 2 send paths are deployed in each subnet, and at least 4 send paths are deployed between the network nodes connecting the two subnets. The routing method includes obtaining the starting routing node and the final routing node, calculating the shortest routing path, allocating the target sending path for each hop, and ensuring that data is transmitted by path.

Benefits of technology

By planning the initial routing path and assigning a dedicated transmission path to each hop, data out of order is avoided, and the data transmission efficiency of the multi-dimensional hypercube interconnection network is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119966880A_ABST
    Figure CN119966880A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a routing method and device for a multi-dimensional hypercube interconnection network, the method is used for routing from a target sub-network to the target sub-network or a reference sub-network, and the method comprises the following steps: obtaining an initial routing node on the target sub-network and a final routing node on the target sub-network or the reference sub-network; calculating a shortest routing path from the initial routing node to the final routing node according to a connection relationship between the initial routing node and the final routing node to obtain an initial routing path; according to the connection relationship, distributing a target sending path of each hop in the initial routing path to obtain a target routing path; and routing from the starting routing node to the final routing node according to the target routing path. Through the method and the device, the technical problem of relatively low data transmission efficiency of the interconnection network in related technologies 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] The embodiments of the present application relate to the computer field, and in particular, to a routing method and device for a multi-dimensional hypercube interconnection network. Background Art

[0002] With the rapid popularization and development of the Internet and the continuous deployment of satellite Internet constellation plans, more user terminals have accessed the network, and Internet applications covering all areas of people's production and life have emerged, and the traffic on the Internet has shown an explosive growth trend. In order to improve the performance of information exchange networks and meet the emerging new applications and business needs, it is necessary to study switching networks with larger capacity and better performance and high-performance scheduling algorithms that are adapted to them.

[0003] The interconnection network is the key to building a high-performance large-scale parallel processing system. Its design goal is to connect a certain number of functional nodes reliably and efficiently at the lowest possible cost to form a cost-effective large-scale parallel system. The current interconnection network uses a hypercube method to construct a topology structure. However, although the routing method used in the current multi-dimensional hypercube interconnection network is highly flexible, it is easy to cause data disorder, which seriously affects the efficiency of data transmission.

[0004] With regard to the problem of low data transmission efficiency in interconnected networks in related technologies, no effective solution has been proposed so far. Summary of the invention

[0005] The embodiments of the present application provide a routing method and device for a multi-dimensional hypercube interconnection network, so as to at least solve the technical problem of low data transmission efficiency of the interconnection network in the related art.

[0006] According to an embodiment of the present application, a routing method of a multi-dimensional hypercube interconnection network is provided. The multi-dimensional hypercube interconnection network includes 2 N network nodes, N is the dimension of the multi-dimensional hypercube interconnection network, and the multi-dimensional hypercube interconnection network is divided into 2 N-2 sub-networks, N is a positive integer greater than 2, and the 2 N-2 Each sub-network in the sub-networks as a target sub-network includes four target network nodes, each of which is connected to the other three target network nodes in the target sub-network. N-2 The four target network nodes in the target subnetwork are connected in sequence with the four reference network nodes included in the reference subnetwork in a one-to-one correspondence. The reference subnetwork is located in the two N-2In the connection of the subnetworks, the subnetwork adjacent to the target subnetwork is deployed with at least two transmission paths between the network nodes located in the same subnetwork, and at least four transmission paths are deployed between the network nodes connecting the 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] Acquire a starting routing node on the target subnetwork and a final routing node on the target subnetwork or the reference subnetwork;

[0008] According to 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 an initial routing path;

[0009] Allocate a target sending path for each hop in the initial routing path according to the connection relationship to obtain a 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 calculating the shortest routing path from the starting routing node to the final routing node according to the connection relationship between the starting routing node and the final routing node to obtain the initial routing path includes:

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

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

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

[0015] In a case where the connection relationship indicates that the starting routing node is directly connected to the final routing node, determining that the shortest routing path is a direct route from the starting routing node to the final routing node;

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

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

[0018] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, an XOR operation is performed between the identifier of the starting routing node and 001 to obtain an identifier of the next hop;

[0019] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, an XOR operation is performed between the identifier of the starting routing node and 010 to obtain an identifier of the next hop;

[0020] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, an XOR operation is performed between the identifier of the starting routing node and 011 to obtain an identifier of the next hop;

[0021] Among them, the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

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

[0023] Perform an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit;

[0024] The connection relationship is determined according to the calculation result.

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

[0026] When the operation result is 001, 010, 100 or 011, determining that the connection relationship is a direct connection between the starting routing node and the final routing node;

[0027] When the operation result is 101, 110 or 111, it is determined that the connection relationship is that the start routing node and the final routing node are not directly connected.

[0028] In an exemplary embodiment, the calculating the shortest routing path from the starting routing node to the final routing node according to the positional relationship between the starting routing node and the final routing node includes:

[0029] Calculating all shortest routing paths from the starting routing node to the final routing node to obtain an initial routing path;

[0030] The target routing path is screened from the initial routing path according to the position relationship.

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

[0032] In a case where the positional relationship is a direct connection between the starting routing node and the final routing node, determining the initial routing path as the target routing path;

[0033] In the case where the connection relationship is that there is no direct connection between the starting routing node and the final routing node, a routing path of a 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, the calculating all shortest routing paths from the starting routing node to the final routing node to obtain an initial routing path includes:

[0035] In the case where the connection relationship is a direct connection between the starting routing node and the final routing node, determining that the initial routing path is a direct route to the final routing node;

[0036] In the case where the connection relationship is that there is no 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.

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

[0038] When the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the result of the operation is split into two one-hot encodings, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit;

[0039] An exclusive OR operation is performed on the identifier of the starting routing node and each of the two one-hot codes to obtain identifiers of two next hops, wherein the initial routing path includes two routing paths.

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

[0041] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit;

[0042] The identifier of the starting routing node is subjected to an exclusive OR operation with 100 and 011 respectively to obtain identifiers of two next hops, wherein the initial routing path includes two routing paths.

[0043] In an exemplary embodiment, the at least two transmission paths are marked as a first label and a second label, respectively, the at least four transmission paths are marked as a first label, a second label, a third label, and a fourth label, respectively, and the assigning, according to the connection relationship, a target transmission path for each hop in the initial routing path includes:

[0044] In a case where the connection relationship indicates that the starting routing node is directly connected to the final routing node, determining that the target sending path is a sending path marked with the first label;

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

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

[0047] When a result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, determining that the target sending path of the last hop in the initial routing path is the sending path marked with the second label;

[0048] When a result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, determining that the target sending path of the last hop in the initial routing path is the sending path marked with the third label;

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

[0050] In an exemplary embodiment, when N is 3, the method further includes: dividing the multidimensional hypercube interconnection network into a first sub-network and a second sub-network; deploying the first sub-network and the second sub-network into 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 interconnection network into a first subnetwork and a second subnetwork; deploying the first subnetwork and the second subnetwork on the same plane; or, deploying the first subnetwork and the second subnetwork on different planes.

[0052] In an exemplary embodiment, the method further comprises:

[0053] Setting each of the target network nodes to allow one-hop routing to the other three target network nodes in the target subnetwork;

[0054] Setting each of the target network nodes 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 the reference network node in the reference subnetwork that is not connected to the target network node.

[0056] In an exemplary embodiment, the method further comprises:

[0057] For the 2 N An N-bit binary number is assigned to each network node as an identifier, wherein the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

[0058] According to another embodiment of the present application, a routing device of a multi-dimensional hypercube interconnection network is provided. The multi-dimensional hypercube interconnection network includes 2 N network nodes, N is the dimension of the multi-dimensional hypercube interconnection network, and the multi-dimensional hypercube interconnection network is divided into 2 N-2 sub-networks, N is a positive integer greater than 2, and the 2 N-2 Each sub-network in the sub-networks as a target sub-network includes four target network nodes, each of which is connected to the other three target network nodes in the target sub-network. N-2 The four target network nodes in the target subnetwork are connected in sequence with the four reference network nodes included in the reference subnetwork in a one-to-one correspondence. The reference subnetwork is located in the two N-2 The subnetwork adjacent to the target subnetwork in the connection of the subnetworks, 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; the routing device is used to route from the target subnetwork to the target subnetwork or the reference subnetwork, and the device includes:

[0059] An acquisition module, used to acquire a starting routing node on the target subnetwork and a final routing node on the target subnetwork or the reference subnetwork;

[0060] A calculation module, configured to calculate the shortest routing path from the starting routing node to the final routing node according to the connection relationship between the starting routing node and the final routing node, so as to obtain an initial routing path;

[0061] An allocation module, configured to allocate a target sending path for each hop in the initial routing path according to the connection relationship to obtain a 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 another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0064] According to another embodiment of the present application, an electronic device is 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 execute the steps in any one of the above method embodiments.

[0065] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0066] Through this application, due to the above steps, the 2 included in the multi-dimensional hypercube interconnection network N The network nodes are divided into 2 N-2 There are at least two transmission paths deployed between network nodes in the same subnetwork, and at least four transmission paths deployed between network nodes connecting two subnetworks. When routing, the initial routing path can be planned first, and then a dedicated transmission path is allocated to each hop according to the connection relationship between the starting routing node and the final routing node to avoid data disorder. Therefore, the technical problem of low efficiency of data transmission in the interconnected network in the related technology can be solved, and the technical effect of improving the efficiency of data transmission in the interconnected network can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0067] Figure 1 A topological structure of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 1 ;

[0068] Figure 2 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 1 ;

[0069] Figure 3 A topological structure of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 2 ;

[0070] Figure 4 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 2 ;

[0071] Figure 5 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 3 ;

[0072] Figure 6 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 4 ;

[0073] Figure 7 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 5 ;

[0074] Figure 8 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 1 ;

[0075] Fig. 9 is a schematic diagram of a routing process in a ring topology according to an embodiment of the present application;

[0076] Fig.10 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 2 ;

[0077] Fig.11 is a schematic diagram of a path marking of a sending path according to an embodiment of the present application;

[0078] Fig.12 A schematic diagram of a routing path according to an embodiment of the present application Figure 1 ;

[0079] Fig.13 is a flow chart of a routing method of a three-dimensional hypercube interconnection network according to an embodiment of the present application;

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

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

[0082] Fig.16 A schematic diagram of a routing path according to an embodiment of the present application Figure 2 ;

[0083] Fig.17 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 3 ;

[0084] Fig.18 is a schematic diagram of a path label of a sending path according to an embodiment of the present application;

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

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

[0087] Fig.21 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 4 ;

[0088] Fig. 22 is a schematic diagram of a transmission path according to an embodiment of the present application;

[0089] Fig.23 A target routing path according to an embodiment of the present application is shown in FIG. Figure 1 ;

[0090] Fig.24 A target routing path according to an embodiment of the present application is shown in FIG. Figure 2 ;

[0091] Fig.25 A target routing path according to an embodiment of the present application is shown in FIG. Figure 3 ;

[0092] Fig.26 A target routing path according to an embodiment of the present application is shown in FIG. Figure 4 ;

[0093] Fig. 27 A target routing path according to an embodiment of the present application is shown in FIG. Figure 5 ;

[0094] Fig.28 It is a structural block diagram of a routing device of a multi-dimensional hypercube interconnection network according to an embodiment of the present application. DETAILED DESCRIPTION

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

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

[0097] In this embodiment, a topological structure of a multi-dimensional hypercube interconnection network is provided. Figure 1A topological structure of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 1 ,like Figure 1 As shown, the multidimensional hypercube interconnection network includes 2 N network nodes, N is the dimension of the multidimensional hypercube interconnection network, and the multidimensional hypercube interconnection network is divided into 2 N -2 subnetworks, N is a positive integer greater than 2; 2 N-2 Each sub-network in the sub-network as a target sub-network 102 includes four target network nodes (102-1 to 102-4), and each target network node (such as 102-1) is connected to the other three target network nodes (such as 102-2 to 102-4) in the target sub-network; N-2 The four target network nodes (102-1 to 102-4) in the target subnetwork 102 are connected one by one with the four reference network nodes (104-1 to 104-4, and 104-5 to 104-8) included in the reference subnetwork 104. The reference subnetwork 104 is connected in 2 N-2 The sub-network adjacent to the target sub-network 102 among the sub-networks connected.

[0098] Through this topological structure, due to the 2 N The network nodes are divided into 2 N -2 sub-networks, each target sub-network includes 4 target network nodes connected in pairs, and 2 N-2 The sub-networks are connected in sequence, 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 adjacent reference sub-network, so that the network diameter of the multi-dimensional hypercube interconnected network is shortened. Therefore, the technical problem of large network communication delay of the multi-dimensional hypercube interconnected network in the related art can be solved, and the technical effect of reducing the network communication delay of the multi-dimensional hypercube interconnected network can be achieved.

[0099] The interconnection network has the following information: first, the topology of the interconnection network, second, the routing algorithm and switching technology of the interconnection network, and third, the performance indicators of the interconnection network. The topology of the interconnection network refers to the connection structure between the network nodes in the interconnection network. In the telecommunications network, a node is a connection point, which represents a redistribution point or a communication endpoint (some terminal equipment). Routing refers to the network-wide process of determining the end-to-end path when a packet goes from the source to the destination. The interconnection network usually has the following four main performance indicators: First, the node degree, which represents the number of channels connecting a node to its neighboring nodes, or the number of ports of the router in the node. Second, the network diameter, which represents the maximum value of the shortest distance between two nodes in the network. The smaller the network diameter, the smaller the network communication delay. Third, the number of links, which represents the number of links in the entire network, because the topology is determined, the number of links is also determined. Fourth, the bisection bandwidth, which divides all nodes in the network into two equally divided subnets, and the link bandwidth corresponding to the minimum cut set is the bisection bandwidth. The higher the bisection bandwidth, the stronger the network communication capability.

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

[0101] In this embodiment, the multi-dimensional hypercube interconnection network can be applied to, but is not limited to, any network transmission system, such as: a server switch chip, a database, a distributed system, and the like.

[0102] In this embodiment, the topological structure of the multi-dimensional hypercube interconnection network has symmetry, regularity, path diversity and scalability.

[0103] In an alternative example, Figure 2 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 1 ,like Figure 2As shown, in the case where 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 (such as 202-1) is connected to the other three first network nodes (such as 202-2 to 202-4) in the first subnetwork, and each second network node (such as 204-1) is connected to the other three second network nodes (such as 204-2 to 204-4) in the second subnetwork; the first network nodes are connected to the second network nodes one-to-one (for example, 202-1 is connected to 204-1).

[0104] In an optional example, the target sub-network may be, but is not limited to, in the shape of a triangular pyramid. The network nodes in each sub-network may be deployed on different planes.

[0105] In an optional example, the triangular pyramid shape of the reference subnetwork may be, but is not limited to, located inside the triangular pyramid shape of the target subnetwork, and / or the triangular pyramid shape of the target subnetwork may be, but is not limited to, located inside the triangular pyramid shape of the reference subnetwork. Figure 3 A topological structure of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 2 ,like Figure 3 As shown, each subnetwork can be, but is not limited to, connected layer by layer. For the outermost target subnetwork, the reference subnetwork adjacent to it is a subnetwork in its inner layer. For the innermost target subnetwork, the reference subnetwork adjacent to it is a subnetwork in its outer layer. For other target subnetworks except the outermost target subnetwork and the innermost target subnetwork, the reference subnetwork adjacent to it is two subnetworks, one is a subnetwork in its outer layer, and the other is a subnetwork in its inner layer.

[0106] In an alternative example, Figure 4 A topological structure of a three-dimensional hypercube interconnection network according to an embodiment of the present application is a structural frame Figure 2 ,like Figure 4 As shown, when N is 3, the multidimensional hypercube interconnection network is divided into a first sub-network 402 and a second sub-network 404; the first sub-network 402 and the second sub-network 404 are both triangular pyramidal shapes, and the triangular pyramidal shape of the first sub-network 402 is located inside the triangular pyramidal shape of the second sub-network 404.

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

[0108] In an alternative example, 2 N-2The sub-networks can be distributed on M planes, but are not limited to, where M is greater than or equal to 1 and less than or equal to 2. N-2 An integer.

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

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

[0111] The network diameter of the topological structure of the traditional three-dimensional hypercube interconnection network is 3, and the network delay is relatively large. In this embodiment, the network diameter of the topological structure of the three-dimensional hypercube interconnection network is shortened to 2, which can effectively reduce the network transmission delay.

[0112] In an alternative example, 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

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

[0114] For each network node, the link 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; 4 adjacent network nodes can be directly reached 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 the network nodes on the outer triangular pyramid, in addition to being able to directly route to the network nodes of all the outer triangular pyramids, it can also be directly routed to the network nodes of the inner triangular pyramid connected to itself; for the network nodes of the inner triangular pyramid, in addition to being able to directly route to the network nodes of all the inner triangular pyramids, it can also be directly routed to the network nodes of the outer triangular pyramid connected to itself. In addition, each network node can be reached from the remaining three network nodes through two hops, such as network node 4 (100), which can be reached from network nodes 1 (001), 2 (010), and 3 (011) through two hops; that is to say, for the network nodes on the outer triangular pyramid, except for the network nodes of the inner triangular pyramid connected to itself, they can be routed to other network nodes of the inner triangular pyramid through two hops; for the network nodes on the inner triangular pyramid, except for the network nodes of the outer triangular pyramid connected to itself, they can be routed to other network nodes of the outer triangular pyramid through two hops.

[0115] The three-dimensional topology structure can be, but is not limited to, a double-layer triangular pyramid network structure, which can effectively reduce network transmission delay. The routing algorithm suitable for the double-layer triangular pyramid network structure is simple and easy to implement in hardware.

[0116] In this embodiment, a routing method of a multi-dimensional hypercube interconnection network is also provided, which is applied to the above-mentioned multi-dimensional hypercube interconnection network. The routing method is used to route from a target sub-network to a target sub-network or a reference sub-network. Figure 8 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 1 ,like Figure 8 As shown, the process includes the following steps:

[0117] Step S802, obtaining a starting routing node on a target sub-network and a final routing node on a target sub-network or a reference sub-network;

[0118] Step S804, calculating the shortest routing path from the starting routing node to the final routing node to obtain the target routing path;

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

[0120] Through the above steps, the 2 N The network nodes are divided into 2 N-2 sub-networks, each target sub-network includes 4 target network nodes connected in pairs, and 2 N-2 The subnetworks are connected in sequence, and the four target network nodes in the target subnetwork are connected one by one with the four reference network nodes included in the adjacent reference subnetwork. When routing, each network node can calculate the shortest routing path of one hop to route to the directly connected network node, and the shortest routing path to the network node that is not directly connected on the adjacent subnetwork is also only two hops, so that the network diameter of the multidimensional hypercube interconnected network is shortened. Therefore, the technical problem of large network communication delay of the multidimensional hypercube interconnected network in the related art can be solved, and the technical effect of reducing the network communication delay of the multidimensional hypercube interconnected network can be achieved.

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

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

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

[0124] In an optional example, the connection relationship between the starting routing node and the final routing node may be determined in the following manner, but is not limited to: performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; the connection relationship is determined according to the calculation result.

[0125] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node may be determined by, but not limited to, an identification operation. The operation method may include, but is not limited to, an XOR operation. Each network node in the interconnected network is configured with an identification. Due to the use of the above identification method, the highest bit of the operation result after the XOR operation of the identification of the network node of the same sub-network is 0, and the network nodes of the same sub-network are directly connected. The connection relationship in which the highest bit of the operation result after the XOR operation is 0 can be determined as a direct connection. The highest bits of the identifications of the network nodes directly connected between adjacent sub-networks are different, and the last two bits are the same. Therefore, the connection relationship in which the highest bit of the operation result after the XOR operation 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 an indirect connection.

[0126] In an optional example, when N is 3, the connection relationship can be determined according to the calculation result in the following manner but is 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 no direct connection between the starting routing node and the final routing node.

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

[0128] In an optional example, the shortest routing path can be calculated as the target routing path according to the connection relationship in the following manner, but is not limited to: when the connection relationship is a direct connection between the starting routing node and the final routing node, the target routing path is determined to be a direct route to the final routing node; when the connection relationship is that the starting routing node and the final routing node are not directly connected, 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 target routing path includes 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 directly routed 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 according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the operation result is split into two unique hot codes, where 2 N The identification of each network node is an N-bit binary number, the highest bit of the identification of the network nodes on the same sub-network is the same, the identification of the target network node is the same as the lowest two bits of the identification of the directly connected reference network node, and the identification of the target network node is different from the identification of the directly connected reference network node by only one bit; a target one-hot encoding is randomly selected from two one-hot encodings; the identification of the starting routing node is XORed with the target one-hot encoding to obtain the identification of the next hop.

[0131] Optionally, in this embodiment, when N is 3, if the operation result is 101, 110 or 111, it can be determined that the connection relationship is that the starting routing node and the final routing node are not directly connected, and two cases are processed. For the operation results of 101 and 110, it is split into two unique hot codes, and the identifier of the starting routing node and the unique hot code are XORed respectively, so that two network nodes connected to both the starting routing node and the final routing node can be found. One of the two unique hot codes can be randomly selected as the target unique 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 (One-Hot Encoding), also known as one-bit effective encoding, means that only one bit in the one-hot encoding is 1, or only one bit is effective.

[0133] In an optional example, when N is 3, the next hop can also be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, where 2 NThe identification of each network node is an N-bit binary number, the highest bit of the identification of the network nodes on the same sub-network is the same, the identification of the target network node is the same as the lowest two bits of the identification of the directly connected reference network node, and the identification of the target network node is different from the identification of the directly connected reference network node by only one bit; a target code is randomly selected from 100 and 011; the identification of the starting routing node is XORed with the target code to obtain the identification of the next hop.

[0134] Optionally, in this embodiment, when N is 3, for the operation result of 111, it is split into 100 and 011, and the identifier of the starting routing node and the split codes are XORed respectively, so that two network nodes connected to both the starting routing node and the final routing node can be found. 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 embodiment, a routing algorithm applied to a double-layer triangular pyramid structure (i.e., a topological structure of the above-mentioned three-dimensional hypercube interconnection network) is provided. In the routing algorithm, for a routing request, the source routing node (i.e., the above-mentioned starting routing node) is recorded as S, and the target routing node (i.e., the above-mentioned final routing node) is recorded as D. The routing algorithm may include but is not limited to the following steps:

[0136] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I.

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

[0138] If I is one of 101, 110, and 111, it means that the source routing node S needs two hops to reach the target routing node D; then the third step is entered.

[0139] Step 3: Determine the routing path: If I is 101 or 110, for the bit that is 1 in I, split I into two one-hot codes, and then select a one-hot code randomly to perform XOR with the source routing node S; routing ends. For example: when S is 100 and D is 001, perform XOR according to the bit, and get I=100^001=101. I is split into several one-hot code XORs: I=I1^I2=100^001, then the possible routing paths are:

[0140] 100(I1:100)→000(I2:001)→001

[0141] 100(I2:001)→101(I1:100)→001.

[0142] If I is 111, split I into two parts I = I1^I2 = 100^011, select one from I1 and I2 randomly to perform XOR with routing node S; routing ends. For example: when S is 100 and D is 011, perform XOR according to bit, and get I = 100^011 = 111, then the possible routing paths are:

[0143] 100(I1:100)→000(I2:011)→011

[0144] 100(I2:011)→111(I1:100)→011.

[0145] For a ring topology, deadlock may occur during routing. For example: Fig. 9 is a schematic diagram of a routing process in a ring topology according to an embodiment of the present application, such as Fig. 9 As shown, suppose there are four routing requests at the same time, request 1 to request 4, where request 1: network node 2 to network node 7; request 2: network node 3 to network node 6; request 3: network node 7 to network node 2; request 4: network node 6 to network node 3. These four routing requests need to pass through a network node and if they all randomly select clockwise routing and have occupied the middle network node, a clockwise deadlock will occur. On the contrary, if they all randomly select counterclockwise routing and have occupied the middle network node, a counterclockwise deadlock will occur.

[0146] In order to avoid the above deadlock phenomenon, a routing method for a multi-dimensional hypercube interconnection network is also provided in this embodiment. The topology structure of the multi-dimensional hypercube interconnection network is any of the above topology structures, wherein P transmission paths are deployed between the target network node and the directly connected network node, and P is an integer greater than 1. The routing method is used to route from the target subnetwork to the target subnetwork or the reference subnetwork. Fig.10The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 2 ,like Fig.10 As shown, the process includes the following steps:

[0147] Step S1002, obtaining a starting routing node on a target sub-network and a final routing node on a target sub-network or a reference sub-network;

[0148] Step S1004, calculating the shortest routing path from the starting routing node to the final routing node to obtain an initial routing path;

[0149] Step S1006, determining a target sending path for each hop in the initial routing path from P sending paths according to the initial routing path, and obtaining a target routing path;

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

[0151] Through the above steps, the 2 N The network nodes are divided into 2 N-2 sub-networks, each target sub-network includes 4 target network nodes connected in pairs, and 2 N-2 The sub-networks are connected in sequence, and the four target network nodes in the target sub-network are connected one by one with the four reference network nodes included in the adjacent reference sub-network. When routing, the initial routing path can be planned first, and then the sending path of each hop can be planned according to the situation of the initial routing path to avoid the deadlock phenomenon in the target routing path. Therefore, the technical problem that the routing process in the related technology may have a deadlock phenomenon can be solved, and the technical effect of avoiding the deadlock phenomenon in the routing process can be achieved.

[0152] Optionally, in this embodiment, the sending path may refer to, but is not limited to, a sending port, and at least two sending ports are deployed on each network node, so that flexible selection is possible when planning a routing path.

[0153] In an optional example, in the above step S1006, the target sending path for each hop in the initial routing path can be determined from P sending paths according to the initial routing path to obtain the target routing path, but is not limited to the following method: when the initial routing path is directly routed 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 the next hop and the last hop, the target sending path of the next hop and the target sending path of the last hop are determined according to the target subnetwork, and the subnetwork and the sending path with a corresponding relationship, 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.

[0154] Optionally, in this embodiment, if there is only one hop in the initial routing path, that is, the initial routing path is directly routed to the final routing node, then the target sending path can be obtained by, but not limited to, random selection, and deadlock will not occur. If the initial routing path has two hops, that is, the initial routing path includes the next hop and the last hop, then the target sending path of the next hop and the target sending path of the last hop can be planned based on, but not limited to, the target sub-network, and the corresponding sub-network and sending path, so as to avoid deadlock.

[0155] In an optional example, the target sending path for the next hop and the target sending path for the last hop can be determined based on the subnetwork where the starting routing node is located, and the subnetworks and sending paths with a corresponding relationship in the following manner, but is not limited to: searching for a reference sending path corresponding to the subnetwork where the starting routing node is located from the subnetworks and sending paths with a corresponding relationship; 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.

[0156] Optionally, in this embodiment, corresponding subnetworks and sending paths are configured in the network architecture, and the reference sending path corresponding to the subnetwork where the starting routing node is located is used as the target sending path of the next hop and the target sending path of the last hop, thereby avoiding deadlock.

[0157] In an optional example, the reference sending path corresponding to the subnetwork where the starting routing node is located can be searched from the subnetworks and sending paths with a corresponding relationship in the following manner, but is not limited to: searching for a sending path marked with a label corresponding to the subnetwork where the starting routing node is located from P sending paths, and obtaining the reference sending path corresponding to the subnetwork where the starting routing node is located, 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, and 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 a label corresponding to the subnetwork where the sending network node connected to the sending path is located, and the sending paths in the second path set are marked with a label corresponding to the reference subnetwork of the subnetwork where the sending network node connected to the sending path is located.

[0158] Optionally, in this embodiment, the P sending paths may be divided into, but not limited to, a first path set and a second path set, each path set including at least one sending path, and the sending paths are assigned to different subnetworks by configuring labels of corresponding subnetworks for the sending paths in the path set, thereby forming subnetworks and sending paths having a corresponding relationship.

[0159] In an optional example, before searching for a sending path marked with a label corresponding to the subnetwork where the starting routing node is located from P sending paths, the subnetwork and sending path with a corresponding relationship can also be obtained in the following manner but is not limited to: marking the sending paths in the first path set with labels corresponding to the subnetwork where the sending network node connected to the sending path is located, and marking the sending paths in the second path set with labels corresponding to the reference subnetwork of the subnetwork where the sending network node connected to the sending path is located.

[0160] Optionally, in this embodiment, the label corresponding to the sub-network is used to identify the sub-network, and the label can be implemented in various forms, such as, but not limited to, numbers, symbols, and the like.

[0161] In an optional example, marking the sending paths in the first path set as labels corresponding to the subnetwork where the sending network node connected to the sending paths is located, and marking the sending paths in the second path set as labels corresponding to the reference subnetwork of the subnetwork where the sending network node connected to the sending paths is located, includes:

[0162] 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 paths are 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 of the sending network node to which the sending paths are connected, wherein 2 NThe identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

[0163] Optionally, in this embodiment, the network node is identified in the following manner: N The identifier of each network node is an N-bit binary number, the highest bit of the identifier of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit, so the target network node and the reference network node connected on the adjacent sub-network can distinguish which sub-network the network node is located in by the highest N-2 bits of the identifier of the network node. The sub-network corresponding to the sending path can be distinguished by marking the sending path in the first path set as the highest N-2 bits of the identifier of the sending network node to which the sending path is connected, and marking the sending path in the second path set as the highest N-2 bits of the identifier of the reference network node of the sending network node to which the sending path is connected.

[0164] In an optional example, when N is 3, the multidimensional hypercube interconnection network is divided into a first subnetwork and a second subnetwork, the first subnetwork includes 4 first network nodes, 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, each second network node is connected to the other 3 second network nodes in the second subnetwork, and the first network nodes are connected to the second network nodes 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 searched from P sending paths but is not limited to the following method: when the starting routing node is located in the first subnetwork, search from P sending paths for a sending path marked with a label corresponding to the subnetwork where the starting routing node is located. The method comprises the steps of searching for a sending path marked with a label corresponding to the first subnetwork from the sending paths as a reference sending path; when the starting routing node is located in the second subnetwork, searching for a sending path marked with a label corresponding to the second subnetwork from the P sending paths 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 a label corresponding to the first subnetwork, and the sending paths in the second path set are marked with a label corresponding to the second subnetwork.

[0165] Optionally, in this embodiment, in the three-dimensional hypercube interconnection network, the network nodes are divided into two sub-networks, and the P transmission paths are also divided into two path sets, which correspond one-to-one to the two sub-networks respectively.

[0166] In an optional example, a transmission path marked with a label corresponding to the first subnetwork may be searched from P transmission paths as a reference transmission path in the following manner, but is not limited to: a transmission path marked as 1 is searched from P transmission paths as a reference transmission path; a transmission path marked with a label corresponding to the second subnetwork may be searched from P transmission paths as a reference transmission path in the following manner, but is not limited to: a transmission path marked as 0 is searched from P transmission paths as a reference transmission path; wherein the highest bits of the identifiers of the four first network nodes on the first subnetwork are all 1, the highest bits of the identifiers of the four second network nodes on the second subnetwork are all 0, the lowest two bits of the identifiers of the correspondingly connected first network node and second network node are the same, the transmission paths in the first path set are marked as 1, and the transmission paths in the second path set are marked as 0.

[0167] Optionally, in this embodiment, the highest bits of the identifiers of the four first network nodes on the first subnetwork are all 1, the highest bits of the identifiers of the four second network nodes on the second subnetwork are all 0, the lowest two bits of the identifiers of the correspondingly 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 1 of the identifier, and the sending path in the second path set is marked with the highest bit 0 of the identifier. Fig.11 is a schematic diagram of a path marking of a sending path according to an embodiment of the present application, such as Fig.11 As shown, it is taken as an example that each network node has two transmission paths, one transmission path is marked as 1, and the other transmission path is marked as 0.

[0168] In an optional example, the shortest routing path from the starting routing node to the final routing node can be calculated in the following manner but is not limited to obtain the initial routing path: determine the connection relationship between the starting routing node and the final routing node; calculate the shortest routing path as the initial routing path based on the connection relationship.

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

[0170] In an optional example, the connection relationship between the starting routing node and the final routing node may be determined in the following manner, but is not limited to: performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein 2 NThe identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; the connection relationship is determined according to the calculation result.

[0171] Optionally, in this embodiment, 2 N The identifier of each network node is an N-bit binary number and has certain identification rules. The connection relationship between the network nodes can be determined by, but is not limited to, the operation of the identifier.

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

[0173] 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 as 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.

[0174] Optionally, in this embodiment, when N is 3, if the XOR operation result of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the operation result can be split into two unique hot codes, where 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; a target unique hot encoding is randomly selected from two unique hot encodings; the identifier of the starting routing node is XORed with the target unique hot encoding to obtain the identifier of the next hop. Optionally, in this embodiment, when N is 3, when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 111, 111 can be split into 100 and 011, where 2 NThe identification of each network node is an N-bit binary number, the highest bit of the identification of the network nodes on the same sub-network is the same, the identification of the target network node is the same as the lowest two bits of the identification of the directly connected reference network node, and the identification of the target network node is different from the identification of the directly connected reference network node by only one bit; a target code is randomly selected from 100 and 011; the identification of the starting routing node is XORed with the target code to obtain the identification of the next hop.

[0175] Optionally, in this embodiment, routing rules can also be configured for network nodes in the following manners, but are not limited to: each target network node is set to allow one-hop routing to other three target network nodes in the target subnetwork; each target network node is set to allow one-hop routing to a reference network node in the reference subnetwork that is connected to the target network node; each target network node is set to allow two-hop routing to a reference network node in the reference subnetwork that is not connected to the target network node.

[0176] Optionally, in this embodiment, the network node may be assigned an identifier in the following manner, but is not limited to: N Each network node is assigned an N-bit binary number as an identifier, wherein the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

[0177] In an optional embodiment, for a three-dimensional hypercube interconnection network, the above routing method can be summarized as, but not limited to, the following routing rules: Rule 1: All routing paths follow the shortest path; Rule 2: If the result of the XOR operation I is one of 001, 010, 100, 011, it means that the source routing node S is directly connected to the target routing node D, and can be routed through any path "1" and path "0"; if the result of the XOR operation I is one of 101, 110, 111, it means that the source routing node S needs to go through two hops to reach the target routing node D; and it can be seen 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, and 111, and if S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then only "1" can be taken along the routing path; Rule 4: If the result I of the XOR operation is one of 101, 110, and 111, and if S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, then only "0" can be taken along the routing path.

[0178] In this optional implementation, 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 target routing node is denoted as D. The routing algorithm includes the following steps:

[0179] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I.

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

[0181] If I is one of 001, 010, 100, and 011, it means that there is a direct path between S and D, and routing can be performed directly through any one of the paths "1" and "0" connecting S and D; routing ends. For example: when S is 111 and D is 100, I is 011, the source routing node S and the target routing node D belong to the same outer triangular pyramid (i.e., the first subnetwork), there is a direct path between S and D, and routing can be performed directly through any one of the paths "1" and "0" connecting S and D; routing ends.

[0182] If I is one of 101, 110, and 111, it means that the source routing node S needs two hops to reach the target routing node D; then the third step is entered.

[0183] Step 3: Determine the routing path: If S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then only "1" can be taken along the routing path; if S belongs to the inner triangular pyramid (i.e., the second subnetwork) and D belongs to the outer triangular pyramid, then only "0" can be taken along the routing path.

[0184] If I is 101 or 110, for the bit that is 1 in I, split I into two unique hot codes, and then perform XOR 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, then only "1" can be taken along the routing path. Perform XOR according to the bit, and get I=100^001=101. I is split into several unique hot code XORs: I=I1^I2=100^001, then the possible routing paths are:

[0185]

[0186] If I is 11 1. Split I into two parts I=I1^I2=100^011, and perform XOR with routing node S in a random manner. The routing is completed.

[0187] 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, and only "0" can be taken along the routing path. By performing XOR on the bits, we get I = 011^100 = 111, and the possible routing paths are:

[0188]

[0189] 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, Fig.12 A schematic diagram of a routing path according to an embodiment of the present application Figure 1 ,like Fig.12 As shown, suppose there are four routing requests: Request 1: routing node 100 to routing node 011; Request 2: routing node 111 to routing node 000; Request 3: routing node 011 to routing node 100; Request 4: routing node 000 to routing node 111; these four routing requests need to pass through a routing node and all choose clockwise routing, and all have occupied the middle routing node, then a clockwise routing path appears. On the contrary, if all choose counterclockwise routing, and all have occupied the middle routing node, then a counterclockwise routing path appears. It can be seen that neither the clockwise routing path nor the counterclockwise routing path forms a deadlock.

[0190] In order to avoid the above deadlock phenomenon, a routing method of a three-dimensional hypercube interconnection network is also provided in this embodiment. The three-dimensional hypercube interconnection network includes 2 3 network nodes, the three-dimensional hypercube network is divided into a first sub-network and a second sub-network, the first sub-network includes four first network nodes, the second sub-network includes four second network nodes, the four first network nodes are connected to each other in pairs, the four second network nodes are connected to each other in pairs, the four first network nodes are connected to the four second network nodes in a one-to-one correspondence, and the routing method is applied to any network node in the three-dimensional hypercube interconnected network. Fig.13 is a flow chart of a routing method of a three-dimensional hypercube interconnection network according to an embodiment of the present application, such as Fig.13 As shown, the process includes the following steps:

[0191] Step S1302, obtaining the starting routing node of the routing path to be planned and the final routing node of the routing path to be planned;

[0192] Step S1304, under the connection relationship between the starting routing node and the final routing node, planning the shortest routing path corresponding to the connection relationship from the starting routing node to the final routing node to obtain a target routing path;

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

[0194] Through the above steps, the eight network nodes included in the three-dimensional hypercube interconnection network are divided into two sub-networks, the four network nodes included in each sub-network are connected in pairs, and the sub-networks are also connected by network nodes one by one. When routing, it can be planned directly based on the connection relationship between the starting routing node and the final routing node to avoid the deadlock phenomenon in the target routing path. Therefore, the technical problem that the deadlock phenomenon may occur in the routing process in the related technology can be solved, and the technical effect of avoiding the deadlock phenomenon in the routing process can be achieved.

[0195] In an optional example, in the above step S1304, the target routing path can be obtained by planning the shortest routing path corresponding to the connection relationship from the starting routing node to the final routing node under the connection relationship between the starting routing node and the final routing node, but is not limited to the following method: detecting the connection relationship between the starting routing node and the final routing node; planning the shortest routing path corresponding to the connection relationship as the target routing path.

[0196] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node is detected first, and then the target routing path is planned according to the corresponding relationship between the connection relationship and the shortest routing path.

[0197] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node can be detected in the following manner, but is not limited to: performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein 2 3 The identifier of each network node is a 3-bit binary number, the highest bit of the identifiers of the four first network nodes on the first subnetwork is 1, the highest bit of the identifiers of the four second network nodes on the second subnetwork is 0, and the lowest two bits of the identifiers of the correspondingly connected first network node and second network node are the same; the connection relationship is determined according to the calculation result.

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

[0199] Optionally, in this embodiment, the connection relationship can be determined according to the calculation result in the following manner but is 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 no direct connection between the starting routing node and the final routing node.

[0200] Optionally, in this embodiment, the shortest routing path corresponding to the connection relationship can be planned as the target routing path in the following manner but is not limited to: when the connection relationship is a direct connection between the starting routing node and the final routing node, the target routing path is determined to be directly routed to the final routing node; when the connection relationship is that there is no direct connection between the starting routing node and the final routing node, the network node on the subnet where the final routing node is located and connected to the starting routing node is determined as the next hop; the final routing node is determined as the last hop, wherein the target routing path includes the next hop and the last hop.

[0201] 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, and 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, and 111, if S belongs to the outer triangular pyramid and D belongs to the inner triangular pyramid, then the first step of 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, and 111, if S belongs to the inner triangular pyramid and D belongs to the outer triangular pyramid, then the first step of routing needs to be routed from the inner triangular pyramid where S is located to the outer triangular pyramid where D is located.

[0202] In an optional example, the network node on the subnet where the final routing node is located and connected to the starting routing node can be determined as the next hop in the following manner but is not limited to: when the starting routing node is located in the first subnet, the routing node on the second subnet connected to the starting routing node is determined as the next hop; when the starting routing node is located in the second subnet, the routing node on the first subnet connected to the starting routing node is determined as the next hop.

[0203] Optionally, in this embodiment, a routing path that complies with the above rule 2 and rule 3 may be obtained in the above manner, thereby avoiding the occurrence of a deadlock phenomenon.

[0204] In an optional example, the network node connected to the starting routing node on the subnetwork where the final routing node is located can be determined as the next hop in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the operation result is split into two unique hot codes, where 2 3The identifier of each network node is a 3-bit binary number, the highest bit of the identifiers of the four first network nodes on the first subnetwork is 1, the highest bit of the identifiers of the four second network nodes on the second subnetwork is 0, and the lowest two bits of the identifiers of the correspondingly connected first network node and second network node are the same; 100 is selected from the two one-hot encodings as the target one-hot encoding; the identifier of the starting routing node is XORed with the target one-hot encoding to obtain the identifier of the next hop.

[0205] Optionally, in this embodiment, if the operation result is 101 or 110, 101 or 110 is split into two unique hot codes, 101 can be split into 100 and 001, 110 can be split into 100 and 010, and 100 is used as the target unique hot code and the identifier of the starting routing node to perform an XOR operation to obtain the identifier of the next hop. In this way, routing from the inner layer to the outer layer or from the outer layer to the inner layer is realized to avoid deadlock.

[0206] In an optional example, the network node connected to the starting routing node on the subnetwork where the final routing node is located can be determined as the next hop in the following manner, but is not limited to: when the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, where 2 3 The identifier of each network node is a 3-bit binary number, the highest bit of the identifiers of the four first network nodes on the first subnetwork is 1, the highest bit of the identifiers of the four second network nodes on the second subnetwork is 0, and the lowest two bits of the identifiers of the correspondingly connected first network node and second network node 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.

[0207] Optionally, in this embodiment, if the operation result is 111, 111 is split into 100 and 011, and 100 is used as the target code to perform an XOR operation with the identifier of the starting routing node to obtain the identifier of the next hop, thereby realizing routing from the inner layer to the outer layer or from the outer layer to the inner layer, so as to avoid deadlock.

[0208] In an optional example, the network node connected to the starting routing node on the subnetwork where the final routing node is located can be determined as the next hop in the following manner, but is not limited to: when the operation result obtained by performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node is 101, 110 or 111, 100 is extracted from the operation result as the target operation code, where 2 3The identifier of each network node is a 3-bit binary number, the highest bit of the identifiers of the four first network nodes on the first subnetwork is 1, the highest bit of the identifiers of the four second network nodes on the second subnetwork is 0, and the lowest two bits of the identifiers of the correspondingly connected first network node and second network node 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.

[0209] Optionally, in this embodiment, when the operation result is 101, 110 or 111, 100 can be directly extracted from the operation result as the target operation code and the identifier of the starting routing node to perform an XOR operation to obtain the identifier of the next hop, thereby realizing routing from the inner layer to the outer layer or from the outer layer to the inner layer, so as to avoid deadlock.

[0210] In an optional embodiment, a routing algorithm applied to a three-dimensional hypercube interconnection network is provided. For a routing request, the source routing node is denoted as S, and the target routing node is denoted as D. Taking the topological structure of a double-layer triangular pyramid as an example, the routing algorithm includes the following steps:

[0211] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I.

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

[0213] If I is one of 100, 001, 010, and 011, it means that there is a direct path between S and D, and routing can be performed directly through the path connecting S and D; routing is completed. For example: when S is 111 and D is 100, I is 011, there is a direct path between S and D, and routing can be performed directly through the path connecting S and D; routing is completed. If I is one of 101, 110, and 111, it means that the source routing node S needs to go through two hops to reach the target routing node D; go to the third step.

[0214] Step 3: Determine the routing path: Determine the routing path based on rules 2 and 3.

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

[0216] I=101=I1^I2=100^001

[0217] or

[0218] I=110=I1^I2=100^010

[0219] or

[0220] I=111=I1^I2=100^011.

[0221] Then I1 is first XORed with S to obtain the routing node S1 of the first step of routing, thus realizing the first step of the above rule of routing from the inner or outer triangular pyramid where S is located to D The requirements of the outer / inner triangular pyramid. S1 and I2 are XORed to obtain the routing node S2 of the second step of routing, that is, reaching the target routing node D; the routing ends.

[0222] In this optional implementation, taking S as 100 and D as 001 as an example, Fig.14 A schematic diagram of a routing process of a three-dimensional hypercube interconnection network according to an embodiment of the present application Figure 1 ,like Fig.14 As shown, first, the source routing node S and the target routing node D are bitwise XORed, and the result is recorded as I = 100^001 = 101. Determine the value of I: I is 101, indicating that the source routing node S needs to go through two hops to reach the target routing node D; then determine the routing path: for the bit that is 1 in I, split I into two unique hot codes, I = 101 = I1^I2 = 100^001, and then I1 is first XORed with S to obtain the routing node S1 of the first step of routing: S1 = S^I1 = 100^100 = 000, so that the requirement of routing from the outer triangular pyramid where s is located to the inner triangular pyramid where D is located is achieved. S1 is XORed with I2 to obtain the routing node S2 of the second step of routing: S2 = S1^I2 = 000^001 = 001. That is, the target routing node D is reached; routing ends. The target routing path is: 100(I1:100)→000(I2:001)→001.

[0223] In this optional implementation, taking S as 011 and D as 100 as an example, Fig.15 A schematic diagram of a routing process of a three-dimensional hypercube interconnection network according to an embodiment of the present application Figure 2 ,like Fig.15 As shown, first, the source routing node S and the target routing node D are XORed bit by bit, and the result is recorded as I=011^100=111. If I is 111, it means that the source routing node S needs to go through two hops to reach the target routing node D. Split I into two parts: I=I1^I2=100^011, and then I1 is first XORed with S to obtain the routing node S1 of the first step of routing: S1=S^I1=011^100=111, so that the requirement of routing from the inner triangular pyramid where S is located to the outer triangular pyramid where D is located is achieved. S1 is XORed with I2 to obtain the routing node S2 of the second step of routing: S2=S1^I2=111^011=100, that is, to reach the target routing node D. XORed according to bit, I=011^100=111, then the target routing path is: 011(I1:100)→111(I2:011)→100.

[0224] In an optional example, the target routing path can be obtained by planning the shortest routing path corresponding to the connection relationship from the starting routing node to the final routing node under the connection relationship between the starting routing node and the final routing node in the following manner but not limited to: calculating the shortest routing path from the starting routing node to the final routing node to obtain the initial routing path; and screening the routing path that matches the connection relationship from the initial routing path to obtain the target routing path.

[0225] Optionally, in this embodiment, all possible shortest routing paths may be calculated as initial routing paths first, and then routing paths matching the connection relationship may be screened out from the initial routing paths to obtain the target routing path.

[0226] In an optional example, the target routing path can be obtained by filtering a routing path that matches the connection relationship from the initial routing path but is not limited to the following method: 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, a routing path in which the subnetwork of the next-hop network node is different from the subnetwork of the starting routing node is filtered from the initial routing path as the target routing path.

[0227] Optionally, in this embodiment, if the starting routing node is directly connected to the final routing node, the initial routing path can be directly determined as the target routing path. If the starting routing node is not directly connected to the final routing node, a routing path in which the subnet where the next hop network node is located is different from the subnet where the starting routing node is located can be screened out from the initial routing path as the target routing path. In other words, if the starting routing node is in the first subnet, the routing path in which the next hop is in the second subnet is selected as the target routing path; if the starting routing node is in the second subnet, the routing path in which the next hop is in the first subnet is selected as the target routing path.

[0228] In an optional example, the shortest routing path from the starting routing node to the final routing node can be calculated in the following manner but is not limited to obtain the initial routing path: 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 a direct route to the final routing node; when the connection relationship is that there is no 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.

[0229] 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 directly routed 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.

[0230] Optionally, in this embodiment, the next hop may be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the result of the operation is split into two unique hot codes, where 2 3 The identifier of each network node is a 3-bit binary number, the highest bit of the identifiers of the four first network nodes on the first subnetwork is 1, the highest bit of the identifiers of the four second network nodes on the second subnetwork is 0, and the lowest two bits of the identifiers of the correspondingly connected first network node and second network node are the same; the identifier of the starting routing node is XORed with each of the two one-hot encodings to obtain the identifiers of the two next hops, wherein the initial routing path includes two routing paths.

[0231] Optionally, in this embodiment, the next hop may be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, where 2 3 The identifier of each network node is a 3-bit binary number, the highest bit of the identifiers of the four first network nodes on the first subnetwork is 1, the highest bit of the identifiers of the four second network nodes on the second subnetwork is 0, and the lowest two bits of the identifiers of the correspondingly connected first network node and second network node are the same; the identifier of the starting routing node is XORed with 100 and 011 respectively to obtain the identifiers of two next hops, wherein the initial routing path includes two routing paths.

[0232] Optionally, in this embodiment, the three-dimensional hypercube interconnection network can also be deployed in the following manner but is not limited to: the first sub-network and the second sub-network are both deployed in a triangular pyramid shape; or, the four first network nodes included in the first sub-network are deployed in the same plane, and the four second network nodes included in the second sub-network are deployed in the same plane.

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

[0234] 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, Fig.16 A schematic diagram of a routing path according to an embodiment of the present application Figure 2 ,like Fig.16 As shown, assuming that there are four routing requests: Request 1: routing node 100 to routing node 011; Request 2: routing node 111 to routing node 000; Request 3: routing node 011 to routing node 100; Request 4: routing node 000 to routing node 111; when these four routing requests need to pass through a routing node and all have occupied the middle routing node, according to the above routing method, it can be seen that although it is a ring structure, no deadlock is formed.

[0235] In order to avoid the above deadlock phenomenon, another routing method for a multi-dimensional hypercube interconnection network is provided in this embodiment. The topology of the multi-dimensional hypercube interconnection network is any of the above topologies, wherein Q transmission paths are deployed between the target network node and the directly connected network node, where Q is an integer greater than 1. The routing method is used to route from the target subnetwork to the target subnetwork or the reference subnetwork. Fig.17 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 3 ,like Fig.17 As shown, the process includes the following steps:

[0236] Step S1702, obtaining a starting routing node on a target sub-network and a final routing node on a target sub-network or a reference sub-network;

[0237] Step S1704, calculating the shortest routing path from the starting routing node to the final routing node to obtain an initial routing path;

[0238] Step S1706, converting the initial routing path into a target routing path according to the occupation state of the initial routing path and the Q transmission paths, wherein the target routing path has at most one more hop than the initial routing path;

[0239] Step S1708, routing from the starting routing node to the final routing node according to the target routing path.

[0240] Through the above steps, the 2 N The network nodes are divided into 2N-2 sub-networks, each target sub-network includes 4 target network nodes connected in pairs, and 2 N-2 The subnetworks are connected in sequence, and the four target network nodes in the target subnetwork are connected one by one with the four reference network nodes included in the adjacent reference subnetwork. When routing, the initial routing path can be planned first, and then the initial routing path can be converted according to the occupation status of the initial routing path to obtain a target routing path that is at most one hop more than the initial routing path, thereby avoiding the deadlock phenomenon in the target routing path. Therefore, the technical problem that the routing process in the related technology may have a deadlock phenomenon can be solved, and the technical effect of avoiding the deadlock phenomenon in the routing process can be achieved.

[0241] Optionally, in this embodiment, the occupancy status of the initial routing path can be but is not limited to indicating whether the initial routing path is occupied. The initial routing path is converted accordingly according to different occupancy statuses to avoid routing the occupied routing path as the target routing path, thereby avoiding deadlock.

[0242] In an optional example, the initial routing path may be converted to a target routing path based on the occupancy state of the initial routing path and Q sending paths in the following manner, but not limited to: detecting the occupancy state of the initial routing path; converting the initial routing path to a reference routing path when the occupancy state indicates that the initial routing path is occupied; determining a target sending path for each hop in the reference routing path from the Q sending paths to obtain a target routing path, wherein the reference routing path has one more hop than the initial routing path.

[0243] 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, and then a target sending path is determined for each hop in the reference routing path, so that deadlock does not occur in the interconnected network.

[0244] In an optional example, the initial routing path may be converted into a reference routing path in the following manner, but not limited to: detecting the positional relationship between the starting routing node and the final routing node; when the positional relationship indicates that the starting routing node is directly connected to the final routing node and both the starting routing node and the final routing node are located in the target sub-network, selecting a network node from two other network nodes in the target sub-network except the starting routing node and the final routing node as the next hop, and determining the final routing node as the last hop, wherein the reference routing path includes the next hop and the last hop; when the positional relationship indicates that the starting routing node and the final routing node are not directly connected, the starting routing node is located in the target sub-network, and the final routing node is located in the reference sub-network, determining the routing node directly connected to the starting routing node in the reference sub-network as the first hop; selecting a network node from two other network nodes in the reference sub-network except the routing node of the first hop and the final routing node as the second hop; determining the final routing node as the last hop, wherein the reference routing path includes the first hop, the second hop, and the last hop.

[0245] Optionally, in this embodiment, if the starting routing node is directly connected to the final routing node and both the starting routing node and the final routing node are located in the target sub-network, the original initial routing path with only one hop is converted into a reference routing path including two hops. If the starting routing node and the final routing node are not directly connected, the starting routing node is located in the target sub-network, and the final routing node is located in the reference sub-network, the original initial routing path with two hops is converted into a reference routing path including three hops.

[0246] In an optional example, the target sending path for each hop in the reference routing path can be determined from the Q sending paths but is not limited to the following method: when the reference routing path includes a next hop and a last hop, it is determined that the target sending path of the next hop has a different path label from the target sending path of the last hop, wherein each of the Q sending paths is marked with a corresponding path label.

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

[0248] In an optional example, the target sending path for each hop in the reference routing path can be determined from the Q sending paths but is not limited to the following method: when the reference routing path includes a first hop, a second hop, and a last hop, a sending path is screened from the Q sending paths as the target sending path for the first hop; and it is determined that the target sending path for the second hop has a different path label from the target sending path for the last hop, wherein each of the Q sending paths is marked with a corresponding path label.

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

[0250] Optionally, in this embodiment, each of the Q transmission paths is marked with a corresponding path label, and the path label may be in, but is not limited to, any form, such as a number, a symbol, and the like. Fig.18 is a schematic diagram of a path label of a sending path according to an embodiment of the present application, such as Fig.18 As shown, it is taken as an example that each network node has two transmission paths, one transmission path is marked with a label "+", and the other transmission path is marked with a label "-".

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

[0252] Rule 1: All routing paths give priority to the shortest routing path for routing. When the shortest routing path is occupied, an adaptive routing path can be selected, but the selected adaptive routing path is at most one hop longer than the shortest routing path.

[0253] Rule 2: When the source routing node S and the target routing node D belong to the outer (inner) triangular pyramid, S and D must be directly connected, and the shortest routing path has only one hop. When the shortest routing path is occupied, an adaptive routing path can be selected. According to Rule 1, the adaptive routing path has two hops; when the route of the shortest routing path is selected, both the "+" path and the "-" path can be taken; when the adaptive routing path is selected, the signs of the two routing paths are different, that is, one segment is a "+" path and the other segment is a "-" path.

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

[0255] For the shortest routing path with only one hop, no deadlock will occur. Fig. 20 is a schematic diagram of an adaptive routing path according to an embodiment of the present application Figure 2 For the ring structure generated in the above adaptive routing path, the possible routing methods are as follows: Fig. 20As shown, a "closed loop" cannot be created, and therefore no deadlock will occur.

[0256] If the result of the XOR operation I is one of 101, 110, and 111, it means that the source routing node S needs two hops to reach the target routing node D by taking the shortest path. Then according to Rule 1, the adaptive routing path should have three hops; 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.

[0257] Rule 3: If S belongs to the outer pyramid and D belongs to the inner pyramid, the first step of routing needs to be routing from the outer pyramid where S is located to the inner 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 routing node 100, D is routing node 011, and I is 111, then the routing steps are as follows: In the first step, S should be routed to the inner pyramid where D is located, that is, routed to 000 first; in the second step, S is updated to 000; in the third step, routing is performed from S(000) to D(011) according to Rule 2.

[0258] Rule 4: If S belongs to the inner pyramid and D belongs to the outer pyramid, the first step of routing needs to be routing from the inner pyramid where S is located to the outer 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 routing node 000, D is routing node 110, and I is 110, then the routing steps are as follows: Step 1: S should be routed to the outer pyramid where D is located, that is, routed to 100 first; Step 2: Update S to 100; Step 3: From S (100) to D (110) and then route according to Rule 2.

[0259] If rule 3 or rule 4 is used, once the third step is entered, the updated S and D belong to the same inner (outer) triangular pyramid, and deadlock will not occur if rule 2 is used. The first two steps of rule 3 or rule 4 involve routing from the outer (inner) triangular pyramid to the inner (outer) triangular pyramid. Take the ring structure composed of routing nodes 111, 100 of the outer triangular pyramid and routing nodes 011, 000 of the inner triangular pyramid as an example. Assume that there are four routing requests: request 1: routing node 100 to routing node 011; request 2: routing node 111 to routing node 000; request 3: routing node 011 to routing node 100; request 4: routing node 000 to routing node 111; when these four routing requests need to pass through a routing node and all have occupied the middle routing node, although it is a ring structure, no deadlock is formed.

[0260] In an optional example, the shortest routing path from the starting routing node to the final routing node can be calculated in the following manner but is not limited to obtain the initial routing path: determine the connection relationship between the starting routing node and the final routing node; calculate the shortest routing path as the initial routing path based on the connection relationship.

[0261] Optionally, in this embodiment, the shortest routing path may be calculated according to the connection relationship but is not limited to being used as the initial routing path.

[0262] In an optional example, the connection relationship between the starting routing node and the final routing node may be determined in the following manner, but is not limited to: performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; the connection relationship is determined according to the calculation result.

[0263] Optionally, in this embodiment, when N is 3, the connection relationship can be determined according to the calculation result in the following manner but is 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 no direct connection between the starting routing node and the final routing node.

[0264] Optionally, in this embodiment, the shortest routing path can be calculated as the initial routing path according to the connection relationship in the following manner, but is 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 that the starting routing node and the final routing node are not directly connected, 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.

[0265] Optionally, in this embodiment, when N is 3, the next hop can be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the operation result is split into two unique hot codes, where 2 NThe identification of each network node is an N-bit binary number, the highest bit of the identification of the network nodes on the same sub-network is the same, the identification of the target network node is the same as the lowest two bits of the identification of the directly connected reference network node, and the identification of the target network node is different from the identification of the directly connected reference network node by only one bit; a target one-hot encoding is randomly selected from two one-hot encodings; the identification of the starting routing node is XORed with the target one-hot encoding to obtain the identification of the next hop.

[0266] Optionally, in this embodiment, when N is 3, the next hop can be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, where 2 N The identification of each network node is an N-bit binary number, the highest bit of the identification of the network nodes on the same sub-network is the same, the identification of the target network node is the same as the lowest two bits of the identification of the directly connected reference network node, and the identification of the target network node is different from the identification of the directly connected reference network node by only one bit; a target code is randomly selected from 100 and 011; the identification of the starting routing node is XORed with the target code to obtain the identification of the next hop.

[0267] Optionally, in this embodiment, when N is 3, the multidimensional hypercube interconnection network can be configured in the following manner but is not limited to: dividing the multidimensional hypercube interconnection 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.

[0268] Optionally, in this embodiment, the multi-dimensional hypercube interconnection network may be configured in the following manners, but not limited to: deploying four target network nodes in the target sub-network on the same plane; deploying two N-2 The sub-networks are deployed on M planes, where M is greater than or equal to 1 and less than or equal to 2. N-2 An integer.

[0269] Optionally, in this embodiment, when N is 3, the multi-dimensional hypercube interconnection network is divided into a first sub-network and a second sub-network, and the multi-dimensional hypercube interconnection network can be configured in the following manners, but is not limited to: 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.

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

[0271] Optionally, in this embodiment, the multi-dimensional hypercube interconnection network may be configured in the following manners, but is not limited to: N Each network node is assigned an N-bit binary number as an identifier, wherein the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

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

[0273] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I;

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

[0275] If I is one of {I}={100, 001, 010, 011}, it means there is a direct connection path between S and D, and the process goes to step 3;

[0276] If I is one of {I}={101, 110, 111}, it means that the source routing node S needs to go through two hops to reach the target routing node D; go to step 4.

[0277] Step 3: Prioritize the shortest routing path for routing, that is, directly route through any one of the paths "+" and "-" connected by S and D; routing is completed. If both the "+" path and the "-" path of the shortest path are occupied, the process of selecting an adaptive routing path is entered.

[0278] The process of selecting an adaptive routing path includes: taking S=110, D=111, and I=001 as an example, splitting I into I1=010 and I2=011, and then determining possible adaptive routing paths:

[0279] 100(I1:010)→110(I2:011)→101

[0280] 100(I2:011)→111(I1:010)→101.

[0281] A path is selected from the above-mentioned 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 segment is a "+" path and the other segment is a "-" path; routing ends.

[0282] Step 4: Determine the routing path:

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

[0284] I=101=I1^I2=100^001

[0285] or

[0286] I=110=I1^I2=100^010

[0287] or

[0288] I=111=I1^I2=100^011.

[0289] Then I1 is first XORed with S to obtain the routing node S1 of the first step of routing, thus achieving the requirement of the first step of routing from the inner / outer triangular pyramid where S is located to the outer or inner triangular pyramid where D is located as specified in Rule 3 or Rule 4. Then S is updated to S1, and the third step is performed for the updated S and the target routing node D to obtain the target routing path.

[0290] In order to improve the network transmission efficiency of the interconnected network, another routing method for a multidimensional hypercube interconnected network is also provided in this embodiment. The topology structure of the multidimensional hypercube interconnected network is any of the above topologies, wherein 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. The routing method is used to route from a target subnetwork to a target subnetwork or a reference subnetwork. Fig.21 The process of a routing method of a multi-dimensional hypercube interconnection network according to an embodiment of the present application is as follows Figure 4 ,like Fig.21 As shown, the process includes the following steps:

[0291] Step S2102, obtaining a starting routing node on a target sub-network and a final routing node on a target sub-network or a reference sub-network;

[0292] Step S2104, calculating the shortest routing path from the starting routing node to the final routing node according to the connection relationship between the starting routing node and the final routing node, and obtaining an initial routing path;

[0293] Step S2106, allocating a target sending path for each hop in the initial routing path according to the connection relationship to obtain a target routing path;

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

[0295] Through the above steps, the 2 N The network nodes are divided into 2 N-2 There are at least two transmission paths deployed between network nodes in the same subnetwork, and at least four transmission paths deployed between network nodes connecting two subnetworks. When routing, the initial routing path can be planned first, and then a dedicated transmission path is allocated to each hop according to the connection relationship between the starting routing node and the final routing node to avoid data disorder. Therefore, the technical problem of low efficiency of data transmission in the interconnected network in the related technology can be solved, and the technical effect of improving the efficiency of data transmission in the interconnected network can be achieved.

[0296] Optionally, in this embodiment, data is transmitted from the transmission end to the receiving end through a fixed path, which achieves data order preservation and fundamentally solves the problem of data disorder. And all transmission paths are unique and dedicated paths, making the logic of the routing node simple and easy to implement in hardware.

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

[0298] Optionally, in this embodiment, the shortest routing path from the starting routing node to the final routing node can be calculated according to the connection relationship to obtain the initial routing path, but is not limited to the following method: when the connection relationship indicates that the starting routing node is directly connected to the final routing node, the shortest routing path is determined to be directly routed 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 connected to the final routing node in the target subnetwork 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.

[0299] Optionally, in this embodiment, when N is 3, the network node connected to the final routing node in the target subnetwork can be determined as the next hop in the following manner, but is not limited to: when 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 identifier of the starting routing node is XORed with 001 to obtain the identifier of the next hop; when 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 identifier of the starting routing node is XORed with 010 to obtain the identifier of the next hop; when the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, the identifier of the starting routing node is XORed with 011 to obtain the identifier of the next hop; wherein, 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

[0300] Optionally, in this embodiment, the connection relationship between the starting routing node and the final routing node may be determined by, but is not limited to, the following method: performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; the connection relationship is determined according to the calculation result.

[0301] Optionally, in this embodiment, when N is 3, the connection relationship can be determined according to the calculation result in the following manner but is 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 no direct connection between the starting routing node and the final routing node.

[0302] Optionally, in this embodiment, the shortest routing path from the starting routing node to the final routing node can be calculated based on the positional relationship between the starting routing node and the final routing node in the following manner, but is not limited to: calculating all shortest routing paths from the starting routing node to the final routing node to obtain an initial routing path; and screening a target routing path from the initial routing path based on the positional relationship.

[0303] Optionally, in this embodiment, the target routing path can be screened from the initial routing path according to the position relationship, and the target sending path for each hop in the shortest routing path is assigned to obtain the target routing path in the following manner, including: when the position 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 screened from the initial routing path as the target routing path.

[0304] Optionally, in this embodiment, the entire shortest routing path from the starting routing node to the final routing node can be calculated in the following manner, but is not limited to, to obtain the initial routing path: 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 that there is no 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.

[0305] Optionally, in this embodiment, when N is 3, the next hop can be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the operation result is split into two unique hot codes, where 2 N The identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; the identifier of the starting routing node is XORed with each of the two unique hot codes to obtain the identifiers of the two next hops, wherein the initial routing path includes two routing paths.

[0306] Optionally, in this embodiment, when N is 3, the next hop can be determined according to the identifier of the starting routing node and the identifier of the final routing node in the following manner, but is not limited to: when the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, where 2 NThe identifier of each network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; the identifier of the starting routing node is XORed with 100 and 011 respectively to obtain the identifiers of two next hops, wherein the initial routing path includes two routing paths.

[0307] In an optional example, at least two transmission paths are marked with a first label and a second label, respectively, and at least four transmission paths are marked with a first label, a second label, a third label, and a fourth label, respectively. The target transmission path of each hop in the initial routing path may be allocated according to the connection relationship in, but not limited to, the following manner: when the connection relationship indicates that the starting routing node is directly connected to the final routing node, determining the target transmission path to be the transmission path marked with the first label;

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

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

[0310] In an optional example, when N is 3, the second label, the third label or the fourth label can be assigned to the last hop in the initial routing path in the following manner, but is not limited to: when 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; when 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; when the result of the XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the fourth label.

[0311] Taking a three-dimensional hypercube internet with a double-layer triangular pyramid topology as an example, Fig. 22is a schematic diagram of a transmission path according to an embodiment of the present application, such as Fig. 22 As shown, in order to ensure that all transmission paths are unique and dedicated paths, the connection between the inner triangular pyramid and the outer triangular pyramid is doubled to at least 4 transmission paths and marked. The connection between the inner triangular pyramid and the outer triangular pyramid remains at least 2 transmission paths and marked.

[0312] In order to ensure that all transmission paths are unique and dedicated, the following routing rules are proposed in this embodiment:

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

[0314] Rule 2: If the result of the XOR operation of the source routing node S's identifier and the target routing node D's identifier is one of 100, 001, 010, and 011, indicating that there is a direct path between S and D, then routing is performed directly through the path "0" connecting S and D. For example: Fig.23 A target routing path according to an embodiment of the present application is shown in FIG. Figure 1 ,like Fig.23 As shown, S is 100, D is 101, and both S and D belong to the outer triangular pyramid. According to rule 2, the target routing path is 100 routed to 101 through path "0". Fig.24 A target routing path according to an embodiment of the present application is shown in FIG. Figure 2 ,like Fig.24 As shown, S is 000, D is 011, and both S and D belong to the inner triangular pyramid. According to rule 2, the target routing path is 000 and is routed to 011 through path "0". Fig.25 A target routing path according to an embodiment of the present application is shown in FIG. Figure 3 ,like Fig.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 routing path is 110 routed to 010 through 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 routing path is 001 routed to 101 through path "0".

[0315] If I is one of 101, 110, and 111, it means that the source routing node S needs 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, we have the following rules 3 and 4.

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

[0317] Step 1: S is routed in the outer triangular pyramid to the routing node connected to D in the outer triangular pyramid; the routing process uses path "1".

[0318] Step 2: Directly route to D through the connection link between the outer triangular pyramid and the inner triangular pyramid; if I is 101, the routing process uses path "1", if I is 110, the routing process uses path "2", and if I is 111, the routing process uses path "3". For example: Fig.26 A target routing path according to an embodiment of the present application is shown in FIG. Figure 4 ,like Fig.26 As shown, S is 100, D is 001, S belongs to the outer triangular pyramid, D belongs to the inner triangular pyramid, I is 110, and according to rule 3, its target routing path is 100 routed to 101 through path "1", and then routed to 001 through path "2".

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

[0320] Step 1: S is routed in the inner triangular pyramid to the routing node connected to D in the inner triangular pyramid; the routing process uses path "1".

[0321] Step 2: Directly route to D through the connection link between the inner triangular pyramid and the outer triangular pyramid; if I is 101, the routing process uses path "1", if I is 110, the routing process uses path "2", and if I is 111, the routing process uses path "3". For example: Fig. 27 A target routing path according to an embodiment of the present application is shown in FIG. Figure 5 ,like Fig. 27 As shown, S is 011, D is 100, S is the inner triangular pyramid, D is the outer triangular pyramid, I is 111, and according to rule 4, its target routing path is 011 routed to 000 through path "1", and then routed to 100 through path "3".

[0322] In an optional implementation, a routing algorithm is provided. For a routing request, the source routing node is denoted as S and the target routing node is denoted as D. The routing algorithm includes the following steps:

[0323] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I;

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

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

[0326] If I is one of 101, 110, and 111, it means that the source routing node S needs two hops to reach the target routing node D; proceed to the third step.

[0327] Step 3: Determine the routing path: Determine the routing path based on rules 2 and 3.

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

[0329] I=101=I1^I2=001^100

[0330] or

[0331] I=110=I1^I2=010^100

[0332] or

[0333] I=111=I1^I2=011^100.

[0334] Then I1 is first XORed with S to obtain the routing node S1 of the first step of routing, thus achieving the requirement of the first step of routing inside the triangular pyramid where S is located as stipulated in rules 3 or 4. S1 is XORed with I2 to obtain the routing node S2 of the second step of routing, that is, reaching the target routing node D; routing ends.

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

[0336] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I=100^010=110.

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

[0338] If I is one of 101, 110, and 111, it means that the source routing node S needs two hops to reach the target routing node D; proceed to the third step.

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

[0340] If I is 110, for the bits that are 1 in I, split I into two codes, I=110=I1^I2=010^100.

[0341] Then I1 is first XORed with S to obtain the routing node S1 of the first step of routing: S1=S^I1=100^010=110.

[0342] In this way, the first step specified in rule 3 is to route in the outer triangular pyramid where S is located; S1 and I2 are XORed to obtain the routing node S2 of the second step: S2 = S1^I2 = 110^100 = 010. That is, the target routing node D is reached; the routing ends. The target routing path is:

[0343]

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

[0345] Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I=011^100=111.

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

[0347] If I is one of 101, 110, and 111, it means that the source routing node S needs two hops to reach the target routing node D; proceed to the third step.

[0348] Step 3: Determine the routing path: Determine the routing path according to rules 2 and 3. I is 111, split I into two parts I = I1^I2 = 011^100. Then I1 is first XORed with S to obtain the routing node S1 of the first step of routing: S1 = S^I1 = 011^011 = 000. In this way, the requirement of rule 3 that the first step is to route from the inner triangular pyramid where S is located is achieved. S1 is XORed with I2 to obtain the routing node S2 of the second step of routing:

[0349] S2=S1^I2=000^100=100. That is, the target routing node D is reached. The target routing path is:

[0350]

[0351] All paths in the entire interconnection network are not only unique paths, but also dedicated paths. All paths are as follows, all paths are unique paths and dedicated paths.

[0352]

[0353]

[0354]

[0355] Optionally, in this embodiment, when N is 3, the multidimensional hypercube interconnection network can be configured in the following manners, but not limited to: dividing the multidimensional hypercube interconnection network into a first sub-network and a second sub-network; deploying 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 multidimensional hypercube interconnection network can be configured in the following manners, but not limited to: dividing the multidimensional hypercube interconnection 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.

[0356] In an optional example, the multidimensional hypercube interconnection network can be configured in the following manner, but is not limited to: each target network node is set to allow one-hop routing to other three target network nodes in the target subnetwork; each target network node is set to allow one-hop routing to a reference network node in the reference subnetwork that is connected to the target network node; each target network node is set to allow two-hop routing to a reference network node in the reference subnetwork that is not connected to the target network node.

[0357] Optionally, in this embodiment, the multidimensional hypercube interconnection network may be configured in the following manner, but is not limited to: N Each network node is assigned an N-bit binary number as an identifier, wherein the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

[0358] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0359] In this embodiment, a routing device for a multidimensional hypercube interconnection network is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0360] The device is applied to the above-mentioned multi-dimensional hypercube interconnection network, and the routing device is used to route from the target subnetwork to the target subnetwork or the reference subnetwork. Fig.28 is a structural block diagram of a routing device of a multi-dimensional hypercube interconnection network according to an embodiment of the present application, such as Fig.28 As shown, the device comprises:

[0361] 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;

[0362] A calculation module 2804 is used to calculate the shortest routing path from the starting routing node to the final routing node according to the connection relationship between the starting routing node and the final routing node, so as to obtain an initial routing path;

[0363] An allocation module 2806 is configured to allocate a target sending path for each hop in the initial routing path according to the connection relationship to obtain a target routing path;

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

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

[0366] The shortest routing path from the starting routing node to the final routing node is calculated according to the connection relationship to obtain an initial routing path.

[0367] In an optional example, the calculation module is used to: when the connection relationship indicates that the starting routing node is directly connected to the final routing node, determine that the shortest routing path is directly routed from the starting routing node to the final routing node;

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

[0369] In an optional example, the calculation module is used to: when N is 3, determining the network node in the target subnetwork connected to the final routing node as the next hop includes:

[0370] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, an XOR operation is performed between the identifier of the starting routing node and 001 to obtain an identifier of the next hop;

[0371] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, an XOR operation is performed between the identifier of the starting routing node and 010 to obtain an identifier of the next hop;

[0372] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, an XOR operation is performed between the identifier of the starting routing node and 011 to obtain an identifier of the next hop;

[0373] Among them, the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

[0374] 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 a calculation result, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit;

[0375] The connection relationship is determined according to the calculation result.

[0376] In an optional example, the calculation module is used to: when N is 3, determining the connection relationship according to the calculation result includes:

[0377] When the operation result is 001, 010, 100 or 011, determining that the connection relationship is a direct connection between the starting routing node and the final routing node;

[0378] When the operation result is 101, 110 or 111, it is determined that the connection relationship is that the start routing node and the final routing node are not directly connected.

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

[0380] The target routing path is screened from the initial routing path according to the position relationship.

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

[0382] In the case where the connection relationship is that there is no direct connection between the starting routing node and the final routing node, a routing path of a next-hop network node on the reference subnetwork is selected from the initial routing path as the target routing path.

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

[0384] In the case where the connection relationship is that there is no 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.

[0385] In an optional example, the calculation module is used to: when the calculation result obtained by performing an XOR operation on the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, split the calculation result into two unique hot codes, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit;

[0386] An exclusive OR operation is performed on the identifier of the starting routing node and each of the two one-hot codes to obtain identifiers of two next hops, wherein the initial routing path includes two routing paths.

[0387] In an optional example, the calculation module is used to: when the result of the XOR operation of 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 The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit;

[0388] The identifier of the starting routing node is subjected to an exclusive OR operation with 100 and 011 respectively to obtain identifiers of two next hops, wherein the initial routing path includes two routing paths.

[0389] In an optional example, the allocation module is used to: when the connection relationship indicates that the starting routing node is directly connected to the final routing node, determine that the target sending path is a sending path marked with the first label;

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

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

[0392] When a result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, determining that the target sending path of the last hop in the initial routing path is the sending path marked with the third label;

[0393] When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the fourth label.

[0394] In an optional example, the device is also used to: divide the multidimensional hypercube network multidimensional hypercube interconnected network into a first sub-network and a second sub-network; deploy the first sub-network and the second sub-network into 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.

[0395] In an optional example, the device is also used to: divide the multidimensional hypercube network multidimensional hypercube interconnection network into a first subnetwork and a second subnetwork; deploy the first subnetwork and the second subnetwork on the same plane; or deploy the first subnetwork and the second subnetwork on different planes.

[0396] In an optional example, the apparatus is further used to: set each of the target network nodes to allow one-hop routing to the other three target network nodes in the target subnetwork;

[0397] Setting each of the target network nodes to allow one-hop routing to the reference network node connected to the target network node in the reference subnetwork;

[0398] Each of the target network nodes 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.

[0399] In an optional example, the device is further used to: N An N-bit binary number is assigned to each network node as an identifier, wherein the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

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

[0401] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0402] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0403] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0404] In an 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.

[0405] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0406] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0407] The embodiments of the present application also provide a computer program, which 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 the processor executes the computer instructions, so that the computer device performs the steps of any one of the above method embodiments.

[0408] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0409] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0410] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A routing method for a multidimensional hypercube interconnection network, characterized in that: The multidimensional hypercube interconnection network includes 2 N network nodes, N is the dimension of the multi-dimensional hypercube interconnection network, and the multi-dimensional hypercube interconnection network is divided into 2 N-2 sub-networks, N is a positive integer greater than 2, and the 2 N-2 Each sub-network in the sub-networks as a target sub-network includes four target network nodes, each of which is connected to the other three target network nodes in the target sub-network. N-2 The four target network nodes in the target subnetwork are connected in sequence with the four reference network nodes included in the reference subnetwork in a one-to-one correspondence. The reference subnetwork is located in the two N-2 In the connection of the subnetworks, for the subnetworks adjacent to the target subnetwork, at least two transmission paths are deployed between the network nodes located in the same subnetwork, and at least four transmission paths are deployed between the network nodes connecting the 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: Acquire a starting routing node on the target subnetwork and a final routing node on the target subnetwork or the reference subnetwork; According to 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 an initial routing path; According to the connection relationship, a target sending path is allocated to each hop in the initial routing path to obtain a target routing path; and routing is performed from the starting routing node to the final routing node according to the target routing path.

2. The method according to claim 1, characterized in that: The step of calculating the shortest routing path from the starting routing node to the final routing node according to the connection relationship between the starting routing node and the final routing node to obtain the initial routing path includes: Detecting 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 according to the connection relationship to obtain an initial routing path.

3. The method according to claim 2, characterized in that The calculating the shortest routing path from the starting routing node to the final routing node according to the connection relationship to obtain an initial routing path includes: In a case where the connection relationship indicates that the starting routing node is directly connected to the final routing node, determining that the shortest routing path is 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, a network node in the target subnetwork connected to the final routing node is determined as a next hop; and the final routing node is determined as a last hop, wherein the shortest routing path includes: a next hop and a last hop.

4. The method according to claim 3, characterized in that When N is 3, determining the network node in the target subnetwork connected to the final routing node as the next hop includes: When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, an XOR operation is performed between the identifier of the starting routing node and 001 to obtain an identifier of the next hop; When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, an XOR operation is performed between the identifier of the starting routing node and 010 to obtain an identifier of the next hop; When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, an XOR operation is performed between the identifier of the starting routing node and 011 to obtain an identifier of the next hop; Among them, the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

5. The method according to claim 2, characterized in that: The determining the connection relationship between the starting routing node and the final routing node includes: Perform an XOR operation on the identifier of the starting routing node and the identifier of the final routing node to obtain an operation result, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; The connection relationship is determined according to the calculation result.

6. The method according to claim 5, characterized in that When N is 3, determining the connection relationship according to the calculation result includes: When the operation result is 001, 010, 100 or 011, determining that the connection relationship is a direct connection between the starting routing node and the final routing node; When the operation result is 101, 110 or 111, it is determined that the connection relationship is that the start routing node and the final routing node are not directly connected.

7. The method according to claim 1, characterized in that The calculating the shortest routing path from the starting routing node to the final routing node according to the positional relationship between the starting routing node and the final routing node comprises: Calculating all shortest routing paths from the starting routing node to the final routing node to obtain an initial routing path; The target routing path is screened from the initial routing path according to the position relationship.

8. The method according to claim 7, characterized in that The step of screening the target routing path from the initial routing path according to the position relationship and allocating a target sending path for each hop in the shortest routing path to obtain the target routing path includes: In a case where the positional relationship is a direct connection between the starting routing node and the final routing node, determining the initial routing path as the target routing path; In the case where the connection relationship is that there is no direct connection between the starting routing node and the final routing node, a routing path of a next-hop network node on the reference subnetwork is selected from the initial routing path as the target routing path.

9. The method according to claim 7, characterized in that: The calculating of all shortest routing paths from the starting routing node to the final routing node to obtain an initial routing path includes: In the case where the connection relationship is a direct connection between the starting routing node and the final routing node, determining that the initial routing path is a direct route to the final routing node; In the case where the connection relationship is that there is no 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.

10. The method according to claim 9, characterized in that When N is 3, determining the next hop according to the identifier of the starting routing node and the identifier of the final routing node includes: When the result of the XOR operation of the identifier of the starting routing node and the identifier of the final routing node is 101 or 110, the result of the operation is split into two one-hot encodings, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; An exclusive OR operation is performed on the identifier of the starting routing node and each of the two one-hot codes to obtain identifiers of two next hops, wherein the initial routing path includes two routing paths.

11. The method according to claim 9, characterized in that When N is 3, determining the next hop according to the identifier of the starting routing node and the identifier of the final routing node includes: When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, 111 is split into 100 and 011, wherein the 2 N The identifier of a network node is an N-bit binary number, the highest bit of the identifiers of the network nodes on the same sub-network is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit; The identifier of the starting routing node is subjected to an exclusive OR operation with 100 and 011 respectively to obtain identifiers of two next hops, wherein the initial routing path includes two routing paths.

12. The method according to claim 1, characterized in that The at least two transmission paths are marked as a first label and a second label, respectively, the at least four transmission paths are marked as a first label, a second label, a third label, and a fourth label, respectively, and the target transmission path of each hop in the initial routing path is allocated according to the connection relationship, including: In a case where the connection relationship indicates that the starting routing node is directly connected to the final routing node, determining that the target sending path is a sending path marked with the first label; When the positional relationship indicates that the starting routing node and the final routing node are not directly connected, determine that the target sending path of the next hop in the initial routing path is the sending path marked with the second label; and assign the second label, the third label or the fourth label to the last hop in the initial routing path.

13. The method according to claim 12, characterized in that When N is 3, allocating the second label, the third label, or the fourth label to the last hop in the initial routing path includes: When a result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 101, determining that the target sending path of the last hop in the initial routing path is the sending path marked with the second label; When a result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 110, determining that the target sending path of the last hop in the initial routing path is the sending path marked with the third label; When the result of an XOR operation between the identifier of the starting routing node and the identifier of the final routing node is 111, the target sending path of the last hop in the initial routing path is determined to be the sending path marked with the fourth label.

14. The method according to claim 1, characterized in that In the case where N is 3, the method further includes: dividing the multidimensional hypercube interconnection network into a first sub-network and a second sub-network; deploying the first sub-network and the second sub-network into 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 interconnection network into a first subnetwork and a second subnetwork; deploying the first subnetwork and the second subnetwork on the same plane; or, deploying the first subnetwork and the second subnetwork on different planes.

15. The method according to claim 1, characterized in that The method further comprises: Setting each of the target network nodes to allow one-hop routing to the other three target network nodes in the target subnetwork; Setting each of the target network nodes 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 the reference network node in the reference subnetwork that is not connected to the target network node.

16. The method according to claim 1, characterized in that The method further comprises: For the 2 N An N-bit binary number is assigned to each network node as an identifier, wherein the highest bit of the identifiers of the network nodes on the same subnetwork is the same, the identifier of the target network node is the same as the lowest two bits of the identifier of the directly connected reference network node, and the identifier of the target network node is different from the identifier of the directly connected reference network node by only one bit.

17. A routing device for a multi-dimensional hypercube interconnection network, characterized in that: The multidimensional hypercube interconnection network includes 2 N network nodes, N is the dimension of the multi-dimensional hypercube interconnection network, and the multi-dimensional hypercube interconnection network is divided into 2 N-2 sub-networks, N is a positive integer greater than 2, and the 2 N-2 Each sub-network in the sub-networks as a target sub-network includes four target network nodes, each of which is connected to the other three target network nodes in the target sub-network. N-2 The four target network nodes in the target subnetwork are connected in sequence with the four reference network nodes included in the reference subnetwork in a one-to-one correspondence. The reference subnetwork is located in the two N-2 In the connection of the subnetworks, for the subnetworks adjacent to the target subnetwork, at least two transmission paths are deployed between the network nodes located in the same subnetwork, and at least four transmission paths are deployed between the network nodes connecting the two subnetworks; The routing device is used for routing from the target sub-network to the target sub-network or the reference sub-network, and the device includes: An acquisition module, used to acquire a starting routing node on the target subnetwork and a final routing node on the target subnetwork or the reference subnetwork; A calculation module, configured to calculate the shortest routing path from the starting routing node to the final routing node according to the connection relationship between the starting routing node and the final routing node, so as to obtain an initial routing path; An allocation module, configured to allocate a target sending path for each hop in the initial routing path according to the connection relationship to obtain a target routing path; A routing module is used to route from the starting routing node to the final routing node according to the target routing path.

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

19. 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, the steps of the method described in any one of claims 1 to 16 are implemented.

20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 16 are implemented.

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

  • Data packet transmission method and system, storage medium and electronic device

    CN117155851A

  • Routing method and device of dual-path three-dimensional hypercube network, equipment and medium

    CN117811996A

  • Fault-tolerant, highly-scalable cell switching architecture

    US6741552B1