A method, device, path communication device and medium for determining a routing path
By using a routing path determination method based on a triangular prism network structure and employing preset routing rules and XOR operations, the problem of reduced communication efficiency caused by deadlock in ring topologies is solved, thereby improving reliability and efficiency.
Patent Information
- Application Number
- CN202411441713.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-16
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-10-16
AI Technical Summary
In the ring topology of on-chip networks, deadlock can easily occur when requesting routing paths, leading to reduced communication efficiency.
A routing path determination method based on a triangular prism network structure is adopted. The routing path is determined by preset routing rules and XOR operations, including shortest path rules, XOR threshold rules and multi-link rules, to avoid deadlock.
It effectively avoids deadlock, improves communication reliability and efficiency, ensures the shortest distance and flexibility of the routing path, and avoids prolonged waiting time for duplicate routing nodes.
Smart Images

Figure CN118972318B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a method and device for determining a routing path, a path communication device and a medium. Background Art
[0002] On-chip network is a new communication method for on-chip system and a major component of multi-core technology. It integrates computer network technology into the on-chip system. The data of each module is transmitted in the form of a switching network. The use of computer network technology effectively improves the data transmission performance.
[0003] In the network structure of the triangular prism topology of the on-chip network, for example, for the "ring" topology structure with four routing nodes (node one, node two, node three and node four) connected in sequence, routing is carried out in the same direction. When requesting a routing path, node one sends a routing request to node three, and the path from node one to node two is occupied. If you want to request from node two to node three, at this time, the path from node two to node three is occupied, and so on. If all paths are occupied, they are either equal or deadlock will occur in the communication of the ring topology, causing the on-chip network to be completely paralyzed and affecting the efficiency of communication.
[0004] Therefore, how to avoid the reduction in communication efficiency caused by waiting and deadlock is a technical problem that technical personnel in this field urgently need to solve. Summary of the invention
[0005] The purpose of the present invention is to provide a routing path determination method, device, path communication equipment and medium to solve the technical problem that deadlock occurs in the communication of the ring topology structure, resulting in the overall paralysis of the on-chip network.
[0006] In order to solve the above technical problems, the present invention provides a method for determining a routing path based on a triangular prism network structure, comprising:
[0007] Acquire a source routing node and a target routing node based on a triangular prism network structure, wherein the triangular prism network structure is composed of a plurality of routing nodes, and the number of layers of the triangular prism network structure is at least one layer;
[0008] If the source routing node and the target routing node belong to the same layer, the corresponding routing path is determined according to the preset routing rule and the actual XOR result of the binary data corresponding to the source routing node and the target routing node; wherein the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path link rule; the multi-request link rule is a link rule that allows a preset number of valid mark requests in the same direction of the communication link; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is at the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows one valid mark path in the same direction of the communication link, and the valid mark path is at the first 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;
[0009] If the source routing node and the target routing node do not belong to the same layer, the source routing node is routed to a new source routing node of the layer to which the target routing node belongs, and the corresponding routing path is determined according to the preset routing rules and 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, if the triangular prism network structure has two layers, the highest bit of the binary data of the routing nodes of the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing nodes of the inner triangular prism network structure is 0.
[0011] On the other hand, the process of determining whether the source routing node and the target routing node are at the same layer includes:
[0012] Obtain binary data corresponding to the source routing node and the target routing node respectively;
[0013] Perform bitwise XOR operation on the binary data corresponding to the source routing node and the target routing node to obtain the actual XOR result;
[0014] If the highest bit of the actual XOR result is 1, it is determined that the source routing node and the target routing node do not belong to the same layer;
[0015] If the highest bit of the actual XOR result is 0, it is determined that the source routing node and the target routing node belong to the same layer.
[0016] On the other hand, the corresponding routing path is determined according to the preset routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node, including:
[0017] Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected;
[0018] Determine whether the actual XOR result is a parameter of the first reference XOR result;
[0019] If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule;
[0020] If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result;
[0021] If the actual XOR result is a parameter of the second reference XOR result, the connection mode between the source routing node and the target routing node is determined to be an indirect connection, and the routing paths of the source routing node and the target routing node are determined according to the threshold rule and the multi-request link rule.
[0022] On the other hand, the routing paths of the source routing node and the target routing node are determined according to the threshold rule and the multi-link rule, including:
[0023] Determine whether the actual XOR result meets the XOR threshold of the threshold rule;
[0024] If yes, determine the routing paths of the source routing node and the target routing node according to the first target path strategy and the multi-link rule; wherein the first target path strategy is a path strategy corresponding to the connection of binary data of any two routing nodes excluding contradictions during an XOR operation;
[0025] If not, the routing paths of the source routing node and the target routing node are determined according to the second target path strategy and the multi-link rule.
[0026] On the other hand, determining the routing paths of the source routing node and the target routing node according to the first target path strategy and the multi-link rule includes:
[0027] Obtaining a first XOR result, wherein the first XOR result is obtained by screening XOR results of binary data corresponding to any two routing nodes during an XOR operation;
[0028] Performing an XOR operation on the actual XOR result of the source routing node and the target routing node and the first XOR result to obtain a second XOR result;
[0029] Splitting the second XOR result into a third XOR result according to a one-hot encoding method, wherein the binary data of the third XOR result is at least one;
[0030] According to the multi-link rule, the third XOR result, the first XOR result and the source routing node are XORed to obtain the target routing node to complete the routing path.
[0031] On the other hand, when the multi-link rule is a multi-request link rule, performing an XOR operation on the multi-request link rule, the third XOR result, the first XOR result and the source routing node to obtain the target routing node includes:
[0032] When the sum of the binary data of the third XOR result and the binary data of the first XOR result is more than one, performing a first XOR operation on the binary data corresponding to the third XOR result and the first XOR result respectively with the source routing node to obtain a fourth XOR result, wherein the fourth XOR result is at least one;
[0033] Taking all paths between the routing node corresponding to the fourth XOR result and the source routing node as the initial routing path of the first hop;
[0034] Obtain the number of all valid marking requests being routed and the current marking request corresponding to the original routing path of the initial routing path of the first hop;
[0035] When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to the preset number;
[0036] If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the fourth XOR result and the binary data of the remaining third XOR results and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain a fifth XOR result, until all the binary data of the third XOR result and the first XOR result are XORed, and finally obtain the target routing node;
[0037] If not, then select the path corresponding to the non-valid tag request in the initial routing path of the first hop, and return to the step of performing a second XOR operation on the binary data corresponding to the fourth XOR result with the binary data of the remaining third XOR results and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain the fifth XOR result.
[0038] On the other hand, when the multi-link rule is a multi-path link rule, performing an XOR operation on the multi-path link rule, the third XOR result, the first XOR result and the source routing node to obtain the target routing node includes:
[0039] When the sum of the binary data of the third XOR result and the binary data of the first XOR result is more than one, performing a first XOR operation on the binary data corresponding to the third XOR result and the first XOR result respectively with the source routing node to obtain a fourth XOR result, wherein the fourth XOR result is at least one;
[0040] Taking all paths between the routing node corresponding to the fourth XOR result and the source routing node as the initial routing path of the first hop;
[0041] Determine whether the current marked path is a valid marked path;
[0042] If so, on the basis of the initial routing path of the first hop of the current marked path being the valid marked path, the binary data corresponding to the fourth XOR result is respectively subjected to a second XOR operation with the binary data of the third XOR result and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain a fifth XOR result, until all the binary data of the third XOR result and the first XOR result are XORed, and finally the target routing node is obtained;
[0043] If not, based on the current marked path being the initial routing path of the first hop of the non-valid marked path, the process returns to the step of determining whether the current marked path is a valid marked path according to a preset time until the current marked path is the initial routing path of the first hop of the valid marked path to obtain the target routing node.
[0044] On the other hand, determining the initial routing paths of the source routing node and the target routing node according to the second target path strategy and the multi-link rule includes:
[0045] Splitting the actual XOR result into a sixth XOR result according to a one-hot encoding method, wherein the binary data of the sixth XOR result is at least one;
[0046] According to the multi-link rule, the sixth XOR result is XORed with the source routing node to obtain the target routing node to complete the routing path.
[0047] On the other hand, when the multi-link rule is a multi-request link rule, performing an XOR operation on the sixth XOR result and the source routing node according to the multi-request link rule to obtain the target routing node to complete the routing path, including:
[0048] When there are multiple binary data of the sixth XOR result, perform a first XOR operation on the binary data corresponding to the sixth XOR result and the source routing node respectively to obtain a seventh XOR result, wherein the seventh XOR result is at least one;
[0049] Taking all paths between the routing node corresponding to the seventh XOR result and the source routing node as the initial routing path of the first hop;
[0050] Obtain the number of all valid marking requests being routed and the current marking request corresponding to the original routing path of the initial routing path of the first hop;
[0051] When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to the preset number;
[0052] If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the seventh XOR result and the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation to obtain an eighth XOR result, until all the binary data of the sixth XOR results are XORed, and finally obtain the target routing node;
[0053] If not, then select the path corresponding to the non-valid tag request in the initial routing path of the first hop, and return to the step of performing a second XOR operation on the binary data corresponding to the seventh XOR result with the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation, to obtain the eighth XOR result.
[0054] On the other hand, the corresponding routing path is determined according to the preset routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node, including:
[0055] Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected;
[0056] Determine whether the actual XOR result is a parameter of the first reference XOR result;
[0057] If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule;
[0058] If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result;
[0059] If the actual XOR result is a parameter of the second reference XOR result, determining that the connection mode between the source routing node and the target routing node is an indirect connection, and determining the initial routing path of the source routing node and the target routing node according to the threshold rule;
[0060] After determining the initial routing path of the source routing node and the target routing node, the initial routing path is screened according to the multi-link rule to obtain the final routing path.
[0061] On the other hand, when the multi-link rule is a multi-request link rule, screening the initial routing path according to the multi-request link rule to obtain a final routing path includes:
[0062] Obtain the number of the marking request corresponding to the first hop of the initial routing path and all the valid marking requests being routed for the first hop of the overlapping path overlapping with the initial routing path;
[0063] When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to the preset number;
[0064] If yes, retain the initial routing path corresponding to the current tag request being a valid tag request, and use the initial routing path corresponding to the valid tag request and the initial routing path corresponding to the current tag request being a non-valid tag request as the final routing path;
[0065] If not, the initial routing path corresponding to the current marking request being a valid marking request is eliminated, and the initial routing path corresponding to the current marking request being a non-valid marking request is used as the final routing path.
[0066] On the other hand, routing the source routing node to a new source routing node of the layer to which the target routing node belongs includes:
[0067] Obtaining binary data and a reference XOR result of a source routing node, wherein the reference XOR result is an XOR result of binary data of any two routing nodes in a triangular prism network structure;
[0068] Performing an XOR operation on the binary data of the source routing node and the reference XOR result to obtain the first source routing node of the adjacent layer in the direction in which the source routing node approaches the target routing node;
[0069] Performing an XOR operation on the binary data of the first source routing node and the reference XOR result to obtain a second source routing node of an adjacent layer in a direction in which the first source routing node approaches the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained;
[0070] Alternatively, the adjacent routing nodes of the source routing node are obtained based on the triangular prism network structure;
[0071] Selecting a routing node in a different layer from the source routing node from the adjacent routing nodes as a third source routing node in an adjacent layer in a direction in which the source routing node approaches the target routing node;
[0072] Based on the third source routing node, a corresponding adjacent routing node is obtained until a new source routing node of the layer to which the target routing node belongs is obtained.
[0073] On the other hand, the process of determining the binary data corresponding to a routing node includes:
[0074] Get the binary data corresponding to each bit;
[0075] Select bits greater than the total number of routing nodes from the number of binary data corresponding to each bit as initial bits;
[0076] Determine, within the initial bits, an initial bit closest to the total number of routing nodes as a target bit;
[0077] The binary data of the target bit is determined according to the target bit to determine the binary data corresponding to the routing node.
[0078] In order to solve the above technical problems, the present invention also provides a routing path determination device based on a triangular prism network structure, comprising:
[0079] A first acquisition module is used to acquire a source routing node and a target routing node based on a triangular prism network structure, wherein the triangular prism network structure is composed of a plurality of routing nodes, and the triangular prism network structure has at least one layer;
[0080] The first determination module is used to determine the corresponding routing path according to the preset routing rules and the actual XOR results of the binary data corresponding to the source routing node and the target routing node if the source routing node and the target routing node belong to the same layer; wherein the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path link rule; the multi-request link rule is a link rule that allows a preset number of valid mark requests in the same direction of the communication link; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is at the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows one valid mark path in the same direction of the communication link, and the valid mark path is at the first 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;
[0081] The second determination module is used to route the source routing node to a new source routing node of the layer to which the target routing node belongs if the source routing node and the target routing node do not belong to the same layer, and determine the corresponding routing path according to the preset routing rules and the actual XOR results of the binary data corresponding to the new source routing node and the target routing node.
[0082] In order to solve the above technical problems, the present invention further provides a path communication device, comprising:
[0083] Memory for storing computer programs;
[0084] The processor is used to implement the steps of the routing path determination method based on the triangular prism network structure as described above when executing the computer program.
[0085] To solve the above technical problems, the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the routing path determination method based on the triangular prism network structure as described above are implemented.
[0086] The present invention provides a method for determining a routing path based on a triangular prism network structure, wherein a source routing node and a target routing node are obtained based on the triangular prism network structure, wherein the triangular prism network structure is composed of a plurality of routing nodes, and the number of layers of the triangular prism network structure is at least one layer; if the source routing node and the target routing node belong to the same layer, the corresponding routing path is determined according to a preset routing rule and an actual XOR result of binary data corresponding to the source routing node and the target routing node; wherein the preset routing rule is determined by a shortest path rule, a threshold rule of an XOR threshold of binary data of any two routing nodes, and a multi-link rule; the multi-link rule includes a multi-request link rule and a multi-path 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 a communication link ; The number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid marked request is at the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; 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 at the first 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; if the source routing node and the target routing node do not belong to the same layer, the source routing node is routed to a new source routing node of the layer to which the target routing node belongs, and the corresponding routing path is determined according to the preset routing rule and the actual XOR result of the binary data corresponding to the new source routing node and the target routing node.
[0087] The beneficial effects of the present invention are based on the triangular prism network structure, and the path planning of the source routing node and the target routing node, when in the same layer, determines the routing path based on the shortest path rule under the preset routing rule, the threshold rule of the XOR operation, and the multi-link rule of the communication link. Among them, the shortest path rule realizes the shortest distance determination of the routing path, and the threshold rule of the XOR threshold simplifies the determination process through the XOR operation. The multi-link rule includes a multi-request link rule and a multi-path link rule. The multi-request link rule takes into account that there are two directional paths in the multi-request link between two routing nodes, and multiple links under each directional path correspond to multiple tag requests. When requesting a path, only a preset number of valid tag requests are allowed to pass, which also avoids the corresponding deadlock scenario of all valid tag requests corresponding to multiple links. In addition, the multi-request link rule based on the request tag can flexibly set the corresponding routing path, and improve flexibility while avoiding deadlock. The multi-path link rule enriches the diversity of path determination. When in different layers, it is necessary to jump to the same layer for routing planning. Whether in the triangular prism network structure of the same layer or different layers, the problem of time extension of equal position correspondence when repeated routing nodes are passed through is avoided, and the deadlock caused by the formation of a "ring" topology structure is avoided, thereby ensuring the reliability of communication.
[0088] In this embodiment, by determining the triangular prism network structure of the target number of layers, the routing nodes are all connected to the port nodes, and the routing nodes are fully utilized so that the routing nodes not only play the role of routing, but also have the function of connecting the port nodes. At the same time, based on the triangular prism network of the target number of layers, the corresponding network diameter is also determined, further shortening the routing transmission distance; the process of determining the binary data corresponding to the routing node provided in this embodiment fully utilizes the binary data to represent the routing node. Compared with the use of serial number arrangement, this embodiment is more direct through XOR processing in the subsequent routing calculation process. In addition, the number of bits determined by the total number of routing nodes takes into account the reduction of data calculation during the data representation process; if the number of layers of the triangular prism network structure is double, 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, in order to distinguish the triangular prism network structure where two routing nodes are in the same layer or different layers, so as to simplify the routing calculation of the subsequent routing path; the same-layer process of determining the source routing node and the target routing node through the XOR operation can simply and clearly determine the same-layer relationship between the two; the multi-request link rules and different target path strategies provided in this embodiment determine the routing paths of the source routing node and the target routing node, so that each hop in the routing process corresponds to a screening, so that the efficiency of path determination is improved.
[0089] In addition, the present invention also provides a routing path determination device based on a triangular prism network structure, a path communication device and a medium, which have the same beneficial effects as the above-mentioned routing path determination method based on a triangular prism network structure. BRIEF DESCRIPTION OF THE DRAWINGS
[0090] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0091] Figure 1 It is a schematic diagram of a set of ring topology structures;
[0092] Figure 2 It is a clockwise deadlock diagram of a ring topology;
[0093] Figure 3 It is a schematic diagram of a counterclockwise deadlock in a ring topology;
[0094] Figure 4 A flowchart of a method for determining a routing path based on a triangular prism network structure provided by an embodiment of the present invention;
[0095] Figure 5 A schematic diagram of a triangular prism network structure of routing nodes represented by binary data provided by an embodiment of the present invention;
[0096] Figure 6 A schematic diagram of a marking request of a routing node provided by an embodiment of the present invention;
[0097] Figure 7 A schematic diagram of a deadlock marking request provided in an embodiment of the present invention;
[0098] Figure 8 A schematic diagram of a deadlock-avoiding marking request provided by an embodiment of the present invention;
[0099] Fig. 9 Another schematic diagram of a marking request for avoiding deadlock provided by an embodiment of the present invention;
[0100] Fig.10 A schematic diagram of path marking under a path link rule provided by an embodiment of the present invention;
[0101] Fig.11 A schematic diagram of a valid marked path under a path link rule provided by an embodiment of the present invention;
[0102] Fig.12 A path diagram determined by a valid marking request based on a first target path strategy provided by an embodiment of the present invention;
[0103] Fig.13 A path schematic diagram determined by a valid marked path under a first target path strategy provided by an embodiment of the present invention;
[0104] Fig.14 A path diagram determined by a valid marking request based on a second target path strategy provided by an embodiment of the present invention;
[0105] Fig.15 A path schematic diagram determined by a valid marked path under a second target path strategy provided by an embodiment of the present invention;
[0106] Fig.16 A schematic diagram of a marking request for an outer triangular prism network structure provided by an embodiment of the present invention;
[0107] Fig.17 A schematic diagram of a marking request for another outer triangular prism network structure provided by an embodiment of the present invention;
[0108] Fig.18 A schematic diagram of a marking path of an outer triangular prism network structure provided by an embodiment of the present invention;
[0109] Fig.19A schematic diagram of a marking path of another outer triangular prism network structure provided by an embodiment of the present invention;
[0110] Fig. 20 A schematic diagram of a marking request for a double-layer triangular prism network structure with different layers provided by an embodiment of the present invention;
[0111] Fig.21 A schematic diagram of a marking path of a double-layer triangular prism network structure with different layers provided by an embodiment of the present invention;
[0112] Fig. 22 A schematic diagram of a complete path from a source routing node to a target routing node provided by an embodiment of the present invention;
[0113] Fig.23 Another complete path schematic diagram from a source routing node to a target routing node provided by an embodiment of the present invention;
[0114] Fig.24 A structural diagram of a routing path determination device based on a triangular prism network structure provided by an embodiment of the present invention;
[0115] Fig.25 A structural diagram of a path communication device provided by an embodiment of the present invention;
[0116] Fig.26 A schematic diagram of routing node coding, port numbering and corresponding width of an outer triangular prism network structure provided by an embodiment of the present invention;
[0117] Fig. 27 A schematic diagram of routing node coding, port numbering and corresponding width of an inner triangular prism network structure provided by an embodiment of the present invention;
[0118] Fig.28 A routing node distribution diagram of a port node X16 of a double-layer triangular prism network structure provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0119] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0120] The core of the present invention is to provide a routing path determination method, device, path communication equipment and medium to solve the technical problem that deadlock occurs in the communication of the ring topology structure, resulting in the overall paralysis of the on-chip network.
[0121] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0122] The source routing node in the network structure is responsible for sending and collecting data packets, and routing nodes can send data packets to each other. Each routing node is connected to multiple port nodes, one port node is a server, and the data exchange between each server is realized through the routing node of the topological structure of the on-chip network. The construction of the triangular prism network structure is mainly used for data message transmission, so that the data of each port node can be exchanged. The port node can represent the terminal device, and the terminal device here can be a different server, or other terminal devices, such as any system with communication needs such as a controller. The specific number of layers of the triangular prism network structure corresponding to different communication scenarios is different. In order to save the occupied area and resources of the node, this embodiment determines the number of subsequent routing nodes according to the number of valid servers to which the actual port node belongs. The port node connects the routing node corresponding to the vertex of the triangular prism. The connection relationship here is that under normal circumstances, multiple port nodes are connected to one routing node. The specific number of port nodes corresponding to one routing node is not limited here. The corresponding number of routing nodes can be determined according to the principle that one server corresponds to one port node, and the total number of servers and a fixed number of port nodes are connected to one routing node.
[0123] Figure 1 is a schematic diagram of a set of ring topology structures, such as Figure 1 As shown in the figure, assume that there are four routing requests at the same time: 1. Routing node 2 to routing node 7; 2. Routing node 3 to routing node 6; 3. Routing node 7 to routing node 2; 4. Routing node 6 to routing node 3. These four routing requests need to pass through a routing node and all choose the same direction of routing (clockwise or counterclockwise), and all have occupied the intermediate routing node, resulting in a deadlock. Figure 2 It is a clockwise deadlock diagram of a ring topology. Figure 3 It is a schematic diagram of a counterclockwise deadlock of a ring topology, such as Figure 2 and Figure 3 As shown in , no matter which direction the route is, the route request needs to pass through a routing node, and each path is occupied by the next path. Figure 2 As shown, if the first path (routing node 2 to routing node 7) is requested, it is found that it is occupied by the next request. If the second path (routing node 3 to routing node 6) is requested, it is occupied by the next request. And so on, all are occupied. The current state is either equal or a deadlock phenomenon occurs in the case of network paralysis. The routing path determination method based on the triangular prism network structure provided by the present invention can solve the above technical problems.
[0124] Figure 4 A flowchart of a method for determining a routing path based on a triangular prism network structure provided by an embodiment of the present invention is shown in FIG. Figure 4 As shown, the method includes:
[0125] S11: Acquire source routing nodes and target routing nodes based on the triangular prism network structure;
[0126] The triangular prism network structure is composed of a plurality of routing nodes, and the triangular prism network structure has at least one layer;
[0127] S12: Determine whether the source routing node and the target routing node belong to the same layer of the triangular prism network structure, if so, proceed to step S13, if not, proceed to step S14;
[0128] S13: Determine a corresponding routing path according to a preset routing rule and an actual XOR result of binary data corresponding to a source routing node and a target routing node;
[0129] Among them, the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path link rule; the multi-request link rule is a link rule that allows a preset number of valid mark requests in the same direction of the communication link; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is at the first hop or second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows a valid mark path in the same direction of the communication link, and the valid mark path is at the first 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;
[0130] S14: Routing the source routing node to a new source routing node of the layer to which the target routing node belongs, and determining a corresponding routing path according to a preset routing rule and an actual XOR result of binary data corresponding to the new source routing node and the target routing node.
[0131] Specifically, the construction process of the triangular prism network is as follows:
[0132] Get the number of servers to which the port node belongs, where the port node connects to the routing node corresponding to the vertex of the triangular prism;
[0133] Determine the target number of layers of the triangular prism network structure according to the number of servers and the number of routing nodes of the triangular prism of the unit layer;
[0134] The corresponding number of triangular prisms is set according to the target number of layers, and the triangular prisms of the target number of layers are nested to obtain a triangular prism network structure; wherein the network diameter between each port node is less than or equal to the network diameter of the triangular prism network structure.
[0135] Since the number of routing nodes of the triangular prisms in the unit layer is fixed, that is, there are 6 vertices in a triangular prism, the number of routing nodes determined based on the number of servers and the number of routing nodes of the triangular prisms in the unit layer can also get the target number of layers of the triangular prism network structure. The triangular prisms corresponding to the target number of layers are nested with each other to obtain a triangular prism network structure. The nesting here means full nesting. If the target number of layers is double, one triangular prism network is nested in another triangular prism network, so that the vertices of each triangular prism network have corresponding vertex connections, the corresponding three-dimensional shapes of each triangular prism network are the same, the side prisms are parallel to each other, and the planes of each prism are also parallel to each other.
[0136] The network diameter corresponding to the mutual visit 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. In other words, the network diameter of a single-layer triangular prism network structure is 2, and the network diameter of a three-layer triangular prism network structure is 3. The maximum network diameter between each port node is the network diameter of the triangular prism network structure in which it is located.
[0137] In some embodiments, determining the target number of layers of the triangular prism network structure according to the number of servers and the number of routing nodes of the triangular prism of the unit layer includes:
[0138] Get the preset port node quantity threshold value connected to the routing node;
[0139] Determine the total number of routing nodes in the triangular prism network structure based on the relationship between the preset port node quantity threshold value connected to the routing node and the number of servers;
[0140] The target number of layers of the triangular prism network structure is determined according to the relationship between the total number of routing nodes and the number of routing nodes of the triangular prism of the unit layer.
[0141] Specifically, the number of layers of the triangular prism network structure adopted is based on the preset port node number threshold for a routing node to be connected. The relationship between the number of servers and the preset port node number threshold can determine the total number of routing nodes in the triangular prism network structure, and then the target number of layers 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 of the triangular prism in the unit layer.
[0142] In this embodiment, by determining the triangular prism network structure of the target number of layers, the routing nodes are all connected to the port nodes, and the routing nodes are fully utilized so that the routing nodes not only play the role of routing, but also have the function of connecting the port nodes. At the same time, based on the triangular prism network of the target number of layers, the corresponding network diameter is also determined, further shortening the routing transmission distance.
[0143] The source routing node and the target routing node obtained based on the triangular prism network structure, the source routing node is the node of the message request initiated by the port node connected to the routing node, and the target routing node is the node corresponding to the port node responded by the routing node. The selection of routing nodes here is all based on the routing nodes of the triangular prism network structure, and the corresponding selection process can be based on the settings of servers under different port nodes, or based on different communication task settings, etc., which are not limited here, or based on the source routing node and the target routing node determined by the routing request.
[0144] The triangular prism network structure is constructed by the above-mentioned triangular prism network structure construction method, and the corresponding triangular prism network structure has at least one layer, that is, a single-layer triangular prism network or a multi-layer network structure.
[0145] Whether the source routing node and the target routing node are in the same layer can be checked through the routing node number and the topology display diagram of the triangular prism network topology structure, or can be determined through the binary data of the layer flag bits of the source routing node and the target routing node. When the source routing node and the target routing node are not in the same layer of the triangular prism network structure, this includes the source routing node and the target routing node being in adjacent layers, or being separated by N layers (N is greater than 2).
[0146] If the source routing node and the target routing node belong to the same layer in step S13, the routing path can be determined according to the preset routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node. The process of determining the binary data corresponding to a routing node specifically includes:
[0147] Get the binary data corresponding to each bit;
[0148] Select bits greater than the total number of routing nodes from the number of binary data corresponding to each bit as initial bits;
[0149] Determine, within the initial bits, an initial bit closest to the total number of routing nodes as a target bit;
[0150] The binary data of the target bit is determined according to the target bit to determine the binary data corresponding to the routing node.
[0151] Specifically, in this embodiment, the binary data of each bit is obtained. This is only a reference data. The binary data of 1 bit includes 1 and 0, the binary data of 2 bits includes 10, 01, 00 and 11, and so on. It can be understood that not all bits of binary data are listed, but are set based on actual conditions. Determine how many binary data can be represented in the binary data corresponding to each bit, such as 1 bit of binary data is 2 1 =2, 2-bit binary data is 2 2 =4. The binary data corresponding to each bit is filtered out from the number of binary data corresponding to each bit, which is greater than the initial bit of the total number of routing nodes. For example, the total number of routing nodes is 6, and the obtained bits are 2bit, 3bit, 4bit, etc., and the corresponding number of binary data of each bit is 4, 8, 16, etc. Among them, the initial bits greater than the total number of routing nodes are 3bit, 4bit, etc. Among them, the initial bit closest to the total number of routing nodes is 3bit, so 3bit is used as the target bit, that is, 3bit of binary data is enough to be identified in the triangular prism network structure composed of 6 routing nodes.
[0152] Figure 5 A schematic diagram of a triangular prism network structure of a routing node represented by binary data provided by an embodiment of the present invention, such as Figure 5 As shown, the double-layer triangular prism network structure has a total of 12 routing nodes, and the routing nodes are represented by 4-bit binary data, that is, the label of each routing node is 4 bits.
[0153] The process of determining the binary data corresponding to the routing node provided in this embodiment makes full use of binary data to represent the routing node. Compared with the arrangement of serial numbers, this embodiment is more direct through XOR processing in the subsequent routing calculation process. In addition, the number of bits determined by the total number of routing nodes takes into account the reduction of data calculation in the data representation process.
[0154] In some embodiments, the relationship between the binary data corresponding to each routing node is as follows:
[0155] Get the binary data of the current routing node;
[0156] Determine a ninth XOR result according to the binary data of the current routing node and the binary data of the routing node to be directly connected;
[0157] If the ninth XOR result is the same as the first threshold, 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.
[0158] It should be noted that after determining the specific bits of the binary data of the routing node, in the triangular prism network structure, the binary data of each routing node is not randomly set, but the binary data of adjacent routing nodes, the binary data of routing nodes on the same layer, the binary data of routing nodes of the side prisms on the same layer, or the binary data of coplanar routing nodes on the same layer, etc. have different rules, which can be set based on actual conditions. In addition, not all binary data corresponding to specific bits can be applied to routing nodes, and whether the corresponding binary data meets the setting of the first threshold must also be considered. Therefore, to obtain the binary data of the current routing node, the current routing node can be selected at will, and if the corresponding connection rule is not formed, it can be replaced.
[0159] 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, 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, the first threshold is 1000, the lower three bits are equal, and the highest bit is opposite.
[0160] The actual XOR result of the binary data corresponding to the source routing node and the target routing node is obtained by performing bitwise XOR operation on the binary data corresponding to the source routing node and the target routing node, respectively. Of course, XOR can also be performed based on data with a fixed number of bits of binary data.
[0161] 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. Among them, the shortest path rule is set based on the network diameter as a reference, and the network diameter is the maximum value of the minimum distance between any two nodes in the network. That is to say, the network diameter of the single-layer triangular prism network structure is 2, the network diameter of the three-layer triangular prism network structure is 3, and the network diameter between each port node is at most the network diameter of the triangular prism network structure in which it is located. The shortest path rule is that in the process of determining the routing path, the shortest path through any two routing nodes is less than or equal to the network diameter of the triangular prism network structure. In the triangular prism network structure of the same layer, since the network diameter of the single-layer triangular prism network structure is 2, there are at most two hops involved in the path between the source routing node and the target routing node, one is a hop directly connected to the source routing node and the target routing node, and the other is two hops indirectly connected to the source routing node and the target routing node: the first hop and the second hop.
[0162] The threshold rule of the XOR threshold is set for the XOR result of the binary data of each routing node of the triangular prism network structure. The XOR threshold is a preset position for the XOR result of any two routing nodes, including multiple XOR thresholds, such as 0011, etc. The XOR threshold here can be a certain threshold range, such as XX11, that is, the threshold of the last two digits is 11, which includes four specific thresholds of 0011, 0111, 1011, and 1111, or a specific threshold, 0011.
[0163] The multi-link rule, the number of multi-links corresponding to it is usually 4 links, and each direction has two links. It should be noted that this embodiment takes into account the link expression form of the determination process of the routing path, which can be a request link or a path link. It is not limited here. The specific link to be used can be set according to the actual situation. The preset number of valid tag requests allowed in the same direction of the multi-request link is less than the number of request links, that is, it is ensured that the valid tag requests in the same direction cannot occupy the request link at the same time, that is, the number of request links of "1" is less than the number of all links. If all the request links in the same direction are valid tag requests, deadlock will occur, causing network paralysis. Taking two links as an example, there is at most one "1" valid tag request. In addition, "1" and "0", or "0" and "0" can also exist at the same time. As long as "1" and "1" do not exist at the same time, under the multi-request link, the valid tag request is not limited to the first hop or the second hop in the indirect connection relationship between the source routing node and the target routing node, and can be in any hop. In other words, it can exist in the first hop or in the second hop. The multi-path link rule is a link rule that allows one valid labeled path in the same direction of the communication link. The valid labeled path is at the first hop in the indirect connection relationship between the source routing node and the target routing node, and its valid labeled path is "+".
[0164] For the tag request, the path is randomly identified based on the different request tags under different paths. For example, there are 4 paths in total, A and B are in the same direction, C and D are in opposite directions. In the tag request, the path A is set to "1". After the current data transmission is completed, the path A can be set to "0" according to the next tag request. The tag request corresponding to the path is more flexible. If the path is marked, the corresponding path A is set to "+". No matter what kind of request is issued, it is necessary to strictly follow the situation where path A is "+".
[0165] Regarding valid tagging requests, Figure 6 A schematic diagram of a marking request of a routing node provided by an embodiment of the present invention, such as Figure 6As shown in the figure, the source routing node S and the target routing node D are not directly connected, and need to go through two hops. However, this routing request will cause deadlock. The first hop is marked as a valid tag request "1" and the second hop is marked as an invalid tag request "0". If both 1100 and 1000 are passed, the valid tag request will occupy the entire request link, and a deadlock will occur. Therefore, Figure 6 The right figure in the figure shows the path for the second routing request.
[0166] Figure 7 A deadlock marking request diagram provided in an embodiment of the present invention is shown in FIG. Figure 7 As shown in the figure, suppose there are two routing requests, request 1: S=1100, D=1001; request 2: S=1100, D=1010. If the first hop of request 1 has already occupied a link between 1100 and 1000, then the first hop of request 2 will not be allowed to occupy another link between 1100 and 1000 (one link has already been occupied by the request marked as "1", and the other link is not allowed to be occupied by the request marked as "1"). Figure 8 A schematic diagram of a deadlock-avoiding marking request provided by an embodiment of the present invention, such as Figure 8 As shown in the figure, the first hop of request 2 occupies another link between 1100 and 1000, which can only allow non-valid marked requests marked as "0" to occupy it. At this time, request 2 can either choose to wait for request 1 to complete transmission here, or choose to apply for the link between 1100 and 1110. However, the link between 1100 and 1110 also only allows one request marked as "1" to pass. Fig. 9 Another deadlock-avoiding marking request schematic diagram provided by an embodiment of the present invention is as follows: Fig. 9 As shown, the link between 1100 and 1110 allows a valid tag request of "1" to pass through.
[0167] Fig.10 A schematic diagram of a path marking under a path link rule provided by an embodiment of the present invention, such as Fig.10 As shown, there are two directions between two routing nodes, and each direction has a "+" path mark and a "-" path mark. Fig.11 A schematic diagram of a valid marked path under a path link rule provided by an embodiment of the present invention, such as Fig.11 As shown, there are two hops between the source routing node S and the target routing node D, and the first hop is specified as a valid marked path "+", and the second hop is specified as an invalid marked path "-". In step S13, even if the source routing node and the target routing node belong to the same layer, the connection relationship between the two routing nodes still includes two types, a direct relationship and an indirect relationship. The corresponding routing path is determined for the two connection relationships and the corresponding preset routing rules.
[0168] 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 jumped to a new source routing node so that the new source routing node and the target routing node belong to the same layer. After the same layer, the judgment process of determining the routing path is the same as that in step S13, which will not be repeated here.
[0169] A method for determining a routing path based on a triangular prism network structure provided by an embodiment of the present invention obtains a source routing node and a target routing node based on the triangular prism network structure, wherein the triangular prism network structure is composed of multiple routing nodes, and the number of layers of the triangular prism network structure is at least one layer; if the source routing node and the target routing node belong to the same layer, the corresponding routing path is determined according to a preset routing rule and the actual XOR result of the binary data corresponding to the source routing node and the target routing node; wherein the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path 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 a communication link Then; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows a valid mark path in the same direction of the communication link, and the valid mark path is the first 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 of any two routing nodes is less than or equal to the network diameter of the triangular prism network structure; if the source routing node and the target routing node do not belong to the same layer, the source routing node is routed to a new source routing node of the layer to which the target routing node belongs, and the corresponding routing path is determined according to the preset routing rule and the actual XOR result of the binary data corresponding to the new source routing node and the target routing node. On the basis of the triangular prism network structure, for the path planning of the source routing node and the target routing node, when they are in the same layer, the routing path is determined based on the shortest path rule under the preset routing rule, the threshold rule of the XOR operation, and the multi-link rule of the communication link. Among them, the shortest path rule realizes the shortest distance determination of the routing path, and the threshold rule of the XOR threshold simplifies the determination process through the XOR operation. Multi-link rules include multi-request link rules and multi-path link rules. Multi-request link rules take into account that there are two directional paths for the multi-request link between two routing nodes. Multiple links under each directional path correspond to multiple tag requests. When requesting a path, only a preset number of valid tag requests are allowed to pass, thus avoiding the occurrence of a deadlock scenario when all valid tag requests corresponding to multiple links pass. In addition, multi-request link rules based on request tags can flexibly set the corresponding routing paths, thereby improving flexibility while avoiding deadlock. Multi-path link rules enrich the diversity of path determination. When in different layers, it is necessary to jump to the same layer for route planning. Whether in the triangular prism network structure of the same layer or different layers, the problem of time extension corresponding to equal positions when repeated routing nodes pass through is avoided, and the deadlock caused by the formation of a "ring" topology structure is avoided, thereby ensuring the reliability of communication.
[0170] In some embodiments, if the triangular prism network structure has two layers, the highest bit of binary data of the routing nodes of the outer triangular prism network structure is 1, and the highest bit of binary data of the routing nodes of the inner triangular prism network structure is 0.
[0171] Specifically, based on the highest bit setting of the binary data of the routing nodes of the triangular prism network structure of different layers, the highest bit of the binary data of the routing nodes of the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing nodes of the inner triangular prism network structure is 0. Here, only a two-layer consideration is made, that is, one bit of the binary data of a routing node represents the identification of the triangular prism network structure at different layers. If there are three or more layers of triangular prism network structures, multi-bit data may be used to represent the different layers of the triangular prism network structure. For statistical convenience, the first few bits of binary data can be selected to set the identification of different layers, such as the first two bits of binary data are used for the identification of different layers. For example, if there are 4 layers of triangular prism network structures, the first two bits of binary data of the routing nodes corresponding to the triangular prism network structure of the first layer are 00, the first two bits of binary data of the routing nodes corresponding to the triangular prism network structure of the second layer are 01, the first two bits of binary data of the routing nodes corresponding to the triangular prism network structure of the third layer are 10, and the first two bits of binary data of the routing nodes corresponding to the triangular prism network structure of the fourth layer are 11.
[0172] In the embodiment of the present invention, if the number of layers of the triangular prism network structure is two layers, 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, in order to distinguish whether 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.
[0173] Based on the above embodiments, in some embodiments, the process of determining whether the source routing node and the target routing node are at the same layer includes:
[0174] Obtain binary data corresponding to the source routing node and the target routing node respectively;
[0175] Perform bitwise XOR operation on the binary data corresponding to the source routing node and the target routing node to obtain the actual XOR result;
[0176] If the highest bit of the actual XOR result is 1, it is determined that the source routing node and the target routing node do not belong to the same layer;
[0177] If the highest bit of the actual XOR result is 0, it is determined that the source routing node and the target routing node belong to the same layer.
[0178] Specifically, when setting the binary data of the routing nodes of the triangular prism network structure, taking into account the general term and the routing determination of different layers, the highest bit of the binary data is marked as the layer. For a double-layer triangular prism network structure, 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. Through 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 target 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 target routing node belong to the same layer.
[0179] The process of determining whether a source routing node and a target routing node are at the same layer by using an XOR operation provided in this embodiment can simply and clearly determine the relationship between the two at the same layer.
[0180] In some embodiments, determining a corresponding routing path according to a preset routing rule and an actual XOR result of binary data corresponding to a source routing node and a target routing node includes:
[0181] Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected;
[0182] Determine whether the actual XOR result is a parameter of the first reference XOR result;
[0183] If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule;
[0184] If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result;
[0185] If the actual XOR result is a parameter of the second reference XOR result, the connection mode between the source routing node and the target routing node is determined to be an indirect connection, and the routing paths of the source routing node and the target routing node are determined according to the threshold rule and the multi-request link rule.
[0186] It can be understood that the reference XOR result includes a first reference XOR result and a second reference XOR result, and the two reference XOR results are set based on the connection mode (direct connection and indirect connection) between the source routing node and the target routing node. Figure 5Taking the binary data set by the routing node in as an example, if the actual XOR result is a parameter of the first reference XOR result, such as one of 0100, 0010, 0001, and 0011, it is determined that the source routing node and the target routing node are directly connected, and routing can be performed directly.
[0187] In some embodiments, determining a routing path of a source routing node and a target routing node according to a shortest path rule includes:
[0188] Obtain the path between the source routing node and the target routing node;
[0189] The path between the source routing node and the target routing node is taken as the routing path.
[0190] Specifically, the final routing path is determined by direct routing, which does not require multi-link settings and complies with the network diameter rule that two routing nodes are directly connected under the triangular prism network structure.
[0191] If the actual XOR result is a parameter of the second reference XOR result, such as one of 0110, 0101, and 0111, it is determined that the source routing node and the target routing node are indirectly connected, and two hops are required to determine the routing path of the source routing node and the target routing node according to the threshold rule and the multi-link rule.
[0192] In this embodiment, the multi-link rule is used to determine the routing path in the path scheduling process to avoid deadlock scenarios, and the path of each hop is screened, that is, each step is screened once through the multi-request link rule to update the current routing path in real time.
[0193] In some embodiments, determining a routing path of a source routing node and a target routing node according to a threshold rule and a multi-link rule includes:
[0194] Determine whether the actual XOR result meets the XOR threshold of the threshold rule;
[0195] If yes, determine the routing paths of the source routing node and the target routing node according to the first target path strategy and the multi-link rule; wherein the first target path strategy is a path strategy corresponding to the connection of binary data of any two routing nodes excluding contradictions during an XOR operation;
[0196] If not, the routing paths of the source routing node and the target routing node are determined according to the second target path strategy and the multi-link rule.
[0197] Specifically, it is determined whether the actual XOR result meets the XOR threshold of the threshold rule. In the above embodiment, it is mentioned that the XOR threshold of the threshold rule is a preset position of the XOR result of any two routing nodes, which contains multiple XOR thresholds. If the XOR threshold of the threshold rule is met, the routing path is determined by the first target path strategy and the multi-link rule. The first target path strategy here is the path strategy corresponding to the exclusion of contradictory connections between the binary data of any two routing nodes during the XOR operation. If the XOR condition is not met, the routing path is determined by the second target path strategy and the multi-link rule.
[0198] For example, the XOR threshold is the last two digits of the binary number are 11, Figure 5 For example, the 4-bit binary data of 12 routing nodes are represented. The four corresponding nodes obtained by XORing nodes 0100, 0000, 1100, and 1000 with 1000, 0100, 0010, and 0001 are connected to themselves. For example, 0100 is XORed with 1000, 0100, 0010, and 0001 to obtain 1100, 0000, 0110, and 0101, so 0100 is directly connected to the four nodes 1100, 0000, 0110, and 0101.
[0199] The remaining eight nodes are each XORed with 1000, 0100, 0001 and 0011 to obtain four nodes that are connected to themselves. For example, 1001 is XORed with 1000, 0100, 0001 and 0011 to obtain 0001, 1101, 1000 and 1010. It should be noted that the intermediate XOR values (1000, 0100, 0010, 0001, 1000, 0100, 0001 and 0011) in this embodiment, except for 0011, the remaining binary data are all 1 1 and 3 0s. Therefore, the intermediate XOR value 0011 is analyzed.
[0200] If we analyze the two routing nodes 0110 and 0101, if the analysis based on the ordinary routing path shows that there will be a routing diameter formed by other routing nodes between the two routing nodes, it will lead to a contradiction with the shortest path rule and network diameter rule of the triangular prism network structure. Therefore, the routing path of the intermediate XOR value 0011 is calculated separately, and it is set as the first target path strategy.
[0201] In some embodiments, determining a routing path of a source routing node and a target routing node according to a first target path strategy and a multi-link rule includes:
[0202] Obtaining a first XOR result, wherein the first XOR result is obtained by screening XOR results of binary data corresponding to any two routing nodes during an XOR operation;
[0203] Performing an XOR operation on the actual XOR result of the source routing node and the target routing node and the first XOR result to obtain a second XOR result;
[0204] Splitting the second XOR result into a third XOR result according to a one-hot encoding method, wherein the binary data of the third XOR result is at least one;
[0205] According to the multi-link rule, the third XOR result, the first XOR result and the source routing node are XORed to obtain the target routing node to complete the routing path.
[0206] Specifically, the first XOR result is obtained by screening the XOR results of the binary data corresponding to any two routing nodes during the XOR operation process, which is actually a technical solution that eliminates the conflict with the network diameter rule of the triangular prism network structure caused by the contradictory connection. The first XOR result here is 0011, and the actual XOR results of the source routing node and the target routing node are XORed with the first XOR result to obtain the second XOR result, and then the second XOR result is split into the third XOR result according to the unique hot encoding method.
[0207] It is understandable that the one-hot encoding method can be split based on the current one-hot encoding, or it can be improved on the basis of the original one-hot encoding method to obtain a new one-hot encoding method, which is not limited here. The second XOR result is split into several XORs of the one-hot encoding to obtain a third XOR result. It is understandable that the binary data of the third XOR result is at least one. The target routing node is obtained by performing an XOR operation on the third XOR result, the first XOR result and the source routing node.
[0208] The third XOR result here can be one or more. When there are multiple third XOR results, the multi-request link rule, multiple third XOR results, and the first XOR result are XORed with the source routing node in a random manner to obtain the target routing node.
[0209] For example, the source routing node S and the target routing node D are bitwise XORed to obtain the actual XOR result I. If the last two bits of I are both 1, the determined path strategy is the first target path strategy. 0 =0011 XOR, get I * , will I * The third XOR result split according to the one-hot encoding method, I 1 ,I 2 etc., that is, I * =I 1 ^I 2 When S is 0010 and D is 0101, the actual XOR result is I=0111; I * =0100, the third XOR result of the split unique hot encoding is I 1=0100. Fig.12 A path diagram determined by a valid marking request under a first target path strategy provided by an embodiment of the present invention is as follows: Fig.12 As shown in FIG. 1 , the source routing node S is 0010 and the target routing node D is 0101, and the routing path is determined. 0 ,I 1 is the first XOR result and the third XOR result. If the multi-request link rule of the multi-link rule is adopted, "1" is a valid tag request and "0" is an invalid tag request. It should be noted that this is only the routing path corresponding to some tag requests. The first hop can also be set to an invalid tag request and the second hop can be set to a valid tag request. In addition, Fig.13 A path diagram determined by a valid marked path under a first target path strategy provided by an embodiment of the present invention is as follows: Fig.13 As shown, if a multi-request link rule of a multi-link rule is adopted, the corresponding first hop is set to a "+" valid marked path, and the second hop is set to a "-" valid marked path.
[0210] In some embodiments, when the multi-link rule is a multi-request link rule, performing an XOR operation on the source routing node according to the multi-request link rule, the third XOR result, the first XOR result, and the source routing node to obtain the target routing node includes:
[0211] When the sum of the binary data of the third XOR result and the binary data of the first XOR result is more than one, performing a first XOR operation on the binary data corresponding to the third XOR result and the first XOR result respectively with the source routing node to obtain a fourth XOR result, wherein the fourth XOR result is at least one;
[0212] Taking all paths between the routing node corresponding to the fourth XOR result and the source routing node as the initial routing path of the first hop;
[0213] Obtain the number of all valid marking requests being routed and the current marking request corresponding to the original routing path of the initial routing path of the first hop;
[0214] When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to a preset number;
[0215] If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the fourth XOR result and the binary data of the remaining third XOR results and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain a fifth XOR result, until all the binary data of the third XOR result and the first XOR result are XORed, and finally obtain the target routing node;
[0216] If not, then select the path corresponding to the non-valid tag request in the initial routing path of the first hop, and return to the step of performing a second XOR operation on the binary data corresponding to the fourth XOR result with the binary data of the remaining third XOR results and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain the fifth XOR result.
[0217] Specifically, when the binary data of the third XOR result and the reference XOR result are multiple, the binary data corresponding to the third XOR result and the reference XOR result are respectively subjected to the first XOR operation with the source routing node to obtain the fourth XOR result. It can be understood that the fourth XOR result is at least one. All paths between the routing node corresponding to the fourth XOR result and the source routing node are used as the initial routing path of the first hop, and at this time, as the first hop of the source routing node, the number of all valid tag requests being routed and the current tag request of the original routing path to which the first hop belongs are obtained. In other words, the original path here is based on the path corresponding to all valid tag requests being routed. Since there are multiple request links in the same direction, the principle that all request links in the same direction cannot be valid tag requests is followed. It is determined whether the number of all valid tag requests being routed is equal to or equal to the preset number when the current tag request is a valid tag request. If so, it means that the path corresponding to the valid tag request can also be accommodated, that is, the initial routing path of the first hop of the current tag request is retained as the valid tag request, and the random XOR operation is continued to determine the remaining routing path.
[0218] If not, it means that all valid tag requests being routed have been occupied. If you insist on adding the tag request corresponding to the first hop initial routing path of the current fourth XOR result, a deadlock will occur. Therefore, it is necessary to eliminate the initial routing path where the current tag request is the first hop of the valid tag request, select the path corresponding to the non-valid tag request, and continue to perform random XOR operations in this path to determine the remaining routing path.
[0219] For example, there are 5 multi-request links and the preset number is 4, which means that 4 valid tag requests are allowed to exist at the same time, and the remaining request link is set to an invalid tag request. If there are two first hops between the source routing node and the target routing node, one first hop is marked as a valid tag request and the other first hop is marked as an invalid tag request. If the 4 valid tag request links in the current request link are already occupied, the first hop of the source routing node needs to select an invalid tag request to avoid deadlock of the routing path.
[0220] In other embodiments, when the multi-link rule is a multi-path link rule, performing an XOR operation on the multi-path link rule, the third XOR result, the first XOR result and the source routing node to obtain the target routing node includes:
[0221] When the sum of the binary data of the third XOR result and the binary data of the first XOR result is more than one, performing a first XOR operation on the binary data corresponding to the third XOR result and the first XOR result respectively with the source routing node to obtain a fourth XOR result, wherein the fourth XOR result is at least one;
[0222] Taking all paths between the routing node corresponding to the fourth XOR result and the source routing node as the initial routing path of the first hop;
[0223] Determine whether the current marked path is a valid marked path;
[0224] If so, based on the initial routing path of the first hop of the current marked path being the valid marked path, the binary data corresponding to the fourth XOR result is respectively subjected to a second XOR operation with the binary data of the third XOR result and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain a fifth XOR result, until all the binary data of the third XOR result and the first XOR result are XORed, and finally the target routing node is obtained;
[0225] If not, based on the current marked path being the initial routing path of the first hop of the non-valid marked path, the preset time is returned to the step of determining whether the current marked path is a valid marked path until the current marked path is the initial routing path of the first hop of the valid marked path to obtain the target routing node.
[0226] It should be noted that the process of determining the initial routing path of the first hop will not be described in detail. Referring to the determination process of the above embodiment, the setting of the current marked path in this embodiment is based on the consideration that if it is a valid marked path, a subsequent path determination process will be performed. If it is not a valid marked path, it is necessary to wait for a preset time until the data of the valid marked path being routed is transmitted before it can be used, thereby achieving the sequentiality and effectiveness of the path transmission data.
[0227] In some embodiments, determining an initial routing path of a source routing node and a target routing node according to a second target path strategy and a multi-link rule includes:
[0228] Splitting the actual XOR result into a sixth XOR result according to a one-hot encoding method, wherein the binary data of the sixth XOR result is at least one;
[0229] According to the multi-link rule, the sixth XOR result is XORed with the source routing node to obtain the target routing node to complete the routing path.
[0230] Specifically, in the second target path strategy, XOR is performed directly according to the one-hot encoding. The one-hot encoding method can be the same as the one-hot encoding method for the first target path strategy in the above embodiment, or it can be different, which is not limited here. Split into the XOR result of the one-hot encoding of the sixth XOR result, and the binary data of the sixth XOR result is at least one. Then, based on a random method, the target routing node is obtained by performing an XOR operation on the sixth XOR result and the source routing node. For example, the source routing node S is 0100, the target routing node D is 0010, and the actual XOR result I=0110. The actual XOR result is split into several one-hot encoded XORs, I=I 11 ^I 12 =0100^0010, Fig.14 A schematic diagram of a path determined by a valid marking request based on a second target path strategy provided by an embodiment of the present invention, such as Fig.14 As shown in FIG. 1 , the source routing node S is 0100 and the target routing node D is 0010 as an example to determine the routing path. 11 ,I 12 All are the third XOR results. "1" is a valid tag request, and "0" is an invalid tag request. It should be noted that this is only the routing path corresponding to some tag requests. It can also correspond to an invalid tag request in the first hop and a valid tag request in the second hop. Fig.15 A path diagram determined by a valid marked path under a second target path strategy provided by an embodiment of the present invention is as follows: Fig.15 As shown in FIG. 1 , the source routing node S is 0100 and the target routing node D is 0010 as an example to determine the routing path. 11 ,I12 All are the third XOR results. "+" is a valid marking path, and "-" is an invalid marking path.
[0231] According to a random method, the sixth XOR result is XORed with the source routing node S respectively to obtain a routing path.
[0232] In some embodiments, when the multi-link rule is a multi-request link rule, performing an XOR operation on the sixth XOR result and the source routing node according to the multi-request link rule to obtain the target routing node to complete the routing path includes:
[0233] When there are multiple binary data of the sixth XOR result, perform a first XOR operation on the binary data corresponding to the sixth XOR result and the source routing node respectively to obtain a seventh XOR result, wherein the seventh XOR result is at least one;
[0234] Taking all paths between the routing node corresponding to the seventh XOR result and the source routing node as the initial routing path of the first hop;
[0235] Obtain the number of all valid marking requests being routed and the current marking request corresponding to the original routing path of the initial routing path of the first hop;
[0236] When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to a preset number;
[0237] If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the seventh XOR result and the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation to obtain an eighth XOR result, until all the binary data of the sixth XOR results are XORed, and finally obtain the target routing node;
[0238] If not, then select the path corresponding to the non-valid tag request in the initial routing path of the first hop, and return to the step of performing a second XOR operation on the binary data corresponding to the seventh XOR result with the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation, to obtain the eighth XOR result.
[0239] Specifically, the random method in this embodiment is the same as the random method in the above embodiment, and both use the routing path obtained by random XOR of the permutation and combination method. In addition, the corresponding multi-request link rule determines the path in the same way as the above embodiment, which will not be repeated here.
[0240] The multi-request link rules and different target path strategies provided in this embodiment determine the routing paths of the source routing node and the target routing node, so that each hop in the routing process corresponds to a screening, thereby improving the efficiency of path determination.
[0241] In other embodiments, when the multi-link rule is a multi-path link rule, performing an XOR operation on the sixth XOR result and the source routing node according to the multi-request link rule to obtain the target routing node to complete the routing path includes:
[0242] When there are multiple binary data of the sixth XOR result, perform a first XOR operation on the binary data corresponding to the sixth XOR result and the source routing node respectively to obtain a seventh XOR result, wherein the seventh XOR result is at least one;
[0243] Taking all paths between the routing node corresponding to the seventh XOR result and the source routing node as the initial routing path of the first hop;
[0244] Determine whether the current marked path is a valid marked path;
[0245] If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the seventh XOR result and the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation to obtain an eighth XOR result, until all the binary data of the sixth XOR results are XORed, and finally obtain the target routing node;
[0246] If not, the process returns to the step of determining whether the current marked path is a valid marked path according to the preset time, until the current marked path is the initial routing path of the first hop of the valid marked path, so as to obtain the target routing node.
[0247] Specifically, the random method in this embodiment is the same as the random method in the above embodiment, and both use the routing path obtained by random XOR of the permutation and combination method. In addition, the corresponding multi-path link rule determines the path in the same way as the above embodiment, which will not be repeated here.
[0248] The multi-path link rules and different target path strategies provided in this embodiment determine the routing paths of the source routing node and the target routing node, so that each hop in the routing process corresponds to a screening, which improves the efficiency of path determination. At the same time, based on the effective marked path under the multi-path link rules, the orderly process of the path is realized.
[0249] In some embodiments, after all paths between the source routing node and the target routing node are determined, the paths corresponding to all valid tag requests being routed are screened to determine the final path, specifically:
[0250] Determine the corresponding routing path according to the preset routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node, including:
[0251] Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected;
[0252] Determine whether the actual XOR result is a parameter of the first reference XOR result;
[0253] If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule;
[0254] If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result;
[0255] If the actual XOR result is a parameter of the second reference XOR result, determining that the connection mode between the source routing node and the target routing node is an indirect connection, and determining the initial routing path of the source routing node and the target routing node according to the threshold rule;
[0256] After determining the initial routing path of the source routing node and the target routing node, the initial routing path is screened according to the multi-link rule to obtain the final routing path.
[0257] Specifically, after the source routing node and the target routing node are connected in an indirect manner, the initial routing paths of the two routing nodes are first determined by the threshold rule, and then the initial routing paths are screened according to the multi-request link rule to obtain the final routing path.
[0258] It can be understood that the initial path determined according to the threshold rule is the same as in the above embodiment. When the threshold rule is met, the initial path is determined based on the first target path strategy, and when the threshold rule is not met, the initial path is determined based on the second target path strategy. The corresponding target path strategy is the same as in the above embodiment, except that the determination process of the multi-link rule is missing.
[0259] In some embodiments, when the multi-link rule is a multi-request link rule, screening the initial routing path according to the multi-request link rule to obtain a final routing path includes:
[0260] Obtain the number of the marking request corresponding to the first hop of the initial routing path and all the valid marking requests being routed for the first hop of the overlapping path overlapping with the initial routing path;
[0261] When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to a preset number;
[0262] If yes, retain the initial routing path corresponding to the current tag request being a valid tag request, and use the initial routing path corresponding to the valid tag request and the initial routing path corresponding to the current tag request being a non-valid tag request as the final routing path;
[0263] If not, the initial routing path corresponding to the current marking request being a valid marking request is eliminated, and the initial routing path corresponding to the current marking request being a non-valid marking request is used as the final routing path.
[0264] Specifically, the technical solution of the multi-request link rule here is the same as the valid tag request determination process in the above embodiment, and will not be repeated here.
[0265] This embodiment provides a method of first determining all initial paths of the source routing node and the target routing node through the threshold rule, and then selecting the appropriate path scheduling according to the multi-request link among all the listed initial paths, so that the entire routing path determination is more comprehensive and specific. Based on the above embodiment, in step S13, deadlock is avoided when the source routing node and the target routing node are at the same layer. Figure 5 Taking the "ring" structure composed of routing nodes 1100, 1101, 1001, and 1000 of the outer triangular prism as an example, suppose there are four routing requests: Request 1: routing node 1100 to routing node 1001; Request 2: routing node 1101 to routing node 1000; Request 3: routing node 1001 to routing node 1100; Request 4: routing node 1000 to routing node 1101; when all four routing requests need to pass through a routing node and all of them have occupied the intermediate routing node, Fig.16 A schematic diagram of a marking request for an outer triangular prism network structure provided by an embodiment of the present invention, Fig.17 A schematic diagram of a label request for another outer triangular prism network structure provided by an embodiment of the present invention is shown in FIG. Fig.16 As shown, it is a clockwise routing direction, such as Fig.17 As shown, the routing direction is counterclockwise, from Fig.16 and Fig.17 It can be seen that all routing requests need to pass through a routing node and have occupied the intermediate routing node. Due to the marking setting of valid marking requests and non-valid marking requests, although it is a ring structure, no deadlock is formed. Fig.18A schematic diagram of a marking path of an outer triangular prism network structure provided by an embodiment of the present invention, Fig.19 A schematic diagram of a marking path of another outer triangular prism network structure provided by an embodiment of the present invention, such as Fig.18 As shown, it is a clockwise routing direction, such as Fig.19 As shown, the routing direction is counterclockwise, from Fig.18 and Fig.19 It can be seen that all routing requests need to pass through a routing node and have occupied the intermediate routing node. Due to the marking setting of the valid marking path and the invalid marking path, although it is a ring structure, no deadlock is formed.
[0266] In step S14, deadlock is avoided by considering that the source routing node and the target routing node are at different layers. Figure 5 The binary data representation of the routing nodes shown takes the "ring" structure formed by the routing nodes 1101, 1001 of the outer triangular prism and the routing nodes 0101, 0001 of the inner triangular prism as an example, assuming that there are four routing requests: Request 1: routing node 0101 to routing node 1101; Request 2: routing node 1101 to routing node 0001; Request 3: routing node 1001 to routing node 0101; Request 4: routing node 0001 to routing node 1101. Fig. 20 A schematic diagram of a marking request for a double-layer triangular prism network structure with different layers provided by an embodiment of the present invention, such as Fig. 20 As shown, when these four routing requests need to pass through a routing node and have occupied the intermediate routing node, although it is a ring structure, no deadlock is formed due to the mark setting of the valid mark request and the invalid mark request. Fig.21 A schematic diagram of a marking path of a double-layer triangular prism network structure with different layers provided by an embodiment of the present invention, such as Fig.21 As shown, when all four routing paths need to pass through a routing node and all have occupied the intermediate routing node, although it is a ring structure, no deadlock is formed due to the marking setting of the valid marking path and the non-valid marking path.
[0267] In some embodiments, routing the source routing node to a new source routing node of a layer to which the target routing node belongs includes:
[0268] Obtaining binary data and a reference XOR result of a source routing node, wherein the reference XOR result is an XOR result of binary data of any two routing nodes in a triangular prism network structure;
[0269] Performing an XOR operation on the binary data of the source routing node and the reference XOR result to obtain the first source routing node of the adjacent layer in the direction in which the source routing node approaches the target routing node;
[0270] Performing an XOR operation on the binary data of the first source routing node and the reference XOR result to obtain a second source routing node of an adjacent layer in a direction in which the first source routing node approaches the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained;
[0271] Alternatively, the adjacent routing nodes of the source routing node are obtained based on the triangular prism network structure;
[0272] Selecting a routing node in a different layer from the source routing node from the adjacent routing nodes as a third source routing node in an adjacent layer in a direction in which the source routing node approaches the target routing node;
[0273] Based on the third source routing node, a corresponding adjacent routing node is obtained until a new source routing node of the layer to which the target routing node belongs is obtained.
[0274] Specifically, this embodiment considers two jump modes, one is to jump based on the routing algorithm, and the other is to jump based on the connection topology diagram of the triangular prism network result. The first routing algorithm jump considers that when the routing node is marked with binary data, it follows the XOR result of the binary data of any two routing nodes. Figure 5 Taking the routing nodes of binary data as an example, any two routing nodes are XORed to obtain 1000 (benchmark XOR result), so the binary data of the source routing node is XORed with the benchmark XOR result to obtain the first source routing node of the adjacent layer in the direction where the source routing node is approaching the target routing node. The binary data of the first source routing node is XORed with the benchmark XOR result to obtain the second source routing node of the adjacent layer in the direction where the first source routing node is approaching the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained. Since there is not only a two-layer triangular prism network structure, but also an N-layer triangular prism network structure with more than two layers, it is necessary to jump continuously until it is in the layer to which the target routing node belongs. The specific formula is: S 1 =S^1000, S is the source routing node, S 1 is the new source routing node, and 1000 is the benchmark XOR result. The actual XOR result of the new source routing node and the target routing node is I=S 1 ^D, D is the target routing node.
[0275] Another way to jump is to jump based on the connection topology diagram of the triangular prism network result, and obtain the adjacent routing nodes of the source routing node based on the triangular prism network structure; select the routing nodes of different layers from the source routing node in the adjacent routing nodes as the third source routing nodes of the adjacent layer in the direction of the source routing node approaching the target routing node; obtain the corresponding adjacent routing nodes based on the third source routing node until a new source routing node of the layer to which the target routing node belongs is obtained. This method is based on the routing nodes adjacent to the source routing node and not belonging to the same layer as the new source routing node, searching layer by layer. In addition, it is also possible to jump to the source routing node of the layer to which the target routing node belongs based on the shortest path principle.
[0276] It is worth noting that if the source routing node and the target routing node are not in the same layer according to the path set by the corresponding multi-path link rule under the multi-link rule, the source routing node will jump to the layer to which the target routing node belongs to obtain a new source routing node. The path between the source routing node and the new routing node corresponds to the path identifier, which can be a "+" valid path identifier or a "-" invalid path identifier. Fig. 22 A schematic diagram of a complete path from a source routing node to a target routing node provided by an embodiment of the present invention, Fig.23 Another complete path diagram from a source routing node to a target routing node provided by an embodiment of the present invention is as follows: Fig. 22 As shown, the source routing node S is 1010, the target routing node D is 0101, and the first hop path corresponds to the source routing node jumping to the layer corresponding to the target routing node to obtain a new source routing node. The first hop path does not need to distinguish between valid and invalid path identifiers. In the first hop of the same layer, that is, the first hop of the path between the new source routing node and the target routing node, it needs to be limited to a valid path identifier. Fig.23 As shown, the source routing node S is 1100, the target routing node D is 0010, and the path of the first hop corresponds to the source routing node jumping to the layer corresponding to the target routing node to obtain a new source routing node. The path of the first hop does not need to distinguish between valid and invalid path identifiers. In the first hop of the same layer, that is, the first hop of the path between the new source routing node and the target routing node, it needs to be limited to a valid path identifier.
[0277] The jump method provided in this embodiment for routing a source routing node to a new source routing node of a layer to which a target routing node belongs improves the diversity and flexibility of the jump method.
[0278] The above describes in detail various embodiments corresponding to the method for determining a routing path based on a triangular prism network structure. On this basis, the present invention also discloses a device for determining a routing path based on a triangular prism network structure corresponding to the above method. Fig.24The structure diagram of a routing path determination device based on a triangular prism network structure provided by an embodiment of the present invention. Fig.24 As shown, the routing path determination device based on the triangular prism network structure includes:
[0279] A first acquisition module 11 is used to acquire a source routing node and a target routing node based on a triangular prism network structure, wherein the triangular prism network structure is composed of a plurality of routing nodes, and the triangular prism network structure has at least one layer;
[0280] The first determination module 12 is used to determine the corresponding routing path according to the preset routing rules and the actual XOR results of the binary data corresponding to the source routing node and the target routing node if the source routing node and the target routing node belong to the same layer; wherein the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path link rule; the multi-request link rule is a link rule that allows a preset number of valid mark requests in the same direction of the communication link; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is at the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows one valid mark path in the same direction of the communication link, and the valid mark path is at the first 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;
[0281] The second determination module 13 is used to route the source routing node to a new source routing node of the layer to which the target routing node belongs if the source routing node and the target routing node do not belong to the same layer, and determine the corresponding routing path according to the preset routing rules and the actual XOR result of the binary data corresponding to the new source routing node and the target routing node.
[0282] Since the embodiments of the device part correspond to the above embodiments, please refer to the description of the embodiments of the method part for the embodiments of the device part, and will not be repeated here.
[0283] For an introduction to a routing path determination device based on a triangular prism network structure provided by the present invention, please refer to the above method embodiment, and the present invention will not be repeated here. It has the same beneficial effects as the above routing path determination method based on a triangular prism network structure.
[0284] Fig.25 A structural diagram of a path communication device provided by an embodiment of the present invention, such as Fig.16 As shown, the device includes:
[0285] A memory 21, used for storing computer programs;
[0286] The processor 22 is used to implement the steps of the method for determining a routing path based on a triangular prism network structure when executing a computer program.
[0287] The path communication device provided in this embodiment may include but is not limited to a smart phone, a tablet computer, a laptop computer, or a desktop computer.
[0288] Among them, the processor 22 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 22 may be implemented in at least one hardware form of a digital signal processor (DSP), a field-programmable gate array (FPGA), and a programmable logic array (PLA). The processor 22 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 22 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 22 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.
[0289] The memory 21 may include one or more computer-readable storage media, which may be non-transitory. The memory 21 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 21 is at least used to store the following computer program 211, wherein, after the computer program is loaded and executed by the processor 22, it can implement the relevant steps of the routing path determination method based on the triangular prism network structure disclosed in any of the aforementioned 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. Among them, the operating system 212 may include Windows, Unix, Linux, etc. The data 213 may include, but is not limited to, data involved in the routing path determination method based on the triangular prism network structure, etc.
[0290] In some embodiments, the path communication 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 .
[0291] Those skilled in the art can understand that Fig.25 The structure shown in the figure does not constitute a limitation on the path communication device, and may include more or less components than shown in the figure.
[0292] The processor 22 calls the instructions stored in the memory 21 to implement the routing path determination method based on the triangular prism network structure provided by any of the above embodiments.
[0293] For an introduction to a path communication device provided by the present invention, please refer to the above method embodiment, and the present invention will not be repeated here. It has the same beneficial effects as the above routing path determination method based on the triangular prism network structure.
[0294] Furthermore, the present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by the processor 22, the steps of the above-mentioned method for determining a routing path based on a triangular prism network structure are implemented.
[0295] It is understandable that if the method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially 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, and the computer software product is stored in a storage medium to execute all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program codes.
[0296] For an introduction to a computer-readable storage medium provided by the present invention, please refer to the above method embodiment, which will not be described in detail herein. It has the same beneficial effects as the above routing path determination method based on the triangular prism network structure.
[0297] In addition, each bit of binary data corresponding to each routing node is connected to a port node. To ensure the balance of port LANE, the port widths corresponding to each port node of a routing node are different. Fig.26 A schematic diagram of routing node coding, port numbering and corresponding width of an outer triangular prism network structure provided by an embodiment of the present invention, such as Fig.26As shown, the routing node is represented by 4-bit binary data. Each bit of the binary data is connected to a port node. Corresponding to the number of the port node, the port width of a port node is also different. Fig. 27 A schematic diagram of routing node coding, port numbering and corresponding width of an inner triangular prism network structure provided by an embodiment of the present invention, such as Fig. 27 As shown, the routing node is represented by 4-bit binary data. Each bit of the binary data is connected to a port node. The port width of a port node is also different corresponding to the number of the port node. Fig.26 and Fig. 27 The two routing nodes in the corresponding virtual box share the same set of ports of the physical layer chip (Physical Layer, PHY). The network diameter between the routing nodes of the single-layer triangular prism network structure is 2, and the network diameter between the routing nodes of the double-layer triangular prism network structure is 3. If we only focus on the port nodes with a width of X16, Fig.28 A routing node distribution diagram of a port node X16 of a double-layer triangular prism network structure provided by an embodiment of the present invention, such as Fig.28 As shown, the network diameter between the routing nodes where it is located is 2. Compared with the current situation where the network diameter between the routing nodes where the ports of the flattened fat tree network width X16 are located is 4, the corresponding network diameter is reduced.
[0298] exist Fig.26 and Fig. 27 As can be seen in the figure, the port widths corresponding to a group of PHYs include at least the widths of X16, X8, X4, and X2.
[0299] The multiple routing nodes provided in this embodiment share a group of PHYs, and the connection topology of the 8 port nodes sharing the same group of PHYs is optimized according to actual usage. After the optimization, the path length for mutual access between the X16 and X8 ports is shortened.
[0300] The above is a detailed introduction to a routing path determination method, device, path communication equipment and medium provided by the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can refer to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can refer to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the present invention.
[0301] It should also be noted that, in this specification, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprises", "comprising" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
Claims
1. A method for determining a routing path based on a triangular prism network structure, characterized in that: include: Acquire a source routing node and a target routing node based on a triangular prism network structure, wherein the triangular prism network structure is composed of a plurality of routing nodes, and the number of layers of the triangular prism network structure is at least one layer; If the source routing node and the target routing node belong to the same layer, the corresponding routing path is determined according to the preset routing rule and the actual XOR result of the binary data corresponding to the source routing node and the target routing node; wherein the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path link rule; the multi-request link rule is a link rule that allows a preset number of valid mark requests in the same direction of the communication link; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is at the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows one valid mark path in the same direction of the communication link, and the valid mark path is at the first 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; If the source routing node and the target routing node do not belong to the same layer, the source routing node is routed to a new source routing node of the layer to which the target routing node belongs, and the corresponding routing path is determined according to the preset routing rules and the actual XOR result of the binary data corresponding to the new source routing node and the target routing node; Correspondingly, the corresponding routing path is determined according to the preset routing rule and the actual XOR result of the binary data corresponding to the source routing node and the target routing node, including: Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected; Determine whether the actual XOR result is a parameter of the first reference XOR result; If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule; If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result; If the actual XOR result is a parameter of the second reference XOR result, determining that the connection mode between the source routing node and the target routing node is an indirect connection, and determining the routing paths of the source routing node and the target routing node according to the threshold rule and the multi-link rule; Correspondingly, determining the routing paths of the source routing node and the target routing node according to the threshold rule and the multi-link rule includes: Determine whether the actual XOR result meets the XOR threshold of the threshold rule; If yes, determine the routing paths of the source routing node and the target routing node according to the first target path strategy and the multi-link rule; wherein the first target path strategy is a path strategy corresponding to the connection of binary data of any two routing nodes excluding contradictions during an XOR operation; If not, the routing paths of the source routing node and the target routing node are determined according to the second target path strategy and the multi-link rule.
2. The method for determining a routing path based on a triangular prism network structure according to claim 1, characterized in that: If the triangular prism network structure has two layers, the highest bit of the binary data of the routing nodes of the outer triangular prism network structure is 1, and the highest bit of the binary data of the routing nodes of the inner triangular prism network structure is 0.
3. The method for determining a routing path based on a triangular prism network structure according to claim 2, characterized in that: The process of determining whether the source routing node and the target routing node are at the same layer includes: Obtain binary data corresponding to the source routing node and the target routing node respectively; Perform bitwise XOR operation on the binary data corresponding to the source routing node and the target routing node to obtain the actual XOR result; If the highest bit of the actual XOR result is 1, it is determined that the source routing node and the target routing node do not belong to the same layer; If the highest bit of the actual XOR result is 0, it is determined that the source routing node and the target routing node belong to the same layer.
4. The method for determining a routing path based on a triangular prism network structure according to claim 3, characterized in that: Determining a routing path of a source routing node and a target routing node according to a first target path strategy and a multi-link rule includes: Obtaining a first XOR result, wherein the first XOR result is obtained by screening XOR results of binary data corresponding to any two routing nodes during an XOR operation; Performing an XOR operation on the actual XOR result of the source routing node and the target routing node and the first XOR result to obtain a second XOR result; Splitting the second XOR result into a third XOR result according to a one-hot encoding method, wherein the binary data of the third XOR result is at least one; According to the multi-link rule, the third XOR result, the first XOR result and the source routing node are XORed to obtain the target routing node to complete the routing path.
5. The method for determining a routing path based on a triangular prism network structure according to claim 4, characterized in that: When the multi-link rule is a multi-request link rule, performing an XOR operation on the multi-request link rule, the third XOR result, the first XOR result and the source routing node to obtain the target routing node includes: When the sum of the binary data of the third XOR result and the binary data of the first XOR result is more than one, performing a first XOR operation on the binary data corresponding to the third XOR result and the first XOR result respectively with the source routing node to obtain a fourth XOR result, wherein the fourth XOR result is at least one; Taking all paths between the routing node corresponding to the fourth XOR result and the source routing node as the initial routing path of the first hop; Obtain the number of all valid marking requests being routed and the current marking request corresponding to the original routing path of the initial routing path of the first hop; When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to the preset number; If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the fourth XOR result and the binary data of the remaining third XOR results and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain a fifth XOR result, until all the binary data of the third XOR result and the first XOR result are XORed, and finally obtain the target routing node; If not, then select the path corresponding to the non-valid tag request in the initial routing path of the first hop, and return to the step of performing a second XOR operation on the binary data corresponding to the fourth XOR result with the binary data of the remaining third XOR results and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain the fifth XOR result.
6. The method for determining a routing path based on a triangular prism network structure according to claim 4, characterized in that: When the multi-link rule is a multi-path link rule, performing an XOR operation on the multi-path link rule, the third XOR result, the first XOR result and the source routing node to obtain the target routing node includes: When the sum of the binary data of the third XOR result and the binary data of the first XOR result is more than one, performing a first XOR operation on the binary data corresponding to the third XOR result and the first XOR result respectively with the source routing node to obtain a fourth XOR result, wherein the fourth XOR result is at least one; Taking all paths between the routing node corresponding to the fourth XOR result and the source routing node as the initial routing path of the first hop; Determine whether the current marked path is a valid marked path; If so, on the basis of the initial routing path of the first hop of the current marked path being the valid marked path, the binary data corresponding to the fourth XOR result is respectively subjected to a second XOR operation with the binary data of the third XOR result and the first XOR result except the binary data of the third XOR result and the first XOR result corresponding to the first XOR operation, to obtain a fifth XOR result, until all the binary data of the third XOR result and the first XOR result are XORed, and finally the target routing node is obtained; If not, based on the current marked path being the initial routing path of the first hop of the non-valid marked path, the process returns to the step of determining whether the current marked path is a valid marked path according to a preset time until the current marked path is the initial routing path of the first hop of the valid marked path to obtain the target routing node.
7. The method for determining a routing path based on a triangular prism network structure according to claim 3, characterized in that: Determining an initial routing path of a source routing node and a target routing node according to a second target path strategy and a multi-link rule includes: Splitting the actual XOR result into a sixth XOR result according to a one-hot encoding method, wherein the binary data of the sixth XOR result is at least one; According to the multi-link rule, the sixth XOR result is XORed with the source routing node to obtain the target routing node to complete the routing path.
8. The method for determining a routing path based on a triangular prism network structure according to claim 7, characterized in that: When the multi-link rule is a multi-request link rule, performing an XOR operation on the sixth XOR result and the source routing node according to the multi-request link rule to obtain the target routing node to complete the routing path, including: When there are multiple binary data of the sixth XOR result, perform a first XOR operation on the binary data corresponding to the sixth XOR result and the source routing node respectively to obtain a seventh XOR result, wherein the seventh XOR result is at least one; Taking all paths between the routing node corresponding to the seventh XOR result and the source routing node as the initial routing path of the first hop; Obtain the number of all valid marking requests being routed and the current marking request corresponding to the original routing path of the initial routing path of the first hop; When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to the preset number; If so, based on the initial routing path of the first hop in which the current tag request is a valid tag request, perform a second XOR operation on the binary data corresponding to the seventh XOR result and the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation to obtain an eighth XOR result, until all the binary data of the sixth XOR results are XORed, and finally obtain the target routing node; If not, then select the path corresponding to the non-valid tag request in the initial routing path of the first hop, and return to the step of performing a second XOR operation on the binary data corresponding to the seventh XOR result with the binary data of the remaining sixth XOR results except the binary data of the third XOR result corresponding to the first XOR operation, to obtain the eighth XOR result.
9. The method for determining a routing path based on a triangular prism network structure according to claim 3, characterized in that: Determine the corresponding routing path according to the preset routing rules and the actual XOR result of the binary data corresponding to the source routing node and the target routing node, including: Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected; Determine whether the actual XOR result is a parameter of the first reference XOR result; If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule; If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result; If the actual XOR result is a parameter of the second reference XOR result, determining that the connection mode between the source routing node and the target routing node is an indirect connection, and determining the initial routing path of the source routing node and the target routing node according to the threshold rule; After determining the initial routing path of the source routing node and the target routing node, the initial routing path is screened according to the multi-link rule to obtain the final routing path.
10. The method for determining a routing path based on a triangular prism network structure according to claim 9, characterized in that: When the multi-link rule is a multi-request link rule, screening the initial routing path according to the multi-request link rule to obtain a final routing path includes: Obtain the number of the marking request corresponding to the first hop of the initial routing path and all the valid marking requests being routed for the first hop of the overlapping path overlapping with the initial routing path; When the current marking request is a valid marking request, determining whether the number of all valid marking requests being routed is less than or equal to the preset number; If yes, retain the initial routing path corresponding to the current tag request being a valid tag request, and use the initial routing path corresponding to the valid tag request and the initial routing path corresponding to the current tag request being a non-valid tag request as the final routing path; If not, the initial routing path corresponding to the current marking request being a valid marking request is eliminated, and the initial routing path corresponding to the current marking request being a non-valid marking request is used as the final routing path.
11. The method for determining a routing path based on a triangular prism network structure according to claim 1, characterized in that: Routing the source routing node to a new source routing node in the same layer as the target routing node, including: Obtaining binary data and a reference XOR result of a source routing node, wherein the reference XOR result is an XOR result of binary data of any two routing nodes in a triangular prism network structure; Performing an XOR operation on the binary data of the source routing node and the reference XOR result to obtain the first source routing node of the adjacent layer in the direction in which the source routing node approaches the target routing node; Performing an XOR operation on the binary data of the first source routing node and the reference XOR result to obtain a second source routing node of an adjacent layer in a direction in which the first source routing node approaches the target routing node, until a new source routing node of the layer to which the target routing node belongs is obtained; Alternatively, the adjacent routing nodes of the source routing node are obtained based on the triangular prism network structure; Selecting a routing node in a different layer from the source routing node from the adjacent routing nodes as a third source routing node in an adjacent layer in a direction in which the source routing node approaches the target routing node; Based on the third source routing node, a corresponding adjacent routing node is obtained until a new source routing node of the layer to which the target routing node belongs is obtained.
12. The method for determining a routing path based on a triangular prism network structure according to claim 1, characterized in that: The process of determining the binary data corresponding to a routing node includes: Get the binary data corresponding to each bit; Select bits greater than the total number of routing nodes from the number of binary data corresponding to each bit as initial bits; Determine, within the initial bits, an initial bit closest to the total number of routing nodes as a target bit; The binary data of the target bit is determined according to the target bit to determine the binary data corresponding to the routing node.
13. A routing path determination device based on a triangular prism network structure, characterized in that: include: A first acquisition module is used to acquire a source routing node and a target routing node based on a triangular prism network structure, wherein the triangular prism network structure is composed of a plurality of routing nodes, and the triangular prism network structure has at least one layer; The first determination module is used to determine the corresponding routing path according to the preset routing rules and the actual XOR results of the binary data corresponding to the source routing node and the target routing node if the source routing node and the target routing node belong to the same layer; wherein the preset routing rule is 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-link rule; the multi-link rule includes a multi-request link rule and a multi-path link rule; the multi-request link rule is a link rule that allows a preset number of valid mark requests in the same direction of the communication link; the number of request links of the multi-link of the multi-request link rule is greater than the preset number, and the valid mark request is at the first hop or the second hop of the indirect connection relationship between the source routing node and the target routing node; the multi-path link rule is a link rule that allows one valid mark path in the same direction of the communication link, and the valid mark path is at the first 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; A second determination module is used for routing the source routing node to a new source routing node of the layer to which the target routing node belongs if the source routing node and the target routing node do not belong to the same layer, and determining a corresponding routing path according to a preset routing rule and an actual XOR result of binary data corresponding to the new source routing node and the target routing node; Correspondingly, the corresponding routing path is determined according to the preset routing rule and the actual XOR result of the binary data corresponding to the source routing node and the target routing node, including: Obtain binary data of any two routing nodes and perform an XOR operation to obtain a reference XOR result, wherein the reference XOR result includes a first reference XOR result and a second reference XOR result, the first reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are directly connected, and the second reference XOR result is an XOR operation result obtained by a connection mode in which the two routing nodes are indirectly connected; Determine whether the actual XOR result is a parameter of the first reference XOR result; If the actual XOR result is a parameter of the first reference XOR result, determining that the connection mode between the source routing node and the target routing node is a direct connection, and determining the routing path between the source routing node and the target routing node according to the shortest path rule; If the actual XOR result is not a parameter of the first reference XOR result, determining whether the actual XOR result is a parameter of the second reference XOR result; If the actual XOR result is a parameter of the second reference XOR result, determining that the connection mode between the source routing node and the target routing node is an indirect connection, and determining the routing paths of the source routing node and the target routing node according to the threshold rule and the multi-link rule; Correspondingly, determining the routing paths of the source routing node and the target routing node according to the threshold rule and the multi-link rule includes: Determine whether the actual XOR result meets the XOR threshold of the threshold rule; If yes, determine the routing paths of the source routing node and the target routing node according to the first target path strategy and the multi-link rule; wherein the first target path strategy is a path strategy corresponding to the connection of binary data of any two routing nodes excluding contradictions during an XOR operation; If not, the routing paths of the source routing node and the target routing node are determined according to the second target path strategy and the multi-link rule.
14. A path communication device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the method for determining a routing path based on a triangular prism network structure as described in any one of claims 1 to 12 when executing the computer program.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for determining a routing path based on a triangular prism network structure according to any one of claims 1 to 12 are implemented.
Citation Information
Patent Citations
Routing path planning method, routing request processing method, equipment and medium
CN117135108A
Three-dimensional hypercube structure network and routing method, device, equipment and medium thereof
CN117811993A