Path determination method and device, medium and product
By determining the XOR result and path link rules in a three-dimensional hypercube network, the path uniqueness and deadlock problems of traditional routing algorithms are solved, the path diversity and flexibility of the network are improved, and more accurate routing path judgment is achieved.
Patent Information
- Application Number
- CN202411445479.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-16
- Publication Date
- 2024-12-06
AI Technical Summary
The traditional three-dimensional hypercube topology is prone to deadlock in extreme scenarios, and the diversity and flexibility of routing paths are limited, so it is impossible to fully utilize the advantages of the network.
Using a path determination method based on a three-dimensional hypercube structure network, the actual XOR result is determined by obtaining binary data of the source routing node and the target routing node, and determining the node hop policy based on the XOR threshold rule and the path link rule, establishing a variety of .
It improves the path diversity and flexibility of the three-dimensional hypercube topology, avoids the occurrence of deadlock, and enhances the diversity and accuracy of the judgment and determination methods of routing paths.
Smart Images

Figure CN119094429A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a path determination method, device, medium and product. Background Art
[0002] An interconnection network is a network structure that establishes communication paths between multiple computing nodes. It plays a vital role in fields such as parallel computing, distributed systems, and data centers.
[0003] The traditional three-dimensional hypercube topology uses the "1-2-4 routing algorithm" to solve the deadlock phenomenon in extreme scenarios. However, the path determined by this routing algorithm is unique, and the path diversity and flexibility of the three-dimensional hypercube topology cannot be reflected, resulting in limited diversity of routing paths.
[0004] Therefore, how to improve the path diversity and flexibility of the three-dimensional hypercube topological structure is an urgent problem that those skilled in the art need to solve. Summary of the invention
[0005] The purpose of the present invention is to provide a path determination method, device, medium and product to solve the technical problem that the path determined by the routing algorithm used in the conventional three-dimensional hypercube topology structure is unique, resulting in the inability to exert the advantages of the three-dimensional hypercube topology structure.
[0006] In order to solve the above technical problems, the present invention provides a path determination method based on a three-dimensional hypercube structure network, comprising: Acquire source routing nodes and target routing nodes based on a three-dimensional hypercube structure network; Determine the actual XOR result according to the binary data corresponding to the source routing node and the target routing node; Determine the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node; wherein the XOR threshold rule includes a first XOR threshold rule and a second XOR threshold rule, the first XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result and the reference XOR threshold; the second XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result containing preset data and the binary data corresponding to the actual XOR result and the reference XOR threshold; The routing path between the source routing node and the target routing node is determined according to the determined node hop count strategy and the path link rule; wherein the path link rule is used to characterize the valid path label of the target path corresponding to the node hop count.
[0007] In one aspect, the three-dimensional hypercube structure network is composed of two two-dimensional cubes; The highest bit of the binary data of the routing node corresponding to one of the two-dimensional cubes is set to 1; the highest bit of the binary data of the routing node corresponding to the other two-dimensional cube is set to 0.
[0008] On the other hand, the XOR results of the binary data of any routing node corresponding to one of the two-dimensional cubes and the binary data of any routing node corresponding to the other two-dimensional cube are both reference XOR results.
[0009] On the other hand, the reference XOR threshold includes a first XOR result and a second XOR result, and the binary data of two directly connected routing nodes corresponding to each two-dimensional cube are XORed to obtain the first XOR result; wherein the binary data of the first XOR result is at least one; The binary data of the two indirectly connected routing nodes corresponding to each two-dimensional cube are XORed to obtain a second XOR result; wherein the binary data of the second XOR result is at least one and is different from the first XOR result.
[0010] On the other hand, the number of preset data of binary data corresponding to the first XOR result obtained by performing XOR on the binary data of two directly connected routing nodes of the three-dimensional hypercube structure network satisfies the first preset condition; The binary data of two indirectly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a second XOR result that satisfies a second preset condition; The binary data of two indirectly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a second XOR result that satisfies a third preset condition; wherein the first preset condition, the second preset condition and the third preset condition are all different.
[0011] On the other hand, when the XOR threshold rule is the first XOR threshold rule, the node hop count strategy between the source routing node and the target routing node is determined according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node, including: Determine whether the highest bit of the binary data of the actual XOR result is a first threshold; If the highest bit of the binary data of the actual XOR result is not the first threshold, it is determined that the source routing node and the target routing node are in the same two-dimensional cube; and the node hop count strategy between the source routing node and the target routing node is determined according to the first XOR threshold rule; If the highest bit of the binary data of the actual XOR result is the first threshold, it is determined that the source routing node and the target routing node are in different two-dimensional cubes; and the source routing node is routed to the same two-dimensional cube as the target routing node to obtain a new source routing node; XOR is performed on the binary data corresponding to the new source routing node and the target routing node to obtain a new actual XOR result, and it is determined whether the highest bit of the binary data of the new actual XOR result is the first threshold; If the highest bit of the binary data of the new actual XOR result is the first threshold, the node hop count strategy between the new source routing node and the target routing node is determined according to the first XOR threshold rule.
[0012] On the other hand, routing the source routing node to the same two-dimensional cube as the target routing node to obtain a new source routing node, including: Performing XOR on the binary data of the reference XOR result and the binary data of the source routing node to obtain a third XOR result; The binary data of the third XOR result is used as the binary data of the new source routing node.
[0013] On the other hand, determining the node hop count strategy between the source routing node and the target routing node according to the first XOR threshold rule includes: Determine whether the actual XOR result is a binary data in the first XOR result; If the actual XOR result is a binary data in the first XOR result, determining that the number of node hops between the source routing node and the target routing node is one hop; If the actual XOR result is not a binary data in the first XOR result, determining whether the actual XOR result is a binary data in the second XOR result; If the actual XOR result is a binary data in the second XOR result, it is determined that the number of node hops between the source routing node and the target routing node is two hops.
[0014] On the other hand, the routing path between the source routing node and the target routing node is determined according to the determined node hop count strategy and path link rule, including: When the number of node hops between the source routing node and the target routing node is one hop, the source routing node is directly routed to the target routing node according to the number of node hops between the source routing node and the target routing node to complete the routing path; wherein the path between the source routing node and the target routing node is set as a valid path mark or an invalid path mark; When the number of node hops between the source routing node and the target routing node is two hops, the actual XOR result is split into a fourth XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained; wherein the binary data of the fourth XOR result is at least one; Correspondingly, according to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: Performing a first XOR operation on the binary data corresponding to the fourth XOR result and the source routing node respectively to obtain a fifth XOR result, wherein the binary data of the fifth XOR result is at least one; Using the path between the routing node corresponding to the fifth XOR result and the source routing node as the routing path of the first hop, and setting the routing path of the first hop as a valid marked path; A second XOR operation is performed on the binary data corresponding to the fifth XOR result and the binary data of the remaining fourth XOR results except the binary data of the fourth XOR result corresponding to the first XOR operation, to obtain a sixth XOR result, until all the binary data of the fourth XOR results are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the sixth XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
[0015] On the other hand, when the XOR threshold rule is the second XOR threshold rule, the node hop count strategy between the source routing node and the target routing node is determined according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node, including: Determine whether the preset number of binary data of the actual XOR result meets the first preset condition; If the first preset condition is met, it is determined that the source routing node and the target routing node are located at the same edge of the three-dimensional hypercube structure network; and the number of node hops between the source routing node and the target routing node is determined to be one hop; If the first preset condition is not met, determining whether the preset number of binary data of the actual XOR result meets the second preset condition; If the second preset condition is met, determining that the number of node hops between the source routing node and the target routing node is two hops; If the second preset condition is not met, determining whether the preset number of binary data of the actual XOR result meets the third preset condition; If the third preset condition is met, it is determined that the source routing node and the target routing node are located in different two-dimensional cubes and different edges of the three-dimensional hypercube structure network; and the number of node hops between the source routing node and the target routing node is determined to be three hops.
[0016] On the other hand, the routing path between the source routing node and the target routing node is determined according to the determined node hop count strategy and path link rule, including: When the number of node hops between the source routing node and the target routing node is one hop, the source routing node is directly routed to the target routing node according to the number of node hops between the source routing node and the target routing node to complete the routing path; wherein the path between the source routing node and the target routing node is set as a valid path mark or an invalid path mark; When the number of node hops between the source routing node and the target routing node is two hops, determining whether the highest bit of the binary data of the actual XOR result is a first threshold; If the highest bit of the binary data of the actual XOR result is not the first threshold, it is determined that the source routing node and the target routing node are in the same two-dimensional cube; the actual XOR result is split into a seventh XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the seventh XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained; wherein the binary data of the seventh XOR result is at least one; If the highest bit of the binary data of the actual XOR result is the first threshold, it is determined that the source routing node and the target routing node are in different two-dimensional cubes; the actual XOR result is split into an eighth XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the eighth XOR result and the source routing node are XORed to obtain the target routing node, and obtain a routing path; wherein the binary data of the eighth XOR result is at least one; the marked paths corresponding to the two hops of the routing path obtained by the seventh XOR result are different from the marked paths corresponding to the two hops of the routing path obtained by the eighth XOR result; When the number of node hops between the source routing node and the target routing node is three hops, the actual XOR result is split into ninth XOR results having the same number as the preset number of data of the binary data of the actual XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the ninth XOR result is XOR-ed with the source routing node to obtain the target routing node, and obtain a routing path; wherein the routing path corresponding to the first hop is set to a non-valid marked path; the routing path corresponding to the second hop is set to a valid marked path; and the routing path corresponding to the third hop is set to a non-valid marked path.
[0017] On the other hand, according to the number of node hops between the source routing node and the target routing node, the path link rule, the seventh XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: Performing a first XOR operation on the binary data corresponding to the seventh XOR result and the source routing node respectively to obtain a tenth XOR result, wherein the binary data of the tenth XOR result is at least one; The path between the routing node corresponding to the tenth XOR result and the source routing node is used as the routing path of the first hop, and the routing path of the first hop is set as a valid marked path; A second XOR operation is performed on the binary data corresponding to the tenth XOR result and the binary data of the remaining seventh XOR results except the binary data of the seventh XOR result corresponding to the first XOR operation, to obtain an eleventh XOR result, until all the binary data of the seventh XOR results are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the eleventh XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
[0018] On the other hand, according to the number of node hops between the source routing node and the target routing node, the path link rule, the ninth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: One of the binary data corresponding to the ninth XOR result is used as the twelfth XOR result; Performing an XOR operation on the binary data of the twelfth XOR result and the binary data of the source routing node to obtain the binary data of a new source routing node; using the path between the source routing node and the new source routing node as the routing path of the first hop, and setting the routing path of the first hop as a non-valid marked path; Performing a first XOR operation on the binary data in the ninth XOR result except the twelfth XOR result with the new source routing node to obtain a thirteenth XOR result, wherein the binary data of the thirteenth XOR result is at least one; The path between the routing node corresponding to the thirteenth XOR result and the source routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a valid marked path; Perform a second XOR operation on the binary data corresponding to the thirteenth XOR result and the binary data of the remaining ninth XOR results except the binary data corresponding to the first XOR operation, to obtain a fourteenth XOR result, until all the binary data of the ninth XOR result except the binary data of the twelfth XOR result are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the fourteenth XOR result and the target routing node is used as the routing path of the third hop, and the routing path of the third hop is set to a non-valid marked path.
[0019] In order to solve the above technical problems, the present invention also provides a path determination device based on a three-dimensional hypercube structure network, comprising: Memory for storing computer programs; A processor is used to implement the steps of the above-mentioned path determination method based on a three-dimensional hypercube structure network when executing the computer program.
[0020] In order 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 path determination method based on the three-dimensional hypercube structure network as described above are implemented.
[0021] To solve the above technical problems, the present invention also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the path determination method based on a three-dimensional hypercube structure network as described above.
[0022] The present invention proposes a path determination method based on a three-dimensional hypercube structure network. The method comprises the following steps: obtaining a source routing node and a target routing node based on the three-dimensional hypercube structure network; determining an actual XOR result according to binary data corresponding to each of the source routing node and the target routing node; determining a node hop count strategy between the source routing node and the target routing node according to an XOR threshold rule of the actual XOR result and a connection relationship between the source routing node and the target routing node; wherein the XOR threshold rule comprises a first XOR threshold rule and a second XOR threshold rule, wherein the first XOR threshold rule is used to characterize a rule determined by a relationship between the binary data corresponding to the actual XOR result and a reference XOR threshold; wherein the second XOR threshold rule is used to characterize a rule determined by a relationship between the binary data corresponding to the actual XOR result containing preset data and the binary data corresponding to the actual XOR result and a reference XOR threshold; determining a routing path between the source routing node and the target routing node according to a determined node hop count strategy and a path link rule; wherein the path link rule is used to characterize a valid path tag of a target path corresponding to the node hop count.
[0023] The beneficial effect of the present invention is to adopt the node hop strategy determined by the XOR threshold rule and the direct or indirect connection relationship between two nodes, and then determine the final routing path according to the node hop strategy and the path label of the path link rule. Through the two rules under the XOR threshold rule, the specific core solutions of the two cases (the data of the actual XOR result itself and the preset data contained in the binary data) are different under multiple routing paths determined by the path label. Compared with the path uniqueness limitation of the conventional "1-2-4 routing algorithm" of the structure network, the path diversity and flexibility of the structure network are improved.
[0024] Secondly, the number of bits of binary data of routing nodes and setting constraints corresponding to the construction process of the three-dimensional hypercube structure network facilitate the smooth implementation of the subsequent routing algorithm. The two methods of characterizing the connection relationship between two routing nodes improve the diversity of the judgment method of the routing path, so as to facilitate the subsequent determination of the corresponding node hop strategy. The node hop strategy ensures that the corresponding routing path is determined according to different node hop strategies in the future, and improves the diversity and accuracy of the routing path determination method. The routing path process determined by the first XOR threshold rule and the corresponding path identification process achieve the diversity of routing path determination while avoiding deadlock through the path identification method. The routing path process determined by the second XOR threshold rule and the corresponding path identification process achieve the diversity of routing path determination while avoiding deadlock through the path identification method.
[0025] In addition, the present invention also provides a path determination device, medium and product based on a three-dimensional hypercube structure network, which have the same beneficial effects as the above-mentioned path determination method based on a three-dimensional hypercube structure network. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] 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.
[0027] Figure 1 It is a schematic diagram of a three-dimensional hypercube topology network; Figure 2 A schematic diagram of a ring structure of a three-dimensional hypercube topological structure; Figure 3 Schematic diagram of deadlock caused by clockwise routing in a conventional three-dimensional hypercube topology; Figure 4 Schematic diagram of deadlock caused by counterclockwise routing of conventional three-dimensional hypercube topology; Figure 5A schematic diagram of a routing path from node 2 to node 7 using a conventional routing algorithm; Figure 6 A schematic diagram of the routing path from node 3 to node 6 using a conventional routing algorithm; Figure 7 A schematic diagram of a routing path from node 2 to node 7 using a conventional routing algorithm; Figure 8 A schematic diagram of a routing path from node 6 to node 3 using a conventional routing algorithm; Fig. 9 A flow chart of a path determination method based on a three-dimensional hypercube structure network provided by an embodiment of the present invention; Fig.10 A structural diagram of a three-dimensional hypercube structure network provided by an embodiment of the present invention; Fig.11 A schematic diagram of routing node coding corresponding to a two-dimensional cube on the left provided by an embodiment of the present invention; Fig.12 A schematic diagram of routing node coding corresponding to a two-dimensional cube on the right provided by an embodiment of the present invention; Fig.13 A schematic diagram of a path marking provided by an embodiment of the present invention; Fig.14 A schematic diagram of a path marking between a source routing node and a target routing node provided by an embodiment of the present invention; Fig.15 A schematic diagram of a ring topology structure with clockwise downward path identification provided by an embodiment of the present invention; Fig.16 A schematic diagram of a ring topology structure with a counterclockwise downward path identifier provided by an embodiment of the present invention; Fig.17 A schematic diagram of a ring topology structure of a different two-dimensional cube path identifier provided by an embodiment of the invention; Fig.18 A schematic diagram of path markings corresponding to different two-dimensional cubes provided in an embodiment of the present invention; Fig.19 A schematic diagram of another ring topology structure with clockwise downward path identification provided by an embodiment of the present invention; Fig. 20 A schematic diagram of another ring topology structure with a counterclockwise downward path identifier provided by an embodiment of the present invention; Fig.21 A schematic diagram of a ring topology structure of another different two-dimensional cube path identifier provided by an embodiment of the present invention; Fig. 22 A structural diagram of a path determination device based on a three-dimensional hypercube structure network provided by an embodiment of the present invention; Fig.23 A structural diagram of a path determination device based on a three-dimensional hypercube structure network provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0028] 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.
[0029] The core of the present invention is to provide a path determination method, device, medium and product to solve the technical problem that the conventional three-dimensional hypercube topology structure cannot give full play to the advantages of the three-dimensional hypercube topology structure because the path determined by the routing algorithm is unique.
[0030] 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.
[0031] The interconnection network is the key to building a high-performance large-scale parallel processing system. Its design goal is to connect a certain number of functional nodes reliably and efficiently at the lowest possible cost to form a cost-effective large-scale parallel system.
[0032] Traditionally, when there are fewer nodes to be connected, the interconnection network uses a bus connection. All terminal nodes in the system exchange data through a shared transmission medium, and at a certain moment, only one device is allowed to use the network. Bus-type interconnection networks cannot scale well with the increase in the number of connected devices. With the increasing requirements for network performance and scale, bus interconnection methods can no longer meet the needs. Therefore, interconnection networks can be divided into four categories, namely shared media networks, direct interconnection networks, indirect interconnection networks, and hybrid interconnection networks. Among them, the interconnection network connected by bus is a type of shared media network. All terminal nodes share the same transmission medium and use appropriate media access control mechanisms to achieve sharing of transmission media. Direct and indirect interconnection networks are distinguished by the role of routers. In direct interconnection networks, each terminal node is directly connected through a router, while in indirect interconnection networks, terminal nodes communicate through the interconnection of routers. Such routers do not generate network traffic themselves, but are responsible for the transmission, routing, and relay of traffic generated by terminal nodes. Hybrid interconnection networks are interconnection structures that include more than two of the above three basic interconnection forms.
[0033] A terminal node is any system or group of units with communication needs. It can be a processor, a processor and memory, a graphics processing unit, a storage controller, an input / output (I / O) interface, etc. Most traditional interconnected networks are direct interconnected networks. For example, the k-ary n-cube structure is a typical representative of direct interconnected networks. Each terminal node in the network contains a router to implement message transmission between nodes. Indirect interconnected networks separate terminal nodes and routers. Routers can be used as an independent communication device. The typical topological structure is the butterfly network (Butterfly) butterfly structure. Each router is connected to its neighbors through a bidirectional link or two unidirectional links (each responsible for one direction). These links are called channels. It should be pointed out that as the number of interconnected nodes increases, the aggregate bandwidth of the entire system will also increase.
[0034] The interconnection topology is usually defined by the following four main properties: (1) Node degree: the number of channels connecting a node to its neighboring nodes, or the number of ports in the router in the node. (2) Network diameter: the maximum value of the shortest distance between two nodes in the network. (3) Number of links: the number of links in the entire network, because the topology is fixed, so the number of links is also fixed. (4) Bisection bandwidth: the link bandwidth corresponding to the minimum cut set of all nodes in the network divided into two equally divided subnets is the bisection bandwidth. The higher the bisection bandwidth, the stronger the network communication capability.
[0035] Hypercube is a concept from geometry. It can be any dimension n with 2 n There are n vertices, one vertex is connected to n edges, and all edges are connected to each other at right angles at the vertex. Figure 1 is a schematic diagram of a three-dimensional hypercube topology network, such as Figure 1 As shown, since the dimension is three-dimensional, the corresponding number of vertices is 2 3 =8, represented by nodes 0-7. The hypercube structure applied to the on-chip network has symmetry, regularity, path diversity and scalability.
[0036] The three-dimensional hypercube topology structure has ring topology, which may cause deadlock in some extreme scenarios, so it is necessary to consider solving the deadlock problem in certain scenarios. Figure 2 is a schematic diagram of a ring structure of a three-dimensional hypercube topology structure, such as Figure 2 As shown, deadlock can easily occur. For example, there are 4 routing requests at the same time: Request 1: routing node 2 to routing node 7; Request 2: routing node 3 to routing node 6; Request 3: routing node 7 to routing node 2; Request 4: routing node 6 to routing node 3. Figure 3The deadlock diagram of the conventional three-dimensional hypercube topology structure with clockwise routing is shown below. Figure 4 The deadlock diagram for the conventional three-dimensional hypercube topology structure counterclockwise routing is shown in Figure 2. Figure 3 , 4 As shown, once a deadlock occurs, it will cause the Internet to be completely paralyzed. The traditional routing algorithm uses the "1-2-4 routing algorithm". For example, assuming that the source routing node S is 001, the target routing node D is 111, and I is 110 after bitwise XOR. According to the "1-2-4" routing algorithm, the "1-2-4" 1 of I is changed to 0 in turn, and the routing result is as follows: 001(I:110)->011(I:100)->111(I:000); Still taking the above four routing requests as an example: Request 1: routing node 2 to routing node 7; Request 2: routing node 3 to routing node 6; Request 3: routing node 7 to routing node 2; Request 4: routing node 6 to routing node 3.
[0037] Figure 5 FIG. 1 is a schematic diagram of the routing path from node 2 to node 7 using a conventional routing algorithm. Figure 5 As shown, request 1: routing node 2 to routing node 7; S is 010, D is 111, and after bitwise XOR, I is 101. The routing result is as follows: 010(I:101)->011(I:100)->111(I:000).
[0038] Figure 6 FIG. 1 is a schematic diagram of the routing path from node 3 to node 6 of the conventional routing algorithm, as shown in FIG. Figure 6 As shown, request 2: routing node 3 to routing node 6; S is 011, D is 110, and after bitwise XOR, I is 101. The routing result is as follows: 011(I:101)->010(I:100)->110(I:000).
[0039] Figure 7 FIG. 1 is a schematic diagram of the routing path from node 2 to node 7 using a conventional routing algorithm. Figure 7 As shown, request 3: routing node 7 to routing node 2; S is 0111_, D is 0010_, and after bitwise XOR, I is 0101_. The routing result is as follows: 111(I:101)->110(I:100)->010(I:000).
[0040] Figure 8 FIG. 1 is a schematic diagram of the routing path from node 6 to node 3 using a conventional routing algorithm. Figure 8As shown, request 4: routing node 6 to routing node 3; S is 110, D is 011, and after bitwise XOR, I is 101. The routing result is as follows: 110(I:101)->111(I:100)->011(I:000).
[0041] The traditional algorithm is applied to a single-path three-dimensional hypercube structure network to avoid deadlock. After using this method, when the source routing node and the target routing node are determined, the routing path is uniquely determined. Therefore, the algorithm does not take advantage of the path diversity of the three-dimensional hypercube structure network. Although the traditional algorithm can also be used to avoid deadlock in a multi-path three-dimensional hypercube structure network, the advantage of the path diversity of the multi-path three-dimensional hypercube structure network is not taken advantage of. The path determination method based on the three-dimensional hypercube structure network provided by the present invention can solve the above technical problems.
[0042] Fig. 9 A flow chart of a path determination method based on a three-dimensional hypercube structure network provided by an embodiment of the present invention, such as Fig. 9 As shown, the method includes: S11: Acquire source routing nodes and target routing nodes based on a three-dimensional hypercube structure network; S12: Determine the actual XOR result according to the binary data corresponding to the source routing node and the target routing node; S13: Determine the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node; The XOR threshold rule includes a first XOR threshold rule and a second XOR threshold rule, wherein the first XOR threshold rule is used to characterize a rule for determining a relationship between binary data corresponding to an actual XOR result and a reference XOR threshold; the second XOR threshold rule is used to characterize a rule for determining a relationship between the binary data corresponding to the actual XOR result and the reference XOR threshold, and the preset data is included in the binary data corresponding to the actual XOR result. S14: Determine a routing path between a source routing node and a target routing node according to the determined node hop count strategy and path link rule; wherein the path link rule is used to characterize a valid path tag of a target path corresponding to the node hop count.
[0043] The three-dimensional hypercube structure network in step S11 is a multi-dimensional network structure, which is very useful in parallel computing and high-performance computing. This topological structure can be regarded as an extension of a two-dimensional planar network, in which nodes (or processors) are connected not only in two dimensions but also in the third dimension. Fig.10 A structural diagram of a three-dimensional hypercube structure network provided by an embodiment of the present invention, such as Fig.10As shown, the three-dimensional hypercube structure network is composed of two two-dimensional cubes; the two-dimensional cube is a simple network structure, composed of nodes, each node is connected to the surrounding nodes, forming a planar network structure. The two two-dimensional cubes are opposite faces, which can be the opposite faces of the left and right sides, the opposite faces of the upper and lower sides, or the opposite faces of the front and back sides, which are not limited here.
[0044] The number of bits of binary data of the routing nodes corresponding to the three-dimensional hypercube structure network and the representation of specific binary data can be determined in combination with the number of vertices of the three-dimensional hypercube structure network. In some embodiments, the vertices of the three-dimensional hypercube structure network are composed of routing nodes; The process of determining the number of bits of binary data corresponding to a routing node includes: Obtain the total number of routing nodes corresponding to the three-dimensional hypercube structure network; The total number of routing nodes is taken as the logarithmic value of the logarithm operation; In the logarithm operation with base 2, the target data corresponding to the logarithm value is determined as the number of bits of binary data.
[0045] It can be understood that the number of bits of binary data of routing nodes is based on the total number of routing nodes. For example, if the total number of routing nodes is 8, the corresponding target data N=log2(8)=3 obtained by logarithmic operation with base 2 is represented by 3 bits. For example, 1-bit binary data includes 1 and 0, 2-bit binary data includes 10, 01, 00 and 11, and so on. As long as the binary data of the bits corresponding to the target data can fully represent the total number of routing nodes, it can be used. Therefore, 3 bits of binary data are sufficient to be represented in the three-dimensional hypercube structure network composed of 8 routing nodes.
[0046] The determination of the number of binary digits provided in this embodiment is used to characterize the uniqueness of the binary data of each routing node, so as to facilitate the simplicity of the subsequent routing algorithm.
[0047] In some embodiments, the three-dimensional hypercube structure network is composed of two two-dimensional cubes; The highest bit of the binary data of the routing node corresponding to one of the two-dimensional cubes is set to 1; the highest bit of the binary data of the routing node corresponding to the other two-dimensional cube is set to 0.
[0048] Fig.11 A schematic diagram of routing node coding corresponding to a two-dimensional cube on the left provided by an embodiment of the present invention, Fig.12 A schematic diagram of routing node coding corresponding to a two-dimensional cube on the right provided by an embodiment of the present invention, such as Fig.11 , 12As shown, the highest bit of binary data of the routing node corresponding to one two-dimensional cube is set to 1, and the corresponding routing node number is 000-011, and the highest bit of binary data of the routing node corresponding to another two-dimensional cube is set to 0, and the corresponding routing node number is 100-111. The two two-dimensional cubes are opposite to each other, and the link ports between the routing nodes are both bidirectional and dual-path.
[0049] In some embodiments, the XOR results of binary data of any routing node corresponding to one two-dimensional cube and binary data of any routing node corresponding to another two-dimensional cube are both reference XOR results.
[0050] It can be understood that the XOR result obtained after XORing the binary data of any routing node corresponding to the two two-dimensional cubes is that the lower two bits are equal and the upper one bit is opposite, which is the benchmark XOR result. Fig.10 Taking the binary data of each routing node as an example, the benchmark XOR result is 100.
[0051] The construction process of the three-dimensional hypercube structure network provided in this embodiment corresponds to the number of bits of binary data of the routing nodes and the setting constraints, which facilitates the smooth implementation of the subsequent routing algorithm.
[0052] The XOR threshold rule corresponding to the actual XOR result determined by the binary data corresponding to each of the source routing node and the target routing node in step S13 is to facilitate knowing the node hop count strategy corresponding to the direct connection relationship and the indirect connection relationship between the source routing node and the target routing node, and complete the routing path from the source routing node to the target routing node according to the determined node hop count. The XOR threshold rule is a rule corresponding to the data setting of the actual XOR result, which includes the first XOR threshold rule determined based on the relationship between the binary data of the actual XOR result itself and the reference XOR threshold value and the actual XOR result The binary data corresponding to the result includes the specific number of preset data, and the actual XOR result The binary data corresponding to the result and the reference XOR threshold The second XOR threshold rule is determined. In other words, the first XOR threshold rule determines whether the source routing node and the target routing node are in the same plane and whether they are in a direct connection relationship through the relationship between the binary data of the actual XOR result itself and the reference XOR threshold value, so as to determine the node hop count strategy. The second XOR threshold rule determines the node hop count strategy by the number of preset data contained in the binary data of the actual XOR result.
[0053] Step S14 is to determine the final routing path based on the determined node hop count strategy and path link rules. The path link rules provided in this embodiment are to ensure the orderly progress of the routing path and to initially avoid deadlock. The deadlock is caused by the existence of a "loop" in the topological structure, and there is no restriction on the routing path. In this embodiment, for the three-dimensional hypercube structure of the dual path, there are double lines in each direction between the routing nodes, marking the path between the routing nodes. Fig.13 A schematic diagram of a path marking provided by an embodiment of the present invention, such as Fig.13 As shown, the double lines in each direction mark different path marks, where "+" is a valid path mark and "-" is an invalid path mark. Under the path link rule, all routing paths follow the shortest path, and the shortest path between any two routing nodes is less than or equal to the network diameter of the three-dimensional hypercube structure.
[0054] The embodiment of the present invention proposes a path determination method based on a three-dimensional hypercube structure network, which obtains a source routing node and a target routing node based on the three-dimensional hypercube structure network; determines an actual XOR result according to the binary data corresponding to the source routing node and the target routing node; determines a node hop strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node; wherein the XOR threshold rule includes a first XOR threshold rule and a second XOR threshold rule, the first XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result and the reference XOR threshold; the second XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result containing preset data and the binary data corresponding to the actual XOR result and the reference XOR threshold; determines the routing path between the source routing node and the target routing node according to the determined node hop strategy and the path link rule; wherein the path link rule is used to characterize the effective path mark of the target path corresponding to the node hop. The node hop strategy determined by the XOR threshold rule and the direct or indirect connection relationship between the two nodes is adopted, and then the final routing path is determined according to the node hop strategy and the path mark of the path link rule. Through the two rules under the XOR threshold rule, the specific core solutions of the two cases (the actual XOR result data itself and the preset data contained in the binary data) are different under multiple routing paths determined by path marking. Compared with the path uniqueness restriction of the conventional "1-2-4 routing algorithm" of the structure network, the path diversity and flexibility of the structure network are improved.
[0055] In some embodiments, the reference XOR threshold includes a first XOR result and a second XOR result, and the binary data of two directly connected routing nodes corresponding to each two-dimensional cube are XORed to obtain the first XOR result; wherein the binary data of the first XOR result is at least one; The binary data of the two indirectly connected routing nodes corresponding to each two-dimensional cube are XORed to obtain a second XOR result; wherein the binary data of the second XOR result is at least one and is different from the first XOR result.
[0056] Specifically, in order to indicate the connection relationship between two routing nodes, the XOR results of binary data of any two corresponding routing nodes in a two-dimensional cube are in a specific XOR result, which is used to distinguish the direct connection and indirect connection relationship between the two routing nodes.
[0057] The binary data of two directly connected routing nodes corresponding to the same two-dimensional cube are XORed to obtain a first XOR result, and the specific binary data of the first XOR result is multiple. The binary data of two indirectly connected routing nodes corresponding to the same two-dimensional cube are XORed to obtain a second XOR result, and the specific binary data of the second XOR result is multiple, which needs to be set according to the actual binary data.
[0058] In another embodiment, the binary data of two directly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a first XOR result that satisfies a first preset condition; The binary data of two indirectly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a second XOR result that satisfies a second preset condition; The preset number of binary data corresponding to the second XOR result obtained by XORing the binary data of two indirectly connected routing nodes of the three-dimensional hypercube structure network satisfies the third preset condition; wherein the first preset condition, the second preset condition and the third preset condition are all different.
[0059] It is understandable that this embodiment can be directed to the same two-dimensional cube or different two-dimensional cubes. Therefore, only the connection relationship corresponding to the binary data of the routing nodes is considered. If it is the first XOR result, the preset data of the binary data of the corresponding first XOR result, for example, the preset data is 1, which corresponds to the first preset condition. The number of preset data is 1, etc., that is, the number of preset data "1" in the binary data of the first XOR result satisfies the first preset condition. Similarly, if the number of preset data "1" of the binary data corresponding to the second XOR result obtained by the two indirectly connected routing nodes is 2 or 3, then the corresponding second preset condition and the third preset condition are met, and the number of node hops between the two routing nodes can be distinguished.
[0060] The two methods of characterizing the connection relationship between two routing nodes provided in this embodiment increase the diversity of the methods of determining the routing path, so as to facilitate the subsequent determination of the corresponding node hop count strategy.
[0061] In some embodiments, when the XOR threshold rule is the first XOR threshold rule, determining the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node includes: Determine whether the highest bit of the binary data of the actual XOR result is a first threshold; If the highest bit of the binary data of the actual XOR result is not the first threshold, it is determined that the source routing node and the target routing node are in the same two-dimensional cube; the node hop count strategy between the source routing node and the target routing node is determined according to the first XOR threshold rule; If the highest bit of the binary data of the actual XOR result is the first threshold, it is determined that the source routing node and the target routing node are in different two-dimensional cubes; and the source routing node is routed to the same two-dimensional cube as the target routing node to obtain a new source routing node; XOR is performed on the binary data corresponding to the new source routing node and the target routing node to obtain a new actual XOR result, and it is determined whether the highest bit of the binary data of the new actual XOR result is the first threshold; If the highest bit of the binary data of the new actual XOR result is the first threshold, the node hop count strategy between the new source routing node and the target routing node is determined according to the first XOR threshold rule.
[0062] Specifically, the node hop count strategy corresponding to the first XOR threshold rule first determines whether the highest bit of the binary data of the actual XOR result is the first threshold. If not, it is determined that the two routing nodes are in the same two-dimensional cube, and the node hop count strategy needs to be determined according to the first XOR threshold rule. If yes, it means that the two routing nodes are in different two-dimensional cubes, and it is necessary to route its source routing node to the same two-dimensional cube where the target routing node is located to obtain a new source routing node, so that the new source routing node and the target routing node are in the same two-dimensional cube. At this time, it is necessary to determine whether the new source routing node and the target routing node are XORed to obtain a new actual XOR result, so as to re-determine whether the highest bit of the new actual XOR result is the first threshold. If yes, it is determined that the new source routing node and the target routing node are in the same two-dimensional cube, and the node hop count strategy between the new source routing node and the target routing node continues to be determined according to the first XOR threshold rule.
[0063] For example: if the highest bit of the actual XOR result I is 1, it means that the source routing node and the target routing node belong to different two-dimensional cubes. Then, the source routing node needs to be routed to the two-dimensional cube where the target routing node is located, and the new source routing node after routing is XORed with the target routing node to obtain a new actual XOR result I', and then continue to determine whether its highest bit is the first threshold (1). If not, it means that the new source routing node and the target routing node belong to the same two-dimensional cube.
[0064] In some embodiments, routing the source routing node to the same two-dimensional cube as the target routing node to obtain a new source routing node includes: Performing XOR on the binary data of the reference XOR result and the binary data of the source routing node to obtain a third XOR result; The binary data of the third XOR result is used as the binary data of the new source routing node.
[0065] Specifically, the third XOR result is obtained by XORing the binary data of the reference XOR result with the binary data of the source routing node. Here, the reference XOR result is the XOR result of any two routing nodes in the three-dimensional hypercube structure network. For example, if it is 100, the source routing node S is XORed with 100 to obtain S new (The third XOR result, i.e. the new source routing node), in addition, through S new The XOR operation with D obtains the new actual XOR result I'.
[0066] .
[0067] In some embodiments, determining a node hop count strategy between a source routing node and a target routing node according to a first XOR threshold rule includes: Determine whether the actual XOR result is a binary data in the first XOR result; If the actual XOR result is a binary data in the first XOR result, then determining that the number of node hops between the source routing node and the target routing node is one hop; If the actual XOR result is not a binary data in the first XOR result, determining whether the actual XOR result is a binary data in the second XOR result; If the actual XOR result is a binary data in the second XOR result, it is determined that the number of node hops between the source routing node and the target routing node is two hops.
[0068] Specifically, it is determined whether the actual XOR result is a binary data in the first XOR result. If so, it is determined that the source routing node and the target routing node are directly connected, that is, the number of node hops between the two routing nodes is one hop; if not, it is determined whether the actual XOR result is a binary data in the second XOR result. If so, it is determined that the number of node hops between the source routing node and the target routing node is two hops. It should be noted that the routing method corresponding to this embodiment is to determine the number of node hops of the source routing node and the target routing node on a two-dimensional cube. The maximum network diameter on a two-dimensional cube is 2, so it is at most two hops. In addition, on different two-dimensional cubes, the source routing node needs to be routed to a two-dimensional cube with the same target routing node. Such a hop is not regarded as the number of hops of two routing nodes on the same two-dimensional cube. The first XOR result is 100, 010, 001, and the second XOR result is 011, 110, 101.
[0069] The node hop count strategy provided in this embodiment ensures that corresponding routing paths are subsequently determined according to different node hop count strategies, thereby improving the diversity and accuracy of the routing path determination method.
[0070] In some embodiments, determining a routing path between a source routing node and a target routing node according to a determined node hop count strategy and a path link rule includes: When the number of node hops between the source routing node and the target routing node is one hop, the source routing node is directly routed to the target routing node according to the number of node hops between the source routing node and the target routing node to complete the routing path; wherein the path between the source routing node and the target routing node is set as a valid path mark or an invalid path mark; When the number of node hops between the source routing node and the target routing node is two hops, the actual XOR result is split into a fourth XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained; wherein the binary data of the fourth XOR result is at least one; Correspondingly, according to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: Performing a first XOR operation on the binary data corresponding to the fourth XOR result and the source routing node respectively to obtain a fifth XOR result, wherein the binary data of the fifth XOR result is at least one; Using the path between the routing node corresponding to the fifth XOR result and the source routing node as the routing path of the first hop, and setting the routing path of the first hop as a valid marked path; A second XOR operation is performed on the binary data corresponding to the fifth XOR result and the binary data of the remaining fourth XOR results except the binary data of the fourth XOR result corresponding to the first XOR operation, to obtain a sixth XOR result, until all the binary data of the fourth XOR results are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the sixth XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
[0071] It should be noted that the path link rule in this implementation takes into account two paths corresponding to different directions, identifies the paths, ensures the orderliness of the paths of subsequent routing nodes in the same direction, and avoids deadlock.
[0072] When there is only one hop, the route is directly from the source routing node to the target routing node, and the path between the two nodes can be set to a valid path mark or an invalid path mark, that is, "+" or "-".
[0073] When there are only two hops, it is necessary to split the actual XOR result into a fourth XOR result according to the unique hot encoding method. The unique hot encoding method can be split based on the current unique hot encoding, or it can be improved on the basis of the original unique hot encoding method to obtain a new unique hot encoding method, which is not limited here. The actual XOR result is split into several unique hot encoded XORs to obtain the fourth XOR result. It can be understood that the binary data of the fourth XOR result is at least one. According to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node and obtain the routing path.
[0074] For example: When S is 000 and D is 011, the actual XOR result is : Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I; Step 2: Determine the value of I: If the first digit of I is not 1, go to step 4; Step 4: Determine the routing path: If the highest bit of I is not 1, it means that the source routing node S and the target routing node D belong to the same two-dimensional cube. Determine the value of I: I is one of 011, 110, and 101, indicating that S needs to go through two hops to D; (1) Split into several one-hot encoded XORs, ; (2) Then, in a random manner, XOR with routing node S respectively; routing ends. In summary, when S is 000 and D is 011, the possible paths are: .
[0075] In conjunction with the above example, a specific way to determine the routing path is that when there are multiple binary data of the fourth XOR result, the binary data corresponding to the fourth XOR result is respectively subjected to a first XOR operation with the source routing node to obtain a fifth XOR result. It is understandable that the fifth XOR result is at least one. All paths between the routing node corresponding to the fifth XOR result and the source routing node are used as the routing path of the first hop, which is then used as the first hop of the source routing node and is set as a valid marked path.
[0076] The binary data corresponding to the fifth XOR result is subjected to a second XOR operation with the binary data of the remaining fourth XOR results except the binary data of the fourth XOR result corresponding to the first XOR operation, to obtain the sixth XOR result, until all the binary data of the fourth XOR result are XORed. It should be noted that since there are multiple fourth XOR results, after the first XOR operation, the remaining other fourth XOR results are selected as the second XOR operation, and after all XOR operations are completed, the multiple routing paths obtained are used as the routing paths between the source routing node and the target routing node. The path between the routing node corresponding to the sixth XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
[0077] When S is 100 and D is 011, the actual XOR result is : Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I; Step 2: Determine the value of I: The first digit of I is 1, that is, , then proceed to the third step; Step 3: Determine the routing path: The highest bit of I is 1, which means that the source routing node S and the target routing node D belong to different two-dimensional cubes: the first step is to route to the two-dimensional cube where D is located; after the first step of routing is completed, the routing node is used as the new source routing node S new , and recalculate I before going to step 4; .
[0078] Determination of routing path: If the highest bit of I is not 1, it means that the source routing node S and the target routing node D belong to the same two-dimensional cube. Determine the value of I: I is 011, which means that routing from S to D requires two hops; (1) I is split into several one-hot encoded XORs, ; (2) Then, in a random manner, XOR with routing node S respectively; possible paths are: ; In summary, when S is 010 and D is 101, the possible paths are: .
[0079] In summary, the routing rules are as follows: Rule 1: All routing paths follow the shortest path; Rule 3: If the source routing node S and the target routing node D belong to the same two-dimensional cube: 3.1: When S is directly connected to D, routing is done directly through the connected line, and both paths marked with "+" and "-" can be taken; 3.2: When S and D are not directly connected, because S and D belong to the same two-dimensional cube, the maximum network diameter is 2, so S to D needs to go through two hops at this time. This routing request will cause a deadlock. It is stipulated that the first hop can only take the path marked with "+", and the second hop can only take the path marked with "-". For example, when S=101 and D=110, Fig.14 A schematic diagram of a path marking between a source routing node and a target routing node provided by an embodiment of the present invention, such as Fig.14 As shown, there are two paths when S=101 and D=110.
[0080] Rule 4: If the source routing node S and the target routing node D belong to two two-dimensional cubes: 4.1: When S to D requires one hop, the connected lines are routed, and both paths marked with "+" and "-" can be taken; 4.2: When S needs to go to D through two or three hops, the first hop requires S to jump to the two-dimensional cube where D is located. The paths marked with "+" and "-" in the first hop can be taken, and S is updated to the routing node at this time, and then follow Rule 3.
[0081] Fig.15 A schematic diagram of a ring topology structure with clockwise downward path identification provided by an embodiment of the present invention, Fig.16 A schematic diagram of a ring topology structure with a counterclockwise downward path identifier provided by an embodiment of the present invention, such as Fig.15 , 16As shown, the application of rule 3 can avoid deadlock in a two-dimensional cube. Take the "ring" structure composed of routing nodes 101, 111, 100, and 110 of the two-dimensional cube on the right as an example. Assume that there are four routing requests: Request 1: routing node 101 to routing node 110; Request 2: routing node 111 to routing node 100; Request 3: routing node 110 to routing node 101; Request 4: routing node 100 to routing node 111; When these four routing requests need to pass through a routing node and all have occupied the middle routing node, no deadlock is formed.
[0082] Fig.17 A schematic diagram of a ring topology structure of a different two-dimensional cube path identifier provided by an embodiment of the invention, such as Fig.17 As shown, the application of rule 4.2 can avoid deadlock in the "ring" formed by the two-dimensional cube on the left and the two-dimensional cube on the right. Take the "ring" structure formed by routing nodes 001, 000 of the left two-dimensional cube and routing nodes 101, 100 of the inner triangular prism as an example. Assume that there are four routing requests: Request 1: routing node 001 to routing node 100; Request 2: routing node 101 to routing node 000; Request 3: routing node 100 to routing node 001; Request 4: routing node 000 to routing node 101; these four routing requests need to pass through a routing node and all have occupied the middle routing node, but no deadlock is formed.
[0083] The routing path process determined by the first XOR threshold rule and the corresponding path identification process provided in this embodiment realize the diversity of routing path determination and avoid deadlock through the path identification method.
[0084] In some embodiments, when the XOR threshold rule is the second XOR threshold rule, determining the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node includes: Determine whether the preset number of binary data of the actual XOR result meets the first preset condition; If the first preset condition is met, it is determined that the source routing node and the target routing node are located at the same edge of the three-dimensional hypercube structure network; and the number of node hops between the source routing node and the target routing node is determined to be one hop; If the first preset condition is not met, determining whether the preset number of binary data of the actual XOR result meets the second preset condition; If the second preset condition is met, determining that the number of node hops between the source routing node and the target routing node is two hops; If the second preset condition is not met, determining whether the preset number of binary data of the actual XOR result meets the third preset condition; If the third preset condition is met, it is determined that the source routing node and the target routing node are located in different two-dimensional cubes and different edges of the three-dimensional hypercube structure network; and the number of node hops between the source routing node and the target routing node is determined to be three hops.
[0085] Specifically, when the preset number of binary data of the actual XOR result satisfies the first preset condition, that is, the number of preset data "1" is 1, it is determined that the two routing nodes are directly connected, regardless of the same two-dimensional cube or multiple two-dimensional cubes, that is, located at the same edge, and the number of node hops is one. When the preset number of binary data of the actual XOR result satisfies the second preset condition, that is, the number of preset data "1" is 2, the number of node hops is two; when the preset number of binary data of the actual XOR result satisfies the third preset condition, that is, the number of preset data "1" is 3, it is determined that the two routing nodes are indirectly connected, located in different two-dimensional cubes and different edges, and the number of node hops is three.
[0086] In some embodiments, determining a routing path between a source routing node and a target routing node according to a determined node hop count strategy and a path link rule includes: When the number of node hops between the source routing node and the target routing node is one hop, the source routing node is directly routed to the target routing node according to the number of node hops between the source routing node and the target routing node to complete the routing path; wherein the path between the source routing node and the target routing node is set as a valid path mark or an invalid path mark; When the number of node hops between the source routing node and the target routing node is two hops, determining whether the highest bit of the binary data of the actual XOR result is a first threshold; If the highest bit of the binary data of the actual XOR result is not the first threshold, it is determined that the source routing node and the target routing node are in the same two-dimensional cube; the actual XOR result is split into a seventh XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the seventh XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained; wherein the binary data of the seventh XOR result is at least one; If the highest bit of the binary data of the actual XOR result is the first threshold, it is determined that the source routing node and the target routing node are in different two-dimensional cubes; the actual XOR result is split into an eighth XOR result according to the one-hot encoding method; the target routing node is obtained by performing an XOR operation on the eighth XOR result and the source routing node according to the number of node hops between the source routing node and the target routing node and the path link rule, thereby obtaining a routing path; wherein the binary data of the eighth XOR result is at least one; the marked paths corresponding to the two hops of the routing path obtained by the seventh XOR result are different from the marked paths corresponding to the two hops of the routing path obtained by the eighth XOR result; When the number of node hops between the source routing node and the target routing node is three hops, the actual XOR result is split into ninth XOR results of the same number as the preset number of data of the binary data of the actual XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the ninth XOR result and the source routing node are XORed to obtain the target routing node, and a routing path is obtained; wherein the routing path corresponding to the first hop is set to a non-valid marked path; the routing path corresponding to the second hop is set to a valid marked path; and the routing path corresponding to the third hop is set to a non-valid marked path.
[0087] Specifically, when there is only one hop, the route is directly from the source routing node to the target routing node, and the path between the two nodes can be set to a valid path mark or an invalid path mark, that is, "+" or "-".
[0088] When there are only two hops, it is necessary to determine whether the highest bit of the binary data of the actual XOR result is the first threshold. If it is not the first threshold, it means that the two routing nodes are in the same two-dimensional cube, and the routing path is obtained in the same way as the one-hot encoding method in the above embodiment. If it is the first threshold, it means that they are in different two-dimensional cubes, and the routing path is obtained based on the one-hot encoding method in the same way as the above embodiment. At this time, the routing path identifiers in the two hops are different. If the first hop is "+", the second hop is "-"; if the first hop is "-", the second hop is "+".
[0089] When there are only three hops, the ninth XOR result with the same number of unique hot encoding splits as the preset number of data is the same as the routing path determined by the above XOR operation, and no further description is given. The routing path corresponding to the first hop is set to an invalid marked path; the routing path corresponding to the second hop is set to a valid marked path; and the routing path corresponding to the third hop is set to an invalid marked path.
[0090] In some embodiments, the routing path for two hops where the source routing node and the target routing node are in the same two-dimensional cube is determined as follows: According to the number of node hops between the source routing node and the target routing node, the path link rule, the seventh XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: Performing a first XOR operation on the binary data corresponding to the seventh XOR result and the source routing node respectively to obtain a tenth XOR result, wherein the binary data of the tenth XOR result is at least one; The path between the routing node corresponding to the tenth XOR result and the source routing node is used as the routing path of the first hop, and the routing path of the first hop is set as a valid marked path; A second XOR operation is performed on the binary data corresponding to the tenth XOR result and the binary data of the remaining seventh XOR results except the binary data of the seventh XOR result corresponding to the first XOR operation, to obtain an eleventh XOR result, until all the binary data of the seventh XOR results are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the eleventh XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
[0091] Specifically, when S is 000 and D is 011, : Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I; Step 2: Determine the number of "1" in I: The number of "1"s in I is 2, indicating that it takes "two hops" from the source routing node S to the target routing node D, and enters the third step; Step 3: The number of "1" in I is 2, indicating that the source routing node S needs to go through "two hops" to the target routing node D. Check the highest bit of I: 3.1 If the highest bit of I is "0", it means that the source routing node S and the target routing node D belong to the same two-dimensional cube. Routing is performed according to rule 3.1, with the first hop going "+" and the second hop going "-": (1) I is split into two one-hot encoded XORs, ; (2) Then, in a random manner, Perform XOR with routing node S respectively, the first hop is "+", the second hop is "-", and the routing is completed. In summary, when S is 000 and D is 011, the possible paths are: .
[0092] The specific method of determining the routing path is that when there are multiple binary data of the seventh XOR result, the binary data corresponding to the seventh XOR result is respectively subjected to the first XOR operation with the source routing node to obtain the tenth XOR result. It can be understood that the tenth XOR result is at least one. All paths between the routing node corresponding to the tenth XOR result and the source routing node are used as the routing path of the first hop, which is now the first hop of the source routing node and is set as a valid marked path.
[0093] The binary data corresponding to the tenth XOR result is subjected to a second XOR operation with the binary data of the remaining seventh XOR results except the binary data of the seventh XOR result corresponding to the first XOR operation, to obtain the eleventh XOR result, until all the binary data of the seventh XOR result are XORed. It should be noted that since there are multiple seventh XOR results, after the first XOR operation, the remaining other seventh XOR results are selected as the second XOR operation, and after all XOR operations are completed, the multiple routing paths obtained are used as the routing paths between the source routing node and the target routing node. The path between the routing node corresponding to the eleventh XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
[0094] In some other embodiments, obtaining the target routing node by performing an XOR operation on the ninth XOR result and the source routing node according to the number of node hops between the source routing node and the target routing node, the path link rule, and obtaining the routing path includes: One of the binary data corresponding to the ninth XOR result is used as the twelfth XOR result; Performing an XOR operation on the binary data of the twelfth XOR result and the binary data of the source routing node to obtain the binary data of a new source routing node; using the path between the source routing node and the new source routing node as the routing path of the first hop, and setting the routing path of the first hop as a non-valid marked path; Performing a first XOR operation on the binary data in the ninth XOR result except the twelfth XOR result with the new source routing node to obtain a thirteenth XOR result, wherein the binary data of the thirteenth XOR result is at least one; The path between the routing node corresponding to the thirteenth XOR result and the source routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a valid marked path; Perform a second XOR operation on the binary data corresponding to the thirteenth XOR result and the binary data of the remaining ninth XOR results except the binary data corresponding to the first XOR operation, to obtain a fourteenth XOR result, until all the binary data of the ninth XOR result except the binary data of the twelfth XOR result are XORed, and finally obtain the target routing node; wherein the path between the routing node corresponding to the fourteenth XOR result and the target routing node is used as the routing path of the third hop, and the routing path of the third hop is set to a non-valid marked path.
[0095] It should be noted that one of the binary data corresponding to the ninth XOR result is used as the twelfth XOR data, and an XOR operation is performed on the binary data of the source routing node to obtain the binary data of the new source routing node, and the path between the source routing node and the new routing node is used as the routing path of the first hop, and is a non-valid marked path. The binary data in the ninth XOR result except the twelfth XOR result is respectively subjected to a first XOR operation with the new source routing node to obtain the thirteenth XOR result, and the path between the routing node corresponding to the thirteenth XOR result and the source routing node is used as the routing path of the second hop, and is set as a valid marked path.
[0096] The thirteenth XOR result is subjected to a second XOR operation with the binary data of the remaining ninth XOR results except the binary data corresponding to the first XOR operation, to obtain the fourteenth XOR result, until all the binary data of the ninth XOR result except the binary data of the twelfth XOR result are XORed, and finally the target routing node is obtained, and the path between the routing node corresponding to the fourteenth XOR result and the target routing node is used as the routing path of the third hop, which is set as a non-valid marked path.
[0097] For example, the number of "1"s is 3, which means that the source routing node S needs to go through "three hops" to the target routing node D. The first hop is "-" to reach the two-dimensional cube where D is located, and then the second hop is "+", and the third hop is "-": I is split into three unique-hot-encoded XORs: ; Then the first jump is "-" to reach the two-dimensional cube where D is: ; Then, in a random manner, Respectively with the new routing node S new Perform XOR; routing ends.
[0098] For example: when S is 100 and D is 011, : Step 1: Perform bitwise XOR on the source routing node S and the target routing node D, and the result is recorded as I; Step 2: Determine the number of "1" in I: The number of "1"s in I is 3, indicating that it takes "three hops" from the source routing node S to the target routing node D, and enters the fourth step; Step 4: The number of "1"s in I is 3, indicating that the source routing node S needs to go through "three hops" to the target routing node D. The first hop is "-" to reach the two-dimensional cube where D is located, followed by the second hop "+", and the third hop "-": (1) I is split into three unique-hot-encoded XORs: ; (2) Then the first jump is “-” to reach the two-dimensional cube where D is located: ; (3) Then, in a random manner, Respectively with the new routing node S new Perform XOR; routing ends; ; In summary, when S is 010 and D is 101, the possible paths are: .
[0099] The routing rules are as follows: Rule 1: All routing paths follow the shortest path; Rule 2: If the source routing node S is directly connected to the target routing node D, this routing request will not cause deadlock, so it can be routed directly through the connected line; Rule 3: If the source routing node S needs to go through two hops to reach the target routing node D, this routing request will cause a deadlock, so the routing path needs to be restricted: 3.1 If the source routing node S and the target routing node D belong to a two-dimensional cube, it is stipulated that the first hop can only take the path marked with "+", and the second hop can only take the path marked with "-". Fig.14 The path identifier is shown.
[0100] 3.2 If the source routing node S and the destination routing node D do not belong to a two-dimensional cube, it is stipulated that the first hop can only take the path marked with "-", and the second hop can only take the path marked with "+". Fig.18 A schematic diagram of path markings corresponding to different two-dimensional cubes provided in an embodiment of the present invention, such as Fig.18 As shown in the figure, for example, the corresponding path mark when S=001 and D=100.
[0101] Rule 4: If the source routing node S needs to go through three hops to reach the target routing node D: The first hop requires S to jump to the two-dimensional cube where D is located. The first hop can only take the path marked with "-", and update S to the routing node at this time. Then follow rule 3.1, and the second and third hops take the paths marked with "+" and "-" respectively.
[0102] Applying rule 3.1 can avoid deadlock in a two-dimensional cube at "two hops". Let's take the "ring" structure formed by routing nodes 101, 111, 100, and 110 of the right two-dimensional cube as an example. Suppose there are four routing requests: Request 1: routing node 101 to routing node 110; Request 2: routing node 111 to routing node 100; Request 3: routing node 110 to routing node 101; Request 4: routing node 100 to routing node 111; These four routing requests S and D belong to a two-dimensional cube. The first hop can only take the path marked with "+", and the second hop can only take the path marked with "-". Suppose these four routing requests pass through a routing node and all of them have occupied the middle routing node, such as Fig.15 and 16 Although it is a ring structure, it does not form a deadlock.
[0103] Applying rule 3.2 can avoid deadlock in "two hops" between two two-dimensional cubes. We take the "ring" structure formed by routing nodes 001, 101, 100, and 000 of the two two-dimensional cubes as an example. Suppose there are four routing requests: Request 1: routing node 001 to routing node 100; Request 2: routing node 101 to routing node 000; Request 3: routing node 100 to routing node 001; Request 4: routing node 000 to routing node 101; these four routing requests S and D do not belong to the same two-dimensional cube. The first hop can only take the path marked with "-", and the second hop can only take the path marked with "+". Fig.19 A schematic diagram of another ring topology structure with clockwise downward path identification provided by an embodiment of the present invention, Fig. 20 A schematic diagram of another ring topology structure with a counterclockwise downward path identifier provided by an embodiment of the present invention, such as Fig.19 , 20 As shown in FIG. 1 , assuming that all four requests pass through a routing node and all occupy the middle routing node, although it is a ring structure, no deadlock is formed.
[0104] Rule 4 can be used to avoid deadlock in the “three-hop” situation between two two-dimensional cubes. Take the “ring” structure formed by routing nodes 001 and 000 of the left two-dimensional cube and routing nodes 101 and 100 of the inner triangular prism as an example. Assume that there are four routing requests: Request 1: routing node 001 to routing node 110; Request 2: routing node 101 to routing node 010; Request 3: routing node 100 to routing node 011; Request 4: routing node 000 to routing node 111; These four routing requests require “three hops” to reach D, so the first hop can only take the path marked with “-” to reach the two-dimensional cube where D is located. Then, according to Rule 3.1, the second and third hops take the paths marked with “+” and “-” respectively. Fig.21 A schematic diagram of a ring topology structure of another different two-dimensional cube path identifier provided by an embodiment of the present invention, such as Fig.21 As shown, we only care about whether the first jump or the second jump will cause deadlock.
[0105] The routing path process determined by the second XOR threshold rule and the corresponding path identification process provided in this embodiment realize the diversity of routing path determination and avoid deadlock through the path identification method.
[0106] The above describes in detail various embodiments corresponding to the path determination method based on the three-dimensional hypercube structure network. On this basis, the present invention also discloses a path determination device based on the three-dimensional hypercube structure network corresponding to the above method. Fig. 22 The structure diagram of a path determination device based on a three-dimensional hypercube structure network provided by an embodiment of the present invention. Fig. 22 As shown, the path determination device based on the three-dimensional hypercube structure network includes: An acquisition module 11 is used to acquire a source routing node and a target routing node based on a three-dimensional hypercube structure network; A first determination module 12, used to determine an actual XOR result according to the binary data corresponding to the source routing node and the target routing node respectively; The second determination module 13 is used to determine the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node; wherein the XOR threshold rule includes a first XOR threshold rule and a second XOR threshold rule, the first XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result and the reference XOR threshold; the second XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result containing preset data and the binary data corresponding to the actual XOR result and the reference XOR threshold; The third determination module 14 is used to determine the routing path between the source routing node and the target routing node according to the determined node hop count strategy and path link rule; wherein the path link rule is used to characterize the valid path mark of the target path corresponding to the node hop count.
[0107] Since the embodiments of the equipment part correspond to the above embodiments, the embodiments of the device part please refer to the description of the embodiments of the method part, which will not be repeated here.
[0108] For an introduction to a path determination device based on a three-dimensional hypercube structure network 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 path determination method based on a three-dimensional hypercube structure network.
[0109] Fig.23 A structural diagram of a path determination device based on a three-dimensional hypercube structure network provided by an embodiment of the present invention, such as Fig.23 As shown, the device comprises: A memory 21, used for storing computer programs; The processor 22 is used to implement the steps of the path determination method based on the three-dimensional hypercube structure network when executing the computer program.
[0110] 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.
[0111] 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 path determination method based on the three-dimensional hypercube structure network 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 path determination method based on the three-dimensional hypercube structure network, etc.
[0112] In some embodiments, the path determination device based on the three-dimensional hypercube structure network may further include a display screen 23 , an input and output interface 24 , a communication interface 25 , a power supply 26 , and a communication bus 27 .
[0113] Those skilled in the art can understand that Fig.23 The structure shown in the figure does not constitute a limitation on the path determination device based on the three-dimensional hypercube structure network, and may include more or less components than those shown in the figure.
[0114] The processor 22 calls the instructions stored in the memory 21 to implement the path determination method based on the three-dimensional hypercube structure network provided by any of the above embodiments.
[0115] For an introduction to a path determination device based on a three-dimensional hypercube structure network 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 path determination method based on a three-dimensional hypercube structure network.
[0116] Furthermore, the present invention also provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by the processor 22, the steps of the path determination method based on the three-dimensional hypercube structure network as described above are implemented.
[0117] 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.
[0118] 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 path determination method based on a three-dimensional hypercube structure network.
[0119] Furthermore, the present invention also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of a path determination method based on a three-dimensional hypercube structure network.
[0120] For an introduction to a computer program product 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 path determination method based on a three-dimensional hypercube structure network.
[0121] The above is a detailed introduction to a path determination method, device, medium and product 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 be referenced 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 be referred 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.
[0122] 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 path determination method based on a three-dimensional hypercube structure network, It is characterized in that include: Acquire source routing nodes and target routing nodes based on a three-dimensional hypercube structure network; Determine the actual XOR result according to the binary data corresponding to the source routing node and the target routing node; Determine the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node; wherein the XOR threshold rule includes a first XOR threshold rule and a second XOR threshold rule, the first XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result and the reference XOR threshold; the second XOR threshold rule is used to characterize the rule determined by the relationship between the binary data corresponding to the actual XOR result containing preset data and the binary data corresponding to the actual XOR result and the reference XOR threshold; The routing path between the source routing node and the target routing node is determined according to the determined node hop count strategy and the path link rule; wherein the path link rule is used to characterize the valid path label of the target path corresponding to the node hop count.
2. The path determination method based on a three-dimensional hypercube structure network according to claim 1, It is characterized in that The three-dimensional hypercube structure network is composed of two two-dimensional cubes; The highest bit of the binary data of the routing node corresponding to one of the two-dimensional cubes is set to 1; the highest bit of the binary data of the routing node corresponding to the other two-dimensional cube is set to 0.
3. The path determination method based on a three-dimensional hypercube structure network according to claim 2, It is characterized in that The XOR results of binary data of any routing node corresponding to one of the two-dimensional cubes and binary data of any routing node corresponding to the other two-dimensional cube are both reference XOR results.
4. The path determination method based on a three-dimensional hypercube structure network according to claim 3, It is characterized in that The reference XOR threshold includes a first XOR result and a second XOR result, and the binary data of two directly connected routing nodes corresponding to each two-dimensional cube are XORed to obtain the first XOR result; wherein the binary data of the first XOR result is at least one; The binary data of the two indirectly connected routing nodes corresponding to each two-dimensional cube are XORed to obtain a second XOR result; wherein the binary data of the second XOR result is at least one and is different from the first XOR result.
5. The path determination method based on a three-dimensional hypercube structure network according to claim 3, It is characterized in that Binary data of two directly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a first XOR result that satisfies a first preset condition; The binary data of two indirectly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a second XOR result that satisfies a second preset condition; The binary data of two indirectly connected routing nodes of the three-dimensional hypercube structure network are XORed to obtain a preset number of binary data corresponding to a second XOR result that satisfies a third preset condition; wherein the first preset condition, the second preset condition and the third preset condition are all different.
6. The path determination method based on a three-dimensional hypercube structure network according to claim 4, It is characterized in that When the XOR threshold rule is the first XOR threshold rule, determining the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node includes: Determine whether the highest bit of the binary data of the actual XOR result is a first threshold; If the highest bit of the binary data of the actual XOR result is not the first threshold, it is determined that the source routing node and the target routing node are in the same two-dimensional cube; and the node hop count strategy between the source routing node and the target routing node is determined according to the first XOR threshold rule; If the highest bit of the binary data of the actual XOR result is the first threshold, it is determined that the source routing node and the target routing node are in different two-dimensional cubes; and the source routing node is routed to the same two-dimensional cube as the target routing node to obtain a new source routing node; XOR is performed on the binary data corresponding to the new source routing node and the target routing node to obtain a new actual XOR result, and it is determined whether the highest bit of the binary data of the new actual XOR result is the first threshold; If the highest bit of the binary data of the new actual XOR result is the first threshold, the node hop count strategy between the new source routing node and the target routing node is determined according to the first XOR threshold rule.
7. The path determination method based on a three-dimensional hypercube structure network according to claim 6, It is characterized in that Routing the source routing node to the same two-dimensional cube as the target routing node to obtain a new source routing node, including: Performing XOR on the binary data of the reference XOR result and the binary data of the source routing node to obtain a third XOR result; The binary data of the third XOR result is used as the binary data of the new source routing node.
8. The path determination method based on a three-dimensional hypercube structure network according to claim 7, It is characterized in that Determining a node hop count strategy between a source routing node and a target routing node according to the first XOR threshold rule includes: Determine whether the actual XOR result is a binary data in the first XOR result; If the actual XOR result is a binary data in the first XOR result, determining that the number of node hops between the source routing node and the target routing node is one hop; If the actual XOR result is not a binary data in the first XOR result, determining whether the actual XOR result is a binary data in the second XOR result; If the actual XOR result is a binary data in the second XOR result, it is determined that the number of node hops between the source routing node and the target routing node is two hops.
9. The path determination method based on a three-dimensional hypercube structure network according to claim 8, It is characterized in that Determine the routing path between the source routing node and the target routing node according to the determined node hop count strategy and path link rule, including: When the number of node hops between the source routing node and the target routing node is one hop, the source routing node is directly routed to the target routing node according to the number of node hops between the source routing node and the target routing node to complete the routing path; wherein the path between the source routing node and the target routing node is set as a valid path mark or an invalid path mark; When the number of node hops between the source routing node and the target routing node is two hops, the actual XOR result is split into a fourth XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained; wherein the binary data of the fourth XOR result is at least one; Correspondingly, according to the number of node hops between the source routing node and the target routing node, the path link rule, the fourth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: Performing a first XOR operation on the binary data corresponding to the fourth XOR result and the source routing node respectively to obtain a fifth XOR result, wherein the binary data of the fifth XOR result is at least one; Using the path between the routing node corresponding to the fifth XOR result and the source routing node as the routing path of the first hop, and setting the routing path of the first hop as a valid marked path; A second XOR operation is performed on the binary data corresponding to the fifth XOR result and the binary data of the remaining fourth XOR results except the binary data of the fourth XOR result corresponding to the first XOR operation, to obtain a sixth XOR result, until all the binary data of the fourth XOR results are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the sixth XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
10. The path determination method based on a three-dimensional hypercube structure network according to claim 5, It is characterized in that When the XOR threshold rule is the second XOR threshold rule, determining the node hop count strategy between the source routing node and the target routing node according to the XOR threshold rule of the actual XOR result and the connection relationship between the source routing node and the target routing node includes: Determine whether the preset number of binary data of the actual XOR result meets the first preset condition; If the first preset condition is met, it is determined that the source routing node and the target routing node are located at the same edge of the three-dimensional hypercube structure network; and the number of node hops between the source routing node and the target routing node is determined to be one hop; If the first preset condition is not met, determining whether the preset number of binary data of the actual XOR result meets the second preset condition; If the second preset condition is met, determining that the number of node hops between the source routing node and the target routing node is two hops; If the second preset condition is not met, determining whether the preset number of binary data of the actual XOR result meets the third preset condition; If the third preset condition is met, it is determined that the source routing node and the target routing node are located in different two-dimensional cubes and different edges of the three-dimensional hypercube structure network; and the number of node hops between the source routing node and the target routing node is determined to be three hops.
11. The path determination method based on a three-dimensional hypercube structure network according to claim 10, It is characterized in that Determine the routing path between the source routing node and the target routing node according to the determined node hop count strategy and path link rule, including: When the number of node hops between the source routing node and the target routing node is one hop, the source routing node is directly routed to the target routing node according to the number of node hops between the source routing node and the target routing node to complete the routing path; wherein the path between the source routing node and the target routing node is set as a valid path mark or an invalid path mark; When the number of node hops between the source routing node and the target routing node is two hops, determining whether the highest bit of the binary data of the actual XOR result is a first threshold; If the highest bit of the binary data of the actual XOR result is not the first threshold, it is determined that the source routing node and the target routing node are in the same two-dimensional cube; the actual XOR result is split into a seventh XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the seventh XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained; wherein the binary data of the seventh XOR result is at least one; If the highest bit of the binary data of the actual XOR result is the first threshold, it is determined that the source routing node and the target routing node are in different two-dimensional cubes; the actual XOR result is split into an eighth XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the eighth XOR result and the source routing node are XORed to obtain the target routing node, and obtain a routing path; wherein the binary data of the eighth XOR result is at least one; the marked paths corresponding to the two hops of the routing path obtained by the seventh XOR result are different from the marked paths corresponding to the two hops of the routing path obtained by the eighth XOR result; When the number of node hops between the source routing node and the target routing node is three hops, the actual XOR result is split into ninth XOR results having the same number as the preset number of data of the binary data of the actual XOR result according to the one-hot encoding method; according to the number of node hops between the source routing node and the target routing node, the path link rule, the ninth XOR result is XOR-ed with the source routing node to obtain the target routing node, and obtain a routing path; wherein the routing path corresponding to the first hop is set to a non-valid marked path; the routing path corresponding to the second hop is set to a valid marked path; and the routing path corresponding to the third hop is set to a non-valid marked path.
12. The path determination method based on a three-dimensional hypercube structure network according to claim 11, It is characterized in that According to the number of node hops between the source routing node and the target routing node, the path link rule, the seventh XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: Performing a first XOR operation on the binary data corresponding to the seventh XOR result and the source routing node respectively to obtain a tenth XOR result, wherein the binary data of the tenth XOR result is at least one; The path between the routing node corresponding to the tenth XOR result and the source routing node is used as the routing path of the first hop, and the routing path of the first hop is set as a valid marked path; A second XOR operation is performed on the binary data corresponding to the tenth XOR result and the binary data of the remaining seventh XOR results except the binary data of the seventh XOR result corresponding to the first XOR operation, to obtain an eleventh XOR result, until all the binary data of the seventh XOR results are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the eleventh XOR result and the target routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a non-valid marked path.
13. The path determination method based on a three-dimensional hypercube structure network according to claim 11, It is characterized in that According to the number of node hops between the source routing node and the target routing node, the path link rule, the ninth XOR result and the source routing node are XORed to obtain the target routing node, and the routing path is obtained, including: One of the binary data corresponding to the ninth XOR result is used as the twelfth XOR result; Performing an XOR operation on the binary data of the twelfth XOR result and the binary data of the source routing node to obtain the binary data of a new source routing node; using the path between the source routing node and the new source routing node as the routing path of the first hop, and setting the routing path of the first hop as a non-valid marked path; Performing a first XOR operation on the binary data in the ninth XOR result except the twelfth XOR result with the new source routing node to obtain a thirteenth XOR result, wherein the binary data of the thirteenth XOR result is at least one; The path between the routing node corresponding to the thirteenth XOR result and the source routing node is used as the routing path of the second hop, and the routing path of the second hop is set as a valid marked path; Perform a second XOR operation on the binary data corresponding to the thirteenth XOR result and the binary data of the remaining ninth XOR results except the binary data corresponding to the first XOR operation, to obtain a fourteenth XOR result, until all the binary data of the ninth XOR result except the binary data of the twelfth XOR result are XORed, and finally a target routing node is obtained; wherein the path between the routing node corresponding to the fourteenth XOR result and the target routing node is used as the routing path of the third hop, and the routing path of the third hop is set to a non-valid marked path.
14. A path determination device based on a three-dimensional hypercube structure network, It is characterized in that include: Memory for storing computer programs; A processor, configured to implement the steps of the path determination method based on a three-dimensional hypercube structure network as described in any one of claims 1 to 13 when executing the computer program.
15. A computer-readable storage medium, It is 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 path determination method based on a three-dimensional hypercube structure network as described in any one of claims 1 to 13 are implemented.
16. A computer program product comprising a computer program / instructions, It is characterized in that When the computer program / instruction is executed by a processor, the steps of the path determination method based on a three-dimensional hypercube structure network described in any one of claims 1 to 13 are implemented.
Citation Information
Cited By
Routing method and device for multi-dimensional hypercube interconnection network
CN119966881A
Routing method and device for multi-dimensional hypercube interconnection network
CN119966882A
Construction method of three-dimensional hypercube network structure, network structure, routing method, equipment, medium and product
CN120750836A
Routing method, device, medium and product of three-dimensional hypercube network structure
CN120750836B
