A routing method, apparatus, device, medium and product

By using a three-dimensional cellular topology network and a local adaptive routing algorithm, the problems of high latency and difficult cabling in large-scale on-chip networks are solved, thereby optimizing network performance and improving path diversity.

CN120729773BActive Publication Date: 2026-01-23SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511180105.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-22
Publication Date
2026-01-23
Estimated Expiration
2045-08-22

AI Technical Summary

Technical Problem

In large-scale on-chip networks, the large number of routing nodes leads to significant latency, difficult cabling, and hardware limitations, making it difficult to implement in hardware. Existing topology designs cannot effectively optimize network performance.

Method used

A three-dimensional cellular topology network structure is adopted, and routing is performed through a vertically distributed two-dimensional cellular topology network. Inter-layer and intra-layer routing is performed using target coordinate axis values, and the network topology design is optimized by combining local adaptive routing algorithms.

Benefits of technology

The network topology design was optimized, network latency was reduced, network performance was improved, and path diversity and network capacity were increased.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120729773B_ABST
    Figure CN120729773B_ABST
Patent Text Reader

Abstract

The application provides a routing method, device, equipment, medium and product, and is applied to the technical field of communication, and comprises the following steps: acquiring a first target coordinate axis value of a source node coordinate and a second target coordinate axis value of a destination node coordinate in a preset three-dimensional cellular topology network, the preset three-dimensional cellular topology network is composed of multiple two-dimensional cellular topology networks in vertical distribution, the target coordinate axis is a vertical two-dimensional cellular topology network, and each preset cellular network unit in the two-dimensional cellular topology network is provided with an internal node and an internal link; routing in the direction of the target coordinate axis based on the first target coordinate axis value and the second target coordinate axis value, so as to route from the source node to a node in the same layer two-dimensional cellular topology network as the destination node, and obtain a current node; and routing from the current node to the destination node based on the link relationship between nodes in the two-dimensional cellular topology network in the layer where the destination node is located. In this way, the network topology design is optimized, the network delay is reduced, and the network performance is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Currently, increasingly higher performance requirements are being placed on large-scale on-chip networks (LCNs). In large-scale LCNs, the number of routing nodes is large, leading to problems such as high latency, difficult cabling, and challenging hardware implementation. Therefore, optimizing network topology design, reducing network latency, and improving network performance are technical problems that need to be solved by those skilled in the art. Summary of the Invention

[0003] In view of this, the purpose of the present invention is to provide a routing method, apparatus, device, medium and product that can optimize network topology design, reduce network latency and improve network performance.

[0004] In a first aspect, the present invention provides a routing method, comprising: obtaining a first target coordinate axis value of the source node coordinates and a second target coordinate axis value of the destination node coordinates in a preset three-dimensional cellular topology network, wherein the preset three-dimensional cellular topology network is composed of multiple two-dimensional cellular topology networks vertically distributed, each of the two-dimensional cellular topology networks being a layer, the first target coordinate axis value and the second target coordinate axis value being values ​​on a target coordinate axis, the target coordinate axis being a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks, the two-dimensional cellular topology network being composed of preset cellular network units, each preset cellular network unit being provided with internal nodes and internal links; performing routing in the target coordinate axis direction based on the first target coordinate axis value and the second target coordinate axis value to route from the source node to a node in the same layer of the two-dimensional cellular topology network as the destination node, thereby obtaining the current node; and routing from the current node to the destination node in the two-dimensional cellular topology network of the layer where the destination node is located based on the inter-node link relationship.

[0005] In a second aspect, the present invention provides a routing device, comprising:

[0006] The coordinate acquisition module is used to acquire the first target coordinate axis value of the source node coordinates and the second target coordinate axis value of the destination node coordinates in a preset three-dimensional cellular topology network. The preset three-dimensional cellular topology network is composed of multiple two-dimensional cellular topology networks distributed vertically. Each two-dimensional cellular topology network is a layer. The first target coordinate axis value and the second target coordinate axis value are both values ​​on the target coordinate axis. The target coordinate axis is a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks. The two-dimensional cellular topology network is composed of preset cellular network units. Each preset cellular network unit is equipped with internal nodes and internal links.

[0007] The inter-layer routing module is used to perform routing in the direction of the target coordinate axis based on the first target coordinate axis value and the second target coordinate axis value, so as to route from the source node to the node in the same layer of the two-dimensional cellular topology network as the destination node, and obtain the current node;

[0008] The intra-layer routing module is used to route from the current node to the destination node in the two-dimensional cellular topology network of the layer where the destination node is located, based on the inter-node link relationship.

[0009] Thirdly, the present invention provides an electronic device, comprising: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of the aforementioned routing method.

[0010] Fourthly, the present invention provides a computer-readable storage medium on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the aforementioned routing method.

[0011] Fifthly, the present invention provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the aforementioned routing method.

[0012] As can be seen from the above scheme, the present invention provides a routing method, including: obtaining a first target coordinate axis value of the source node coordinates and a second target coordinate axis value of the destination node coordinates in a preset three-dimensional cellular topology network, wherein the preset three-dimensional cellular topology network is composed of multiple two-dimensional cellular topology networks vertically distributed, each of the two-dimensional cellular topology networks being a layer, the first target coordinate axis value and the second target coordinate axis value being values ​​on the target coordinate axis, the target coordinate axis being a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks, the two-dimensional cellular topology network being composed of preset cellular network units, each preset cellular network unit being provided with internal nodes and internal links; routing in the target coordinate axis direction based on the first target coordinate axis value and the second target coordinate axis value to route from the source node to a node in the same layer of the two-dimensional cellular topology network as the destination node, obtaining the current node; and routing from the current node to the destination node in the two-dimensional cellular topology network of the layer where the destination node is located based on the link relationship between nodes.

[0013] As can be seen, the beneficial effects of this invention are as follows: The three-dimensional cellular topology network provided by this invention is composed of multiple two-dimensional cellular topology networks vertically distributed. Each two-dimensional cellular topology network is composed of preset cellular network units, and each preset cellular network unit is equipped with internal nodes and internal links. This allows a network of the same diameter to accommodate more routing nodes and increases path diversity. Furthermore, within this three-dimensional cellular topology network, inter-layer routing is first performed along the target coordinate axis, followed by routing within the two-dimensional cellular topology network of each layer, ensuring good routing efficiency. Thus, the network topology design is optimized, network latency is reduced, and network performance is improved.

[0014] Correspondingly, the routing device, equipment, medium, and product provided by the present invention also have the above-mentioned technical effects. Attached Figure Description

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

[0016] Figure 1 A flowchart of a routing method provided in an embodiment of the present invention;

[0017] Figure 2 This is a schematic diagram of network basic unit comparison provided in an embodiment of the present invention;

[0018] Figure 3 A schematic diagram of a two-dimensional IHM2 cellular topology network provided by the present invention;

[0019] Figure 4 This is a schematic diagram of a planar coordinate system corresponding to a two-dimensional cellular topology network provided in an embodiment of the present invention;

[0020] Figure 5 This is a schematic diagram of a two-dimensional cellular topology network node encoding method provided in an embodiment of the present invention;

[0021] Figure 6 This is a schematic diagram of a preset three-dimensional cellular topology network provided in an embodiment of the present invention;

[0022] Figure 7 A schematic diagram of a routing method provided in an embodiment of the present invention;

[0023] Figure 8 A schematic diagram of a routing device structure provided in an embodiment of the present invention;

[0024] Figure 9 This is a structural diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation

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

[0026] The terms "comprising" and "having," and any variations thereof, in the specification and accompanying drawings of this invention are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may include steps or units not listed.

[0027] As an emerging large-scale system-on-a-chip (NOC) design methodology, NoC (Network on Chip) draws upon concepts and technologies from computer networks. The origins of topology in NOC systems stem from the research field of parallel computing; however, not all topologies used in parallel computing are suitable for NOC. For NOC, not only throughput and latency must be considered, but also network power consumption and feasibility. The regularity and good controllability of the topological network structure can improve the predictability and reliability of the system while reducing the complexity of communication scheme design. With the increasing demand for large-scale interconnect networks and the development of integrated circuit technology, increasingly higher performance requirements are being placed on NOCs. In large-scale on-chip networks (BTCs), the large number of routing nodes leads to problems such as high latency, difficult cabling, and challenging hardware implementation. The performance of BTCs is closely related to the network topology. Common network topologies include Ring, Mesh, Torus, Dragonfly, various tree structures (Tree, Butterfly Fat-Tree, Fat-Tree, etc.), and hybrid networks (Xpipes, HiNo, etc.). Mesh and torus topologies are the mainstream, accounting for over 60% of BTC systems due to their high regularity, symmetry, and scalability. Since cellular topologies not only possess high regularity, symmetry, and scalability but also significantly reduce network costs compared to Mesh and Torus networks, this invention studies a BTC topology suitable for large-scale networks based on cellular networks. The performance of on-chip interconnect networks depends not only on the network topology construction but also on dynamic factors such as routing algorithms. Communication between nodes is typically achieved by sending messages carrying information. These messages require multiple hops in the network to travel from the source node to the destination node. For a given topology, the routing algorithm provides a path for each message from the source node to the destination node. Therefore, this invention also provides a routing method for the provided topology network.

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

[0029] Next, a routing method provided by an embodiment of the present invention will be described in detail. Figure 1 A flowchart of a routing method provided in an embodiment of the present invention is shown. The routing method includes:

[0030] Step S11: Obtain the first target coordinate axis value of the source node coordinates and the second target coordinate axis value of the destination node coordinates in the preset three-dimensional cellular topology network. The preset three-dimensional cellular topology network is composed of multiple two-dimensional cellular topology networks distributed vertically. Each two-dimensional cellular topology network is a layer. The first target coordinate axis value and the second target coordinate axis value are both values ​​on the target coordinate axis. The target coordinate axis is a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks. The two-dimensional cellular topology network is composed of preset cellular network units. Each preset cellular network unit is equipped with internal nodes and internal links.

[0031] The preset cellular network unit has a hexagonal structure. The six vertices of the hexagon in the preset cellular network unit are external nodes, the six sides are external links, and internal nodes are set between the intersection of each diagonal and the external nodes. An internal link is established between any two adjacent nodes on each diagonal. Both external and internal links are bidirectional links.

[0032] Furthermore, the two-dimensional cellular topology network is composed of one or more preset cellular network units. When expanding the two-dimensional cellular topology network, a ring composed of preset cellular network units is added along the boundary of the current two-dimensional cellular topology network. That is, one cellular grid unit is added outward from each outer edge. For example, when expanding from one preset cellular network unit, it expands outward along six edges, adding one cellular grid unit to each edge, thus expanding a ring composed of preset cellular network units.

[0033] In this embodiment of the invention, a target coordinate system corresponding to a three-dimensional cellular topology network is preset. The target coordinate system includes the target coordinate axes and a planar coordinate system corresponding to the two-dimensional cellular topology network. The planar coordinate system includes an x-axis, a y-axis, and a z-axis, which are parallel to external links and form 120° angles with each other. The origin of the planar coordinate system is the center of the two-dimensional cellular topology network. The coordinate values ​​on the target coordinate axes corresponding to all nodes in any two-dimensional cellular topology network are the same. For any one of the x-axis, y-axis, or z-axis, the coordinates are defined along the positive direction of the coordinate axis, with the center of the two-dimensional cellular topology network as the boundary. In the first zigzag chain perpendicular to the coordinate axis, all external nodes have a coordinate value of 1 on that axis. Along the negative direction of the coordinate axis, all external routing nodes on the first zigzag chain perpendicular to the coordinate axis have a coordinate value of 0 on that axis. The zigzag chain is a zigzag chain composed of external links. Based on the target coordinate system, the node representation of each node in the preset three-dimensional cellular topology network includes the coordinate values ​​corresponding to the x-axis, y-axis, z-axis, and target coordinate axis, as well as a node label. The node label indicates whether the node is an external node or an internal node, and distinguishes internal nodes directly connected to the same external node when it is an internal node. Layers in the preset three-dimensional cellular topology network are connected via a mesh network or a toroidal network.

[0034] In an alternative implementation, constructing a three-dimensional cellular topology network may include the following steps.

[0035] Step 1: Construct the basic network unit of IHM (Improved Honeycomb Mesh, the cellular mesh-based topology network proposed in this invention), namely the aforementioned preset cellular network unit. See also... Figure 2 As shown, Figure 2 This is a schematic diagram of a network basic unit comparison provided in an embodiment of the present invention. The cellular network is composed of hexagonal networks. Figure 2 (a) is the basic unit of a cellular network. To meet the needs of large-scale networks and enable the network to accommodate more routing nodes, this invention provides, for example... Figure 2 (b) shows the IHM basic unit structure as the network basic unit of this invention. Compared with cellular networks, the network basic unit proposed in this invention has 6 more nodes and 9 more links.

[0036] Step 2: Construct a two-dimensional IHM network. Figure 2 (b) is the smallest unit of the network. Following the construction method of a cellular network, the definition of a two-dimensional IHM network proposed in this invention is as follows: For a two-dimensional IHM grid topology, i.e., the aforementioned two-dimensional cellular topology network, 1) the network consists of one basic IHM unit of size 1, denoted as IHM1, such as... Figure 2As shown in (b). 2) Add a ring of IHM units (i.e., 6 IHM units) to the boundary (six edges) of IHM1 to obtain an IHM network of size 2, denoted as IHM2. 3) Similarly, add a ring of IHM units to the boundary of IHM(t-1) to obtain an IHM network of size t, denoted as IHMt. Figure 3 This invention provides a schematic diagram of a two-dimensional IHM2 cellular topology network. Figure 3 middle" "Indicates an external routing node, " "Indicates an internal routing node, " This indicates an external bidirectional link. "" indicates an internal bidirectional link.

[0037] To encode network nodes, an x, y, z coordinate system is established, such as... Figure 4 As shown, Figure 4 This is a schematic diagram of a planar coordinate system corresponding to a two-dimensional cellular topology network provided in an embodiment of the present invention. With the center of the IHMt network as the origin, the x, y, and z coordinate axes are parallel to the external links (sides of the hexagons). The x-axis is parallel to the horizontal line of the network and passes through the network center. The positive y-axis forms a 120-degree angle with the positive x-axis, and the positive z-axis forms a -120-degree angle with the positive x-axis. The x, y, and z axes are at 120-degree angles to each other.

[0038] The coordinate representation method for external routing nodes is the same as that for two-dimensional cellular networks. Figure 4 The thick black sawtooth chains formed by external links are perpendicular to the y-axis. For any of the x, y, or z axes, with the IHMt network center as the boundary, along the positive direction of the coordinate axis, the coordinates of all external routing nodes on the first sawtooth chain perpendicular to the coordinate axis are 1, the second is 2, and so on; along the negative direction of the coordinate axis, the coordinates of all external routing nodes on the first sawtooth chain perpendicular to the coordinate axis are 0, the second is -1, and so on. Figure 4 The coordinates y of all nodes on the black, thick, sawtooth chain are 1.

[0039] Define the encoding method of the nodes: the routing node is defined by... This indicates that, where abc is the aforementioned node marker, representing three binary digits. For any external node, That is, the coordinates of the node are For any external node If a node has one, two, or three internal nodes directly connected to it, and the link connecting the internal nodes to this node is parallel to the x-axis, then let... This internal node is represented as If with external nodes If the link containing the connected internal nodes is parallel to the y-axis, then let This internal node is represented as If with external nodes If the link containing the connected internal nodes is parallel to the z-axis, then let This internal node is represented as .

[0040] For example: see Figure 5 As shown, Figure 5 This is a schematic diagram of a two-dimensional cellular topology network node encoding method provided in an embodiment of the present invention. The coordinates of external node A are: The coordinates of the internal node B directly connected to node A are: The coordinates of the internal node C directly connected to node A are: The coordinates of the internal node D directly connected to node A are: .

[0041] For any two nodes in a two-dimensional cellular topology network , Two nodes are directly connected via a link if any one of the following three conditions is met.

[0042] (1) If ,and Then the node and It is directly connected via an external link.

[0043] (2) If ,and , , Then the node and They are directly connected via internal links.

[0044] (3) If ,and , , Then the node and They are directly connected via internal links.

[0045] Condition (1) indicates that among the three coordinates x, y, z of two external nodes, two coordinate values ​​are equal and the other coordinate value differs by 1, then the two external nodes are directly connected through an external link; Condition (2) indicates that two internal nodes with equal abc values ​​within the same hexagon are directly connected through an internal link; Condition (3) indicates that an external routing node and an internal routing node with equal x, y, z coordinate values ​​and unequal abc values ​​are directly connected through an internal link.

[0046] Furthermore, let D be any external node in the network. The direction function, D, is represented by 6 bits, i.e. ,in , , These represent the x, y, and z directions through which a message can reach an external node directly connected to this node via an external link, with 0 for the positive direction and 1 for the negative direction. , , The values ​​are all 1, which respectively indicate that an external node that can be reached in one hop in the x, y, and z directions is directly connected to this node via an external link.

[0047] .

[0048] when This indicates that a message at this node can only reach the next external node via one hop in the positive x-axis, positive y-axis, or positive z-axis direction; that is, the message can only be transmitted through these three directions at this node. ;when This indicates that the message can only reach the next external node via one hop in the negative x-axis, negative y-axis, or negative z-axis direction at this node; that is, the message can only be transmitted in these three directions at this node. .like Figure 5 The coordinates of the midpoint A are ,calculate Therefore, the direction function of point A .

[0049] The encoding method of IHM network nodes determines that the x, y, z coordinates of any node in the network must contain at least one positive integer and at most two positive integers. They may not contain zero or negative integers, or they may contain one or two zero or negative integers.

[0050] Structural characteristics: Two-dimensional IHMt topology networks have There are external nodes. There are 1 internal node; the diameter of the 2D IHMt topology is 1. ( The network diameter of IHM1 is 4; the connectivity of external nodes in the two-dimensional IHMt topology is 3, 5, and 6, and the connectivity of internal nodes is 2.

[0051] Step 3: Construct a 3D IHM topology network, namely the aforementioned pre-defined 3D cellular topology network. The 3D IHM topology network consists of multiple 2D IHM topologies, which are vertically distributed. Each 2D IHM network is a layer, and layers are connected via vertical links. Layers can be connected using a mesh or torus network approach. See [link to documentation]. Figure 6 As shown, Figure 6 This invention provides a schematic diagram of a preset three-dimensional cellular topology network, using a Mesh architecture as an example, to establish... Figure 6 The coordinate system shown is a planar coordinate system consistent with that of the two-dimensional IHM network. The coordinates in the vertical direction are described by the v-axis. Each node in the network is represented as... .

[0052] Inter-layer connection rules of the 3D IHM topology network mesh architecture: Assume there are two external routing nodes located in different layers. and ,Right now , If satisfied ,and , , This indicates that the two external nodes are directly connected through an inter-layer link.

[0053] Inter-layer connection rules of the 3D IHM topology network Torus architecture: Assume there are two external routing nodes located in different layers. and ,Right now , If satisfied ( (where the number of layers in the 3D IHMt network is), and , , This indicates that the two external nodes are directly connected through an inter-layer link.

[0054] Step S12: Based on the first target coordinate axis value and the second target coordinate axis value, perform routing in the direction of the target coordinate axis to route from the source node to a node in the same layer of the two-dimensional cellular topology network as the destination node, and obtain the current node.

[0055] In this embodiment of the invention, the difference between the first target coordinate axis value and the second target coordinate axis value is calculated to obtain the target coordinate axis difference. If the target coordinate axis difference is not 0 and the source node is an internal node, then routing is performed from the source node to an external node directly connected to the source node. From the external node, routing is performed in the target coordinate axis direction through inter-layer links to a node in the same layer of the two-dimensional cellular topology network as the destination node, thus obtaining the current node. If the target coordinate axis difference is not 0 and the source node is an external node, then routing is performed from the source node in the target coordinate axis direction through inter-layer links to a node in the same layer of the two-dimensional cellular topology network as the destination node, thus obtaining the current node.

[0056] That is, in this embodiment of the invention, when routing, each time a node is routed to, that node is taken as the current node. If the difference between the target coordinate axis of the current node and the destination node is 0, it indicates that the routing has reached a node in the same layer of the two-dimensional cellular topology network as the destination node. This node is the new current node, and step S13 is executed. If the difference between the target coordinate axis of the current node and the destination node is not 0, the inter-layer routing continues.

[0057] Step S13: In the two-dimensional cellular topology network of the layer where the destination node is located, route from the current node to the destination node based on the inter-node link relationship.

[0058] In this embodiment of the invention, routing can be performed from the current node to the target node in a two-dimensional cellular topology network at the layer where the target node is located, based on the inter-node link relationship. The target node is a node that does not require external link routing with the target node; routing can also be performed from the target node to the target node.

[0059] In an optional implementation, routing from the current node to the target node in the two-dimensional cellular topology network of the layer where the target node is located, based on the inter-node link relationship, includes: calculating the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference between the current node and the target node; if the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference are not all 0, then determining the direction variables corresponding to the x-axis, y-axis, and z-axis based on the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference, wherein the direction variables correspond to different values ​​when the coordinate difference of the corresponding coordinate axes is 0, negative, or positive; assembling the direction variables corresponding to the x-axis, y-axis, and z-axis into direction parameters; and based on the current node... The x-axis, y-axis, and z-axis coordinates are used to determine the direction function corresponding to the current node. This direction function represents the routing direction from which any external node can reach an external node directly connected to it via an external link through a single hop. The routing direction of the current node is calculated based on the direction parameters and the direction function. A target routing path is determined based on the current node's routing direction. The node reached by the route is designated as the new current node. This triggers the calculation of the x-axis, y-axis, and z-axis coordinate differences between the current node and the target node. This process continues until all x-axis, y-axis, and z-axis coordinate differences are zero, at which point the current node is identified as the target node.

[0060] Specifically, for the direction function corresponding to the current node, if the current node is an external node, the direction function corresponding to the current node is the direction function of the current node; if the current node is an internal node, the direction function corresponding to the current node is the direction function of the external node that has the same x-axis coordinate value, y-axis coordinate value, and z-axis coordinate value as the current node.

[0061] Furthermore, determining the target routing path based on the routing direction of the current node includes: if there are multiple routing directions, determining multiple routing paths; and determining the routing path with the shortest packet queuing length from the multiple routing paths as the target path.

[0062] Furthermore, routing from the target node to the destination node includes: if the node identifiers of the target node and the destination node are the same, then the routing ends; if the node identifiers of the target node and the destination node are different, then the routing from the target node to the destination node ends.

[0063] In an optional implementation, this embodiment of the invention provides a local adaptive routing method, where the source node coordinates are... The coordinates of the destination node are The current node coordinates are .

[0064] Step 1: Calculation That is, the difference in the target coordinate axes, which completes the routing in the v direction. .

[0065] (1) If This indicates that the current node and the destination node are not in the same network layer.

[0066] For a 3D IHM topology network mesh architecture: if Send the message from the internal node Routing to external nodes via internal links Then the message is transmitted from the node via the inter-layer link. Transmitted to external nodes Proceed to the first step. sgn is the sign function; if... Send messages from external nodes Transmitted to external nodes via inter-layer links Let's move on to the first step.

[0067] For the Torus architecture of the 3D IHM topology network: computation . The number of layers in the preset three-dimensional cellular topology network.

[0068] when Time: If Send the message from the internal node Routing to external nodes via internal links Then the message is transmitted from the node via the inter-layer link. Transmitted to external nodes Proceed to the first step. If Send messages from external nodes Transmitted to external nodes via inter-layer links Let's move on to the first step.

[0069] when Time: If Send messages from internal nodes Routing to external nodes via internal links Then the message is transmitted from the node via the inter-layer link. Transmitted to external nodes Proceed to the first step. If Send messages from external nodes Transmitted to external nodes via inter-layer links Let's move on to the first step.

[0070] (2) If This indicates that the current point and the destination node are in the same two-dimensional IHM network, and proceeds to the second step.

[0071] Step 2: Calculation , , , , , , .if ,make ,if ,make ,if ,make Similarly... , corresponding , The values ​​are the same as above. dx, dy, and dz are direction variables. This is the direction parameter. The direction parameter is used to determine whether the message still needs to be transmitted through the external link.

[0072] (1) If ,calculate ,get .

[0073] The routing function is: .

[0074] in, Indicates bitwise XOR, Indicates in Routing in the direction, Indicates in Routing in the direction, Indicates in Routing in each direction, the sign of which corresponds to the direction function. Decision. When ( When ), it means that at the current node, the message can be... Transmission occurs in the corresponding direction, and then a one-hop transmission is made to the next node in that direction; when ( When ), it indicates that the message cannot be transmitted in that direction at the current node.

[0075] A. If This indicates that the current node is an external node.

[0076] If routing function of , , If only one of the values ​​is 00, it means the message can only be transmitted in one direction via the external link. For ease of explanation, assume... ,and , Then the message will be sent from the current node. Transmitted to external nodes Proceed to the second step.

[0077] If routing function of , , Two of the values ​​are 00, indicating that the message can be transmitted via the external link in the two directions corresponding to the 00 values, and also via the internal link in the remaining direction. For ease of explanation, let's assume... , , The message will then have the following three transmission paths.

[0078] 1) .

[0079] 2) .

[0080] 3) .

[0081] Based on the path queue length ( The length of the message queue at different exits of the current node determines which path to use for routing. .in, This represents the queue length for path 1). This represents the queue length for path 2). This indicates the queue length for path 3). If... If, then execute path 1); If, then execute path 2); If so, then execute path 3). Proceed to the second step.

[0082] B. If This indicates that the current node is an internal node.

[0083] If routing function of , , Only one of them has a value of 00, indicating that the message can only be sent to the current node. Connected external nodes Transmission occurs in one direction via an external link, so the message must first be sent from the node. Transmitted to the external node directly connected to it. Then, transmission occurs in the direction corresponding to that external node. For ease of explanation, let's assume... ,and , Then the message will be sent from the current node. Transmitted to external nodes Then transmit to Proceed to the second step.

[0084] If routing function of , , Two of them have a value of 00, indicating that they are related to the current node. Connected external nodes In addition to being able to transmit messages via external links in the two directions corresponding to the 00 value, they can also be transmitted via internal links in the remaining direction. Before performing this process, it is necessary to first determine whether the current node is on the internal link corresponding to the other direction. For ease of explanation, assume... , , .

[0085] a. If or , indicating nodes Not here On the internal link in the direction, the message has the following three transmission paths.

[0086] 1) → → .

[0087] 2) → → .

[0088] 3) → → → .

[0089] Based on the path queue length ( The length of the message queue at different exits of the current node determines which path to use for routing. .in, This represents the queue length for path 1). This represents the queue length for path 2). This indicates the queue length for path 3). If... If, then execute path 1); If, then execute path 2); Then execute path 3).

[0090] b. If , indicating nodes exist On the internal link in the direction, the message transmission path is, → Proceed to the second step.

[0091] (2) If No external link is needed for routing; proceed to step three.

[0092] Step 3: Judgment Is it equal to ,if End the route; if Then the message will be sent from Transmit to End the route.

[0093] For example, such as Figure 7 As shown, Figure 7 This diagram illustrates a routing method provided in an embodiment of the present invention. In a three-dimensional IHM network (Mesh architecture), packets need to be routed from the source node... Transmitted to the destination node .

[0094] Step 1: Calculation ,Finish Routing in the direction.

[0095] .because This indicates that the current node and the destination node are not in the same network layer. Therefore, the message is first sent from the node. Routing to external nodes via internal links Then the message is transmitted from the node via the inter-layer link. Transmitted to external nodes Let's move on to the first step.

[0096] calculate ,at this time Therefore, the message is sent from the external node. Transmitted to external nodes via inter-layer links Let's move on to the first step.

[0097] calculate This indicates that the current point and the destination node are in the same two-dimensional IHM network, and proceeds to the second step.

[0098] Step 2: Calculation , , .

[0099] , , , .

[0100] because ,calculate ,get .

[0101] The routing function is: .

[0102] The current node is It is an external node, due to the routing function. of , The values ​​are all 00, and the message has the following three transmission paths.

[0103] 1) → .

[0104] 2) → .

[0105] 3) → → .

[0106] ,like If so, then execute path 1); If, then execute path 2); Then, path 3 will be executed. Here, we assume... or (i.e., execute path 2) or path 3). If there are multiple minimum values, one can be randomly selected. Proceed to the second step.

[0107] Assuming execution path 2): the current node is .

[0108] calculate , , , , , , .

[0109] because ,calculate ,get .

[0110] The routing function is: .

[0111] The current node is It is an external node, due to the routing function. Only in China Send the message from the current node Transmitted to external nodes Proceed to the second step.

[0112] calculate , , , , , , .

[0113] because ,calculate ,get .

[0114] The routing function is: .

[0115] The current node is It is an external node, due to the routing function. of , The values ​​are all 00, and the message has the following three transmission paths.

[0116] 1) → .

[0117] 2) → .

[0118] 3) → → .

[0119] Here we assume (i.e., execution path 3). Proceed to the second step.

[0120] calculate , , , , , , .because Proceed to the third step.

[0121] Step 3: Since the current node is The destination node is , End the route.

[0122] Assuming execution path 3): the current node is .

[0123] calculate , , , , , , .

[0124] because ,calculate ,get .

[0125] The routing function is: .

[0126] Current node For internal nodes, due to the function Only in China First, the message must be sent from the node. Transmitted to external nodes And then along Transmission in the negative axis direction to external nodes. Proceed to the second step.

[0127] calculate , , , , , , .

[0128] because ,calculate ,get .

[0129] The routing function is: .

[0130] The current node is It is an external node, due to the routing function. Only in China Send the message from the current node Transmitted to external nodes Proceed to the second step.

[0131] calculate , , , , , , .

[0132] because Proceed to the third step.

[0133] Step 3: Since the current node is The destination node is , Then the message will be sent from Transmit to End the route.

[0134] The two routing paths mentioned above are as follows Figure 7 As shown, Figure 7 middle," " represents the source node, " " indicates the destination node, " "Indicates the routing path and direction.

[0135] In the example above, if the three-dimensional IHM topology network layers are connected via Torus, the routing process described above also applies, but... The route path in the direction is not the shortest path because: , .

[0136] Therefore, for the Torus architecture, the first step of the above routing process can be changed to: Because This indicates that the current node and the destination node are not in the same network layer. ,and Therefore, the message is first sent from the node. Routing to external nodes via internal links Then the message is transmitted from the node via the inter-layer link. Transmitted to external nodes Proceed to the first step. Calculate. This indicates that the current point and the destination node are in the same two-dimensional IHM network, and proceeds to the second step.

[0137] This invention proposes a three-dimensional on-chip network (IHMt) based on a cellular structure and its local adaptive routing algorithm. The proposed network is an improvement on the cellular network, including two-dimensional IHMt networks and three-dimensional IHMt networks. The two-dimensional IHMt network adds internal routing nodes and internal links to the two-dimensional cellular network, allowing a network of the same diameter to accommodate more routing nodes and increasing path diversity. The proposed three-dimensional IHMt network uses two inter-layer connection methods: Mesh and Torus architectures, to meet different network requirements. For these two three-dimensional IHMt network architectures, this invention proposes a local adaptive routing algorithm. This algorithm can adaptively route according to the network congestion level locally, balancing network traffic distribution to a certain extent, alleviating network congestion, and reducing network latency. In summary, this network retains the advantages of high regularity, symmetry, and scalability of cellular networks while allowing a network of the same diameter to accommodate more routing nodes and enriching path diversity, meeting the needs of large-scale networks and improving network performance. The proposed local adaptive routing algorithm balances network traffic distribution to a certain extent, alleviates network congestion, reduces network latency, and improves the utilization of buffer resources.

[0138] In addition to Mesh and Torus architectures, the 3D IHM network can also have other extensions (other inter-layer connection methods, such as full inter-layer connection, FatTree, etc.).

[0139] Further, see Figure 8 As shown, an embodiment of the present invention provides a routing device, including:

[0140] The coordinate acquisition module 81 is used to acquire the first target coordinate axis value of the source node coordinates and the second target coordinate axis value of the destination node coordinates in a preset three-dimensional cellular topology network. The preset three-dimensional cellular topology network is composed of multiple two-dimensional cellular topology networks distributed vertically. Each two-dimensional cellular topology network is a layer. The first target coordinate axis value and the second target coordinate axis value are both values ​​on the target coordinate axis. The target coordinate axis is a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks. The two-dimensional cellular topology network is composed of preset cellular network units. Each preset cellular network unit is equipped with internal nodes and internal links.

[0141] Inter-layer routing module 82 is used to perform routing in the direction of the target coordinate axis based on the first target coordinate axis value and the second target coordinate axis value, so as to route from the source node to the node in the same layer of the two-dimensional cellular topology network as the destination node, and obtain the current node.

[0142] The intra-layer routing module 83 is used to route from the current node to the destination node in the two-dimensional cellular topology network of the layer where the destination node is located, based on the inter-node link relationship.

[0143] In this preset cellular network unit, the six vertices of the hexagon are external nodes, the six sides are external links, and internal nodes are set between the intersection of each diagonal and the external nodes. An internal link is established between adjacent nodes on each diagonal. The two-dimensional cellular topology network is composed of one or more preset cellular network units. When expanding the two-dimensional cellular topology network, a ring composed of preset cellular network units is added along the boundary of the current two-dimensional cellular topology network.

[0144] Furthermore, the preset three-dimensional cellular topology network corresponds to a target coordinate system, which includes the target coordinate axes and the planar coordinate system corresponding to the two-dimensional cellular topology network. The planar coordinate system includes an x-axis, a y-axis, and a z-axis, which are parallel to the external links and form 120° angles with each other. The origin of the planar coordinate system is the center of the two-dimensional cellular topology network. The coordinate values ​​on the target coordinate axes corresponding to all nodes in any two-dimensional cellular topology network are the same. For any of the x-axis, y-axis, or z-axis, the coordinates are defined along the positive direction of the coordinate axis, with the center of the two-dimensional cellular topology network as the boundary. In the first zigzag chain perpendicular to the coordinate axis, the coordinates of all external nodes on the coordinate axis are 1. In the negative direction of the coordinate axis, the coordinates of all external routing nodes on the first zigzag chain perpendicular to the coordinate axis are 0. The zigzag chain is a zigzag chain composed of external links. Based on the target coordinate system, the node representation of each node in the preset three-dimensional cellular topology network includes the coordinate values ​​corresponding to the x-axis, y-axis, z-axis and the target coordinate axis, as well as the node label. The node label indicates whether the node is an external node or an internal node, and distinguishes internal nodes directly connected to the same external node when it is an internal node.

[0145] In an optional implementation, the node is labeled with a three-bit binary number, and the external node, the internal link directly connected to the external node, and the internal node parallel to the x-axis, y-axis, and z-axis respectively correspond to different three-bit binary values.

[0146] In an optional implementation, the inter-layer routing module 82 is specifically used to perform routing in the direction of the target coordinate axis based on the first target coordinate axis value and the second target coordinate axis value, so as to route from the source node to a node in the same layer of the two-dimensional cellular topology network as the destination node to obtain the current node. This includes: calculating the difference between the first target coordinate axis value and the second target coordinate axis value to obtain a target coordinate axis difference; if the target coordinate axis difference is not 0 and the source node is an internal node, then routing from the source node to an external node directly connected to the source node, and from that external node, routing in the direction of the target coordinate axis through an inter-layer link to a node in the same layer of the two-dimensional cellular topology network as the destination node to obtain the current node; if the target coordinate axis difference is not 0 and the source node is an external node, then routing from the source node to the direction of the target coordinate axis through an inter-layer link to a node in the same layer of the two-dimensional cellular topology network as the destination node to obtain the current node.

[0147] In an optional implementation, the intra-layer routing module 83 may include: a first routing submodule, configured to route from the current node to the target node in the two-dimensional cellular topology network of the layer where the destination node is located, based on the inter-node link relationship, wherein the target node is a node that does not require routing with the destination node through an external link; and a second routing submodule, configured to route from the target node to the destination node.

[0148] The first routing submodule is specifically used to calculate the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference between the current node and the destination node; if the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference are not all 0, then the direction variables corresponding to the x-axis, y-axis, and z-axis are determined based on the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference, respectively. The direction variables correspond to different values ​​when the coordinate difference of the corresponding coordinate axis is 0, negative, or positive; the direction variables corresponding to the x-axis, y-axis, and z-axis are assembled into direction parameters; and the current node's x-axis coordinate value, y-axis coordinate value, and z-axis coordinate value are used to determine the current node's direction parameters. A direction function corresponding to a node is defined, wherein the direction function represents the routing direction in which any external node can reach an external node directly connected to it via an external link through a single hop. The routing direction of the current node is calculated based on the direction parameter and the direction function. A target routing path is determined based on the routing direction of the current node. Routing is performed according to the target routing path, and the node reached is designated as the new current node. This triggers the calculation of the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference between the current node and the target node, until all x-axis coordinate differences, y-axis coordinate differences, and z-axis coordinate differences are 0. At this point, the current node is determined as the target node. Furthermore, if there are multiple routing directions, multiple routing paths are determined. The routing path with the shortest packet queuing length is selected as the target path from among the multiple routing paths.

[0149] The second routing submodule is specifically used to terminate routing if the node markers of the target node and the destination node are the same; and to terminate routing if the node markers of the target node and the destination node are different.

[0150] In the preset three-dimensional cellular topology network, the layers are connected by a mesh network or a toroidal network.

[0151] As can be seen, the three-dimensional cellular topology network provided in this embodiment of the invention is composed of multiple two-dimensional cellular topology networks vertically distributed. Each two-dimensional cellular topology network is composed of preset cellular network units, and each preset cellular network unit is equipped with internal nodes and internal links. This allows a network of the same diameter to accommodate more routing nodes and increases path diversity. Furthermore, within this three-dimensional cellular topology network, inter-layer routing is first performed along the target coordinate axis, followed by intra-layer routing within the two-dimensional cellular topology network, ensuring good routing efficiency. Thus, the network topology design is optimized, network latency is reduced, and network performance is improved.

[0152] Figure 8 For a description of the features in the corresponding embodiments, please refer to Figure 8 The relevant descriptions of the corresponding embodiments will not be repeated here.

[0153] Figure 9 A structural diagram of an electronic device provided in an embodiment of the present invention, such as... Figure 9 As shown, the electronic device includes: a memory 90 for storing a computer program; and a processor 91 for executing the computer program to implement the steps of the routing method as described in the above embodiment.

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

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

[0156] In some embodiments, the electronic device may further include a display screen 92, an input / output interface 93, a communication interface 94, a power supply 95, and a communication bus 96.

[0157] Those skilled in the art will understand that Figure 9 The structures shown do not constitute a limitation on electronic devices and may include more or fewer components than those shown.

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

[0159] Based on this, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the routing method described above.

[0160] This invention also provides a computer program product, including a computer program / instruction that, when executed by a processor, implements the steps of the above-described routing method.

[0161] The foregoing has provided a detailed description of a routing method, apparatus, device, medium, and product provided by embodiments of the present invention. The various embodiments are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.

[0162] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0163] The routing method, apparatus, device, medium, and product provided by this invention have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this invention. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and core ideas of this invention. It should be noted that those skilled in the art can make various improvements and modifications to this invention without departing from its principles, and these improvements and modifications also fall within the protection scope of this invention.

Claims

1. A routing method characterized by, The method comprises the following steps: acquiring a first target coordinate axis value of a source node coordinate and a second target coordinate axis value of a destination node coordinate in a preset three-dimensional cellular topology network, wherein the preset three-dimensional cellular topology network is composed of a plurality of two-dimensional cellular topology networks vertically distributed, each of the two-dimensional cellular topology networks is a layer, the first target coordinate axis value and the second target coordinate axis value are values on a target coordinate axis, the target coordinate axis is a coordinate axis perpendicular to the plurality of two-dimensional cellular topology networks, and each of the two-dimensional cellular topology networks is composed of a preset cellular network unit, each of the preset cellular network units is provided with an internal node and an internal link; performing routing in a target coordinate axis direction based on the first target coordinate axis value and the second target coordinate axis value to route from the source node to a node in the same layer two-dimensional cellular topology network as the destination node, and obtaining a current node; performing routing from the current node to the destination node based on a link relationship between nodes in the two-dimensional cellular topology network of the layer where the destination node is located; The six vertices of the hexagon in the preset cellular network unit are external nodes, and the six edges are external links. Internal nodes are arranged between each diagonal intersection point and the external node. An internal link is established between the two adjacent nodes on each diagonal. The preset three-dimensional cellular topology network corresponds to a target coordinate system. The target coordinate system includes the target coordinate axis and a two-dimensional cellular topology network corresponding plane coordinate system. The plane coordinate system includes an x-axis, a y-axis, and a z-axis. The node representation of each node in the preset three-dimensional cellular topology network includes the coordinate values corresponding to the x-axis, the y-axis, and the z-axis and the target coordinate axis, and a node marker. The node marker represents whether the node is an external node or an internal node, and distinguishes the internal nodes directly connected to the same external node when the node is an internal node. abc is the node marker. For any external node, In the plane coordinate system, for any external node If the link where the internal node connected to the node is parallel to the x-axis, let The internal node is represented as If the link where the internal node connected to the external node is parallel to the y-axis, let The internal node is represented as If the link where the internal node connected to the external node is parallel to the z-axis, let The internal node is represented as .

2. The routing method of claim 1, wherein, the two-dimensional cellular topology network is composed of one or more preset cellular network units, and when the two-dimensional cellular topology network is expanded, a ring composed of preset cellular network units is added along the boundary of the current two-dimensional cellular topology network.

3. The routing method of claim 2, wherein, The x-axis, y-axis and z-axis are parallel to the external links and form an angle of 120 degrees with each other, and the plane coordinate system takes the network center of the two-dimensional cellular topology network as the origin; the coordinate values of each node in any two-dimensional cellular topology network on the target coordinate axis are the same; for any one of the x-axis, y-axis and z-axis, the coordinate values of all external nodes on the first zigzag chain perpendicular to the coordinate axis are 1 along the positive direction of the coordinate axis, and the coordinate values of all external routing nodes on the first zigzag chain perpendicular to the coordinate axis are 0 along the negative direction of the coordinate axis, and the zigzag chain is a zigzag chain composed of external links.

4. The routing method of claim 3, wherein, performing routing in a target coordinate axis direction based on the first target coordinate axis value and the second target coordinate axis value to route from the source node to a node in the same layer two-dimensional cellular topology network as the destination node, and obtaining a current node, comprising: calculating the difference between the first target coordinate axis value and the second target coordinate axis value to obtain a target coordinate axis difference value; if the target coordinate axis difference value is not 0 and the source node is an internal node, routing from the source node to an external node directly connected to the source node, and performing routing in a target coordinate axis direction from the external node through an interlayer link to route to a node in the same layer two-dimensional cellular topology network as the destination node to obtain a current node; if the target coordinate axis difference value is not 0 and the source node is an external node, performing routing in a target coordinate axis direction from the source node through an interlayer link to route to a node in the same layer two-dimensional cellular topology network as the destination node to obtain a current node.

5. The routing method of claim 3, wherein, performing routing from the current node to the destination node based on a link relationship between nodes in the two-dimensional cellular topology network of the layer where the destination node is located, comprising: routing from the current node to a target node in a two-dimensional honeycomb topology network of a layer where the destination node is located based on link relationship between nodes, the target node being a node that does not need to route through an external link with the destination node; routing from the target node to the destination node.

6. The routing method of claim 5, wherein, The method for routing from the current node to a target node in a two-dimensional honeycomb topology network of a layer where the destination node is located based on link relationship between nodes, comprises: calculating an x-axis coordinate difference value, a y-axis coordinate difference value and a z-axis coordinate difference value between the current node and the destination node; if the x-axis coordinate difference value, the y-axis coordinate difference value and the z-axis coordinate difference value are not all 0, determining direction variables corresponding to the x-axis, the y-axis and the z-axis respectively based on the x-axis coordinate difference value, the y-axis coordinate difference value and the z-axis coordinate difference value, the direction variables corresponding to different values respectively when the coordinate difference value of the corresponding coordinate axis is 0, negative or positive; assembling the direction variables corresponding to the x-axis, the y-axis and the z-axis respectively into a direction parameter; determining a direction function corresponding to the current node based on the x-axis coordinate value, the y-axis coordinate value and the z-axis coordinate value of the current node, wherein the direction function represents a routing direction of any external node through one hop to reach an external node directly connected to the external node through an external link; calculating a routing direction of the current node based on the direction parameter and the direction function; determining a target routing path based on the routing direction of the current node; routing according to the target routing path, the node to which the routing is performed being a new current node, triggering the step of calculating the x-axis coordinate difference value, the y-axis coordinate difference value and the z-axis coordinate difference value between the current node and the destination node until the x-axis coordinate difference value, the y-axis coordinate difference value and the z-axis coordinate difference value are all 0, and then determining the current node as the target node.

7. The routing method of claim 6, wherein, The method for determining a target routing path based on the routing direction of the current node, comprises: if the routing direction is multiple, determining multiple routing paths; determining a routing path with the smallest packet queuing length as the target path from the multiple routing paths.

8. The routing method of claim 5, wherein, The method for routing from the target node to the destination node, comprises: if the node mark of the target node and the destination node is the same, ending the routing; if the node mark of the target node and the destination node is not the same, routing from the target node to the destination node and ending the routing.

9. The routing method according to any of claims 1 to 8, characterized in that, The preset three-dimensional honeycomb topology network is connected between layers by a mesh network or a torus network.

10. A routing device, characterized by The method comprises: a coordinate acquisition module configured to acquire a first target coordinate axis value of a source node coordinate and a second target coordinate axis value of a destination node coordinate in a preset three-dimensional honeycomb topology network, wherein the preset three-dimensional honeycomb topology network is composed of multiple two-dimensional honeycomb topology networks vertically distributed, each of the two-dimensional honeycomb topology networks being a layer, the first target coordinate axis value and the second target coordinate axis value being values on a target coordinate axis, the target coordinate axis being a coordinate axis perpendicular to the multiple two-dimensional honeycomb topology networks, and each of the two-dimensional honeycomb topology networks being composed of preset honeycomb network units, each of the preset honeycomb network units being provided with an internal node and an internal link. an inter-layer routing module configured to perform routing in a target coordinate axis direction based on the first target coordinate axis value and the second target coordinate axis value, to route from a source node to a node in the same layer two-dimensional cellular topology network as the destination node, and obtain a current node; an intra-layer routing module configured to perform routing in the two-dimensional cellular topology network in the layer where the destination node is located based on inter-node link relationships, to route from the current node to the destination node; In the preset cellular network unit, the six vertices of the hexagon are external nodes, the six sides are external links, and internal nodes are set between the intersection of each diagonal and the external node. An internal link is established between adjacent nodes on each diagonal. The preset three-dimensional cellular topology network corresponds to a target coordinate system, which includes the target coordinate axes and the planar coordinate system corresponding to the two-dimensional cellular topology network. The planar coordinate system includes the x-axis, y-axis, and z-axis. The node representation of each node in the preset three-dimensional cellular topology network includes the coordinate values ​​corresponding to the x-axis, y-axis, z-axis, and target coordinate axes, as well as a node label. The node label indicates whether the node is an external node or an internal node, and distinguishes internal nodes directly connected to the same external node when it is an internal node. abc is the node label. For any external node... In a planar coordinate system, for any external node If the link containing the internal node connected to this node is parallel to the x-axis, then let The internal node is represented as If with external nodes If the link containing the connected internal nodes is parallel to the y-axis, then let The internal node is represented as If with external nodes If the link containing the connected internal nodes is parallel to the z-axis, then let The internal node is represented as .

11. An electronic device, comprising: comprising: a memory configured to store a computer program; a processor configured to execute the computer program to implement the steps of the routing method according to any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The computer program is stored on the computer readable storage medium and is executed by the processor to implement the steps of the routing method according to any one of claims 1 to 9.

13. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instructions are executed by the processor to implement the steps of the routing method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Message transmission method and device, equipment and storage medium

    CN118677785A

  • Computer network communication method, computer equipment, storage medium and program product

    CN118890306A