Routing method, device, equipment, medium and product
By constructing a three-dimensional cellular topology network and a local adaptive routing algorithm, the problems of high latency and difficult wiring in large-scale on-chip networks are solved, achieving more efficient network performance and path diversity.
Patent Information
- Application Number
- CN202511180105.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-22
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2045-08-22
AI Technical Summary
In large-scale on-chip networks, the large number of routing nodes leads to large delays, difficult wiring, and difficult hardware implementation. The existing network topology design cannot meet the performance requirements.
A three-dimensional cellular topology network structure is adopted, which is composed of multiple two-dimensional cellular topology networks distributed vertically. Each cellular network unit contains internal nodes and links. The network topology design is optimized through routing in the direction of the target coordinate axis, and inter-layer and intra-layer routing is performed in combination with a local adaptive routing algorithm.
The network topology design has been optimized, network latency has been reduced, network performance has been improved, and path diversity and routing efficiency have been increased.
Smart Images

Figure CN120729773A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a routing method, device, equipment, medium and product. Background Art
[0002] Currently, the performance requirements for large-scale on-chip networks (NOCs) are increasingly stringent. These networks often have a large number of routing nodes, resulting in significant latency, wiring difficulties, and hardware challenges. Therefore, optimizing network topology design, reducing latency, and improving network performance are technical challenges facing those skilled in the art. Summary of the Invention
[0003] In view of this, the object 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 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 distributed vertically, 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 both values on the target coordinate axis, the target coordinate axis is a coordinate axis perpendicular to the plurality of two-dimensional cellular topology networks, and the two-dimensional cellular topology network is composed of preset cellular network units, each preset cellular network unit is provided with an internal node and an internal link; routing in the target coordinate axis direction is performed 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 two-dimensional cellular topology network at the same layer as the destination node to obtain the current node; routing from the current node to the destination node based on the link relationship between nodes in the two-dimensional cellular topology network at the layer where the destination node is located.
[0005] In a second aspect, the present invention provides a routing device, comprising: 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 cellular topology network, wherein the preset three-dimensional cellular topology network is composed of a plurality of two-dimensional cellular topology networks distributed vertically, 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 plurality of two-dimensional cellular topology networks, and the two-dimensional cellular topology network being composed of preset cellular network units, each of which is 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, so as to route from a source node to a node in a two-dimensional cellular topology network on the same layer as the destination node, and obtain a current node; The intra-layer routing module is used to route from the current node to the destination node based on the link relationship between nodes in the two-dimensional cellular topology network of the layer where the destination node is located.
[0006] In a third aspect, 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.
[0007] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the aforementioned routing method are implemented.
[0008] In a fifth aspect, the present invention provides a computer program product, comprising a computer program / instruction, which implements the steps of the aforementioned routing method when executed by a processor.
[0009] It can be seen from the above scheme that 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 distributed vertically, 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 both values on the target coordinate axis, the target coordinate axis is a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks, and the two-dimensional cellular topology network is composed of preset cellular network units, and each preset cellular network unit is provided with internal nodes and internal links; routing in the target coordinate axis direction is performed based on the first target coordinate axis value and the second target coordinate axis value to route from the source node to the node in the two-dimensional cellular topology network at the same layer as the destination node to obtain the current node; routing from the current node to the destination node based on the link relationship between nodes in the two-dimensional cellular topology network of the layer where the destination node is located.
[0010] The beneficial effects of the present invention are as follows: the three-dimensional cellular topology network provided by the present invention is composed of multiple two-dimensional cellular topology networks distributed vertically. The two-dimensional cellular topology network is composed of preset cellular network units, each of which 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 the 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. This optimizes the network topology design, reduces network latency, and improves network performance.
[0011] Correspondingly, a routing device, equipment, medium and product provided by the present invention also have the above technical effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] In order to more clearly illustrate the embodiments of the present invention, the following is a brief introduction to 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 any creative work.
[0013] Figure 1 A flow chart of a routing method provided by an embodiment of the present invention; Figure 2 A schematic diagram of a comparison of network basic units provided by an embodiment of the present invention; Figure 3 A schematic diagram of a two-dimensional IHM2 cellular topology network provided by the present invention; Figure 4 A schematic diagram of a plane coordinate system corresponding to a two-dimensional cellular topology network provided by an embodiment of the present invention; Figure 5 A schematic diagram of a two-dimensional cellular topology network node encoding method provided by an embodiment of the present invention; Figure 6 A schematic diagram of a preset three-dimensional cellular topology network provided by an embodiment of the present invention; Figure 7 A schematic diagram of a routing method provided by an embodiment of the present invention; Figure 8 A schematic structural diagram of a routing device provided in an embodiment of the present invention; Figure 9 A structural diagram of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0014] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts shall fall within the scope of protection of the present invention.
[0015] The terms "including" and "having," as used in the present description and accompanying drawings, and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements and may include steps or elements that are not listed.
[0016] As an emerging approach to large-scale system-on-chip (SoC) design, NoC (Network on Chip) draws on concepts and technologies from computer networks. The study of topology in SoC systems originates from the field of parallel computing. However, not all topologies used in parallel computing are suitable for SoCs. For SoCs, considerations include not only throughput and latency, but also network power consumption and feasibility. The regularity and controllability of topological network structures can reduce the complexity of communication scheme design while improving system predictability and reliability. With the growing demand for large-scale interconnected networks and the advancement of integrated circuit technology, the performance requirements for SoCs are becoming increasingly stringent. In large-scale NoCs, the large number of routing nodes leads to significant latency, wiring difficulties, and hardware implementation challenges. The performance of NoCs is closely related to the network topology. Common network topologies include ring, mesh, torus, dragonfly, various tree structures (tree, butterfly fat-tree, fat-tree), and hybrid networks (Xpipes, HiNo, etc.). Mesh and torus are the most popular topologies, accounting for over 60% of NoC systems. This is due to their high regularity, symmetry, and scalability. Because the honeycomb topology not only exhibits high regularity, symmetry, and scalability, but also significantly reduces network costs compared to mesh and torus networks, this paper investigates a NoC topology suitable for large-scale networks based on the honeycomb network. The performance of on-chip interconnect networks is closely related not only to the network topology but also to dynamic factors such as routing algorithms. Communication between nodes is typically achieved by sending messages carrying information. These messages must traverse multiple hops within the network as they travel from the source node to the destination node. For a given topology, a routing algorithm provides a path for each message to travel from the source node to the destination node. Therefore, the present invention also provides a routing method for the given topology network.
[0017] In order 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 implementation methods.
[0018] Next, a routing method provided by an embodiment of the present invention is described in detail. Figure 1 A flowchart of a routing method provided in an embodiment of the present invention includes: Step S11: Obtain the first target coordinate axis value of the source node coordinate and the second target coordinate axis value of the destination node coordinate 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 distributed vertically, 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 both values on the target coordinate axis, the target coordinate axis is a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks, and the two-dimensional cellular topology network is composed of preset cellular network units, and each preset cellular network unit is provided with internal nodes and internal links.
[0019] 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 edges are external links, internal nodes are set between the intersection of each diagonal line and the external nodes, and internal links are established between adjacent nodes on each diagonal line. Both external links and internal links are bidirectional links.
[0020] Furthermore, a 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 the preset cellular network units is added along the boundary of the current two-dimensional cellular topology network. That is, one cellular grid unit is expanded outward along each outer edge. For example, when expanding from one preset cellular network unit, the network is expanded outward along six edges, with one cellular grid unit added to each edge, thus expanding a ring composed of the preset cellular network units.
[0021] In an embodiment of the present invention, a target coordinate system corresponding to a three-dimensional cellular topology network is preset, and the target coordinate system includes the target coordinate axis and the plane coordinate system corresponding to the two-dimensional cellular topology network; wherein the plane coordinate system includes an x-axis, a y-axis, and a z-axis, and the x-axis, the y-axis, and the z-axis are respectively parallel to the external link and are 120 degrees apart from each other. The plane coordinate system takes the network center of the two-dimensional cellular topology network as the origin; the coordinate values on the target coordinate axis corresponding to each node in any of the two-dimensional cellular topology networks are the same; for any one of the x-axis, y-axis, and z-axis, the center of the two-dimensional cellular topology network is used as the boundary, and the coordinates along the square of the coordinate axis are the same. In the negative direction of the coordinate axis, the coordinate value of all external nodes on the first zigzag chain perpendicular to the coordinate axis on the coordinate axis is 1, and along the negative direction of the coordinate axis, the coordinate value of all external routing nodes on the first zigzag chain perpendicular to the coordinate axis on the axis is 0, and 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, and a node mark, the node mark indicates whether the node is an external node or an internal node, and when it is an internal node, it distinguishes the internal nodes directly connected to the same external node. The layers in the preset three-dimensional cellular topology network are connected by a mesh network or a torus network.
[0022] In an optional implementation, constructing a three-dimensional cellular topology network may include the following steps.
[0023] Step 1: Build the IHM (i.e. Improved Honeycomb Mesh, a topology network based on a cellular mesh network proposed by the present invention) network basic unit, namely the aforementioned preset cellular network unit. Figure 2 As shown, Figure 2 A schematic diagram of a comparison of network basic units provided by an embodiment of the present invention, wherein the cellular network is composed of a hexagonal network, Figure 2 (a) is the basic unit of the cellular network. In order to meet the needs of large-scale networks and enable the network to accommodate more routing nodes, the present invention provides Figure 2 The IHM basic unit structure shown in (b) is used as the network basic unit of the present invention. Compared with the cellular network, the network basic unit proposed in the present invention has 6 more nodes and 9 more links.
[0024] Step 2: Construct a two-dimensional IHM network. Figure 2 (b) is the smallest unit of the network. According to the composition of the cellular network, the definition of the two-dimensional IHM network proposed in the present invention is as follows: For the two-dimensional IHM mesh topology, that is, the two-dimensional cellular topology network mentioned above, 1) the network consists of an IHM basic unit with a size of 1, denoted as IHM1, such as Figure 22) 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 A schematic diagram of a two-dimensional IHM2 cellular topology network provided by the present invention, Figure 3 middle" " represents an external routing node," " represents an internal routing node," "Indicates an external bidirectional link." ” indicates an internal bidirectional link.
[0025] In order to encode the network nodes, an x, y, and z coordinate system is established, such as Figure 4 As shown, Figure 4 This diagram illustrates a plane coordinate system corresponding to a two-dimensional cellular topology network provided by an embodiment of the present invention. With the center of the IHMT network as the coordinate origin, the x, y, and z axes are parallel to the external links (the sides of the hexagon). The x-axis is parallel to the horizontal line of the network and passes through the center of the network. The positive direction of the y-axis forms a 120-degree angle with the positive direction of the x-axis, and the positive direction of the z-axis forms a -120-degree angle with the positive direction of the x-axis. The x-, y-, and z-axes are all at 120-degree angles to each other.
[0026] The coordinate representation of external routing nodes is the same as that of a two-dimensional cellular network. Figure 4 The bold black zigzag chain composed of external links is perpendicular to the y-axis. For any coordinate axis among the x-axis, y-axis, and z-axis, 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 zigzag chain perpendicular to the coordinate axis on the 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 zigzag chain perpendicular to the coordinate axis on the axis are 0, the second is -1, and so on. Figure 4 The y coordinate of all nodes on the medium black bold jagged chain is 1.
[0027] Define the node encoding method: routing nodes are composed of Indicates, where abc is the node label, representing three binary bits. For any external node, , that is, the coordinates of the node are For any external node , there is one, two or three internal nodes directly connected to it. If the link of the internal node connected to this node is parallel to the x-axis, then let , this internal node is represented as ; If with external nodes The link where the connected internal nodes are located is parallel to the y-axis, then let , this internal node is represented as ; If with external nodes The link where the connected internal nodes are located is parallel to the z-axis, then let , this internal node is represented as .
[0028] For example: See Figure 5 As shown, Figure 5 A schematic diagram of a two-dimensional cellular topology network node encoding method provided by an embodiment of the present invention, wherein the coordinates of the 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 .
[0029] For any two nodes in a two-dimensional cellular topology network , , if any of the following three conditions is met, the two nodes are directly connected through a link.
[0030] (1) If ,and , then the node and Directly connected via an external link.
[0031] (2) If ,and , , , then the node and Directly connected via internal links.
[0032] (3) If ,and , , , then the node and Directly connected via internal links.
[0033] Condition (1) indicates that if two of the three coordinates x, y, and z of two external nodes 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 in 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, and z coordinates and unequal abc values are directly connected through an internal link.
[0034] Furthermore, define D as any external node in the network The direction function, D is represented by 6 bits of binary, that is ,in 、 、 Indicates in which direction x, y, or z the message must travel through the node to reach the external node directly connected to the node through the external link. The positive direction is 0 and the negative direction is 1. 、 、 The values of are all 1, indicating that the external node directly connected to the node through the external link can be reached by one hop in the x, y, and z directions respectively.
[0035] .
[0036] when When , it indicates that the message can only reach the next external node through a hop in the positive direction of the x-axis, the positive direction of the y-axis, or the positive direction of the z-axis at this node, that is, the message can only be transmitted in these three directions at this node. ;when When , it indicates that the message can only reach the next external node through a hop in the negative direction of the x-axis, the negative direction of the y-axis, or the negative direction of the z-axis at this node, that is, the message can only be transmitted in these three directions at this node. .like Figure 5 The coordinates of midpoint A are ,calculate , so the direction function of point A is .
[0037] The encoding method of IHM network nodes determines that the x, y, and z coordinates of any node in the network must contain at least one positive integer and at most two positive integers. There can be no zero or negative integers, or one or two zero and negative integers.
[0038] Structural features: Two-dimensional IHMt topology network has external nodes, there are internal nodes; the diameter of the two-dimensional IHMt topological network is ( ), the network diameter of IHM1 is 4; the connectivity of external nodes in the two-dimensional IHMt topology network is 3, 5, and 6, and the connectivity of internal nodes is 2.
[0039] Step 3: Build a 3D IHM topology network, which is the aforementioned preset 3D cellular topology network. The 3D IHM topology network consists of multiple 2D IHM topology networks. These 2D IHM topology networks are distributed vertically, with each 2D IHM network forming a layer. The layers are connected by vertical links. The layers can be connected in the form of Mesh or Torus networks. Figure 6 As shown, Figure 6 A schematic diagram of a preset three-dimensional cellular topology network provided in an embodiment of the present invention takes a Mesh architecture as an example to establish Figure 6 The coordinate system shown in the figure is consistent with the two-dimensional IHM network. The vertical coordinate is described by the v-axis. Each node in the network is represented by .
[0040] Three-dimensional IHM topology network Mesh architecture inter-layer connection rules: Assume there are two external routing nodes located in different layers and ,Right now , If satisfied ,and , , , it indicates that the two external nodes are directly connected through the inter-layer link.
[0041] Three-dimensional IHM topology network Torus architecture inter-layer connection rules: Assume there are two external routing nodes located in different layers and ,Right now , If satisfied ( is the number of three-dimensional IHMt network layers), and , , , it indicates that the two external nodes are directly connected through the inter-layer link.
[0042] Step S12: performing routing in the target coordinate axis direction 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, and obtain a current node.
[0043] In an embodiment of the present 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, routing is performed from the source node to an external node directly connected to the source node, and routing is performed from the external node in the direction of the target coordinate axis through an inter-layer link to a node in the two-dimensional cellular topology network at the same layer 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, routing is performed from the source node in the direction of the target coordinate axis through an inter-layer link to a node in the two-dimensional cellular topology network at the same layer as the destination node to obtain the current node.
[0044] That is, in an embodiment of the present invention, when routing, each time a node is routed to, the node is used as the current node, and the target coordinate axis difference between the current node and the destination node is 0, which indicates that the node has been routed to the node in the same layer of the two-dimensional cellular topology network as the destination node. The node is the new current node, and step S13 is executed. The target coordinate axis difference between the current node and the destination node is not 0, and inter-layer routing continues.
[0045] Step S13: routing from the current node to the destination node based on the inter-node link relationship in the two-dimensional cellular topology network at the layer where the destination node is located.
[0046] An embodiment of the present invention can route from a current node to a target node based on the link relationship between nodes in a two-dimensional cellular topology network at the layer where the destination node is located, where the target node is a node that does not require routing through an external link to the destination node; and route from the target node to the destination node.
[0047] In an optional embodiment, routing from the current node to the target node based on the inter-node link relationship in the two-dimensional cellular topology network of the layer where the destination node is located includes: calculating 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, the y-axis coordinate difference, and the z-axis coordinate difference are not all 0, then determining the direction variables corresponding to the x-axis, y-axis, and z-axis respectively based on the x-axis coordinate difference, the y-axis coordinate difference, and the z-axis coordinate difference, the direction variables corresponding to the x-axis, y-axis, and z-axis respectively corresponding to different values when the coordinate difference of the corresponding coordinate axis is 0, negative, and positive respectively; assembling the direction variables corresponding to the x-axis, y-axis, and z-axis respectively into direction parameters; based on the current node The x-axis coordinate value, y-axis coordinate value, and z-axis coordinate value of the current node are used to determine the direction function corresponding to the current node, wherein the direction function represents the routing direction in which any external node can reach an external node directly connected to the external node through an external link in one hop; the routing direction of the current node is calculated based on the direction parameter and the direction function; the target routing path is determined based on the routing direction of the current node; the node routed to is the new current node according to the target routing path, triggering the step of calculating the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference between the current node and the destination node, until the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference are all 0, and the current node is determined as the target node.
[0048] Among them, 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 is consistent with the x-axis coordinate value, y-axis coordinate value, and z-axis coordinate value of the current node.
[0049] 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 a routing path with the smallest message queue length from the multiple routing paths as the target path.
[0050] Furthermore, routing from the target node to the destination node includes: if the node tags of the target node and the destination node are the same, ending the routing; if the node tags of the target node and the destination node are different, routing from the target node to the destination node and ending the routing.
[0051] In an optional implementation, the embodiment of the present invention provides a local adaptive routing method, assuming that the source node coordinates are , the coordinates of the destination node are , the current node coordinates are .
[0052] Step 1: Calculation That is, the target coordinate axis difference, completing the routing in the v direction, .
[0053] (1) If , indicating that the current node and the destination node are not in the same network layer.
[0054] For the three-dimensional IHM topology network Mesh architecture: , the message from the internal node Routing to external nodes via internal links , and then transmit the message from the node through the inter-layer link Transmit to external nodes , enter the first step. sgn is the symbol function, if , the message from the external node Transmitted to external nodes via inter-layer links , proceed to the first step.
[0055] Torus architecture for 3D IHM topology networks: Computational . The number of layers of the preset three-dimensional cellular topology network.
[0056] when When: If , the message from the internal node Routing to external nodes via internal links , and then transmit the message from the node through the inter-layer link Transmit to external nodes , go to the first step. , the message from the external node Transmitted to external nodes via inter-layer links , proceed to the first step.
[0057] when When: If , the message from the internal node Routing to external nodes via internal links , and then transmit the message from the node through the inter-layer link Transmit to external nodes , go to the first step. , the message from the external node Transmitted to external nodes via inter-layer links , proceed to the first step.
[0058] (2) If , indicating that the current point and the destination node are in the same layer of the two-dimensional IHM network, and proceed to the second step.
[0059] Step 2: Calculation , , , , , , .if ,make ,if ,make ,if ,make . Similarly , Corresponding , The value of is consistent with the above. dx, dy, dz are direction variables, The direction parameter is used to determine whether the message needs to be transmitted through an external link.
[0060] (1) If ,calculate ,get .
[0061] The routing function is: .
[0062] in, represents bitwise exclusive OR, Indicates Routing in direction, Indicates Routing in direction, Indicates The direction of the route, the positive and negative of each direction is determined by the direction function Decision. ( ), it means that at the current node, the message can be Transmit in the corresponding direction and transmit to the next node in one hop in that direction; when ( ), it means that at the current node, the message cannot be transmitted in this direction.
[0063] A. If , indicating that the current node is an external node.
[0064] If the routing function of 、 、 Only one of them has a value of 00, which means that the message can only be transmitted in one direction through the external link. ,and , , then the message will be sent from the current node Transmit to external nodes , proceed to the second step.
[0065] If the routing function of 、 、 There are two values of 00, which means that the message can be transmitted through the external link in the two directions corresponding to the 00 value, and can also be transmitted through the internal link in the remaining direction. , , , then the message has the following three transmission paths.
[0066] 1) .
[0067] 2) .
[0068] 3) .
[0069] According to the path queue length ( , the length of the message queue at different exits of the current node) to decide which path to use for routing. .in, represents the queue length of path 1), represents the queue length of path 2), represents the queue length of path 3). , then execute path 1); if , then execute path 2); if , then execute path 3). Go to the second step.
[0070] B. If , indicating that the current node is an internal node.
[0071] If the routing function of 、 、 Only one value is 00, indicating that the message can only be sent to the current node. Connected external nodes The message is transmitted in one direction through the external link, so the message must first be sent from the node Transmitted to external nodes directly connected to it Then, it transmits in the direction corresponding to the external node. For the sake of convenience, assume that ,and , , then the message will be sent from the current node Transmit to external nodes , and then transferred to , proceed to the second step.
[0072] If the routing function of 、 、 There are two values 00, indicating that the current node Connected external nodes In addition to being able to transmit messages through external links in the two directions corresponding to the value 00, messages can also be transmitted through internal links in the remaining direction. Before doing this, it is necessary to first determine whether the current node is on the internal link corresponding to the other direction. For the sake of convenience, assume that , , .
[0073] a. If or , description node Not present On the internal link in the direction, the message has the following three transmission paths.
[0074] 1) → → .
[0075] 2) → → .
[0076] 3) → → → .
[0077] According to the path queue length ( , the length of the message queue at different exits of the current node) to decide which path to use for routing. .in, represents the queue length of path 1), represents the queue length of path 2), represents the queue length of path 3). , then execute path 1); if , then execute path 2); if , then execute path 3).
[0078] b. If , description node exist On the internal link in the direction, the transmission path of the message is, → . Proceed to step 2.
[0079] (2) If , no routing through external links is required, go to step 3.
[0080] Step 3: Judgement Is it equal to ,if , end routing; if , then the message will be sent from Transfer to , ending the routing.
[0081] For example, Figure 7 As shown, Figure 7 A schematic diagram of a routing method provided by an embodiment of the present invention. In a three-dimensional IHM network (Mesh architecture), it is necessary to route the message from the source node to the Transmit to the destination node .
[0082] Step 1: Calculation ,Finish Directional routing.
[0083] .because , indicating that the current node and the destination node are not in the same network layer. , so first send the message from node Routing to external nodes via internal links , and then transmit the message from the node through the inter-layer link Transmit to external nodes , proceed to the first step.
[0084] calculate ,at this time , so the message is sent from the external node Transmitted to external nodes via inter-layer links , proceed to the first step.
[0085] calculate , indicating that the current point and the destination node are in the same layer of the two-dimensional IHM network, and proceed to the second step.
[0086] Step 2: Calculation , , .
[0087] , , , .
[0088] because ,calculate ,get .
[0089] The routing function is: .
[0090] The current node is is an external node, due to the routing function of 、 If the value of is 00, the message will have the following three transmission paths.
[0091] 1) → .
[0092] 2) → .
[0093] 3) → → .
[0094] ,like , then execute path 1); if , then execute path 2); if , then execute path 3). Here we assume or , executing path 2) or path 3). If there are multiple minimum values, one can be randomly selected. Go to step 2.
[0095] Assume execution path 2): The current node is .
[0096] calculate , , , , , , .
[0097] because ,calculate ,get .
[0098] The routing function is: .
[0099] The current node is is an external node, due to the routing function Only , send the message from the current node Transmit to external nodes , proceed to the second step.
[0100] calculate , , , , , , .
[0101] because ,calculate ,get .
[0102] The routing function is: .
[0103] The current node is is an external node, due to the routing function of 、 If the value of is 00, the message will have the following three transmission paths.
[0104] 1) → .
[0105] 2) → .
[0106] 3) → → .
[0107] , assuming here , i.e., executing path 3). Go to the second step.
[0108] calculate , , , , , , .because , proceed to the third step.
[0109] Step 3: Since the current node is , the destination node is , , ending the routing.
[0110] Assume execution path 3): The current node is .
[0111] calculate , , , , , , .
[0112] because ,calculate ,get .
[0113] The routing function is: .
[0114] Current node For internal nodes, due to the function Only , first send the message from the node Transmit to external nodes Then follow Transmission in the negative direction of the axis, transmitted to the external node . Proceed to step 2.
[0115] calculate , , , , , , .
[0116] because ,calculate ,get .
[0117] The routing function is: .
[0118] The current node is is an external node, due to the routing function Only , send the message from the current node Transmit to external nodes , proceed to the second step.
[0119] calculate , , , , , , .
[0120] because , proceed to the third step.
[0121] Step 3: Since the current node is , the destination node is , , then the message will be sent from Transfer to , ending the routing.
[0122] The above two routing paths are as follows Figure 7 As shown, Figure 7 middle," " represents the source node," " indicates the destination node," " indicates the routing path and direction.
[0123] In the above example, if the three-dimensional IHM topology network layers are connected through Torus, the above routing process is also applicable, but The routing path in the direction is not the shortest path. This is because: , .
[0124] So for the Torus architecture, the first step of the above routing process can be changed to: , indicating that the current node and the destination node are not in the same network layer. ,and , so first send the message from node Routing to external nodes via internal links , and then transmit the message from the node through the inter-layer link Transmit to external nodes , enter the first step. Calculate , indicating that the current point and the destination node are in the same layer of the two-dimensional IHM network, and proceed to the second step.
[0125] This invention proposes a three-dimensional network-on-chip (NoC) based on a cellular structure and its local adaptive routing algorithm. The proposed network is an improvement on the cellular network and includes a two-dimensional (IHMT) network and a three-dimensional (IHMT) network. The two-dimensional (IHMT) network adds internal routing nodes and internal links to the two-dimensional (2D) cellular network, allowing networks of the same diameter to accommodate more routing nodes and increasing path diversity. The proposed three-dimensional (3D) IHMT network offers two inter-layer connectivity architectures: Mesh and Torus, to meet different network requirements. For these two three-dimensional (3D) IHMT network architectures, the invention proposes a local adaptive routing algorithm that can perform local adaptive routing based on network congestion, balancing network traffic distribution, alleviating congestion, and reducing network latency. In summary, while retaining the high regularity, symmetry, and scalability of cellular networks, the proposed network enables networks of the same diameter to accommodate more routing nodes and increase path diversity, meeting the requirements of large-scale networks and improving network performance. The proposed local adaptive routing algorithm balances network traffic distribution, alleviates network congestion, reduces network latency, and improves buffer resource utilization.
[0126] Among them, in addition to the Mesh architecture and Torus architecture, the three-dimensional IHM network can also have other extensions (other inter-layer connection methods, such as inter-layer full connection, FatTree and other connection methods).
[0127] For further information, see Figure 8 As shown, an embodiment of the present invention provides a routing device, including: The coordinate acquisition module 81 is used to obtain the first target coordinate axis value of the source node coordinate and the second target coordinate axis value of the destination node coordinate 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 distributed vertically, 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 both values on the target coordinate axis, the target coordinate axis is a coordinate axis perpendicular to the multiple two-dimensional cellular topology networks, and the two-dimensional cellular topology network is composed of preset cellular network units, and each preset cellular network unit is provided with internal nodes and internal links.
[0128] The inter-layer routing module 82 is used to perform routing in the target coordinate axis direction 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 two-dimensional cellular topology network at the same layer as the destination node to obtain the current node.
[0129] The intra-layer routing module 83 is configured to route from the current node to the destination node based on the inter-node link relationship in the two-dimensional cellular topology network of the layer where the destination node is located.
[0130] The six vertices of the hexagon in the preset cellular network unit are external nodes, the six edges are external links, internal nodes are set between the intersection of each diagonal line and the external nodes, and internal links are established between adjacent nodes on each diagonal line. 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.
[0131] Furthermore, the preset three-dimensional cellular topology network corresponds to a target coordinate system, and the target coordinate system includes the target coordinate axis and the plane coordinate system corresponding to the two-dimensional cellular topology network; wherein the plane coordinate system includes an x-axis, a y-axis, and a z-axis, and the x-axis, the y-axis, and the z-axis are parallel to the external link, and are 120 degrees apart from each other. The plane coordinate system takes the network center of the two-dimensional cellular topology network as the origin; the coordinate values on the target coordinate axis corresponding to each node in any two-dimensional cellular topology network are the same; for any one of the x-axis, y-axis, and z-axis, the center of the two-dimensional cellular topology network is used as the boundary, and the coordinates along the square of the coordinate axis are the same. In the negative direction of the coordinate axis, the coordinate values of all external nodes on the first zigzag chain perpendicular to the coordinate axis on the coordinate axis are 1, and along the negative direction of the coordinate axis, the coordinate values of all external routing nodes on the first zigzag chain perpendicular to the coordinate axis on the axis are 0, and 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 coordinate values corresponding to the x-axis, y-axis, z-axis and target coordinate axis, and a node mark, the node mark characterizing whether the node is an external node or an internal node, and when it is an internal node, distinguishing each internal node directly connected to the same external node.
[0132] In an optional embodiment, the node is marked as a three-digit 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-digit binary values.
[0133] In an optional embodiment, the inter-layer routing module 82 is specifically used to perform 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 two-dimensional cellular topology network at the same layer as the destination node to obtain the current node, including: calculating the difference between the first target coordinate axis value and the second target coordinate axis value to obtain the target coordinate axis difference; if the target coordinate axis difference 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 routing from the external node in the target coordinate axis direction through an inter-layer link to a node in the two-dimensional cellular topology network at the same layer 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, routing from the source node in the target coordinate axis direction through an inter-layer link to a node in the two-dimensional cellular topology network at the same layer as the destination node to obtain the current node.
[0134] In an optional embodiment, the intra-layer routing module 83 may include: a first routing sub-module, used to route from the current node to the target node based on the inter-node link relationship in the two-dimensional cellular topology network of the layer where the destination node is located, and the target node is a node that does not require external link routing to the destination node; a second routing sub-module, used to route from the target node to the destination node.
[0135] 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, the y-axis coordinate difference, and the z-axis coordinate difference are not all 0, then based on the x-axis coordinate difference, the y-axis coordinate difference, and the z-axis coordinate difference, the direction variables corresponding to the x-axis, y-axis, and z-axis are determined, and the direction variables correspond to different values when the coordinate difference of the corresponding coordinate axis is 0, negative, and positive; the direction variables corresponding to the x-axis, y-axis, and z-axis are assembled into direction parameters; based on the x-axis coordinate value, y-axis coordinate value, and z-axis coordinate value of the current node, the current direction variable is determined. A direction function corresponding to a node, wherein the direction function represents the routing direction in which any external node can reach an external node directly connected to the external node through an external link via 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 according to the target routing path, the node routed to is the new current node, triggering the step of calculating the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference between the current node and the destination node, until the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference are all 0, then determining the current node as the destination node. Furthermore, if there are multiple routing directions, multiple routing paths are determined; and the routing path with the smallest message queue length is determined from the multiple routing paths as the target path.
[0136] The second routing submodule is specifically configured to end routing if the target node and the destination node have the same node tag; and end routing from the target node to the destination node if the target node and the destination node have different node tags.
[0137] The layers in the preset three-dimensional cellular topology network are connected via a mesh network or a torus network.
[0138] As can be seen, the three-dimensional cellular topology network provided by the embodiment of the present invention is composed of multiple two-dimensional cellular topology networks distributed vertically. The two-dimensional cellular topology network is composed of preset cellular network units, each of which 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. Within the three-dimensional cellular topology network, inter-layer routing is first performed along the target coordinate axis, and then routing is performed within the two-dimensional cellular topology network within the layer, ensuring good routing efficiency. In this way, the network topology design is optimized, network latency is reduced, and network performance is improved.
[0139] Figure 8 The description of the features in the corresponding embodiment can be found in Figure 8 The relevant descriptions of the corresponding embodiments will not be repeated here one by one.
[0140] Figure 9 A structural diagram of an electronic device provided by 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 implementing the steps of the routing method in the above embodiment when executing the computer program.
[0141] 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 of the following hardware forms: a digital signal processing (DSP), a field-programmable gate array (FPGA), or a programmable logic array (PLA). The processor 91 may also include a main processor and a coprocessor. The main processor is used to process data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 91 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing content required to be displayed on the display screen. In some embodiments, the processor 91 may also include an artificial intelligence (AI) processor, which is used to handle computational operations related to machine learning.
[0142] The memory 90 may include one or more computer-readable storage media, which may be non-transitory. The memory 90 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 90 is at least used to store the following computer program 901, wherein, after the computer program is loaded and executed by the processor 91, it can implement the relevant steps of the routing method disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 90 may also include an operating system 902 and data 903, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 902 may include Windows, Unix, Linux, etc. The data 903 may include but is not limited to message data, etc.
[0143] 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 .
[0144] Those skilled in the art will understand that Figure 9 The structure shown in the figure does not constitute a limitation of the electronic device, and may include more or fewer components than shown in the figure.
[0145] It is understandable that if the routing 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, 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. The computer software product is stored in a storage medium and executes 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), electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, magnetic disk or optical disk, etc. Various media that can store program code.
[0146] Based on this, an embodiment of the present invention further 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 above-mentioned routing method are implemented.
[0147] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned routing method when executed by a processor.
[0148] The above describes in detail the routing method, apparatus, device, medium, and product provided by the embodiments of the present invention. The various embodiments are described in a progressive manner throughout this specification, with each embodiment focusing on its differences from other embodiments. For similar or identical parts between the various embodiments, reference can be made to each other. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively brief; for relevant details, refer to the method description.
[0149] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present invention.
[0150] The above describes in detail the routing method, apparatus, device, medium, and product provided by the present invention. This article uses specific examples to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only intended to help understand the method and core concept of the present invention. It should be noted that for those skilled in the art, without departing from the principles 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.
Claims
1. A routing method, characterized in that: include: Obtaining 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 distributed vertically, each of the two-dimensional cellular topology networks being a layer, the first target coordinate axis value and the second target coordinate axis value are both 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 the two-dimensional cellular topology network is composed of preset cellular network units, each of which 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, so as to route from a source node to a node in a two-dimensional cellular topology network at the same layer as the destination node, to obtain a current node; Routing from a current node to the destination node based on a link relationship between nodes in a two-dimensional cellular topology network at a layer where the destination node is located.
2. The routing method according to claim 1, wherein: The six vertices of the hexagon in the preset cellular network unit are external nodes, the six sides are external links, internal nodes are set between the intersection of each diagonal line and the external nodes, and internal links are established between two adjacent nodes on each diagonal line.
3. The routing method according to claim 2, wherein: The two-dimensional cellular topology network is composed of one or more preset cellular network units. When the two-dimensional cellular topology network is expanded, a ring composed of the preset cellular network units is added along the boundary of the current two-dimensional cellular topology network.
4. The routing method according to claim 3, wherein: The preset three-dimensional cellular topology network corresponds to a target coordinate system, and the target coordinate system includes the target coordinate axis and a plane coordinate system corresponding to the two-dimensional cellular topology network; The plane coordinate system includes an x-axis, a y-axis, and a z-axis, wherein the x-axis, the y-axis, and the z-axis are respectively parallel to the external link and are at an angle of 120 degrees to each other. The plane coordinate system takes the network center of the two-dimensional cellular topology network as its origin; the coordinate values on the target coordinate axis corresponding to each node in any two-dimensional cellular topology network are the same; For any one of the x-axis, y-axis, and z-axis, with the center of the two-dimensional cellular topology network as the boundary, along the positive direction of the coordinate axis, the coordinate value of all external nodes on the first zigzag chain perpendicular to the coordinate axis on the coordinate axis is 1, and along the negative direction of the coordinate axis, the coordinate value of all external routing nodes on the first zigzag chain perpendicular to the coordinate axis on the axis is 0, and 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 coordinate values corresponding to the x-axis, y-axis, z-axis and target coordinate axis, as well as a node mark, wherein the node mark indicates whether the node is an external node or an internal node, and when it is an internal node, distinguishes the internal nodes directly connected to the same external node.
5. The routing method according to claim 4, wherein: The node mark is a three-digit 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-digit binary values.
6. The routing method according to claim 5, 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 a source node to a node in a two-dimensional cellular topology network at the same layer as a destination node, to obtain a current node, including: Calculating a 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, routing from the source node to an external node directly connected to the source node, and routing from the external node in the target coordinate axis direction through an inter-layer link to a node in the two-dimensional cellular topology network on the same layer as the destination node, thereby obtaining the current node; If the target coordinate axis difference is not 0 and the source node is an external node, routing is performed from the source node in the target coordinate axis direction through an inter-layer link to a node in the two-dimensional cellular topology network at the same layer as the destination node to obtain the current node.
7. The routing method according to claim 5, characterized in that: Routing from a current node to the destination node based on a link relationship between nodes in a two-dimensional cellular topology network at a layer where the destination node is located includes: Routing from the current node to the target node based on the inter-node link relationship in the two-dimensional cellular topology network at the layer where the destination node is located, the target node being a node that does not require routing via an external link to the destination node; Routing from the target node to the destination node.
8. The routing method according to claim 7, wherein: Routing from a current node to a target node based on a link relationship between nodes in a two-dimensional cellular topology network at a layer where the target node is located includes: 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, the y-axis coordinate difference, and the z-axis coordinate difference are not all 0, determining direction variables corresponding to the x-axis, y-axis, and z-axis respectively based on the x-axis coordinate difference, the y-axis coordinate difference, and the z-axis coordinate difference, the direction variables corresponding to different values when the coordinate difference of the corresponding coordinate axis is 0, negative, and positive, respectively; Assemble the direction variables corresponding to the x-axis, y-axis, and z-axis into direction parameters; 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 in which any external node can reach an external node directly connected to the external node through an external link via one hop; Calculate the routing direction of the current node based on the direction parameter and the direction function; Determine the target routing path based on the routing direction of the current node; Routing according to the target routing path, the node routed to is the new current node, triggering the step of calculating the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference between the current node and the destination node, until the x-axis coordinate difference, y-axis coordinate difference, and z-axis coordinate difference are all 0, then the current node is determined as the target node.
9. The routing method according to claim 8, wherein: Determine the target routing path based on the routing direction of the current node, including: If there are multiple routing directions, multiple routing paths are determined; A routing path with the smallest message queue length is determined from the multiple routing paths as the target path.
10. The routing method according to claim 7, wherein: Routing from the target node to the destination node includes: If the node labels of the target node and the destination node are the same, then the routing is ended; If the node labels of the target node and the destination node are different, routing is performed from the target node to the destination node, and routing is terminated.
11. The routing method according to any one of claims 1 to 10, characterized in that: The layers in the preset three-dimensional cellular topology network are connected through a mesh network or a torus network.
12. A routing device, characterized in that: include: 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 cellular topology network, wherein the preset three-dimensional cellular topology network is composed of a plurality of two-dimensional cellular topology networks distributed vertically, 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 plurality of two-dimensional cellular topology networks, and the two-dimensional cellular topology network being composed of preset cellular network units, each of which is 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, so as to route from a source node to a node in a two-dimensional cellular topology network on the same layer as the destination node, and obtain a current node; The intra-layer routing module is used to route from the current node to the destination node based on the link relationship between nodes in the two-dimensional cellular topology network of the layer where the destination node is located.
13. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to execute the computer program to implement the steps of the routing method according to any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the routing method according to any one of claims 1 to 11.
15. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the routing method according to any one of claims 1 to 11 are implemented.
Citation Information
Patent Citations
Routing in wireless mesh networks
CN101310488A
On-chip network router based on field programmable gate array (FPGA)
CN102685017A
Network-on-chip architecture based on butterfly network coding and shortest path acquiring method of network-on-chip architecture
CN107517159A
Extended interconnection network and routing algorithm thereof
CN108429679A
Three-dimensional network topology structure and routing algorithm thereof
CN109561034A