A routing path determination method, apparatus, medium, and product

By constructing a triangular prism network structure and using the XOR result of side-edge routing rules and surface routing rules to determine the routing path, the problem of communication paralysis caused by deadlock in on-chip networks is solved, and efficient and reliable routing path planning is achieved.

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

Patent Information

Application Number
CN202411447905.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-11-11
Estimated Expiration
2044-10-16

AI Technical Summary

Technical Problem

In the ring topology of on-chip networks, deadlock can easily occur when requesting routing paths, leading to reduced communication efficiency and network paralysis.

Method used

A triangular prism network structure is constructed. By obtaining the binary data of the source routing node and the target routing node, the routing path is determined by combining the routing rules of the side edges and the routing rules of the face of the triangular prism with the XOR result, thus avoiding deadlock.

Benefits of technology

In the triangular prism network structure, deadlock is avoided through flexible routing path planning, which improves the reliability and efficiency of communication and ensures the accuracy and diversity of paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135593B_ABST
    Figure CN119135593B_ABST
Patent Text Reader

Abstract

The application discloses a routing path determination method and device, medium and product, and relates to the technical field of communication. On the basis of a triangular prism network structure, when a source routing node and a target routing node are in the same layer, a triangular prism side edge routing rule, a triangular prism face routing rule and the relationship of the actual XOR result of the two routing nodes are determined. The triangular prism side edge routing rule is to preferentially take a side edge routing in the case of not being in the same triangular prism face, so that the routing path is shorter, and the two routing nodes are finally moved to the same triangular prism face. The triangular prism face routing rule is a routing rule for routing along a triangular prism face in the case of being on the same face, and the flexibility and diversity of the routing path are determined according to different rules, so that a deadlock is avoided. When being in different layers, it is necessary to jump to the same layer for routing planning, so that the reliability of communication is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a method, apparatus, medium, and product for determining a routing path. Background Technology

[0002] Network-on-a-chip (NIC) is a new communication method for system-on-a-chip (SoC) and a major component of multi-core technology. It integrates computer network technology into SoC, and data from various modules is transmitted in the form of a switching network. By utilizing computer network technology, it effectively improves data transmission performance.

[0003] In a triangular prism topology network structure of an on-chip network, such as a "ring" topology with four routing nodes (node ​​1, node 2, node 3, and node 4) connected in sequence, routing in the same direction, when node 1 requests a route to node 3, the path from node 1 to node 2 is occupied. If a request is made to go from node 2 to node 3, the path from node 2 to node 3 is also occupied, and so on, until all paths are occupied. In this case, either queuing will occur, or a deadlock will occur in the communication of the ring topology, causing the on-chip network to be completely paralyzed and affecting communication efficiency.

[0004] Therefore, how to avoid the reduction in communication efficiency caused by equivalence and deadlock is a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] The purpose of this invention is to provide a routing path determination method, apparatus, medium, and product to solve the technical problem of deadlock in communication of ring topology structures leading to complete paralysis of on-chip networks.

[0006] To solve the above-mentioned technical problems, the present invention provides a routing path determination method, comprising:

[0007] Construct a triangular prism network structure and obtain the source routing nodes and target routing nodes under the triangular prism network structure; wherein, each vertex of the triangular prism network structure corresponds to a routing node, and the number of layers is at least one.

[0008] When the source routing node and the target routing node are at the same layer, the corresponding routing path is determined based on the routing rules of the prism side edges, the routing rules of the prism face, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. The routing rules of the prism side edges are routing rules where, when the source routing node and the target routing node are not on the same prism face, the source routing node routes along the side edge corresponding to the source routing node to the prism face where the target routing node is located. The routing rules of the prism face are routing rules where, when the source routing node and the target routing node are on the same prism face, the source routing node routes along the prism face corresponding to the source routing node to the edge of the prism where the target routing node is located. The prism face includes the base and top face of the prism.

[0009] When the source routing node and the target routing node are not in the same layer, the source routing node is routed to the layer where the target routing node is located to obtain a new source routing node, and the corresponding routing path is determined according to the routing rules of the side edge of the prism, the routing rules of the prism face, and the relationship between the actual XOR result of the binary data corresponding to the new source routing node and the target routing node.

[0010] On the one hand, in the case of multi-layered triangular prism networks, the triangular prism networks in each layer are nested structures;

[0011] The binary data of each routing node in the triangular prism network structure includes hierarchical relationships representing the triangular prism network; the target number of bits for the binary data corresponding to the hierarchical relationship of each layer is the same; the process of determining the target number of bits includes:

[0012] Obtain the initial target number of bits for the binary data of each routing node;

[0013] The initial target number of bits is raised to a power of 2 to obtain the critical layer number.

[0014] If the critical layer number is less than the target layer number of the triangular prism network structure, then add 1 to the initial target number of bits to obtain the first target number of bits. Use the first target number of bits as the new initial target number of bits and return to the step of processing the target number of bits to a power of 2 to obtain the critical layer number, until the obtained critical layer number is equal to or greater than the target layer number of the triangular prism network structure, so that the first target number of bits is used as the target number of bits corresponding to the target layer number.

[0015] On the other hand, the XOR result of the binary data of each routing node on the same side edge of the triangular prism network corresponding to the same layer in the triangular prism network structure is the second target bit threshold.

[0016] The XOR result of the binary data of each routing node on the same triangular prism face of the triangular prism network corresponding to the same layer in the triangular prism network structure is the third target bit threshold.

[0017] On the other hand, the process of determining source and destination routing nodes at the same layer includes:

[0018] Obtain the binary data corresponding to the source routing node and the destination routing node respectively;

[0019] The actual XOR result is obtained by performing a bitwise XOR operation on the binary data corresponding to the source routing node and the destination routing node respectively.

[0020] If the target number of bits in the actual XOR result is the first target number of bits threshold, then it is determined that the source routing node and the target routing node are not in the same layer.

[0021] If the target number of bits in the actual XOR result is the second target number of bits threshold, then the source routing node and the target routing node are determined to be in the same layer; wherein the first target number of bits threshold and the second target number of bits threshold are different.

[0022] On the other hand, if the number of layers in the triangular prism network structure is two, the highest bit of the binary data of the routing node in the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing node in the inner triangular prism network structure is 0.

[0023] On the other hand, the corresponding routing path is determined based on the routing rules of the side edges of the prism, the routing rules of the prism face, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node, including:

[0024] Determine whether the actual XOR result is the first reference XOR result;

[0025] If it is the first reference XOR result, then the source routing node and the target routing node are located on different triangular prism faces of the triangular prism network at the same layer, and the corresponding routing path is determined according to the relationship between the triangular prism side edge routing rules and triangular prism face routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node.

[0026] If it is not the first reference XOR result, then determine whether the actual XOR result is the third target bit threshold.

[0027] If it is the third target bit threshold, then the source routing node and the target routing node are determined to be on the same prism face of the prism network at the same layer, and the corresponding routing path is determined according to the routing rules of the prism face and the relationship between the actual XOR result of the binary data corresponding to the source routing node and the target routing node.

[0028] On the other hand, the corresponding routing path is determined based on the routing rules of the side edges of the triangular prism and the routing rules of the triangular prism face, as well as the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node, including:

[0029] The first XOR result is obtained by performing a bitwise XOR operation between the binary data corresponding to the source routing node and the second target bit threshold.

[0030] The first XOR result is used as the source routing node and routed along the side edge to the first source routing node on the same triangular prism face as the target routing node.

[0031] The first source routing node is routed to the target routing node according to the triangular prism routing rule;

[0032] The path between the source routing node, the first source routing node, and the destination routing node is used as the routing path.

[0033] On the other hand, the third target bit threshold includes a second reference XOR result and a third reference XOR result. The second reference XOR result is used to indicate that the binary data corresponding to the two routing nodes are the same; the third reference XOR result is used to indicate that the two routing nodes are directly connected. Determining the corresponding routing path based on the prism routing rules and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node includes:

[0034] Determine whether the actual XOR result is the second reference XOR result;

[0035] If the result is the second reference XOR result, then the source routing node is determined to be the target routing node, and the routing process ends.

[0036] If it is not the result of the second reference XOR, then determine whether the actual XOR result is the result of the third reference XOR.

[0037] If the result is a third reference XOR, then the source routing node and the target routing node are determined to be directly connected, and the path from the source routing node to the target routing node is taken as the final path.

[0038] On the other hand, routing the source routing node to the layer where the target routing node resides to obtain a new source routing node includes:

[0039] Obtain the binary data of the source routing node and the baseline XOR result, where the baseline XOR result is the XOR result of the binary data of any two routing nodes in the triangular prism network structure;

[0040] XORing the binary data of the source routing node with the baseline XOR result yields the second source routing node in the adjacent layer in the direction in which the source routing node moves toward the target routing node.

[0041] The binary data of the second source routing node is XORed with the baseline XOR result to obtain the third source routing node of the adjacent layer in the direction of the second source routing node toward the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained.

[0042] Alternatively, the neighboring routing nodes of the source routing node can be obtained based on the triangular prism network structure;

[0043] Within the adjacent routing nodes, select the routing node that is at a different layer from the source routing node as the fourth source routing node in the adjacent layer of the direction in which the source routing node moves toward the target routing node.

[0044] The process continues until a new source routing node is obtained that corresponds to the layer to which the target routing node belongs.

[0045] On the other hand, the process of determining the binary data corresponding to a routing node includes:

[0046] Obtain the binary data corresponding to each bit;

[0047] Select bits that are greater than the total number of routing nodes from the number of binary data corresponding to each bit and use them as initial bits;

[0048] Within the initial bits, determine the initial bit that is closest to the total number of routing nodes as the target bit;

[0049] The binary data of the target bits is determined based on the target bits, in order to determine the binary data corresponding to the routing node.

[0050] On the other hand, when the source routing node and the destination routing node are at the same layer, the method further includes:

[0051] The corresponding routing path is determined based on the preset routing rules, the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. The preset routing rules are determined by the shortest path rule, the threshold rule for the XOR threshold of the binary data of any two routing nodes, and the multi-request link rule. The multi-request link rule allows a preset number of valid tag requests in the same direction of the communication link. The number of request links in the multi-request link rule is greater than the preset number, and the valid tag requests are in the first or second hop of the indirect connection between the source routing node and the target routing node. The shortest path rule is that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure.

[0052] On the other hand, when the source routing node and the destination routing node are at the same layer, the method further includes:

[0053] The corresponding routing path is determined based on the preset routing rules, the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. Among them, the preset routing rules are determined by the shortest path rule, the threshold rule of the XOR threshold of the binary data of any two routing nodes, and the multi-path link rule. The multi-path link rule is a link rule that allows one valid marked path in the same direction of the communication link, and the valid marked path is the first hop in the indirect connection relationship between the source routing node and the target routing node. The shortest path rule is that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure.

[0054] To address the aforementioned technical problems, the present invention also provides a routing path determination device, comprising:

[0055] Memory, used to store computer programs;

[0056] A processor for executing the computer program to implement the steps of the routing path determination method as described above.

[0057] To address the aforementioned technical problems, the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the routing path determination method described above.

[0058] To address the aforementioned technical problems, the present invention also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the steps of the routing path determination method described above.

[0059] This invention provides a routing path determination method, which constructs a triangular prism network structure and obtains the source routing nodes and target routing nodes under the triangular prism network structure. Each vertex of the triangular prism network structure corresponds to a routing node, and the structure has at least one layer. When the source routing node and the target routing node are on the same layer, the corresponding routing path is determined based on the routing rules of the triangular prism side edges, the routing rules of the triangular prism faces, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. The triangular prism side edge routing rule stipulates that when the source routing node and the target routing node are not on the same triangular prism face, the source routing node routes along the side edge corresponding to the source routing node to the target routing node. Routing rules for the prism face where the routing node is located; the prism face routing rule is the routing rule whereby the source routing node routes along the prism face corresponding to the source routing node to the edge of the prism where the target routing node is located when the source routing node and the target routing node are on the same prism face; the prism face includes the base and top face of the prism; when the source routing node and the target routing node are not on the same layer, the source routing node is routed to the layer where the target routing node is located to obtain a new source routing node, and the corresponding routing path is determined according to the relationship between the prism side edge routing rules, the prism face routing rules, and the actual XOR result of the binary data corresponding to the new source routing node and the target routing node.

[0060] The beneficial effects of this invention lie in its approach to path planning for source and target routing nodes within a triangular prism network structure. When these nodes are at the same layer, the path planning is determined using triangular prism side-edge routing rules, triangular prism face routing rules, and the relationship between the actual XOR results of the two routing nodes. Specifically, the triangular prism side-edge routing rule prioritizes side-edge routing when nodes are not on the same triangular prism face, resulting in shorter paths and ultimately moving both nodes to the same face. The triangular prism face routing rule, based on routing along the face when nodes are on the same face, provides flexibility and diversity in path determination, avoiding deadlock. When nodes are at different layers, a jump to the same layer is required for routing planning. Regardless of whether the triangular prism network structure is at the same or different layers, this invention avoids the time extension issue caused by duplicate routing nodes and prevents deadlock caused by "loop" topologies, ensuring communication reliability.

[0061] Secondly, the process of determining the binary data corresponding to the routing nodes fully utilizes binary data to represent the routing nodes. Compared to using sequence numbers, this embodiment is more direct in subsequent route calculations through XOR processing. Furthermore, the number of bits determined by the total number of routing nodes reduces data computation during representation. The process of determining the same layer for the source and destination routing nodes using XOR operations simplifies their relationship. If the triangular prism network structure has two layers, the highest bit of the binary data of the routing nodes in the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing nodes in the inner triangular prism network structure is 0. This distinguishes whether two routing nodes are in the same or different layers of the triangular prism network structure, simplifying subsequent route calculations. The process of comparing the actual XOR result with the first reference XOR result means that the routing rules corresponding to different triangular prism faces and the same triangular prism face in the same layer of the triangular prism network are compared with the actual XOR result to determine the corresponding route path, improving the accuracy of the determined route and avoiding deadlock. This approach improves the diversity and flexibility of routing methods by allowing source routing nodes to be routed to new source routing nodes at the same layer as the target routing node. Two marking methods are used: the shortest path rule determines the shortest distance for the routing path, and the XOR threshold rule simplifies the determination process through XOR operations. Multi-link rules include multi-request link rules and multi-path link rules. The multi-request link rule considers that multiple requests between two routing nodes have two directional paths, with multiple links corresponding to multiple marked requests under each directional path. When requesting a path, only a preset number of valid marked requests are allowed to pass, thus avoiding deadlock scenarios where all valid marked requests for multiple links pass. Furthermore, multi-request link rules based on request marking allow for flexible setting of corresponding routing paths, increasing flexibility while avoiding deadlocks. Multi-path link rules enrich the diversity of path determination.

[0062] In addition, the present invention also provides a routing path determination device, medium, and product, which have the same beneficial effects as the routing path determination method described above. Attached Figure Description

[0063] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0064] Figure 1 This is a schematic diagram of a ring structure with a conventional topology.

[0065] Figure 2This is a schematic diagram illustrating a deadlock that occurs clockwise in a conventional ring topology.

[0066] Figure 3 This is a schematic diagram illustrating a deadlock that occurs when the topology is changed counterclockwise.

[0067] Figure 4 A flowchart of a routing path determination method provided in an embodiment of the present invention;

[0068] Figure 5 A schematic diagram of a triangular prism network structure for representing routing nodes using binary data, provided in an embodiment of the present invention;

[0069] Figure 6 A schematic diagram of the top surface, bottom surface, and side edges of a triangular prism provided in an embodiment of the present invention;

[0070] Figure 7 This is a schematic diagram of a triangular prism ring structure with different layers provided in an embodiment of the present invention;

[0071] Figure 8 This is a schematic diagram of an outer triangular prism ring structure provided in an embodiment of the present invention;

[0072] Figure 9 A structural diagram of a routing path determination device provided in an embodiment of the present invention;

[0073] Figure 10 This is a structural diagram of a routing path determination device provided in an embodiment of the present invention;

[0074] Figure 11 A schematic diagram illustrating the routing node encoding, port numbering, and corresponding width of an outer triangular prism network structure provided in an embodiment of the present invention;

[0075] Figure 12 A schematic diagram of routing node encoding, port numbering, and corresponding width of an inner triangular prism network structure provided in an embodiment of the present invention;

[0076] Figure 13 This is a routing node distribution diagram of port node X16 of a double-layer triangular prism network structure provided in an embodiment of the present invention. Detailed Implementation

[0077] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.

[0078] The core of this invention is to provide a routing path determination method, apparatus, medium, and product to solve the technical problem of deadlock in communication of ring topology structures leading to the complete paralysis of on-chip networks.

[0079] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0080] In the case of a ring topology in a triangular prism network structure, deadlock may occur in extreme scenarios, so it is necessary to consider how to solve the deadlock problem in certain scenarios. Figure 1 A schematic diagram of a ring structure with a conventional topology, such as... Figure 1 As shown, a ring topology is prone to deadlock. For example, suppose there are four routing requests simultaneously: 1. from routing node 2 to routing node 7, 2. from routing node 3 to routing node 6, 3. from routing node 7 to routing node 2, and 4. from routing node 6 to routing node 3. If all four routing requests need to pass through a routing node, all choose a clockwise route, and all have already occupied an intermediate routing node, a deadlock will occur. Figure 2 This is a schematic diagram illustrating a deadlock that occurs clockwise in a conventional ring topology. Figure 3 This is a diagram illustrating a typical counter-clockwise deadlock that occurs when changing topology, as shown below. Figure 2 , 3 As shown, a deadlock can lead to a complete paralysis of the Internet. The routing path determination method provided by this invention can solve the above-mentioned technical problem.

[0081] Figure 4 A flowchart of a routing path determination method provided in an embodiment of the present invention is shown below. Figure 4 As shown, the method includes:

[0082] S11: Construct a triangular prism network structure and obtain the source routing node and destination routing node under the triangular prism network structure;

[0083] In this network structure, each vertex corresponds to a routing node, and there is at least one layer.

[0084] S12: Determine whether the source routing node and the target routing node belong to the same layer of the triangular prism network structure. If yes, proceed to step S13; otherwise, proceed to step S14.

[0085] S13: When the source routing node and the destination routing node are at the same layer, determine the corresponding routing path based on the routing rules of the side edge of the prism, the routing rules of the prism face, and the relationship between the actual XOR result of the binary data corresponding to the source routing node and the destination routing node.

[0086] Among them, the triangular prism side edge routing rule is a routing rule whereby the source routing node routes along the side edge corresponding to the source routing node to the triangular prism face where the destination routing node is located, when the source routing node and the destination routing node are not on the same triangular prism face; the triangular prism face routing rule is a routing rule whereby the source routing node routes along the triangular prism face corresponding to the source routing node to the triangular prism edge where the destination routing node is located, when the source routing node and the destination routing node are on the same triangular prism face; the triangular prism face includes the base face and the top face of the triangular prism;

[0087] S14: When the source routing node and the destination routing node are not in the same layer, route the source routing node to the layer where the destination routing node is located to obtain a new source routing node, and determine the corresponding routing path according to the routing rules of the prism side edge, the routing rules of the prism face, and the relationship between the actual XOR result of the binary data corresponding to the new source routing node and the destination routing node.

[0088] Specifically, the process for determining the number of layers in the triangular prism network structure is as follows:

[0089] The target layer of the triangular prism network structure is determined based on the number of servers and the number of routing nodes in the triangular prism of the unit layer, including:

[0090] Get the preset threshold number of port nodes connected to the routing node;

[0091] The total number of routing nodes in a triangular prism network structure is determined based on the relationship between the preset threshold number of port nodes connected to routing nodes and the number of servers.

[0092] The target layer number of the triangular prism network structure is determined based on the relationship between the total number of routing nodes and the number of routing nodes in the triangular prism of the unit layer.

[0093] Understandably, since the number of routing nodes in the triangular prisms of the unit layer is fixed (i.e., each prism has 6 vertices), the target layer number of the triangular prism network structure can be obtained based on the number of routing nodes determined by the number of servers and the number of routing nodes in the triangular prisms of the unit layer. The triangular prisms corresponding to the target layer number are nested to obtain the triangular prism network structure. This nesting is complete; if the target layer number is two layers, one triangular prism network is nested within another, ensuring that the vertices of each triangular prism network have corresponding vertex connections, the solid shapes corresponding to each triangular prism network are identical, the lateral prisms are parallel to each other, and the planes of each prism are also parallel to each other.

[0094] The network diameter corresponding to communication between port nodes is less than or equal to the network diameter of the triangular prism network structure. The network diameter is the maximum value of the minimum distance between any two nodes in the network. That is, the network diameter of a single-layer triangular prism network structure is 2, the network diameter of a three-layer triangular prism network structure is 3, and the maximum network diameter between each port node is the network diameter of the triangular prism network structure it belongs to.

[0095] Specifically, the number of layers in the triangular prism network structure is determined by the preset threshold number of port nodes connected to a single routing node. The relationship between the number of servers and the preset threshold number of port nodes determines the total number of routing nodes in the triangular prism network structure. Then, the target number of layers in the triangular prism network structure is determined based on the relationship between the total number of routing nodes and the number of routing nodes in the triangular prism of the unit layer.

[0096] In this embodiment, a triangular prism network structure with a defined target layer number is used, ensuring that all routing nodes are connected to port nodes. This fully utilizes the routing nodes, enabling them to not only perform routing functions but also connect port nodes. Simultaneously, the triangular prism network based on the target layer number also determines the corresponding network diameter, further shortening the routing transmission distance.

[0097] The source and destination routing nodes are obtained based on the triangular prism network structure. The source routing node is the node that initiates the packet request from the port node connected to it, and the destination routing node is the node corresponding to the port node that responds to it. The selection of routing nodes here is entirely based on the routing nodes of the triangular prism network structure. The selection process can be based on different server settings under different port nodes, different communication task settings, etc., which are not limited here, or the source and destination routing nodes are determined based on the routing request.

[0098] The triangular prism network structure is constructed using the method described above. The corresponding triangular prism network structure has at least one layer, which means it can be a single-layer triangular prism network or a multi-layer network structure.

[0099] Whether the source and destination routing nodes are on the same layer can be determined by checking the routing node numbers and the topology diagram of the triangular prism network, or by checking the binary data of the layer flags of the source and destination routing nodes. In a triangular prism network structure where the source and destination routing nodes are not on the same layer, this includes situations where the source and destination routing nodes are on adjacent layers or separated by N layers (N greater than 2).

[0100] In some embodiments, in the case of a multi-layered triangular prism network, the triangular prism networks of each layer are nested.

[0101] In this system, the binary data of each routing node in the triangular prism network structure includes hierarchical relationships representing the triangular prism network; the target number of bits in the binary data corresponding to the hierarchical relationship of each layer is the same; the process of determining the target number of bits includes:

[0102] Obtain the initial target number of bits for the binary data of each routing node;

[0103] The critical layer number is obtained by raising the initial target number of bits to a power of 2.

[0104] If the critical layer number is less than the target layer number of the triangular prism network structure, then add 1 to the initial target number of bits to obtain the first target number of bits. Use the first target number of bits as the new initial target number of bits and return to the step of processing the initial target number of bits to a power of 2 to obtain the critical layer number, until the obtained critical layer number is equal to or greater than the target layer number of the triangular prism network structure, so that the first target number of bits is used as the target number of bits corresponding to the target layer number.

[0105] Specifically, the target number of binary data for each routing node in the triangular prism is first tested with the initial target number of bits. If the initial target number of bits is raised to a power of 2 to obtain N, which is the critical layer number (the maximum layer number), and the maximum layer number is less than the target layer number of the triangular prism network structure, it means that the corresponding initial target number of bits cannot cover all routing nodes. In this case, 1 needs to be added to the initial target number of bits to obtain the first target number of bits. Then, it is checked whether the first target number of bits is less than the target layer number of the triangular prism network structure. If not, the first target number of bits is taken as the final target number of bits corresponding to the target layer number.

[0106] In another embodiment, the process of determining the binary data corresponding to a routing node includes:

[0107] Obtain the binary data corresponding to each bit;

[0108] Select bits that are greater than the total number of routing nodes from the number of binary data corresponding to each bit and use them as initial bits;

[0109] Within the initial bits, determine the initial bit that is closest to the total number of routing nodes as the target bit;

[0110] The binary data of the target bits is determined based on the target bits, in order to determine the binary data corresponding to the routing node.

[0111] Specifically, in this embodiment, the binary data of each bit is obtained. This is only a reference; 1-bit binary data includes 1 and 0, 2-bit binary data includes 10, 01, 00, and 11, and so on. It should be understood that not all bits of binary data are listed, but rather the values ​​are set based on the actual situation. The number of binary data that can be represented by each bit is determined; for example, 1-bit binary data is 2. 1 =2, 2 bits of binary data is 2 2 =4. Select binary data from the binary data corresponding to each bit that is greater than the total number of routing nodes. For example, if there are 6 routing nodes, and the obtained bits are 2 bits, 3 bits, 4 bits, etc., the corresponding number of binary data for each bit are 4, 8, 16, etc. The initial bits greater than the total number of routing nodes are 3 bits, 4 bits, etc. The initial bit closest to the total number of routing nodes is 3 bits, so 3 bits are used as the target bit. That is, 3 bits of binary data are sufficient for identification in a triangular prism network structure composed of 6 routing nodes.

[0112] Figure 5 This is a schematic diagram of a triangular prism network structure for representing routing nodes using binary data, provided by an embodiment of the present invention. Figure 5 As shown, the double-layer triangular prism network structure has a total of 12 routing nodes. The routing nodes are represented by 4-bit binary data, that is, the label of each routing node is 4 bits.

[0113] The process for determining the binary data corresponding to the routing nodes provided in this embodiment makes full use of binary data to represent the routing nodes. Compared with using sequence numbers, this embodiment is more direct in subsequent routing calculations through XOR processing. In addition, the number of bits determined by the total number of routing nodes reduces data computation during the representation process.

[0114] In some embodiments, the relationship between the binary data corresponding to each routing node is as follows:

[0115] Get the binary data of the current routing node;

[0116] The ninth XOR result is determined based on the binary data of the current routing node and the binary data of the routing node to be directly connected.

[0117] If the result of the ninth XOR operation is the same as the first threshold, then the binary data of the routing node to be directly connected is used as the binary data of the routing node adjacent to the current routing node.

[0118] It should be noted that after determining the specific bits of the binary data of a routing node, in a triangular prism network structure, the binary data of each routing node is not randomly assigned. Instead, different patterns exist between the binary data of adjacent routing nodes, routing nodes on the same layer, routing nodes on the same side prism, or routing nodes on the same coplanar plane. These patterns can be set based on the actual situation. Furthermore, not all binary data corresponding to a specific bit can be used in a routing node; it is also necessary to consider whether the corresponding binary data meets the first threshold setting. Therefore, when obtaining the binary data of the current routing node, the current routing node can be arbitrarily selected, and if a corresponding connection pattern is not formed, it can be replaced.

[0119] The ninth XOR result is determined based on the binary data of the current routing node and the binary data of the routing node to be directly connected. If the ninth XOR result is the same as the first threshold, then the binary data of the routing node to be directly connected is used as the binary data of the routing node adjacent to the current routing node. In other words, the XOR result of the binary data between the current routing node and the directly connected routing node (adjacent routing node) is the same as the first threshold. For example, if the first threshold is 1000, the lower three bits are equal, and the highest bit is opposite.

[0120] The actual XOR result of the binary data corresponding to the source and destination routing nodes is obtained by performing a bitwise XOR operation on the binary data corresponding to the source and destination routing nodes respectively. Alternatively, the XOR operation can be performed on a fixed number of bits of the binary data.

[0121] In step S13, if the source routing node and the destination routing node belong to the same layer, the prism side-edge routing rule prioritizes routing along the side-edge of the prism to the destination routing node when the two routing nodes are on different prism faces. The prism surface routing rule, based on the same prism face, prioritizes routing along the prism edge corresponding to the destination routing node when the two routing nodes are directly connected on the same prism face. Figure 6 A schematic diagram of the top surface, bottom surface, and side edges of a triangular prism provided in an embodiment of the present invention is shown below. Figure 6 As shown, there is a distinction between the edges and lateral edges of a triangular prism. The edges of a triangular prism are the corresponding edges of the bottom and top faces of the prism, while the lateral edges are the three lateral edges between the bottom and top faces.

[0122] The routing path is determined based on the relationship between the actual XOR result and the routing rules of the triangular prism side edges and the road surface rules of the triangular prism. In step S14, if the source routing node and the target routing node do not belong to the same layer, the source routing node needs to be updated and redirected to the new source routing node so that the new source routing node and the target routing node belong to the same layer. After they are in the same layer, the process of determining the routing path is the same as in step S13, and will not be repeated here.

[0123] This invention provides a routing path determination method, which constructs a triangular prism network structure and obtains the source routing nodes and target routing nodes under the triangular prism network structure. Each vertex of the triangular prism network structure corresponds to a routing node, and the structure has at least one layer. When the source routing node and the target routing node are on the same layer, the corresponding routing path is determined based on the routing rules of the triangular prism side edges, the routing rules of the triangular prism faces, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. The triangular prism side edge routing rule stipulates that when the source routing node and the target routing node are not on the same triangular prism face, the source routing node routes along the side edge corresponding to the source routing node to the target routing node. The routing rules for the triangular prism faces where the routing nodes are located are as follows: When the source and destination routing nodes are on the same triangular prism face, the source node routes along the edge of the prism corresponding to its own face to reach the edge of the prism where the destination node is located. The triangular prism face includes the base and top face. When the source and destination routing nodes are not on the same layer, the source node is routed to the layer where the destination node is located to obtain a new source node. The corresponding routing path is determined based on the triangular prism side-edge routing rules, the triangular prism face routing rules, and the actual XOR result of the binary data corresponding to the new source and destination nodes. Based on the triangular prism network structure, path planning for the source and destination routing nodes is performed. When they are on the same layer, the path is determined using the triangular prism side-edge routing rules, the triangular prism face routing rules, and the actual XOR result of the two routing nodes. Specifically, the triangular prism side-edge routing rules prioritize side-edge routing when they are not on the same triangular prism face, resulting in shorter routing paths and ultimately moving both routing nodes to the same triangular prism face. The routing rules for the triangular prism face are based on routing along the prism face when the nodes are on the same face. Different rules determine the flexibility and diversity of routing paths, avoiding deadlocks. When nodes are at different layers, a jump to the same layer is required for routing planning. Regardless of whether the triangular prism network structure is at the same or different layers, it avoids the time extension problem caused by duplicate routing nodes and also avoids deadlocks caused by "loop" topologies, ensuring communication reliability.

[0124] In some embodiments, the XOR result of the binary data of each routing node on the same side edge of the triangular prism network corresponding to the same layer in the triangular prism network structure is the second target bit threshold.

[0125] The XOR result of the binary data of each routing node on the same triangular prism face of the triangular prism network corresponding to the same layer in the triangular prism network structure is the third target bit threshold.

[0126] Understandably, in a triangular prism network structure, the XOR result of the binary data of each routing node on the same side edge of the same layer of the triangular prism network is the second target bit threshold, which is 0100. That is, the XOR result of any two routing nodes on any side edge is the second target bit threshold. The XOR result of the binary data of each routing node on the same face of the triangular prism network in the same layer is the third target bit threshold, which can be one or more data points, i.e., 00XX data.

[0127] In some embodiments, the process of determining whether the source routing node and the destination routing node are at the same layer includes:

[0128] Obtain the binary data corresponding to the source routing node and the destination routing node respectively;

[0129] The actual XOR result is obtained by performing a bitwise XOR operation on the binary data corresponding to the source routing node and the destination routing node respectively.

[0130] If the target number of bits in the actual XOR result is the first target number of bits threshold, then it is determined that the source routing node and the target routing node are not in the same layer.

[0131] If the target number of bits in the actual XOR result is the second target number of bits threshold, then the source routing node and the target routing node are determined to be in the same layer; wherein the first target number of bits threshold and the second target number of bits threshold are different.

[0132] Specifically, when setting the binary data of routing nodes in a triangular prism network structure, considering the routing determination between different layers, the highest bit of the binary data is marked as the layer. Taking a two-layer triangular prism network structure as an example, the highest bit of the outer triangular prism network structure is 1, and the highest bit of the inner triangular prism network structure is 0. By using the XOR rule of 0 for the same and 1 for different, it can be determined that when the highest bit of the actual XOR result is 1, the source routing node and the destination routing node do not belong to the same layer. Similarly, when the highest bit of the actual XOR result is 0, the source routing node and the destination routing node belong to the same layer.

[0133] In addition, this embodiment can be a multi-layer triangular prism network. For the case of a multi-layer (more than 2 layers) triangular prism network, the first target number of bits of the actual XOR result needs to meet the first target number of bits threshold or the second target number of bits threshold. For example, for a three-layer triangular prism network, the corresponding target number of bits can be represented by 00, 01, 10, 11. Each layer is represented by 2 bits of data. The corresponding actual first target number of bits threshold and second target number of bits threshold are set, which are not limited here. It is only necessary to distinguish the relationship between different layers.

[0134] The process of determining the same-layer relationship between the source routing node and the target routing node by using XOR operation provided in this embodiment can be simply and clearly determined.

[0135] In some embodiments, if the number of layers in the triangular prism network structure is two, the highest bit of the binary data of the routing node in the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing node in the inner triangular prism network structure is 0.

[0136] Specifically, the highest bit of the binary data of routing nodes in different layers of the triangular prism network structure is set as follows: the highest bit of the binary data of routing nodes in the outer layer of the triangular prism network structure is 1, and the highest bit of the binary data of routing nodes in the inner layer of the triangular prism network structure is 0. This only considers two layers, meaning that one bit of the binary data of a routing node indicates the layer of the triangular prism network structure. For three or more layers of the triangular prism network structure, multiple bits may be used to represent different layers. For statistical convenience, the first few bits of the binary data can be set to indicate different layers. For example, the first two bits of the binary data can be used to indicate different layers. For instance, in a four-layer triangular prism network structure, the first two bits of the binary data of the routing node corresponding to the first layer are 00, the first two bits are 01, the first two bits are 10, and the first two bits are 11.

[0137] In the embodiments of the present invention, when the number of layers of the triangular prism network structure is two, the highest bit of the binary data of the routing node of the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing node of the inner triangular prism network structure is 0. This is to distinguish whether the two routing nodes are in the same layer or different layers of the triangular prism network structure, so as to simplify the routing calculation of the subsequent routing path.

[0138] In some embodiments, determining the corresponding routing path based on the routing rules of the side edges of the prism, the routing rules of the prism face, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node includes:

[0139] Determine whether the actual XOR result is the first reference XOR result;

[0140] If it is the first reference XOR result, then the different prism faces of the prism network at the same layer of the source routing node and the target routing node are determined, and the corresponding routing path is determined according to the routing rules of the prism side edges and the routing rules of the prism face, as well as the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node.

[0141] If it is not the first reference XOR result, then determine whether the actual XOR result is the third target bit threshold;

[0142] If the third target bit threshold is used, the source routing node and the target routing node are determined to be on the same prism face of the prism network at the same layer, and the corresponding routing path is determined according to the routing rules of the prism face and the relationship between the actual XOR result of the binary data corresponding to the source routing node and the target routing node.

[0143] Specifically, it is determined whether the actual XOR result is equal to the first reference XOR threshold. If so, it indicates that the two routing nodes are on different faces of the same triangular prism network at the same layer. The corresponding routing path needs to be determined based on the relationship between the two routing rules (triangular prism side-edge routing rules and triangular prism face routing rules) and the actual XOR result. For example, it is determined whether the actual XOR result satisfies 01XX. If so, it is determined that both routing rules are used together to determine the routing path. If it is not the first reference XOR result, it is necessary to determine whether it is equal to the third target bit threshold. If so, it is determined that they are on the same triangular prism face. The corresponding routing path needs to be determined by the relationship between the triangular prism face routing rules and the actual XOR result of the binary data corresponding to the source and target routing nodes. For example, it is determined whether the actual XOR result satisfies 00XX. If so, it is determined that one triangular prism face routing rule is used to determine the routing path.

[0144] In some embodiments, determining the corresponding routing path based on the routing rules of the side edges of the prism and the routing rules of the prism face, as well as the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node, includes:

[0145] The first XOR result is obtained by performing a bitwise XOR operation between the binary data corresponding to the source routing node and the second target bit threshold.

[0146] The first XOR result is used as the source routing node and routed along the side edge to the first source routing node on the same triangular prism face as the target routing node;

[0147] The first source routing node is routed to the target routing node according to the triangular prism routing rules;

[0148] The path between the source routing node, the first source routing node, and the destination routing node is used as the routing path.

[0149] Specifically, the binary data corresponding to the source routing node is XORed with the second target bit threshold to obtain the first XOR result. This first XOR result serves as the first source routing node along the side edge route to the same triangular prism face as the target routing node, i.e., S. new =S^0100 (Second target bit threshold). When the first source routing node and the target routing node are on the same prism face, the first source routing node is routed to the target routing node according to the prism face routing rules.

[0150] In some embodiments, the third target bit threshold includes a second reference XOR result and a third reference XOR result. The second reference XOR result is used to characterize that the binary data corresponding to the two routing nodes are the same; the third reference XOR result is used to characterize that the two routing nodes are directly connected. Determining the corresponding routing path based on the prism routing rules and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node includes:

[0151] Determine whether the actual XOR result is the second reference XOR result;

[0152] If the result is the second reference XOR result, then the source routing node is determined to be the target routing node, and the routing process ends.

[0153] If it is not the result of the second reference XOR, then determine whether the actual XOR result is the result of the third reference XOR.

[0154] If the result is a third reference XOR, then the source routing node and the target routing node are determined to be directly connected, and the path from the source routing node to the target routing node is taken as the final path.

[0155] Specifically, if the actual XOR result is the same as the second reference XOR result (e.g., if the second reference XOR result is 0000), then the source routing node is the same as the destination routing node, and the routing ends. If not, then it checks if the actual XOR result is the same as the third reference XOR result (e.g., 0001, 0010, 0011). If so, it determines that the source routing node and the destination routing node are directly connected, and the final path is taken directly along the edge of the prism of the destination routing node.

[0156] For example, when S is 1010 and D is 0101:

[0157] Step 1: Perform a bitwise XOR operation between S and D, and record the result as... ;

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

[0159] If the first digit of I is 1, then proceed to step three;

[0160] Step 3: Determining the routing path:

[0161] The first step is to route to the triangular prism containing D; after the first step is completed, the current routing node is used as the new source routing node S. new Proceed to step four;

[0162] S new =S^1000=1010^1000=0010;

[0163] I=S new ^D=0010^0101=0111;

[0164] Step 4: Determining the routing path: Determine the high two bits of I, if... Enter 4.1;

[0165] 4.1 If In the first step, S needs to route along the side ridge to the face where D is located; after the first step is completed, the current routing node is used as the new source routing node S. new After recalculating I, proceed to step 4.2;

[0166] S new =S^0100=0010^0100=0110;

[0167] I=S new ^D=0110^0101=0011;

[0168] 4.2 If I is 0011, it means that S and D are on the same top or bottom face of the same triangular prism. In this case, S and D are directly connected and routing is performed directly through the connected line, and the routing ends.

[0169] The routing path is: .

[0170] The path rules are as follows:

[0171] Rule 1: All routing paths follow the shortest path;

[0172] Rule 2: If the source routing node S and the destination routing node D are directly connected, such a routing request will not cause a deadlock, so routing can be performed directly through the connected line;

[0173] Rule 3: If the source routing node S and the destination routing node D belong to the inner triangular prism and the outer triangular prism respectively: if S belongs to the outer triangular prism and D belongs to the inner triangular prism, then the first step must be to route to the inner triangular prism where D is located; if D belongs to the inner triangular prism and S belongs to the outer triangular prism, then the first step must be to route to the outer triangular prism where S is located.

[0174] Rule 4: If the source routing node S and the destination routing node D belong to the same inner or outer triangular prism: If the source routing node S and the destination routing node D are not directly connected, it means that S and D belong to the top face and the bottom face respectively and are not connected by the same side ridge. In this case, S needs to first route along the side ridge to the face where D is located.

[0175] Rule 5: If the source routing node S and the destination routing node D belong to the same inner or outer triangular prism: If the source routing node S and the destination routing node D are directly connected, it means that S and D belong to the same top or bottom face, or one belongs to the top face and the other to the bottom face and are connected by the same side ridge. In this case, according to Rule 2, routing can be performed directly through the connected line.

[0176] Figure 7 This is a schematic diagram of a triangular prism ring structure with different layers provided in an embodiment of the present invention, as shown below. Figure 7 As shown, rule 3 can prevent deadlocks caused by the "ring" formed by the outer and inner triangular prisms. Let's take the "ring" structure formed by the routing nodes 1101 and 1001 of the outer triangular prism and the routing nodes 0101 and 0001 of the inner triangular prism as an example. Assume there are four routing requests: Request 1: from routing node 0101 to routing node 1101; Request 2: from routing node 1101 to routing node 0001; Request 3: from routing node 1001 to routing node 0101; Request 4: from routing node 0001 to routing node 1101. When all four routing requests need to pass through a routing node and have already occupied an intermediate routing node, no deadlock occurs.

[0177] Figure 8 This is a schematic diagram of an outer triangular prism ring structure provided in an embodiment of the present invention, as shown below. Figure 8 As shown, rule 4 can prevent deadlock from occurring in a "ring" of a triangular prism. Taking the "ring" structure formed by the routing nodes 1100, 1101, 1001, and 1000 of the outer triangular prism as an example, suppose there are four routing requests: Request 1: from routing node 1100 to routing node 1001; Request 2: from routing node 1101 to routing node 1000; Request 3: from routing node 1001 to routing node 1100; Request 4: from routing node 1000 to routing node 1101. When all four routing requests need to pass through a routing node and all of them have already occupied an intermediate routing node, no deadlock occurs.

[0178] The process of judging the actual XOR result and the first reference XOR result provided in this embodiment means that the routing rules corresponding to different prism faces and the same prism face in the same layer of the prism network are used to determine the corresponding routing path with the actual XOR result, thereby improving the accuracy of the determined routing path and avoiding deadlock.

[0179] In some embodiments, routing the source routing node to a new source routing node at the same layer as the target routing node includes:

[0180] Obtain the binary data of the source routing node and the baseline XOR result, where the baseline XOR result is the XOR result of the binary data of any two routing nodes in the triangular prism network structure;

[0181] XORing the binary data of the source routing node with the baseline XOR result yields the second source routing node in the adjacent layer in the direction in which the source routing node moves toward the target routing node.

[0182] The binary data of the second source routing node is XORed with the baseline XOR result to obtain the third source routing node of the adjacent layer in the direction of the second source routing node toward the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained.

[0183] Alternatively, the neighboring routing nodes of the source routing node can be obtained based on the triangular prism network structure;

[0184] Within the adjacent routing nodes, select the routing node that is at a different layer from the source routing node as the fourth source routing node in the adjacent layer of the direction in which the source routing node moves toward the target routing node.

[0185] The process continues until a new source routing node is obtained that corresponds to the layer to which the target routing node belongs.

[0186] Specifically, this embodiment considers two jumping methods: one is jumping based on routing algorithms, and the other is jumping based on the connection topology diagram of the triangular prism network. The first method, jumping based on routing algorithms, considers that when routing nodes are labeled with binary data, it follows the XOR result of the binary data of any two routing nodes. Figure 5Taking the binary data of the source routing node as an example, XORing any two routing nodes yields 1000 (the baseline XOR result). Therefore, XORing the binary data of the source routing node with the baseline XOR result yields the second source routing node in the adjacent layer in the direction the source routing node moves towards the target routing node. XORing the binary data of the second source routing node with the baseline XOR result yields the third source routing node in the adjacent layer in the direction the second source routing node moves towards the target routing node, and so on, until a new source routing node in the layer to which the target routing node belongs is obtained. Since there may be N-layer triangular prism network structures with more than two layers, it is necessary to continuously jump to the layer to which the target routing node belongs. The specific formula is: S1 = S^1000, where S is the source routing node, S1 is the new source routing node, and 1000 is the baseline XOR result. The actual XOR result between the new source routing node and the target routing node is I = S1^D, where D is the target routing node.

[0187] Another approach involves considering the connection topology of the triangular prism network. Based on the triangular prism network structure, neighboring routing nodes of the source routing node are obtained. Among these neighboring nodes, routing nodes at different layers from the source routing node are selected as the fourth source routing node in the adjacent layer of the direction from the source routing node to the target routing node. Based on this fourth source routing node, corresponding neighboring routing nodes are obtained, and this process continues until a new source routing node belonging to the same layer as the target routing node is found. This method uses neighboring routing nodes that are not in the same layer as the source routing node as new source routing nodes, searching layer by layer. Alternatively, the shortest path principle can be used to jump to the source routing node of the layer belonging to the target routing node.

[0188] The jump method provided in this embodiment, which routes the source routing node to a new source routing node in the same layer as the target routing node, improves the diversity and flexibility of jump methods.

[0189] In some embodiments, to avoid deadlock in the event of multiple requests, when the source routing node and the destination routing node are at the same layer, the method further includes:

[0190] The corresponding routing path is determined based on the preset routing rules, the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. Among them, the preset routing rules are determined by the shortest path rule, the threshold rule of the XOR threshold of the binary data of any two routing nodes, and the multi-request link rule. The multi-request link rule is a link rule that allows a preset number of valid tag requests in the same direction of the communication link. The number of request links in the multi-request link rule is greater than the preset number, and the valid tag requests are in the first or second hop of the indirect connection relationship between the source routing node and the target routing node. The shortest path rule is that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure.

[0191] Specifically, the preset routing rules are determined by the shortest path rule, the threshold rule of the XOR threshold of the binary data of any two routing nodes, and the multi-request link rule. The shortest path rule is based on the network diameter as a reference setting, where the network diameter is the maximum value of the minimum distance between any two nodes in the network. That is, the network diameter of a single-layer triangular prism network structure is 2, the network diameter of a three-layer triangular prism network structure is 3, and the maximum network diameter between each port node is the network diameter of its respective triangular prism network structure. The shortest path rule ensures that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure during the routing path determination process. In a triangular prism network structure at the same layer, since the network diameter of a single-layer triangular prism network structure is 2, the path between the source and destination routing nodes involves at most two hops: one is a direct connection between the source and destination routing nodes (one hop), and the other is an indirect connection between the source and destination routing nodes (the first hop and the second hop).

[0192] The XOR threshold rule is set for the XOR result of the binary data of each routing node in the triangular prism network structure. The XOR threshold is a preset position containing multiple XOR thresholds for the XOR result of any two routing nodes, such as 0011. The XOR threshold here can be a threshold range, such as XX11, which means the threshold for the last two digits is 11. This includes four specific thresholds: 0011, 0111, 1011, and 1111. It can also be a specific threshold, 0011.

[0193] In a multi-request link, the preset number of valid tag requests allowed in the same direction of the communication link must be less than the number of request links. This ensures that valid tag requests in the same direction cannot simultaneously fill all request links; that is, the number of "1" request links is less than the total number of links. If all request links in the same direction contain valid tag requests, a deadlock will occur, leading to network paralysis. Taking two links as an example, there can be at most one "1" valid tag request. Additionally, "1" and "0", or "0" and "0", can coexist. As long as "1" and "1" do not exist simultaneously, it is acceptable. In a multi-request link, there is no restriction on whether a valid tag request exists in the first or second hop of the indirect connection between the source and destination routing nodes; it can exist in any hop. In other words, it can exist in the first hop or the second hop.

[0194] In other embodiments, when the source routing node and the destination routing node are at the same layer, the method further includes:

[0195] The corresponding routing path is determined based on the preset routing rules, the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. Among them, the preset routing rules are determined by the shortest path rule, the threshold rule of the XOR threshold of the binary data of any two routing nodes, and the multi-path link rule. The multi-path link rule is a link rule that allows one valid marked path in the same direction of the communication link, and the valid marked path is the first hop in the indirect connection relationship between the source routing node and the target routing node. The shortest path rule is that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure.

[0196] Specifically, for multi-path link rules, it is a link rule that allows one valid marked path in the same direction of the communication link. The valid marked path is the first hop in the indirect connection relationship between the source routing node and the destination routing node, and its valid marked path is "+".

[0197] For marking requests, different paths are arbitrarily identified based on the marking request. For example, if there are four paths, A and B are in the same direction, and C and D are in opposite directions, a marking request might set path A to "1". After the current data transmission is completed, the next marking request can set path A to "0", offering considerable flexibility in path-specific marking requests. Alternatively, if a path is marked, path A is set to "+", and this setting must be strictly followed regardless of the request being made.

[0198] This embodiment provides two marking methods: the shortest path rule determines the shortest distance for routing paths, and the XOR threshold rule simplifies the determination process through XOR operations. Multi-link rules include multi-request link rules and multi-path link rules. Multi-request link rules consider that multi-request links between two routing nodes have two directional paths, with multiple links corresponding to multiple marked requests under each directional path. When requesting a path, only a preset number of valid marked requests are allowed to pass, thus avoiding deadlock scenarios where all valid marked requests for multiple links pass. Furthermore, multi-request link rules based on request marking allow for flexible setting of corresponding routing paths, improving flexibility while avoiding deadlock, and multi-path link rules enrich the diversity of path determination.

[0199] The various embodiments corresponding to the routing path determination method have been described in detail above. Based on this, the present invention also discloses a routing path determination device corresponding to the above method. Figure 9 This is a structural diagram of a routing path determination device provided in an embodiment of the present invention. Figure 9 As shown, the routing path determination devices include:

[0200] The acquisition module 11 is used to construct a triangular prism network structure and acquire the source routing nodes and target routing nodes under the triangular prism network structure; wherein, each vertex of the triangular prism network structure corresponds to a routing node, and the number of layers is at least one.

[0201] The first determining module 12 is used to determine the corresponding routing path when the source routing node and the destination routing node are at the same layer, based on the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node; wherein, the triangular prism side edge routing rules are the routing rules for the source routing node to the triangular prism face where the destination routing node is located along the side edge corresponding to the source routing node when the source routing node and the destination routing node are not located on the same triangular prism face; the triangular prism face routing rules are the routing rules for the source routing node to the triangular prism edge where the destination routing node is located along the triangular prism face corresponding to the source routing node when the source routing node and the destination routing node are on the same triangular prism face; the triangular prism face includes the base face and the top face of the triangular prism;

[0202] The second determining module 13 is used to route the source routing node to the layer where the target routing node is located to obtain a new source routing node when the source routing node and the target routing node are not in the same layer, and to determine the corresponding routing path according to the routing rules of the side edge of the prism, the routing rules of the prism face, and the relationship between the actual XOR result of the binary data corresponding to the new source routing node and the target routing node.

[0203] Since the embodiments of the device part correspond to the embodiments described above, please refer to the embodiments of the method part for the description of the device part, and will not be repeated here.

[0204] For an introduction to the routing path determination device provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above routing path determination method.

[0205] Figure 10 This is a structural diagram of a routing path determination device provided in an embodiment of the present invention, as shown below. Figure 10 As shown, the device includes:

[0206] Memory 21 is used to store computer programs;

[0207] Processor 22 is used to implement the steps of a routing path determination method when executing a computer program.

[0208] The processor 22 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 22 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 22 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 22 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 22 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.

[0209] The memory 21 may include one or more computer-readable storage media, which may be non-transitory. The memory 21 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 21 is used to store at least the following computer program 211, which, after being loaded and executed by the processor 22, is capable of implementing the relevant steps of the routing path determination method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 21 may also include an operating system 212 and data 213, etc., and the storage method may be temporary storage or permanent storage. The operating system 212 may include Windows, Unix, Linux, etc. The data 213 may include, but is not limited to, the data involved in the routing path determination method, etc.

[0210] In some embodiments, the routing path determination device may further include a display screen 23, an input / output interface 24, a communication interface 25, a power supply 26, and a communication bus 27.

[0211] Those skilled in the field can understand, Figure 10 The structure shown does not constitute a limitation on the routing path determination device and may include more or fewer components than illustrated.

[0212] The processor 22 implements the routing path determination method provided in any of the above embodiments by calling instructions stored in the memory 21.

[0213] For a description of the routing path determination device provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above routing path determination method.

[0214] Furthermore, the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by processor 22, implements the steps of the routing path determination method described above.

[0215] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0216] For an introduction to the computer-readable storage medium provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above routing path determination method.

[0217] Furthermore, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of a routing path determination method.

[0218] For an introduction to the computer program product provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above-described routing path determination method.

[0219] In addition, each bit of the binary data corresponding to each routing node is connected to a port node. In order to balance the port LANE, the port widths of each port node of a routing node are different. Figure 11 A schematic diagram illustrating the routing node encoding, port numbering, and corresponding width of an outer triangular prism network structure provided in an embodiment of the present invention is shown below. Figure 11 As shown, routing nodes are represented using 4-bit binary data. Each bit of the binary data is connected to a port node, corresponding to the port node's number. The port width of a port node is also different. Figure 12 A schematic diagram illustrating the routing node encoding, port numbering, and corresponding width of an inner triangular prism network structure provided in an embodiment of the present invention is shown below. Figure 12 As shown, routing nodes are represented using 4-bit binary data. Each bit of the binary data connects to a port node, corresponding to the port node's number. The port width of a port node also varies. Based on the above... Figure 11 and Figure 12The two routing nodes within the corresponding dashed boxes share the same set of ports on the Physical Layer (PHY) chip. For a single-layer triangular prism network structure, the network diameter between routing nodes is 2; for a double-layer triangular prism network structure, the network diameter is 3. If we only consider port nodes with a width of X16... Figure 13 This invention provides a routing node distribution diagram for port node X16 of a two-layer triangular prism network structure, as shown in the embodiment of the invention. Figure 13 As shown, the network diameter between the routing nodes is 2, which is a decrease compared to the current case where the network diameter between the routing nodes of the port of the flattened fat tree network is 4 (width x 16).

[0220] exist Figure 11 and Figure 12 As can be seen, the port widths corresponding to a set of PHYs include at least X16, X8, X4, and X2 widths.

[0221] In this embodiment, multiple routing nodes share a set of PHYs. The connection topology of the 8 port nodes sharing the same set of PHYs is optimized according to actual usage. In the optimized network, the path length between X16 and X8 ports is shortened.

[0222] The foregoing has provided a detailed description of a routing path determination method, apparatus, medium, and product provided by the present invention. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to the present invention without departing from the principles of the invention, and these improvements and modifications also fall within the protection scope of the present invention.

[0223] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

Claims

1. A method for determining a routing path, characterized in that, include: Construct a triangular prism network structure and obtain the source routing nodes and target routing nodes under the triangular prism network structure; wherein, each vertex of the triangular prism network structure corresponds to a routing node, and the number of layers is at least one. When the source routing node and the target routing node are at the same layer, the corresponding routing path is determined based on the routing rules of the prism side edges, the routing rules of the prism face, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. The routing rules of the prism side edges are routing rules where, when the source routing node and the target routing node are not on the same prism face, the source routing node routes along the side edge corresponding to the source routing node to the prism face where the target routing node is located. The routing rules of the prism face are routing rules where, when the source routing node and the target routing node are on the same prism face, the source routing node routes along the prism face corresponding to the source routing node to the edge of the prism where the target routing node is located. The prism face includes the base and top face of the prism. When the source routing node and the target routing node are not in the same layer, the source routing node is routed to the layer where the target routing node is located to obtain a new source routing node, and the corresponding routing path is determined according to the routing rules of the side edge of the prism, the routing rules of the prism face, and the relationship between the actual XOR result of the binary data corresponding to the new source routing node and the target routing node.

2. The routing path determination method according to claim 1, characterized in that, In a multi-layered triangular prism network, the triangular prism networks in each layer are nested. The binary data of each routing node in the triangular prism network structure includes hierarchical relationships representing the triangular prism network; the target number of bits for the binary data corresponding to the hierarchical relationship of each layer is the same; the process of determining the target number of bits includes: Obtain the initial target number of bits for the binary data of each routing node; The initial target number of bits is raised to a power of 2 to obtain the critical layer number. If the critical layer number is less than the target layer number of the triangular prism network structure, then add 1 to the initial target number of bits to obtain the first target number of bits. Use the first target number of bits as the new initial target number of bits and return to the step of processing the target number of bits to a power of 2 to obtain the critical layer number, until the obtained critical layer number is equal to or greater than the target layer number of the triangular prism network structure, so that the first target number of bits is used as the target number of bits corresponding to the target layer number.

3. The routing path determination method according to claim 2, characterized in that, The XOR result of the binary data of each routing node on the same side edge of the triangular prism network corresponding to the same layer in the triangular prism network structure is the second target bit threshold. The XOR result of the binary data of each routing node on the same triangular prism face of the triangular prism network corresponding to the same layer in the triangular prism network structure is the third target bit threshold.

4. The routing path determination method according to claim 2, characterized in that, The process of determining whether the source routing node and the destination routing node are at the same layer includes: Obtain the binary data corresponding to the source routing node and the destination routing node respectively; The actual XOR result is obtained by performing a bitwise XOR operation on the binary data corresponding to the source routing node and the destination routing node respectively. If the target number of bits in the actual XOR result is the first target number of bits threshold, then it is determined that the source routing node and the target routing node are not in the same layer. If the target number of bits in the actual XOR result is the second target number of bits threshold, then the source routing node and the target routing node are determined to be in the same layer; wherein the first target number of bits threshold and the second target number of bits threshold are different.

5. The routing path determination method according to claim 3, characterized in that, If the triangular prism network structure has two layers, the highest bit of the binary data of the routing node in the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing node in the inner triangular prism network structure is 0.

6. The routing path determination method according to claim 5, characterized in that, The corresponding routing path is determined based on the routing rules of the side edges of the prism, the routing rules of the prism face, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node, including: Determine whether the actual XOR result is the first reference XOR result; If it is the first reference XOR result, then the source routing node and the target routing node are located on different triangular prism faces of the triangular prism network at the same layer, and the corresponding routing path is determined according to the relationship between the triangular prism side edge routing rules and triangular prism face routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node. If it is not the first reference XOR result, then determine whether the actual XOR result is the third target bit threshold. If it is the third target bit threshold, then the source routing node and the target routing node are determined to be on the same prism face of the prism network at the same layer, and the corresponding routing path is determined according to the routing rules of the prism face and the relationship between the actual XOR result of the binary data corresponding to the source routing node and the target routing node.

7. The routing path determination method according to claim 6, characterized in that, The corresponding routing path is determined based on the routing rules of the side edges and the routing rules of the triangular prism, as well as the relationship between the actual XOR results of the binary data corresponding to the source routing node and the destination routing node, including: The first XOR result is obtained by performing a bitwise XOR operation between the binary data corresponding to the source routing node and the second target bit threshold. The first XOR result is used as the source routing node and routed along the side edge to the first source routing node on the same triangular prism face as the target routing node. The first source routing node is routed to the target routing node according to the triangular prism routing rule; The path between the source routing node, the first source routing node, and the destination routing node is used as the routing path.

8. The routing path determination method according to claim 6 or 7, characterized in that, The third target bit threshold includes a second reference XOR result and a third reference XOR result. The second reference XOR result is used to indicate that the binary data corresponding to the two routing nodes are the same. The third reference XOR result is used to indicate that the two routing nodes are directly connected. The corresponding routing path is determined based on the triangular prism routing rules and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node, including: Determine whether the actual XOR result is the second reference XOR result; If the result is the second reference XOR result, then the source routing node is determined to be the target routing node, and the routing process ends. If it is not the result of the second reference XOR, then determine whether the actual XOR result is the result of the third reference XOR. If the result is a third reference XOR, then the source routing node and the target routing node are determined to be directly connected, and the path from the source routing node to the target routing node is taken as the final path.

9. The routing path determination method according to claim 1, characterized in that, The source routing node is routed to the layer where the target routing node resides to obtain a new source routing node, including: Obtain the binary data of the source routing node and the baseline XOR result, where the baseline XOR result is the XOR result of the binary data of any two routing nodes in the triangular prism network structure; XORing the binary data of the source routing node with the baseline XOR result yields the second source routing node in the adjacent layer in the direction in which the source routing node moves toward the target routing node. The binary data of the second source routing node is XORed with the baseline XOR result to obtain the third source routing node of the adjacent layer in the direction of the second source routing node toward the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained. Alternatively, the neighboring routing nodes of the source routing node can be obtained based on the triangular prism network structure; Within the adjacent routing nodes, select the routing node that is at a different layer from the source routing node as the fourth source routing node in the adjacent layer of the direction in which the source routing node moves toward the target routing node. The process continues until a new source routing node is obtained that corresponds to the layer to which the target routing node belongs.

10. The routing path determination method according to claim 1, characterized in that, The process of determining the binary data corresponding to a routing node includes: Obtain the binary data corresponding to each bit; Select bits that are greater than the total number of routing nodes from the number of binary data corresponding to each bit and use them as initial bits; Within the initial bits, determine the initial bit that is closest to the total number of routing nodes as the target bit; The binary data of the target bits is determined based on the target bits, in order to determine the binary data corresponding to the routing node.

11. The routing path determination method according to claim 1, characterized in that, When the source routing node and the destination routing node are at the same layer, the method further includes: The corresponding routing path is determined based on the preset routing rules, the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. The preset routing rules are determined by the shortest path rule, the threshold rule for the XOR threshold of the binary data of any two routing nodes, and the multi-request link rule. The multi-request link rule allows a preset number of valid tag requests in the same direction of the communication link. The number of request links in the multi-request link rule is greater than the preset number, and the valid tag requests are in the first or second hop of the indirect connection between the source routing node and the target routing node. The shortest path rule is that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure.

12. The routing path determination method according to claim 1, characterized in that, When the source routing node and the destination routing node are at the same layer, the method further includes: The corresponding routing path is determined based on the preset routing rules, the triangular prism side edge routing rules, the triangular prism face routing rules, and the relationship between the actual XOR results of the binary data corresponding to the source routing node and the target routing node. Among them, the preset routing rules are determined by the shortest path rule, the threshold rule of the XOR threshold of the binary data of any two routing nodes, and the multi-path link rule. The multi-path link rule is a link rule that allows one valid marked path in the same direction of the communication link, and the valid marked path is the first hop in the indirect connection relationship between the source routing node and the target routing node. The shortest path rule is that the shortest path between any two routing nodes is less than or equal to the network diameter of the triangular prism network structure.

13. A routing path determination device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the routing path determination method as described in any one of claims 1 to 12 when executing the computer program.

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

15. A computer program product comprising a computer program / instructions, characterized in that, When executed by a processor, the computer program / instruction implements the steps of the routing path determination method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Routing path planning method, device, equipment and medium

    CN118282927A

  • Data transmission method and device, computer equipment and storage medium

    CN118612136A