Topological Structure, Routing Method and Device of Interconnection Network

By dividing the interconnection network into a multi-layer node collection matrix and adopting the shortest routing path planning, the problem of communication delay in the interconnection network is solved, and more efficient information transmission is achieved.

CN119945968BActive Publication Date: 2025-07-18SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510424897.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-07
Publication Date
2025-07-18
Estimated Expiration
2045-04-07

AI Technical Summary

Technical Problem

The network communication delay in existing interconnected networks is large, affecting the efficiency of information transmission.

Method used

The interconnected network is divided into Q network layers, each network layer is a node set matrix of N rows and P columns. The node set includes the first network node, the second network node and the third network node that are connected to each other. The three network nodes respectively connect to three adjacent node sets of different dimensions, and adopt the shortest routing path planning method.

Benefits of technology

Under the same network scale, network communication delay is reduced, network diameter is reduced, and information transmission efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119945968B_ABST
    Figure CN119945968B_ABST
Patent Text Reader

Abstract

The present application provides a topological structure, a routing method and a device for an interconnection network. The interconnection network includes N×P×Q node sets, and the interconnection network is divided into Q network layers; each network layer serves as a target network layer, which is a node set matrix of N rows and P columns. In the target network layer, each target node set is connected to adjacent node sets adjacent in the same row and the same column; the Q network layers are arranged in sequence, and the target node set is connected to a reference node set at the same position in the adjacent network layer; each node set includes a first network node, a second network node and a third network node that are interconnected. The first network node is connected to adjacent node sets in the same row, the second network node is connected to adjacent node sets in the same column, and the third network node is connected to the reference node set. Through the present application, the problem of relatively large network communication delay of the interconnection network is solved, and the effect of reducing the network communication delay 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 field of computers, and more specifically, to a topology structure, a routing method, and a device of an interconnection network. Background Art

[0002] The interconnection network is the key to constructing a high-performance large-scale parallel processing system. Its design goal is to connect a certain number of functional nodes together to form a cost-effective large-scale parallel system reliably and efficiently at the lowest possible cost. In the current interconnection network, a grid method is used to construct the topology structure. However, with the continuous expansion of the network scale requirements, the network diameter of the topology structure used in the current grid network will become larger and larger, resulting in a large increase in network communication latency and seriously affecting the transmission efficiency of information between nodes.

[0003] Regarding the problem of large network communication latency in the interconnection network in the related art, no effective solution has been proposed yet. Summary of the Invention

[0004] The embodiments of the present application provide a topology structure, a routing method, and a device of an interconnection network to at least solve the problem of large network communication latency in the interconnection network in the related art.

[0005] According to an embodiment of the present application, a topology structure of an interconnection network is provided, including:

[0006] The interconnection network includes N×P×Q node sets, and the interconnection network is divided into Q network layers, where N, P, and Q are all positive integers greater than or equal to 2;

[0007] Each of the Q network layers serves as a target network layer, which is a node set matrix of N rows and P columns. Each target node set in the target network layer is connected to adjacent node sets adjacent in the same row and the same column;

[0008] The Q network layers are arranged in sequence. The target node set is connected to a reference node set at the same position in an adjacent network layer, and the adjacent network layer is the network layer adjacent to the target network layer among the Q network layers;

[0009] Each node set includes a first network node, a second network node, and a third network node that are connected to each other. The first network node is also connected to adjacent node sets in the same row, the second network node is also connected to adjacent node sets in the same column, and the third network node is also connected to the reference node set.

[0010] As an optional implementation manner, in the topology structure, each node set has a set identifier;

[0011] The node identifier of each network node includes a set identifier field and a network identifier field. Among them, the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set to which each network node is connected.

[0012] As an optional implementation manner, in the topological structure, the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located.

[0013] As an optional implementation manner, in the topological structure, the network identifier field of the first network node is 0, the network identifier field of the second network node is 1, and the network identifier field of the third network node is 2.

[0014] As an optional implementation manner, in the topological structure, N = P = Q.

[0015] According to another embodiment of the present application, a routing method for an interconnection network is provided, which is applied to the above topological structure. The routing method includes:

[0016] According to the row relationship between the start routing node and the end routing node, generate the shortest routing path from the start routing node to the same-row routing node to obtain the first routing path. Among them, the row relationship is used to indicate the row distance between the start row where the start node set where the start routing node is located is located in the start network layer and the end row where the end node set where the end routing node is located is located in the end network layer. The same-row node set where the same-row routing node is located is located in the end row in the start network layer;

[0017] According to the column relationship between the same-row routing node and the end routing node, generate the shortest routing path from the same-row routing node to the same-column routing node to obtain the second routing path. Among them, the column relationship is used to indicate the column distance between the current column where the same-row node set is located in the start network layer and the end column where the end node set is located in the end network layer. The same-column node set where the same-column routing node is located is located in the end row and the end column in the start network layer;

[0018] Generate a shortest routing path from the co-column routing node to the final routing node according to the layer relationship between the co-column routing node and the final routing node, to obtain a third routing path, where the layer relationship is used to indicate the layer distance between the starting network layer and the final network layer, and the target routing path includes: the first routing path, the second routing path, and the third routing path;

[0019] Route from the starting routing node to the final routing node according to the target routing path.

[0020] As an optional implementation manner, the generating a shortest routing path from the starting routing node to the co-row routing node according to the row relationship between the starting routing node and the final routing node, to obtain a first routing path, includes:

[0021] Obtain the starting node identifier of the starting routing node and the final node identifier of the final routing node;

[0022] Detect the row relationship between the starting routing node and the final routing node according to the starting node identifier and the final node identifier;

[0023] Generate a shortest routing path from the starting routing node to the co-row routing node according to the row relationship, to obtain the first routing path.

[0024] As an optional implementation manner, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located;

[0025] The detecting the row relationship between the starting routing node and the final routing node according to the starting node identifier and the final node identifier includes:

[0026] Detect whether the starting row identifier in the starting node identifier is equal to the final row identifier in the final node identifier;

[0027] In the case where the starting row identifier and the final row identifier are not equal, determine that the row relationship is a different row relationship;

[0028] When the start line identifier is equal to the end line identifier, determine that the line relationship is the same line relationship;

[0029] Generating the shortest routing path from the start routing node to the peer routing node according to the line relationship to obtain the first routing path includes:

[0030] When the line relationship is a different line relationship, generate the shortest routing path from the start routing node to the peer routing node according to the network identifier field of the start routing node to obtain the first routing path;

[0031] When the line relationship is the same line relationship, determine that the first routing path is empty.

[0032] As an optional implementation manner, generating the shortest routing path from the peer routing node to the same column routing node according to the column relationship between the peer routing node and the end routing node to obtain the second routing path includes:

[0033] Obtain the peer node identifier of the peer routing node and the end node identifier of the end routing node;

[0034] Detect the column relationship between the peer routing node and the end routing node according to the peer node identifier and the end node identifier;

[0035] Generate the shortest routing path from the peer routing node to the same column routing node according to the column relationship to obtain the second routing path.

[0036] As an optional implementation manner, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located;

[0037] Detecting the column relationship between the peer routing node and the end routing node according to the peer node identifier and the end node identifier includes:

[0038] Detect whether the peer column identifier in the peer node identifier is equal to the end column identifier in the end node identifier;

[0039] In the case where the same row and column identifier and the final column identifier are not equal, determine that the column relationship is a different column relationship;

[0040] In the case where the same row and column identifier and the final column identifier are equal, determine that the column relationship is the same column relationship;

[0041] The generating, according to the column relationship, the shortest routing path from the same row routing node to the same column routing node to obtain the second routing path includes:

[0042] In the case where the column relationship is a different column relationship, generate the shortest routing path from the same row routing node to the same column routing node according to the network identifier field of the same row routing node to obtain the second routing path;

[0043] In the case where the column relationship is the same column relationship, determine that the second routing path is empty.

[0044] As an optional implementation manner, the generating, according to the layer relationship between the same column routing node and the final routing node, the shortest routing path from the same column routing node to the final routing node to obtain the third routing path includes:

[0045] Obtain the same column node identifier of the same column routing node and the final node identifier of the final routing node;

[0046] Detect the layer relationship between the same column routing node and the final routing node according to the same column node identifier and the final node identifier;

[0047] Generate the shortest routing path from the same column routing node to the final routing node according to the layer relationship to obtain the third routing path.

[0048] As an optional implementation manner, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located;

[0049] The detecting the layer relationship between the same column routing node and the final routing node according to the same column node identifier and the final node identifier includes:

[0050] Check whether the same - column layer identifier in the same - column node identifier is equal to the final layer identifier in the final node identifier;

[0051] In the case where the same - column layer identifier and the final layer identifier are not equal, determine that the layer relationship is a different - layer relationship;

[0052] In the case where the same - column layer identifier and the final layer identifier are equal, determine that the layer relationship is a same - layer relationship;

[0053] The generating, according to the layer relationship, the shortest routing path from the same - column routing node to the final routing node to obtain the third routing path includes:

[0054] In the case where the layer relationship is a different - layer relationship, generate the shortest routing path from the same - column routing node to the final routing node according to the network identifier field of the same - column routing node to obtain the third routing path;

[0055] In the case where the layer relationship is a same - layer relationship, determine that the third routing path is empty.

[0056] According to another embodiment of the present application, there is also provided a method for constructing an interconnection network, which is applied to the above - mentioned topological structure. The construction method includes:

[0057] Construct N×P×Q node sets, where each node set includes interconnected first network nodes, second network nodes, and third network nodes, and N, P, and Q are all positive integers greater than or equal to 2;

[0058] Construct a three - dimensional network of N×P×Q, where the three - dimensional network includes N×P×Q initial nodes, the three - dimensional network is divided into Q network layers, each network layer is an initial node matrix of N rows and P columns as the target network layer, and each initial node in the target network layer is connected to adjacent nodes in the same row and the same column;

[0059] Use the N×P×Q node sets to replace the N×P×Q initial nodes in the three - dimensional network and establish connections between the node sets to obtain an interconnection network, where the first network node in each node set is connected to adjacent node sets in the same row, the second network node in each node set is connected to adjacent node sets in the same column, and the third network node in each node set is connected to the reference node set.

[0060] As an optional implementation manner, after using the N×P×Q node sets to replace the N×P×Q initial nodes in the three - dimensional network and establishing connections between the node sets to obtain an interconnection network, the method further includes:

[0061] Encode a set identifier for each node set, where the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located;

[0062] Encode a node identifier for each network node, where the node identifier includes a set identifier field and a network identifier field. The set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set to which each network node is connected.

[0063] As an optional implementation manner, encoding the node identifier for each network node includes:

[0064] Encode the network identifier field of the first network node in each node set as 0, encode the network identifier field of the second network node in each node set as 1, and encode the network identifier field of the third network node in each node set as 2.

[0065] According to another embodiment of the present application, a routing device for an interconnected network is provided, which is applied to the above topological structure. The routing device includes:

[0066] A first generation module, configured to generate a shortest routing path from the starting routing node to the same-row routing node according to the row relationship between the starting routing node and the final routing node, to obtain a first routing path, where the row relationship is used to indicate the row distance between the starting row where the starting node set where the starting routing node is located is located in the starting network layer and the final row where the final node set where the final routing node is located is located in the final network layer, and the same-row node set where the same-row routing node is located is located in the final row in the starting network layer;

[0067] A second generation module, configured to generate a shortest routing path from the same-row routing node to the same-column routing node according to the column relationship between the same-row routing node and the final routing node, to obtain a second routing path, where the column relationship is used to indicate the column distance between the current column where the same-row node set is located in the starting network layer and the final column where the final node set is located in the final network layer, and the same-column node set where the same-column routing node is located is located in the final row and the final column in the starting network layer;

[0068] A third generation module, configured to generate a shortest routing path from the same-column routing node to the final routing node according to the layer relationship between the same-column routing node and the final routing node, so as to obtain a third routing path, where the layer relationship is used to indicate the layer distance between the starting network layer and the final network layer, and the target routing path includes: the first routing path, the second routing path, and the third routing path;

[0069] A routing module, configured to route from the starting routing node to the final routing node according to the target routing path.

[0070] According to another embodiment of the present application, there is provided a construction device for an interconnection network, which is applied to the above topological structure. The construction device includes:

[0071] A first construction module, configured to construct a set of N×P×Q nodes, where each set of nodes includes interconnected first network nodes, second network nodes, and third network nodes, and N, P, and Q are all positive integers greater than or equal to 2;

[0072] A second construction module, configured to construct a three-dimensional network of N×P×Q, where the three-dimensional network includes N×P×Q initial nodes, the three-dimensional network is divided into Q network layers, and each network layer is an initial node matrix of N rows and P columns as the target network layer, and each initial node in the target network layer is connected to adjacent nodes in the same row and the same column;

[0073] A replacement module, configured to use the set of N×P×Q nodes to replace the N×P×Q initial nodes in the three-dimensional network, and establish connections between the sets of nodes to obtain an interconnection network, where the first network nodes in each set of nodes are connected to adjacent sets of nodes in the same row, the second network nodes in each set of nodes are connected to adjacent sets of nodes in the same column, and the third network nodes in each set of nodes are connected to the reference set of nodes.

[0074] According to another embodiment of the present application, there is also provided a computer-readable storage medium, in which a computer program is stored, where the computer program is configured to execute the steps in any one of the above method embodiments when running.

[0075] According to another embodiment of the present application, there is also provided an electronic device, including a memory and a processor, where 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.

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

[0077] Through the present application, the interconnected network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix of N rows and P columns. Each node set includes interconnected first network nodes, second network nodes, and third network nodes. The three types of network nodes are respectively connected to adjacent node sets adjacent in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-shaped topological structure. Therefore, the technical problem of large network communication delay in the interconnected network can be solved, and the technical effect of reducing the network communication delay of the interconnected network can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] Figure 1 is a structural block diagram of a topological structure of an interconnected network according to an embodiment of the present application;

[0079] Figure 2 is a schematic diagram of network node identifiers in a topological structure of an interconnected network according to an embodiment of the present application;

[0080] Figure 3 is a flowchart of a routing method for an interconnected network according to an embodiment of the present application Figure 1 ;

[0081] Figure 4 is a flowchart of a routing method for an interconnected network according to an embodiment of the present application Figure 2 ;

[0082] Figure 5 is a flowchart of a construction method for an interconnected network according to an embodiment of the present application;

[0083] Figure 6 is a schematic diagram of a construction process of an interconnected network according to an embodiment of the present application;

[0084] Figure 7 is a schematic diagram of an encoding method for an interconnected network according to an embodiment of the present application;

[0085] Figure 8 is a structural block diagram of a routing device for an interconnected network according to an embodiment of the present application;

[0086] Figure 9 is a structural block diagram of a construction device for an interconnected network according to an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

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

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

[0089] In this embodiment, a topological structure of an interconnection network is provided. Figure 1 It is a structural block diagram of a topological structure of an interconnection network according to an embodiment of this application. As Figure 1 shown, the interconnection network includes N×P×Q node sets. The interconnection network is divided into Q network layers, where N, P, and Q are all positive integers greater than or equal to 2; each of the Q network layers serves as a target network layer, which is a node set matrix of N rows and P columns. Each target node set in the target network layer is connected to adjacent node sets adjacent in the same row and the same column; the Q network layers are arranged in sequence, and the target node set is connected to a reference node set at the same position in the adjacent network layer. The adjacent network layer is the network layer adjacent to the target network layer among the Q network layers; each node set includes a first network node, a second network node, and a third network node that are interconnected. The first network node is also connected to adjacent node sets in the same row, the second network node is also connected to adjacent node sets in the same column, and the third network node is also connected to the reference node set.

[0090] Through the above topological structure, the interconnection network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix of N rows and P columns. Each node set includes a first network node, a second network node, and a third network node that are interconnected. The three network nodes are respectively connected to adjacent node sets adjacent in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-shaped topological structure. Therefore, the technical problem of large network communication delay in the interconnection network can be solved, and the technical effect of reducing the network communication delay of the interconnection network can be achieved.

[0091] Optionally, in this embodiment, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field. Among them, the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node.

[0092] Optionally, in this embodiment, the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located.

[0093] Optionally, in this embodiment, the network identification field of the first network node is 0, the network identification field of the second network node is 1, and the network identification field of the third network node is 2.

[0094] Optionally, in this embodiment, N = P = Q. In this case, the interconnection network includes a set of N×N×N nodes. The interconnection network has 3×N×N×N routing nodes. The out-degree and in-degree of each routing node are 4. The maximum out-degree and in-degree of the routing nodes are 4. The network diameter is N + N + (N - 1).

[0095] Taking the set of 3×3×3 nodes as an example, Figure 2 is a schematic diagram of network node identification in a topological structure of an interconnection network according to an embodiment of the present application, as Figure 2 shown. Each node set and network node have corresponding identifications. The network node identification is , and are connected to the network nodes of.

[0096] Optionally, in this embodiment, the topological structure of the above interconnection network can be, but is not limited to, a combination of an interconnection network of three nodes and a three-dimensional grid network. Comparing the topological structure of the above interconnection network with two-dimensional and three-dimensional grid networks, as shown in Table 1, it can be seen that for three networks with the same scale of network nodes, the topological structure of the above interconnection network has a small network diameter, reducing the communication delay of the network. The out-degree and in-degree of the network nodes are small, which is more conducive to layout and wiring.

[0097] Table 1 Comparison of the topological structure of the above interconnection network with two-dimensional and three-dimensional grid (Mesh) networks

[0098]

[0099] In this embodiment, a routing method for an interconnection network is further provided, which is applied to the above topological structure. Figure 3 is a flowchart of a routing method for an interconnection network according to an embodiment of the present application. Figure 1 , as Figure 3 shown. The process includes the following steps:

[0100] Step S302, generate a shortest routing path from the starting routing node to the peer routing node in the same row according to the row relationship between the starting routing node and the final routing node, to obtain a first routing path, where the row relationship is used to indicate the row distance between the starting row where the starting node set where the starting routing node is located is located in the starting network layer and the final row where the final node set where the final routing node is located is located in the final network layer. The peer node set where the peer routing node is located is located in the final row in the starting network layer;

[0101] Step S304: Generate the shortest routing path from the peer routing node to the co-column routing node according to the column relationship between the peer routing node and the final routing node, so as to obtain the second routing path. The column relationship is used to indicate the column distance between the current column where the peer node set is located in the starting network layer and the final column where the final node set is located in the final network layer. The co-column node set where the co-column routing node is located is in the final row and the final column in the starting network layer;

[0102] Step S306: Generate the shortest routing path from the co-column routing node to the final routing node according to the layer relationship between the co-column routing node and the final routing node, so as to obtain the third routing path. The layer relationship is used to indicate the layer distance between the starting network layer and the final network layer. The target routing path includes: the first routing path, the second routing path, and the third routing path;

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

[0104] Through the above steps, the interconnected network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix with N rows and P columns. Each node set includes the first network node, the second network node, and the third network node that are interconnected. The three types of network nodes are respectively connected to the adjacent node sets adjacent in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-like topological structure, and a routing planning method in the interconnected network is provided. Therefore, the technical problem of large network communication delay in the interconnected network can be solved, and the technical effect of reducing the network communication delay in the interconnected network can be achieved.

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

[0106] In an optional example, in the above step S302, the shortest routing path from the starting routing node to the peer routing node can be generated according to the row relationship between the starting routing node and the final routing node in the following ways but is not limited to these ways, so as to obtain the first routing path: Obtain the starting node identifier of the starting routing node and the final node identifier of the final routing node; Detect the row relationship between the starting routing node and the final routing node according to the starting node identifier and the final node identifier; Generate the shortest routing path from the starting routing node to the peer routing node according to the row relationship, so as to obtain the first routing path.

[0107] Optionally, in this embodiment, the row relationship between routing nodes can be but is not limited to indicating whether the routing nodes are in the same row, or the row distance between the rows where the routing nodes are located, etc.

[0108] Optionally, in this embodiment, the routing manner between routing nodes may, but is not limited to, include first routing in the dimension of rows until reaching the starting routing node and the final routing node, regardless of whether they are in the same column or the same layer, but in the same row.

[0109] Optionally, in this embodiment, under the encoding manner of the above network nodes, it can be understood that routing is first performed in the x dimension.

[0110] Optionally, in this embodiment, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field. Among them, the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; the row relationship between the starting routing node and the final routing node can be detected according to the starting node identifier and the final node identifier in the following ways, but is not limited to these: detecting whether the starting row identifier in the starting node identifier is equal to the final row identifier in the final node identifier; in the case where the starting row identifier and the final row identifier are not equal, determining that the row relationship is a different row relationship; in the case where the starting row identifier and the final row identifier are equal, determining that the row relationship is the same row relationship; the shortest routing path from the starting routing node to the same row routing node can be generated according to the row relationship in the following ways, but is not limited to these, to obtain the first routing path: in the case where the row relationship is a different row relationship, generating the shortest routing path from the starting routing node to the same row routing node according to the network identifier field of the starting routing node, to obtain the first routing path; in the case where the row relationship is the same row relationship, determining that the first routing path is empty.

[0111] In an optional example, the shortest routing path from the same row routing node to the same column routing node can be generated according to the column relationship between the same row routing node and the final routing node in the following ways, but is not limited to these, to obtain the second routing path: obtaining the same row node identifier of the same row routing node and the final node identifier of the final routing node; detecting the column relationship between the same row routing node and the final routing node according to the same row node identifier and the final node identifier; generating the shortest routing path from the same row routing node to the same column routing node according to the column relationship, to obtain the second routing path.

[0112] Optionally, in this embodiment, the column relationship between routing nodes may, but is not limited to, indicate whether the routing nodes are in the same column, or the column distance between the columns where the routing nodes are located, etc.

[0113] Optionally, in this embodiment, the routing method between routing nodes may but is not limited to first routing in the row dimension until reaching the starting routing node and the final routing node, regardless of whether they are in the same column or the same layer but in the same row. Then route in the column dimension until reaching the starting routing node and the final routing node, regardless of whether they are in the same layer but in the same row and column.

[0114] Optionally, in this embodiment, under the encoding method of the above network nodes, it can be understood that routing is first performed in the x dimension and then in the y dimension.

[0115] Optionally, in this embodiment, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field. Among them, the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; the column relationship between the peer routing node and the final routing node can be detected but is not limited to by the following method: detecting whether the peer column identifier in the peer node identifier is equal to the final column identifier in the final node identifier; in the case where the peer column identifier and the final column identifier are not equal, determining that the column relationship is a different column relationship; in the case where the peer column identifier and the final column identifier are equal, determining that the column relationship is the same column relationship;

[0116] The shortest routing path from the peer routing node to the same column routing node can be generated but is not limited to by the following method according to the column relationship to obtain the second routing path: in the case where the column relationship is a different column relationship, generating the shortest routing path from the peer routing node to the same column routing node according to the network identifier field of the peer routing node to obtain the second routing path; in the case where the column relationship is the same column relationship, determining that the second routing path is empty.

[0117] In an optional example, the shortest routing path from the same column routing node to the final routing node can be generated but is not limited to by the following method to obtain the third routing path: obtaining the same column node identifier of the same column routing node and the final node identifier of the final routing node; detecting the layer relationship between the same column routing node and the final routing node according to the same column node identifier and the final node identifier; generating the shortest routing path from the same column routing node to the final routing node according to the layer relationship to obtain the third routing path.

[0118] Optionally, in this embodiment, the layer relationship between routing nodes may, but is not limited to, indicating whether the routing nodes are on the same layer, or the layer distance between the layers where the routing nodes are located, and so on.

[0119] Optionally, in this embodiment, the routing method between routing nodes may, but is not limited to, include first routing in the row dimension until the start routing node and the final routing node are in the same row regardless of whether they are in the same column or the same layer. Then route in the column dimension until the start routing node and the final routing node are in the same row and column regardless of whether they are in the same layer. Finally, route to the final routing node in the layer dimension.

[0120] Optionally, in this embodiment, under the encoding method of the above network nodes, it can be understood that routing is first performed in the x dimension. Then route in the y dimension. Finally, route in the z dimension.

[0121] Optionally, in this embodiment, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; the layer relationship between the same-column routing node and the final routing node can be detected according to the same-column node identifier and the final node identifier in the following ways, but is not limited to these: detect whether the same-column layer identifier in the same-column node identifier is equal to the final layer identifier in the final node identifier; when the same-column layer identifier and the final layer identifier are not equal, determine that the layer relationship is a different-layer relationship; when the same-column layer identifier and the final layer identifier are equal, determine that the layer relationship is the same-layer relationship;

[0122] The shortest routing path from the same-column routing node to the final routing node can be generated according to the layer relationship in the following ways, but is not limited to these, to obtain the third routing path: when the layer relationship is a different-layer relationship, generate the shortest routing path from the same-column routing node to the final routing node according to the network identifier field of the same-column routing node, to obtain the third routing path; when the layer relationship is the same-layer relationship, determine that the third routing path is empty.

[0123] In an alternative embodiment, a routing method applied to the topology of the above interconnection network is provided. Assume that the source routing node is the above start routing node , and the destination routing node is the above final routing node , the routing method may include, but is not limited to, the following steps:

[0124] The first step: Determine and are equal: If , enter the second step; if , enter the third step.

[0125] The second step: , routing needs to be performed in the X direction: Determine is 0. If it is , then route within the node set to the node numbered 0, and then route in the X direction: If , then route in the positive X direction until ; if , then route in the negative X direction until . If it is , then directly route in the X direction and then enter the third step.

[0126] The third step: At this time , routing in the X direction is no longer required. Update the routing node where the data packet is located at this time to the source routing node. Determine and are equal: If , enter the fourth step; if , enter the fifth step.

[0127] The fourth step: , routing needs to be performed in the Y direction: Determine is 1. If , then route within the node set to the node numbered 1, and then route in the Y direction: If , then route in the positive Y direction until ; if , then route in the negative Y direction until . If , then directly route in the Y direction and enter the fifth step.

[0128] The fifth step: At this time , routing in the X and Y directions is no longer required. Update the routing node where the data packet is located at this time to the source routing node. Determine and are equal: If , enter the sixth step; if , enter the seventh step.

[0129] The sixth step: , routing needs to be performed in the Z direction: Judge whether it is 2. If , then route inside the node set to the node numbered 2, and then route in the Z direction: If , then route in the positive Z direction until ; If , then route in the negative Z direction until . If , then directly route in the Y direction and enter the seventh step.

[0130] Seventh step: At this time , there is no need to route in the X, Y, and Z directions anymore. Update the routing node where the data packet is located at this time to the source routing node. Judge whether it is equal to . If , the routing ends; if , then route inside the node set, from route to , and the routing ends.

[0131] For example: Assume the source routing node , and the destination routing node , then the routing process is as follows:

[0132] First step: Judge and whether they are equal: , enter the second step.

[0133] Second step: , routing needs to be performed in the X direction: Judge whether it is 0. , then route inside the triangle to the node numbered 0, and the routing process: , and then route in the X direction: , then route in the negative X direction until . The routing process: , enter the third step.

[0134] Third step: At this time , there is no need to route in the X direction anymore. Update the routing node where the data packet is located at this time to the source routing node, that is, at this time . Judge and whether they are equal: , enter the fourth step.

[0135] Fourth step: , routing needs to be performed in the Y direction: Judge If it is 1, , then route inside the triangle to the node numbered 1. Routing process: , and then route in the Y direction: , then route in the positive Y direction until , routing process: , enter the fifth step.

[0136] Fifth step: At this time , there is no need to route in the X and Y directions anymore. Update the routing node where the data packet is located at this time to the source routing node, that is, at this time . Judge and whether they are equal: , enter the sixth step.

[0137] Sixth step: , it is necessary to route in the Z direction: Judge whether it is 2, , then route inside the triangle to the node numbered 2. Routing process: , and then route in the Z direction: , then route in the positive Z direction until , routing process: , enter the seventh step.

[0138] Seventh step: At this time , there is no need to route in the X, Y, and Z directions anymore. Update the routing node where the data packet is located at this time to the source routing node, that is, at this time . Judge whether it is equal to , if , then route inside the triangle, from route to , routing process: , routing ends.

[0139] For an N×N two-dimensional Mesh network, its network diameter is 2×(N - 1). For an N×N×N three-dimensional Mesh network, its network diameter is 3×(N - 1). It can be seen that as the number of routing nodes increases, whether it is a two-dimensional Mesh or a three-dimensional Mesh, the network diameter will become larger and larger, resulting in an increase in network communication delay, thus limiting the application of the network. As a result, both two-dimensional Mesh and three-dimensional Mesh can only be applied in network environments with a small scale. The above network structure of three nodes combined with the topological structure of a three-dimensional Mesh network has the advantages of a small network diameter, simple structure, simple routing algorithm easy to implement, and good scalability. And as the scale of routing nodes increases, the advantage of a small network diameter becomes more obvious. Moreover, the maximum values of the out-degree and in-degree of routing nodes are 4, which is less than 6 of the three-dimensional Mesh, facilitating the layout and wiring of the backend.

[0140] In this embodiment, a routing method for an interconnection network is also provided, which is applied to the topological structure of the above interconnection network. Figure 4 It is a flowchart of a routing method for an interconnection network according to an embodiment of the present application. Figure 2 As Figure 4 shown, this process includes the following steps:

[0141] Step S402, obtain the starting routing node and the final routing node;

[0142] Step S404, on the intermediate dimension of the set of adjacent nodes connected to the starting routing node relative to the starting node set where the starting routing node is located, generate the shortest routing path from the starting routing node to the intermediate routing node to obtain the intermediate routing path. Among them, the intermediate node set where the intermediate routing node is located and the final node set where the final routing node is located belong to the same intermediate dimension. The dimensions of the node set include: row dimension, column dimension, and layer dimension;

[0143] Step S406, according to the type relationship between the node type of the final routing node in the final node set and the node type of the starting routing node in the starting node set, generate the shortest routing path from the intermediate routing node to the reference routing node to obtain the reference routing path. Among them, the reference routing node and the final routing node belong to at least the same intermediate dimension and reference dimension;

[0144] Step S408, generate the shortest routing path from the reference routing node to the final routing node to obtain the final routing path. Among them, the target routing path includes: the intermediate routing path, the reference routing path, and the final routing path;

[0145] Step S410, route from the starting routing node to the final routing node according to the target routing path.

[0146] Through the above steps, the interconnection network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix with N rows and P columns. Each node set includes interconnected first network nodes, second network nodes, and third network nodes. The three types of network nodes are respectively connected to adjacent node sets adjacent in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-like topological structure, and a routing planning method in the interconnection network is provided. According to the actual situations of the routing start point and the routing end point, the sequence of routing between each dimension is planned, so as to avoid detours. Therefore, the technical problem of large transmission delay in the network caused by the routing method of the interconnection network can be solved, and the technical effect of reducing the transmission delay in the network caused by the routing method of the interconnection network can be achieved.

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

[0148] In an optional example, in the above step S404, the shortest routing path from the starting routing node to the intermediate routing node can be generated but is not limited to the following manner on the intermediate dimension of the adjacent node set connected to the starting routing node relative to the starting node set where the starting routing node is located, to obtain the intermediate routing path: Determine the intermediate dimension of the adjacent node set connected to the starting routing node relative to the starting node set where the starting routing node is located; Generate the shortest routing path from the starting routing node to the intermediate routing node on the intermediate dimension, to obtain the intermediate routing path.

[0149] Optionally, in this embodiment, the dimensions of the node set include three dimensions: row dimension, column dimension, and layer dimension. The routing order of each dimension during the routing process is determined according to the situations and relative relationships of the starting routing node and the final routing node, so as to find a routing path with less delay.

[0150] Optionally, in this embodiment, the intermediate dimension of the adjacent node set connected to the starting routing node relative to the starting node set where the starting routing node is located can be determined but is not limited to the following manner: When the starting routing node is the first network node in the starting node set where the starting routing node is located, determine the intermediate dimension as the row dimension; When the starting routing node is the second network node in the starting node set where the starting routing node is located, determine the intermediate dimension as the column dimension; When the starting routing node is the third network node in the starting node set where the starting routing node is located, determine the intermediate dimension as the layer dimension.

[0151] Optionally, in this embodiment, the corresponding starting routing dimension is determined according to the connection function of the starting routing node in the starting node set where it is located. For example: If the connection function of the starting routing node in the starting node set where it is located is used to connect adjacent node sets in the same row, then the starting routing dimension (i.e., the middle dimension) is the row dimension. If the connection function of the starting routing node in the starting node set where it is located is used to connect adjacent node sets in the same column, then the starting routing dimension (i.e., the middle dimension) is the column dimension. If the connection function of the starting routing node in the starting node set where it is located is used to connect adjacent node sets in the same layer, then the starting routing dimension (i.e., the middle dimension) is the layer dimension.

[0152] Optionally, in this embodiment, the shortest routing path from the starting routing node to the intermediate routing node can be, but is not limited to, generated in the middle dimension in the following manner to obtain the intermediate routing path: When the dimension of the starting routing node in the starting node set where it is located in the middle dimension is the same as the dimension of the final routing node in the final node set where it is located in the middle dimension, it is determined that the intermediate routing path is empty; When the dimension of the starting routing node in the starting node set where it is located in the middle dimension is different from the dimension of the final routing node in the final node set where it is located in the middle dimension, and the middle dimension is the row dimension, the shortest routing path from the starting routing node to the intermediate routing node is generated to obtain the intermediate routing path, where the intermediate routing node is the first network node in the intermediate node set whose row number is the same as the row number of the final node set where the final routing node is located; When the dimension of the starting routing node in the starting node set where it is located in the middle dimension is different from the dimension of the final routing node in the final node set where it is located in the middle dimension, and the middle dimension is the column dimension, the shortest routing path from the starting routing node to the intermediate routing node is generated to obtain the intermediate routing path, where the intermediate routing node is the second network node in the intermediate node set whose column number is the same as the column number of the final node set where the final routing node is located; When the dimension of the starting routing node in the starting node set where it is located in the middle dimension is different from the dimension of the final routing node in the final node set where it is located in the middle dimension, and the middle dimension is the layer dimension, the shortest routing path from the starting routing node to the intermediate routing node is generated to obtain the intermediate routing path, where the intermediate routing node is the third network node in the intermediate node set whose layer number is the same as the layer number of the final node set where the final routing node is located.

[0153] Optionally, in this embodiment, it is possible but not limited to generate the shortest routing path from the intermediate routing node to the reference routing node based on the type relationship between the node type of the final routing node in the final node set and the node type of the starting routing node in the starting node set, and obtain the reference routing path in the following manner: Detect the type relationship between the node type of the final routing node in the final node set and the node type of the starting routing node in the starting node set; in the case where the type relationship is that the node type of the final routing node in the final node set is the same as the node type of the starting routing node in the starting node set, randomly select a reference dimension from other dimensions except the intermediate dimension in the dimension of the node set; on the reference dimension, generate the shortest routing path from the intermediate routing node to the reference routing node to obtain the reference routing path; in the case where the type relationship is that the node type of the final routing node in the final node set is different from the node type of the starting routing node in the starting node set, determine the dimension corresponding to the node type of the final routing node in the final node set as the reference dimension; on the reference dimension, generate the shortest routing path from the intermediate routing node to the reference routing node to obtain the reference routing path.

[0154] Optionally, in this embodiment, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; it is possible but not limited to detect the type relationship between the node type of the final routing node in the final node set and the node type of the starting routing node in the starting node set in the following manner: Detect whether the network identifier field of the final routing node is equal to the network identifier field of the starting routing node; in the case where the network identifier field of the final routing node is equal to the network identifier field of the starting routing node, determine that the type relationship is that the node type of the final routing node in the final node set is the same as the node type of the starting routing node in the starting node set; in the case where the network identifier field of the final routing node is not equal to the network identifier field of the starting routing node, determine that the type relationship is that the node type of the final routing node in the final node set is different from the node type of the starting routing node in the starting node set.

[0155] Optionally, in this embodiment, the reference dimension may be randomly selected from dimensions other than the intermediate dimension among the dimensions of the node set in, but not limited to, the following manner: when the intermediate dimension is the row dimension, the reference dimension is randomly selected from the column dimension and the layer dimension; when the intermediate dimension is the column dimension, the reference dimension is randomly selected from the row dimension and the layer dimension; when the intermediate dimension is the layer dimension, the reference dimension is randomly selected from the row dimension and the column dimension.

[0156] Optionally, in this embodiment, the dimension corresponding to the node type of the final routing node in the final node set may be determined as the reference dimension in, but not limited to, the following manner: when the node type of the final routing node in the final node set is the first network node, the reference dimension is determined as the row dimension; when the node type of the final routing node in the final node set is the second network node, the reference dimension is determined as the column dimension; when the node type of the final routing node in the final node set is the third network node, the reference dimension is determined as the layer dimension.

[0157] Optionally, in this embodiment, the shortest routing path from the reference routing node to the final routing node may be generated in, but not limited to, the following manner to obtain the final routing path: the dimension other than the intermediate dimension and the reference dimension in the dimensions of the node set is determined as the final dimension; the shortest routing path from the reference routing node to the final routing node is generated on the final dimension to obtain the final routing path.

[0158] Optionally, in this embodiment, the dimension other than the intermediate dimension and the reference dimension in the dimensions of the node set may be determined as the final dimension in, but not limited to, the following manner: when the intermediate dimension is the column dimension and the reference dimension is the layer dimension, or when the intermediate dimension is the layer dimension and the reference dimension is the column dimension, the final dimension is determined as the row dimension; when the intermediate dimension is the row dimension and the reference dimension is the layer dimension, or when the intermediate dimension is the layer dimension and the reference dimension is the row dimension, the final dimension is determined as the column dimension; when the intermediate dimension is the row dimension and the reference dimension is the column dimension, or when the intermediate dimension is the column dimension and the reference dimension is the row dimension, the final dimension is determined as the layer dimension.

[0159] Optionally, in this embodiment, the shortest routing path from the reference routing node to the final routing node may be generated on the final dimension in, but not limited to, the following manner to obtain the final routing path: the first segment of the path from the reference routing node to the final node set where the final routing node is located is generated on the final dimension; the second segment of the path to the final routing node is generated within the final node set, where the final routing path includes the first segment of the path and the second segment of the path.

[0160] For a network structure of three network nodes out of N×N×N×3 network nodes and a network topology combined with a three-dimensional Mesh, the network diameter is N+N+N, that is, the maximum value of the shortest distance between any two routing nodes in the network is N+N+N. If the routing method of first dimension X, then dimension Y, and finally dimension Z is used, the maximum value of the routing path between any two routing nodes in the network is N+N+(N+1). That is, the routing path between any two routing nodes in the network is greater than the shortest distance between the two routing nodes, which means that if the routing method of first dimension X, then dimension Y, and finally dimension Z is used, there is a detour in the routing path between the routing nodes, resulting in an increase in the transmission delay of data in the network and not giving full play to the advantages of the above network structure. Therefore, the above routing method that follows the shortest distance routing is proposed. Using this routing method can make the maximum value of the routing path between any two routing nodes in the network be N+N+N, that is, equal to the network diameter. Thus, the detour phenomenon is avoided and the network transmission delay is reduced.

[0161] In an alternative embodiment, assume the source routing node , the destination routing node , and the node where the data packet is currently located during the routing process . To ensure that all routing requests can be routed following the shortest distance, the routing rules are as follows:

[0162] Rule 1: When choosing to route along any one of the X, Y, or Z dimensions, all routing in that dimension needs to be completed. Assume that the Y direction is chosen for routing, then it is necessary to route to the routing node of .

[0163] Rule 2: Check the value of in : If , then route along the X direction first until routing to the routing node of in the X direction; if , then route along the Y direction first until routing to the routing node of in the Y direction; if , then route along the Z direction first until routing to the routing node of in the Z direction.

[0164] Rule 3: Check the value of in : If

[0165] : In the case of , then give priority to completing the YZ direction routing and finally route along the X direction; that is, in the YZ direction, and and , then start routing along the X direction. In In this case, routing is preferentially along the XZ direction and finally along the Y direction; that is, on the XZ direction and , then routing is along the Y direction. In this case, routing is preferentially along the XY direction and finally along the Z direction; that is, on the XY direction and , then routing is along the Z direction.

[0166] If , on the premise of following Rule 2, the routing of the other two directions can be arranged arbitrarily.

[0167] The routing process proposed according to the above rules is as follows:

[0168] The first step: Let , check the value of among them. , then enter the second step; , then enter the third step; , then enter the fourth step.

[0169] The second step: At this time , routing is preferentially along the X direction: If at this time , then there is no need to route in the X direction and directly enter the fifth step; If at this time , then routing in the X direction is required: If , then route in the positive X direction until ; If , then route in the negative X direction until , and enter the fifth step.

[0170] The third step: At this time , routing is preferentially along the Y direction: If at this time , then there is no need to route in the Y direction and directly enter the sixth step; If at this time , then routing in the Y direction is required: If , then route in the positive Y direction until ; If , then route in the negative Y direction until , and enter the sixth step.

[0171] The fourth step: At this time , routing is preferentially along the Z direction: If at this time , then there is no need to route in the Z direction and directly enter the seventh step; If at this time , then routing in the Z direction is required: If , then route in the positive Z direction until ; If , route in the negative Z direction until , and enter the seventh step.

[0172] Step 5: At this time , there is no need to route in the X direction anymore. Check the value of in and judge whether is equal to :

[0173] If , route inside the triangle and the routing ends. If :

[0174] If , then judge whether is equal to , and whether is equal to . If , then select routing method one; if , then select routing method two; if , then you can choose arbitrarily between routing method one and routing method two:

[0175] Routing method one: , and then enter the fourth step.

[0176] Routing method two: , and then enter the third step.

[0177] If , then the routing in the Z direction needs to be completed first. If , then select routing method one; if , then select routing method two.

[0178] If , then the routing in the Y direction needs to be completed first. If , then select routing method one; if , then select routing method two.

[0179] Step 6: At this time , there is no need to route in the Y direction anymore. Check the value of in and judge whether is equal to : If , route inside the triangle and the routing ends.

[0180] If : If , then judge whether is equal to Whether they are equal, and whether they are equal. If , then select routing method three; if , then select routing method four; if then you can randomly select between routing method three and routing method four:

[0181] Routing method three: , and then enter the fourth step.

[0182] Routing method four: , and then enter the second step.

[0183] If , then it is necessary to give priority to completing the routing in the Z direction. If , then select routing method three; if , then select routing method four.

[0184] If , then it is necessary to give priority to completing the routing in the X direction. If , then select routing method three; if , then select routing method four.

[0185] The seventh step: At this time , there is no need to perform routing in the Z direction. Check the value in and judge and whether they are equal: If perform routing inside the triangle, and the routing ends.

[0186] If : If , then judge and whether they are equal, and whether they are equal. If , then select routing method five; if , then select routing method six; if then you can randomly select between routing method three and routing method four:

[0187] Routing method five: , and then enter the third step.

[0188] Routing method six: , and then enter the second step.

[0189] If , then it is necessary to give priority to completing the routing in the Y direction. If , then select routing method five; if , then select routing method six.

[0190] , then it is necessary to prioritize the routing in the X direction. If , then select routing method five; if , then select routing method six.

[0191] For example: Assume the source routing node , the destination routing node , the routing method is as follows:

[0192] The first step: Let , check the value of . , then enter the second step.

[0193] The second step: At this time , then prioritize routing along the X direction: At this time , then it is necessary to route in the X direction: If , then route in the positive X direction until ; The routing process is , at this time , and then enter the fifth step.

[0194] The fifth step: At this time , there is no need to route in the X direction anymore. : , then judge and whether they are equal, and whether they are equal. , then select routing method two.

[0195] Routing method two: , , and then enter the third step.

[0196] The third step: At this time , at this time , then it is necessary to route in the Y direction: , then route in the positive Y direction until : , , and then enter the sixth step.

[0197] The sixth step: At this time , there is no need to route in the Y direction anymore. Check the value of in : Judge and whether they are equal: If , route inside the triangle. The routing process is as follows: , the routing ends.

[0198] For another example: Suppose the source routing node , the destination routing node , the routing process is as follows:

[0199] Step 1: Let , check the value of . If , then go to Step 4.

[0200] Step 4: At this time , if , then route along the Z direction preferentially: At this time , then it is necessary to route in the Z direction: , then route in the positive Z direction until . Go to Step 7.

[0201] Step 7: At this time , it is no longer necessary to route in the Z direction. Check the value of and judge whether is equal to and : :

[0202] . , then it is necessary to complete the routing in the X direction preferentially and select Routing Method 6.

[0203] Routing Method 6: , then go to Step 2.

[0204] Step 2: At this time , route along the X direction preferentially: At this time , then it is necessary to route in the X direction: If , route in the negative X direction until . . , go to Step 5.

[0205] Step 5: At this time , it is no longer necessary to route in the X direction. Check the value of and judge whether is equal to and : :

[0206] If , it is necessary to prioritize the routing in the Z direction, , then select routing method two.

[0207] Routing method two: , and then enter the third step.

[0208] The third step: At this time , prioritize routing along the Y direction: At this time , it is necessary to perform routing in the Y direction: If , route in the positive Y direction until , routing method , enter the sixth step.

[0209] The sixth step: At this time , there is no need to perform routing in the Y direction anymore. Check the in value and judge and whether they are equal: and , the routing ends.

[0210] In this embodiment, a method for constructing an interconnection network is also provided, which is applied to constructing the above topological structure. Figure 5 is a flowchart of a method for constructing an interconnection network according to an embodiment of the present application, as Figure 5 shown, and this process includes the following steps:

[0211] Step S502, construct N×P×Q node sets, where each node set includes a first network node, a second network node, and a third network node that are interconnected, and N, P, and Q are all positive integers greater than or equal to 2;

[0212] Step S504, construct a three-dimensional network of N×P×Q, where the three-dimensional network includes N×P×Q initial nodes, the three-dimensional network is divided into Q network layers, each network layer is an initial node matrix of N rows and P columns as the target network layer, and each initial node in the target network layer is connected to the adjacent nodes in the same row and the same column;

[0213] Step S506, use N×P×Q node sets to replace the N×P×Q initial nodes in the three-dimensional network, and establish connections between the node sets to obtain an interconnection network, where the first network node in each node set is connected to the adjacent node sets in the same row, the second network node in each node set is connected to the adjacent node sets in the same column, and the third network node in each node set is connected to the reference node set.

[0214] Through the above steps, the constructed interconnection network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix with N rows and P columns. Each node set includes interconnected first network nodes, second network nodes, and third network nodes. The three types of network nodes are respectively connected to adjacent node sets adjacent in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-shaped topological structure. Therefore, the technical problem of large network communication delay in the interconnection network can be solved, and the technical effect of reducing the network communication delay of the interconnection network can be achieved.

[0215] In an optional example, after the above step S506, each network node can be encoded in the following ways but not limited to: encoding a set identifier for each node set, where the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; encoding a node identifier for each network node, where the node identifier includes a set identifier field and a network identifier field. The set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node.

[0216] In an optional example, each network node can be encoded with a node identifier in the following ways but not limited to: encoding the network identifier field of the first network node in each node set as 0, encoding the network identifier field of the second network node in each node set as 1, and encoding the network identifier field of the third network node in each node set as 2.

[0217] Figure 6 is a schematic diagram of the construction process of an interconnection network according to an embodiment of the present application. As Figure 6 shown, taking a 4×4×4 three-dimensional Mesh network as an example, the construction process of the interconnection network is as follows:

[0218] The first step: Construct a topological structure in which 4×4×4 three network nodes are connected according to the connection method of the three network nodes.

[0219] The second step: Construct a 4×4×4 three-dimensional Mesh network according to the structure of the grid network.

[0220] The second step: Replace all the nodes of the 4×4×4 three-dimensional Mesh network topological structure with the topological structure in which 4×4×4 three network nodes are connected.

[0221] The encoding method for each network node in the above constructed interconnection network is as follows:

[0222] Step 1: Encode each triangle according to the encoding method of the 3D Mesh network. Establish a three-dimensional rectangular coordinate system, and represent each node set with three-dimensional space coordinates. Figure 7 It is a schematic diagram of the encoding method of an interconnection network according to an embodiment of the present application. As Figure 7 shown, the encoding of the network structure of each node set in a 2×2×2 three-dimensional Mesh network is given.

[0223] Step 2: Encode each routing node. Number each routing node as , where the value of ; represents the three-dimensional space coordinates of the node set to which the routing node belongs; represents that the node is located in and is connected to and nodes; represents that the node is located in and is connected to and nodes; represents that the node is located in and is connected to and nodes.

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

[0225] In this embodiment, a routing device for an interconnection network and a construction device for an interconnection network are further provided. The above devices are applied to the topological structure of the above interconnection network. The above devices are used to implement the above embodiments and preferred implementation manners, and those that have been described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that can achieve a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0226] Figure 8It is a structural block diagram of a routing device of an interconnection network according to an embodiment of the present application. As Figure 8 shown, the routing device includes:

[0227] A first generation module 802, configured to generate a shortest routing path from the starting routing node to the peer routing node in the same row according to the row relationship between the starting routing node and the final routing node, to obtain a first routing path, where the row relationship is used to indicate the row distance between the starting row where the starting node set where the starting routing node is located in the starting network layer and the final row where the final node set where the final routing node is located in the final network layer, and the peer node set where the peer routing node is located is in the final row in the starting network layer;

[0228] A second generation module 804, configured to generate a shortest routing path from the peer routing node to the co-column routing node according to the column relationship between the peer routing node and the final routing node, to obtain a second routing path, where the column relationship is used to indicate the column distance between the current column where the peer node set is located in the starting network layer and the final column where the final node set is located in the final network layer, and the co-column node set where the co-column routing node is located is in the final row and the final column in the starting network layer;

[0229] A third generation module 806, configured to generate a shortest routing path from the co-column routing node to the final routing node according to the layer relationship between the co-column routing node and the final routing node, to obtain a third routing path, where the layer relationship is used to indicate the layer distance between the starting network layer and the final network layer, and the target routing path includes: the first routing path, the second routing path, and the third routing path;

[0230] A routing module 808, configured to route from the starting routing node to the final routing node according to the target routing path.

[0231] Through the above steps, the interconnection network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix of N rows and P columns. Each node set includes interconnected first network nodes, second network nodes, and third network nodes. The three types of network nodes are respectively connected to adjacent node sets adjacent in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-shaped topological structure, and a routing planning method in the interconnection network is provided. Therefore, the technical problem of large network communication delay in the interconnection network can be solved, and the technical effect of reducing the network communication delay in the interconnection network can be achieved.

[0232] As an alternative implementation, the routing device is further configured to: obtain the start node identifier of the start routing node and the end node identifier of the end routing node;

[0233] Detect the row relationship between the start routing node and the end routing node according to the start node identifier and the end node identifier;

[0234] Generate the shortest routing path from the start routing node to the same-row routing node according to the row relationship to obtain the first routing path.

[0235] As an alternative implementation, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; the routing device is further configured to:

[0236] Detect whether the start row identifier in the start node identifier is equal to the end row identifier in the end node identifier;

[0237] In the case where the start row identifier and the end row identifier are not equal, determine that the row relationship is a different-row relationship;

[0238] In the case where the start row identifier and the end row identifier are equal, determine that the row relationship is a same-row relationship.

[0239] Optionally, the routing device is further configured to:

[0240] In the case where the row relationship is a different-row relationship, generate the shortest routing path from the start routing node to the same-row routing node according to the network identifier field of the start routing node to obtain the first routing path;

[0241] In the case where the row relationship is a same-row relationship, determine that the first routing path is empty.

[0242] As an alternative implementation, the routing device is further configured to:

[0243] Obtain the same-row node identifier of the same-row routing node and the end node identifier of the end routing node;

[0244] Detect the column relationship between the peer routing node and the final routing node according to the peer node identifier and the final node identifier;

[0245] Generate a shortest routing path from the peer routing node to the co-column routing node according to the column relationship, and obtain the second routing path.

[0246] As an optional implementation manner, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; the routing device is further configured to:

[0247] Detect whether the peer column identifier in the peer node identifier is equal to the final column identifier in the final node identifier;

[0248] In the case where the peer column identifier and the final column identifier are not equal, determine that the column relationship is a different column relationship;

[0249] In the case where the peer column identifier and the final column identifier are equal, determine that the column relationship is a co-column relationship.

[0250] Optionally, the routing device is further configured to:

[0251] In the case where the column relationship is a different column relationship, generate a shortest routing path from the peer routing node to the co-column routing node according to the network identifier field of the peer routing node, and obtain the second routing path;

[0252] In the case where the column relationship is a co-column relationship, determine that the second routing path is empty.

[0253] As an optional implementation manner, the routing device is further configured to:

[0254] Obtain the co-column node identifier of the co-column routing node and the final node identifier of the final routing node;

[0255] Detect the layer relationship between the co-column routing node and the final routing node according to the co-column node identifier and the final node identifier;

[0256] Generate the shortest routing path from the co-column routing node to the final routing node according to the layer relationship, and obtain the third routing path.

[0257] As an optional implementation, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; the routing device is further configured to:

[0258] Detect whether the co-column layer identifier in the co-column node identifier is equal to the final layer identifier in the final node identifier;

[0259] In the case where the co-column layer identifier and the final layer identifier are not equal, determine that the layer relationship is a different layer relationship;

[0260] In the case where the co-column layer identifier and the final layer identifier are equal, determine that the layer relationship is the same layer relationship.

[0261] Optionally, the routing device is further configured to:

[0262] In the case where the layer relationship is a different layer relationship, generate the shortest routing path from the co-column routing node to the final routing node according to the network identifier field of the co-column routing node, and obtain the third routing path;

[0263] In the case where the layer relationship is the same layer relationship, determine that the third routing path is empty.

[0264] Figure 9 It is a structural block diagram of a construction device for an interconnection network according to an embodiment of the present application, as Figure 9 shown. The construction device includes:

[0265] A first construction module 902, configured to construct N×P×Q node sets, where each node set includes interconnected first network nodes, second network nodes, and third network nodes, and N, P, and Q are all positive integers greater than or equal to 2;

[0266] A second construction module 904 for constructing a three-dimensional network of N×P×Q, where the three-dimensional network includes N×P×Q initial nodes, the three-dimensional network is divided into Q network layers, and each network layer is an initial node matrix of N rows and P columns as a target network layer. Each initial node in the target network layer is connected to adjacent nodes in the same row and the same column;

[0267] A replacement module 906 for replacing the N×P×Q initial nodes in the three-dimensional network with the N×P×Q node sets and establishing connections between the node sets to obtain an interconnected network, where the first network nodes in each node set are connected to adjacent node sets in the same row, the second network nodes in each node set are connected to adjacent node sets in the same column, and the third network nodes in each node set are connected to the reference node set.

[0268] Through the above steps, the constructed interconnected network is divided into network layers. The nodes in the network layer are constructed in the form of a node set matrix of N rows and P columns. Each node set includes interconnected first network nodes, second network nodes, and third network nodes. The three types of network nodes are respectively connected to adjacent node sets in three different dimensions. Under the same network scale, the network diameter of this topological structure is much smaller than that of the grid-shaped topological structure. Therefore, the technical problem of large network communication delay in the interconnected network can be solved, and the technical effect of reducing the network communication delay of the interconnected network can be achieved.

[0269] As an optional implementation manner, after using the N×P×Q node sets to replace the N×P×Q initial nodes in the three-dimensional network and establishing connections between the node sets to obtain an interconnected network, the construction device is further configured to:

[0270] Encode a set identifier for each node set, where the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located;

[0271] Encode a node identifier for each network node, where the node identifier includes a set identifier field and a network identifier field. The set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node.

[0272] As an alternative embodiment, the building device is further configured to: encode the network identification field of the first network node in each node set as 0, encode the network identification field of the second network node in each node set as 1, and encode the network identification field of the third network node in each node set as 2.

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

[0274] The embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored. Wherein, the computer program is configured to execute the steps in any one of the above method embodiments when running.

[0275] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: USB flash drive, read-only memory (ROM for short), random access memory (RAM for short), mobile hard disk, magnetic disk or optical disc and other various media that can store computer programs.

[0276] The embodiment of the present application also provides an electronic device, including a memory and a processor. 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.

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

[0278] The embodiment of the present application also provides a computer program product. The above computer program product includes a computer program, and the steps in any one of the above method embodiments are implemented when the computer program is executed by a processor.

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

[0280] Embodiments of the present application further 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, causing the computer device to execute the steps in any one of the above method embodiments.

[0281] Specific examples in this embodiment may refer to the examples described in the above embodiments and exemplary embodiments, and will not be elaborated here.

[0282] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general-purpose 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 program codes executable by the computing device. Thus, 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 than here, or they can be separately fabricated into individual integrated circuit modules, or multiple modules or steps among them can be fabricated into a single integrated circuit module to implement. In this way, the present application is not limited to any specific combination of hardware and software.

[0283] The above are only the preferred embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the principle of the present application shall be included in the protection scope of the present application.

Claims

1. A topological structure of an interconnection network, characterized in that: Comprising: The interconnection network includes N×P×Q node sets, and the interconnection network is divided into Q network layers, where N, P, and Q are all positive integers greater than or equal to 2; Each of the Q network layers serves as a target network layer, which is a node set matrix of N rows and P columns. Each target node set in the target network layer is connected to adjacent node sets adjacent to it in the same row and the same column; The Q network layers are arranged in sequence. The target node set is connected to a reference node set at the same position in an adjacent network layer, and the adjacent network layer is the network layer adjacent to the target network layer among the Q network layers; Each node set includes interconnected first network nodes, second network nodes, and third network nodes. The first network node is also connected to adjacent node sets in the same row, the second network node is also connected to adjacent node sets in the same column, and the third network node is also connected to the reference node set; Among them, each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field. Among them, the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node.

2. The topological structure according to claim 1, characterized in that: The set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located.

3. The topological structure according to claim 1, characterized in that: The network identifier field of the first network node is 0, the network identifier field of the second network node is 1, and the network identifier field of the third network node is 2.

4. The topological structure according to claim 1, wherein N = P = Q.

5. A routing method for an interconnection network, characterized in that: Applied to the topological structure described in any one of claims 1 to 4, the routing method includes: According to the row relationship between the starting routing node and the final routing node, generate the shortest routing path from the starting routing node to the same-row routing node to obtain the first routing path, where the row relationship is used to indicate the row distance between the starting row where the starting node set where the starting routing node is located is located in the starting network layer and the final row where the final node set where the final routing node is located is located in the final network layer. The same-row node set where the same-row routing node is located is located in the final row in the starting network layer; Generate a shortest routing path from the peer routing node to the same-column routing node according to the column relationship between the peer routing node and the final routing node, to obtain a second routing path, where the column relationship is used to indicate the column distance between the current column where the peer node set is located in the starting network layer and the final column where the final node set is located in the final network layer, and the same-column node set where the same-column routing node is located is in the final row and the final column in the starting network layer; Generate a shortest routing path from the same-column routing node to the final routing node according to the layer relationship between the same-column routing node and the final routing node, to obtain a third routing path, where the layer relationship is used to indicate the layer distance between the starting network layer and the final network layer, and the target routing path includes: the first routing path, the second routing path, and the third routing path; Route from the starting routing node to the final routing node according to the target routing path.

6. The method according to claim 5, wherein The generating a shortest routing path from the starting routing node to the peer routing node according to the row relationship between the starting routing node and the final routing node, to obtain a first routing path, includes: Obtain the starting node identifier of the starting routing node and the final node identifier of the final routing node; Detect the row relationship between the starting routing node and the final routing node according to the starting node identifier and the final node identifier; Generate a shortest routing path from the starting routing node to the peer routing node according to the row relationship, to obtain the first routing path.

7. The method according to claim 6, wherein Each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, where the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; The detecting the row relationship between the starting routing node and the final routing node according to the starting node identifier and the final node identifier includes: Detect whether the starting row identifier in the starting node identifier is equal to the final row identifier in the final node identifier; In the case where the starting row identifier and the final row identifier are not equal, determine the row relationship as a different-row relationship; In the case where the starting row identifier and the final row identifier are equal, determine the row relationship as a peer relationship; The generating a shortest routing path from the starting routing node to the peer routing node according to the row relationship, to obtain the first routing path, includes: In the case where the row relationship is different row relationships, generate the shortest routing path from the starting routing node to the peer routing node according to the network identification field of the starting routing node to obtain the first routing path; In the case where the row relationship is a peer relationship, determine that the first routing path is empty.

8. The method according to claim 5, wherein The generating the shortest routing path from the peer routing node to the same-column routing node according to the column relationship between the peer routing node and the final routing node to obtain the second routing path includes: Obtain the peer node identifier of the peer routing node and the final node identifier of the final routing node; Detect the column relationship between the peer routing node and the final routing node according to the peer node identifier and the final node identifier; Generate the shortest routing path from the peer routing node to the same-column routing node according to the column relationship to obtain the second routing path.

9. The method according to claim 8, wherein Each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, wherein the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; The detecting the column relationship between the peer routing node and the final routing node according to the peer node identifier and the final node identifier includes: Detect whether the peer column identifier in the peer node identifier is equal to the final column identifier in the final node identifier; In the case where the peer column identifier and the final column identifier are not equal, determine that the column relationship is a different column relationship; In the case where the peer column identifier and the final column identifier are equal, determine that the column relationship is a same-column relationship; The generating the shortest routing path from the peer routing node to the same-column routing node according to the column relationship to obtain the second routing path includes: In the case where the column relationship is a different column relationship, generate the shortest routing path from the peer routing node to the same-column routing node according to the network identification field of the peer routing node to obtain the second routing path; In the case where the column relationship is a same-column relationship, determine that the second routing path is empty.

10. The method according to claim 5, wherein The generating the shortest routing path from the same-column routing node to the final routing node according to the layer relationship between the same-column routing node and the final routing node to obtain the third routing path includes: Obtain the same-column node identifier of the same-column routing node and the final node identifier of the final routing node; Detect the layer relationship between the in-column routing node and the final routing node according to the in-column node identifier and the final node identifier; Generate the shortest routing path from the in-column routing node to the final routing node according to the layer relationship, and obtain the third routing path.

11. The method according to claim 10, wherein Each node set has a set identifier; the node identifier of each network node includes a set identifier field and a network identifier field, wherein the set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node; the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier, the row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; The detecting the layer relationship between the in-column routing node and the final routing node according to the in-column node identifier and the final node identifier includes: Detect whether the in-column layer identifier in the in-column node identifier is equal to the final layer identifier in the final node identifier; In the case where the in-column layer identifier and the final layer identifier are not equal, determine that the layer relationship is a different layer relationship; In the case where the in-column layer identifier and the final layer identifier are equal, determine that the layer relationship is the same layer relationship; The generating the shortest routing path from the in-column routing node to the final routing node according to the layer relationship and obtaining the third routing path includes: In the case where the layer relationship is a different layer relationship, generate the shortest routing path from the in-column routing node to the final routing node according to the network identifier field of the in-column routing node, and obtain the third routing path; In the case where the layer relationship is the same layer relationship, determine that the third routing path is empty.

12. A method for constructing an interconnected network, wherein Applied to the topological structure according to any one of claims 1 to 4, the construction method includes: Construct N×P×Q node sets, where each node set includes a first network node, a second network node, and a third network node that are interconnected, and N, P, and Q are all positive integers greater than or equal to 2; Construct a three-dimensional network of N×P×Q, where the three-dimensional network includes N×P×Q initial nodes, the three-dimensional network is divided into Q network layers, each network layer is an initial node matrix of N rows and P columns as the target network layer, and each initial node in the target network layer is connected to the adjacent nodes in the same row and the same column; Replace the N×P×Q initial nodes in the three-dimensional network with the N×P×Q node sets, and establish connections between the node sets to obtain an interconnected network, where the first network nodes in each node set are connected to adjacent node sets in the same row, the second network nodes in each node set are connected to adjacent node sets in the same column, and the third network nodes in each node set are connected to the reference node set.

13. The method according to claim 12, wherein After replacing the N×P×Q initial nodes in the three-dimensional network with the N×P×Q node sets and establishing connections between the node sets to obtain an interconnected network, the method further includes: Encoding a set identifier for each node set, where the set identifier of each node set includes a row identifier, a column identifier, and a layer identifier. The row identifier is used to identify the row where each node set is located in the node set matrix, the column identifier is used to identify the column where each node set is located in the node set matrix, and the layer identifier is used to identify the network layer where each node set is located; Encoding a node identifier for each network node, where the node identifier includes a set identifier field and a network identifier field. The set identifier field is used to indicate the set identifier of the node set where each network node is located, and the network identifier field is used to indicate the node set connected by each network node.

14. The method according to claim 13, wherein Encoding the node identifier for each network node includes: Encoding the network identifier field of the first network node in each node set as 0, encoding the network identifier field of the second network node in each node set as 1, and encoding the network identifier field of the third network node in each node set as 2.

15. A routing device for an interconnected network, characterized in that Applied to the topological structure described in any one of claims 1 to 4, the routing device includes: A first generation module, configured to generate a shortest routing path from the starting routing node to the same-row routing node according to the row relationship between the starting routing node and the final routing node, to obtain a first routing path, where the row relationship is used to indicate the row distance between the starting row where the starting node set where the starting routing node is located is located in the starting network layer and the final row where the final node set where the final routing node is located is located in the final network layer, and the same-row node set where the same-row routing node is located is located in the final row in the starting network layer; A second generation module, configured to generate a shortest routing path from the same-row routing node to the same-column routing node according to the column relationship between the same-row routing node and the final routing node, to obtain a second routing path, where the column relationship is used to indicate the column distance between the current column where the same-row node set is located in the starting network layer and the final column where the final node set is located in the final network layer, and the same-column node set where the same-column routing node is located is located in the final row and the final column in the starting network layer; A third generation module, configured to generate a shortest routing path from the same-column routing node to the final routing node according to the layer relationship between the same-column routing node and the final routing node, so as to obtain a third routing path, where the layer relationship is used to indicate the layer distance between the starting network layer and the final network layer, and the target routing path includes: the first routing path, the second routing path, and the third routing path; A routing module, configured to route from the starting routing node to the final routing node according to the target routing path.

16. An interconnection network construction device, characterized in that: Applied to the topological structure described in any one of claims 1 to 4, the construction device includes: A first construction module, configured to construct a set of N×P×Q nodes, where each set of nodes includes a first network node, a second network node, and a third network node that are interconnected, and N, P, and Q are all positive integers greater than or equal to 2; A second construction module, configured to construct a three-dimensional network of N×P×Q, where the three-dimensional network includes N×P×Q initial nodes, the three-dimensional network is divided into Q network layers, each network layer is an initial node matrix of N rows and P columns as a target network layer, and each initial node in the target network layer is connected to adjacent nodes in the same row and the same column; A replacement module, configured to use the set of N×P×Q nodes to replace the N×P×Q initial nodes in the three-dimensional network, and establish connections between the sets of nodes to obtain an interconnection network, where the first network node in each set of nodes is connected to adjacent sets of nodes in the same row, the second network node in each set of nodes is connected to adjacent sets of nodes in the same column, and the third network node in each set of nodes is connected to the reference set of nodes.

17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, where when the computer program is executed by a processor, the steps of the method described in any one of claims 5 to 11 are implemented, or the steps of the method described in any one of claims 12 to 14 are implemented.

18. An electronic device, including a memory, a processor, and a computer program stored on 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 5 to 11 are implemented, or the steps of the method described in any one of claims 12 to 14 are implemented.

19. A computer program product, including 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 5 to 11 are implemented, or the steps of the method described in any one of claims 12 to 14 are implemented.

Citation Information

Patent Citations

  • Methods and apparatus to determine and implement multidimensional network topologies

    US20120020242A1

  • System for data routing between multiple computing nodes, method and apparatus

    WO2025001376A1