A path determination method and switch based on a single-layer octagonal network structure
By using a path determination method based on a single-layer octagonal network structure, the problems of transmission delay and complex layout caused by multiple arbitration levels in the network structure of the IO protocol controller are solved, achieving efficient data exchange and simplified wiring.
Patent Information
- Application Number
- CN202511405503.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-29
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-09-29
AI Technical Summary
The large number of arbitration levels in the network structure of the Internet leads to transmission delay and reduced transmission efficiency, and the layout and wiring are complex, making it difficult to achieve efficient data exchange, especially in IO protocol controllers.
A path determination method based on a single-layer octagonal network structure is adopted. By obtaining the encoding information of port nodes, marking adjacent links and cross links, establishing preset path rules, determining the target path, and simplifying layout and wiring.
It reduces the network diameter of the network structure, improves transmission efficiency, simplifies the layout and wiring process, reduces path delay and blocking risk, and is suitable for hardware implementation of IO protocol controllers.
Smart Images

Figure CN120880963B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a path determination method and a switch based on a single-layer octagonal network structure. Background Technology
[0002] The interconnect network is a core component of Input / Output (IO) protocol controllers (such as Peripheral Component Interconnect Express (PCIe) switches or PCIe switches). It handles data exchange between ports, determines the controller's system bandwidth, and significantly impacts network latency. As the number of routing nodes in the interconnect increases, the network diameter also increases. Due to the diverse shapes of interconnect networks, in scenarios like IO protocol controllers, ports need to be evenly distributed around the controller. For example, in a four-dimensional cube network structure, multiple routing nodes sharing a common route result in a high number of arbitration levels (specifically, 3), leading to significant network data transmission latency and consequently affecting network efficiency. Furthermore, subsequent layout and wiring become more complex, and the corresponding routing algorithms are also more intricate, making the hardware implementation of the IO protocol controller quite challenging.
[0003] Therefore, how to reduce the number of arbitration levels in the network structure to reduce transmission latency and improve transmission efficiency while simplifying layout and cabling is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention
[0004] The purpose of this invention is to provide a path determination method and switch based on a single-layer octagonal network structure to solve the problems of transmission delay and reduced transmission efficiency caused by a large number of arbitration levels in the network structure, as well as the complex layout and wiring.
[0005] To address the aforementioned technical problems, this invention provides a path determination method based on a single-layer octagonal network structure, comprising:
[0006] Based on a single-layer octagonal network structure, the target first encoding information and target second encoding information of the source port node and the destination port node are respectively deployed on the corresponding routing nodes; wherein, each routing node deploys at least one port node.
[0007] The adjacent links and cross links between each routing node are pre-marked according to the second encoding information corresponding to the port nodes to determine the marked link information; the number of adjacent links between adjacent routing nodes is determined by the number of port nodes corresponding to the source path direction and the destination path direction under a routing node; the number of cross links between relative routing nodes in the octagonal network structure is determined by the number of port nodes corresponding to a routing node.
[0008] The node position relationship of each of the routing nodes is determined based on the number of moves in the first encoding information corresponding to any two port nodes and the second encoding information. A preset path rule is established based on the node position relationship, the marked link information, adjacent links, cross links and path arbitration level. The critical value of the path arbitration level is less than or equal to the number of routing nodes traversed by the network diameter minus 1.
[0009] The target path rule is determined based on the first target encoding information, the second target encoding information and the preset path rule, and the target path between the source port node and the destination port node is determined based on the target path rule.
[0010] On the one hand, the construction process of a single-layer octagonal network structure includes:
[0011] Obtain the number of port nodes to be interconnected and the number of routing nodes corresponding to the single-layer octagonal network structure;
[0012] The first target port node for deployment of a single routing node is determined based on the number of port nodes and the number of routing nodes;
[0013] Assign first encoded information consisting of binary data to each routing node, and assign second encoded information under the routing node to each first destination port node;
[0014] The number of cross links between relative routing nodes and the number of adjacent edge links between adjacent routing nodes are determined based on the first number of first target port nodes deployed by a single routing node, so as to complete the construction of the single-layer octagonal network structure.
[0015] On the other hand, link marking is performed in advance on adjacent links and cross links between each routing node based on the second encoding information corresponding to the port node, in order to determine the marked link information, including:
[0016] The adjacent links between each routing node are classified and marked according to the path direction and the second encoding information corresponding to the port nodes under a single routing node, so as to obtain the adjacent link information for different path directions.
[0017] The cross-links between relative routing nodes are marked based on the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information.
[0018] On the other hand, the adjacent links between each routing node are classified and labeled according to the path direction and the second encoding information corresponding to the port nodes under a single routing node, so as to obtain the adjacent link information for different path directions, including:
[0019] The source path direction and destination path direction of adjacent links are divided according to the path direction;
[0020] The source path direction is set on the outer link between adjacent routing nodes, and the destination path direction is set on the inner link between adjacent routing nodes; wherein the number of the outer link and the number of the inner link are the same as the number of port nodes of a single routing node.
[0021] According to the second encoding information of the port node under a single routing node, the corresponding link tags are set for the outer and inner links respectively to obtain the adjacent link information for different path directions.
[0022] On the other hand, the cross-links between relative routing nodes are marked based on the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information, including:
[0023] The number of cross links between relative routing nodes is set to be the same as the number of port nodes under a single routing node.
[0024] To obtain cross-link information, the same link tag as the second encoding information is set for each cross-link according to the second encoding information of the port node under the single routing node.
[0025] On the other hand, the node position relationship of each routing node is determined based on the number of moves in the first encoded information and the second encoded information corresponding to any two port nodes, including:
[0026] If the first encoding information corresponding to the two port nodes is the same, and the second encoding information is different, then the second target port node and the third target port node are determined to be the same routing node.
[0027] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 1 bit or left by 7 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be an adjacent position relationship.
[0028] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 2 bits or left by 6 bits to obtain the first encoding information of the other port node, then the node position relationship of the two port nodes is determined to be a non-adjacent position relationship with a distance of one routing node.
[0029] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 3 bits or left by 5 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be a non-adjacent position relationship with a gap of two routing nodes.
[0030] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 4 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be the position relationship relative to the routing node.
[0031] On the other hand, preset path rules are established based on the node position relationships, marked link information, adjacent links, cross links, and path arbitration levels, including:
[0032] When the source port node and the destination port node are the same routing node, a first preset path rule is established based on the shortest path.
[0033] When the source port node and the destination port node are adjacent, or are not adjacent and separated by one routing node, a second preset path rule is established based on the marked link information, adjacent links, and path arbitration level.
[0034] When the source port node and the destination port node are not adjacent and are separated by two routing nodes, a third preset path rule is established based on the marked link information, adjacent links, cross links and path arbitration level.
[0035] When the source port node and the destination port node are in a relative routing node position relationship, a fourth preset path rule is established based on the marked link information, cross-links, and path arbitration level.
[0036] On the other hand, a first preset path rule is established based on the shortest path, including:
[0037] The path between the source port node and the corresponding routing node is used as the first path;
[0038] The second path is determined by the path between the destination port node and the corresponding routing node.
[0039] The first path and the second path are used as the final paths to establish the first preset path rule.
[0040] On the other hand, a second preset path rule is established based on the marked link information, adjacent links, and path arbitration level, including:
[0041] The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node.
[0042] When the first routing node and the second routing node are adjacent, the first sub-preset path rule is determined based on the path arbitration level, the peripheral link of the adjacent link, and the adjacent link information corresponding to the second encoding information of the source port node;
[0043] When the first routing node and the second routing node are not adjacent and are separated by one routing node, the second sub-preset path rule is determined based on the outer link of the adjacent link, the inner link of the adjacent link, the path arbitration level, the adjacent link information corresponding to the second encoding information of the source port node and the destination port node.
[0044] On the other hand, the first sub-preset path rule is determined based on the path arbitration level, the peripheral links of the adjacent links, and the adjacent link information corresponding to the second encoding information of the source port node, including:
[0045] Set the peripheral link of the adjacent link as the peripheral link of the source port node;
[0046] The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein, the path arbitration level corresponding to the second path is level one;
[0047] Determine whether the next routing node of the first routing node is the second routing node corresponding to the destination port node;
[0048] If so, then the link path of the adjacent link information corresponding to the second encoding information of the source port node within the peripheral link of the source port node shall be used as the first target path;
[0049] The first path, the first target path, and the second path are used as the final path to establish a first sub-preset path rule.
[0050] On the other hand, the second sub-preset path rule is determined based on the peripheral links of the adjacent link, the inner links of the adjacent link, the path arbitration level, and the adjacent link information corresponding to the second encoding information of the source port node and the destination port node, including:
[0051] Set the outer link of the adjacent link as the outer link of the source port node, and set the inner link of the adjacent link as the inner link of the destination port node.
[0052] The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level;
[0053] The interval routing node between the first routing node and the second routing node is determined to be the third routing node;
[0054] Within the peripheral link of the source port node between the first routing node and the third routing node, the link path corresponding to the adjacent link information of the second encoding information of the source port node is used as the second target path;
[0055] Determine whether the next routing node of the third routing node is the second routing node;
[0056] If so, the link path within the inner link of the source port node according to the adjacent link information corresponding to the second encoding information of the destination port node is taken as the third target path, wherein the path arbitration level corresponding to the third target path is the second level;
[0057] The first path, the second target path, the third target path, and the second path are used as the final path to establish a second sub-preset path rule.
[0058] On the other hand, a third preset path rule is established based on the marked link information, adjacent links, cross links, and path arbitration level, including:
[0059] The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node.
[0060] The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level;
[0061] Set the outer link of the adjacent link as the outer link of the source port node, and set the inner link of the adjacent link as the inner link of the destination port node.
[0062] Set the cross link as the source port node cross link;
[0063] The fourth routing node is determined as the interval routing node between the first routing node and the second routing node according to the path arbitration mechanism; wherein, the first routing node and the fourth routing node are connected through a cross link; and the second routing node and the fourth routing node are connected through an adjacent link.
[0064] Within the cross-link of the source port node between the first routing node and the fourth routing node, the link path corresponding to the cross-link information of the second encoding information of the source port node is used as the fourth target path;
[0065] Determine whether the next routing node of the fourth routing node is the second routing node;
[0066] If so, the link path within the inner link of the source port node according to the adjacent link information corresponding to the second encoding information of the destination port node is taken as the fifth target path, wherein the path arbitration level corresponding to the fifth target path is the second level;
[0067] The first path, the fourth target path, the fifth target path, and the second path are used as the final paths to establish a third preset path rule.
[0068] On the other hand, a fourth preset path rule is established based on the marked link information, cross-links, and path arbitration level, including:
[0069] The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node.
[0070] The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level;
[0071] The cross link between the first routing node and the second routing node is determined according to the path arbitration mechanism, and the cross link is set as the source port node cross link;
[0072] Within the cross-link of the source port node between the first routing node and the second routing node, the link path corresponding to the cross-link information of the second encoding information of the source port node is taken as the sixth target path;
[0073] The first path, the sixth target path, and the second path are used as the final paths to establish a fourth preset path rule.
[0074] On the other hand, the process of determining the first encoded information includes:
[0075] The target number of bits in binary data is determined based on the number of routing nodes in a single-layer octagonal network structure.
[0076] Each first binary data is determined based on the binary data of the target number of bits;
[0077] The corresponding first encoding information is determined based on each of the first binary data.
[0078] On the other hand, determining each first binary data based on the binary data of the target number of bits includes:
[0079] The first initial binary data is determined based on the binary data of the target number of bits, wherein the first first preset number of bits of the first initial binary data is zero, and the remaining second preset number of bits is 1;
[0080] Starting from the first initial binary data, along the counterclockwise direction of the single-layer octagonal network structure, the first initial binary data corresponding to the current routing node is shifted one bit to the right compared to the first initial binary data corresponding to the previous routing node to obtain their respective first binary data.
[0081] Correspondingly, the first encoding information is determined based on each of the first binary data, including:
[0082] The high four bits of each of the first binary data are extracted and used as the first encoding information corresponding to each routing node.
[0083] On the other hand, the process of determining the second encoded information includes:
[0084] The number of port nodes is divided by the number of routing nodes.
[0085] If the division is exact, the first quantity corresponding to the first target port node under each routing node is determined according to the quotient of the division process; if the division is not exact, the first data determined by the quotient and remainder of the division process is used as the first quantity corresponding to the first target port node under each routing node.
[0086] The number of bits corresponding to the binary data is determined based on the first quantity;
[0087] The second encoding information is set according to the number of bits; wherein, the second encoding information is the same for port nodes at the same location under a single routing node.
[0088] On the other hand, after determining the target path, the method further includes:
[0089] When there are multiple path requests at the same time, and all of them pass through the adjacent link between two routing nodes, determine whether the target link paths under the link tags corresponding to the multiple path requests are the same.
[0090] If they are the same, routing is performed according to the time order in which multiple path requests arrive at the target link path.
[0091] To address the aforementioned technical problems, the present invention also provides a switch, including various switch ports; wherein, the various switch ports are interconnected through the steps of the path determination method based on a single-layer octagonal network structure described above, so as to perform communication processing on the devices connected to each switch port.
[0092] To address the aforementioned technical problems, the present invention also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the path determination method based on a single-layer octagonal network structure as described above.
[0093] To address the aforementioned technical problems, the present invention also provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the steps of the path determination method based on a single-layer octagonal network structure.
[0094] The beneficial effects of this invention are as follows: First, based on a single-layer octagonal network structure, multiple ports are distributed across eight routing nodes within the single-layer octagonal network structure. Each routing node deploys at least one port node. Compared to a conventional cubic network structure, without increasing the number of layers, this invention addresses multiple ports by having each routing node carry multiple port nodes, thus spreading these port nodes flat within a single-layer octagonal network structure instead of a cubic topology, reducing the network diameter. Second, in this structure, the target first encoding information and target second encoding information of the source and destination port nodes deployed on their respective routing nodes are obtained. The encoding information of the routing nodes accurately reflects the node positions between them, facilitating subsequent path calculation. Third, the adjacent and cross-links between routing nodes are pre-marked based on the second encoding information corresponding to the port nodes, determining the marked link information. This allows subsequent routing to utilize the respective link information, ensuring that paths under multiple routing requests are not duplicated. Different links perform their respective functions, reducing the risk of path congestion and delay caused by sharing a single link, laying the foundation for link path marking, and ensuring orderly link information. In this process, the number of adjacent links between neighboring routing nodes is determined by the number of port nodes corresponding to the source and destination path directions under a single routing node. This confirms that the number of adjacent links distinguishes different path directions, and each path direction corresponds to links set by different port nodes, further reducing the risk of path sharing. The number of cross links between relative routing nodes is determined based on the number of port nodes under a single routing node. Considering that cross links will not cause arbitration, and also taking into account cross links corresponding to different port nodes, the order of cross links is guaranteed. Furthermore, the node position relationship of each port node is determined based on the movement bits of the first encoding information and the second encoding information corresponding to any two port nodes. Here, it is known whether two port nodes share the same routing node, or, if they do not share the same routing node, the node positions of their respective routing nodes, so as to facilitate the setting of path rules such as adjacent links and cross links corresponding to subsequent routes. In a single-layer octagonal network structure, the maximum number of arbitration levels between a port node and a destination port node is less than the number of routing nodes traversed in the network diameter (3) minus 1. This means the maximum number of arbitration levels is two. Compared to conventional routing rules where the number of arbitration levels in each routing request is equal to the number of routing nodes traversed, this reduction in arbitration levels decreases path congestion and latency caused by shared paths. The preset path rules are determined based on the above five factors, ensuring path order. Finally, the target path rule is determined based on the first and second target encoding information and the preset path rules to define the target path. This approach simplifies path calculation and improves routing efficiency.This simplifies subsequent layout and wiring, and facilitates the hardware implementation of the IO protocol controller.
[0095] Secondly, during the construction of the single-layer octagonal network structure, the first and second encoding information are deployed to the corresponding routing nodes and the port nodes under each routing node, respectively. This connects both cross-links and adjacent links to the routing nodes. This ensures a uniform number of port nodes can be allocated under each routing node in the octagonal network structure, reducing the increase in the number of adjacent and cross-links, while also reducing the number of layers in the octagonal network structure, simplifying the routing algorithm, and simplifying layout and wiring operations. The link marking process for adjacent and cross-links reduces contention for shared adjacent links and also reduces the routing wait time for cross-links for different port nodes, ensuring that each port node can route independently on both adjacent and cross-links. The marking process for adjacent link information assigns corresponding link routes for different path directions to each port node under each routing node, improving routing efficiency while preventing routing confusion errors for different path directions. The marking process for cross-link information assigns link routes for cross-link routes to each port node under each routing node, reducing the waiting time for the previous cross-link route, ensuring that each port node can independently use its corresponding cross-link.
[0096] In addition, the present invention also provides a switch that has the same beneficial effects as the path determination method based on a single-layer octagonal network structure described above. Attached Figure Description
[0097] 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.
[0098] Figure 1 This is a schematic diagram illustrating an application scenario of a PCIe topology diagram provided in an embodiment of the present invention;
[0099] Figure 2 This is a schematic diagram of a PCIe switch port connection provided in an embodiment of the present invention;
[0100] Figure 3 A schematic diagram of a triangular network topology provided for a conventional technical solution;
[0101] Figure 4 A schematic diagram of a quadrilateral network topology provided for a conventional technical solution;
[0102] Figure 5A schematic diagram of a triangular pyramidal network topology provided for a conventional technical solution;
[0103] Figure 6 A schematic diagram of an Octagon network topology provided for a conventional technical solution;
[0104] Figure 7 A schematic diagram of a four-dimensional cube network topology provided for a conventional technical solution;
[0105] Figure 8 A flowchart of a path determination method based on a single-layer octagonal network structure provided in an embodiment of the present invention;
[0106] Figure 9 This is a schematic diagram of the link connection of a single-layer octagonal network structure provided in an embodiment of the present invention;
[0107] Figure 10 This is a schematic diagram of a cyclic left shift of first encoded information provided in an embodiment of the present invention;
[0108] Figure 11 This is a schematic diagram of a cyclic right shift of first encoded information provided in an embodiment of the present invention;
[0109] Figure 12 This is a schematic diagram of the layout of encoded information under a single-layer octagonal network structure provided in an embodiment of the present invention;
[0110] Figure 13 A schematic diagram of an adjacent link marking provided in an embodiment of the present invention;
[0111] Figure 14 A schematic diagram of a cross-link marking provided in an embodiment of the present invention;
[0112] Figure 15 A schematic diagram of a single-layer octagonal network structure provided in an embodiment of the present invention;
[0113] Figure 16 A structural diagram of a path determination device based on a single-layer octagonal network structure provided in an embodiment of the present invention;
[0114] Figure 17 A structural diagram of another path determination device based on a single-layer octagonal network structure provided in an embodiment of the present invention. Detailed Implementation
[0115] 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.
[0116] The core of this invention is to provide a path determination method and switch based on a single-layer octagonal network structure, in order to solve the problems of transmission delay and reduced transmission efficiency caused by a large number of arbitration levels in the network structure, as well as the complex layout and wiring.
[0117] 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.
[0118] An I / O protocol controller, primarily a Peripheral Component Interconnect Express (PCIe) switch or PCIe switch, is mainly used to interconnect PCIe devices. For example, servers rely on it to interconnect components such as the Central Processing Unit (CPU) and Graphics Processing Unit (GPU). With an I / O protocol controller, PCIe connections shift from end-to-end to multi-bus connections, effectively expanding the link and forming a high-speed PCIe interconnect network, thus enabling multi-device communication. The high scalability, low power consumption, low latency, high reliability, and high flexibility of I / O protocol controllers make them widely used in machine learning, artificial intelligence, hyper-converged deployments, and storage systems. Figure 1 This is a schematic diagram illustrating an application scenario of a PCIe topology diagram provided in an embodiment of the present invention, such as... Figure 1 As shown, a PCIe switch connects various PCIe devices (legacy endpoints). The interconnect network is one of the core components of the I / O protocol controller, responsible for data exchange between ports. The interconnect network determines the system bandwidth of the I / O protocol controller and has a significant impact on network latency. Furthermore, its complexity often determines the feasibility of the controller and is a key factor limiting the number of controller ports. Additionally, Figure 1 The endpoint devices in the configuration are PCIe devices, and the bridge is a PCI Express to PCI / PCI-X bridge. This includes the interaction between the CPU and the root complex, and the connection between the root complex and the switch and direct devices. Figure 2 This is a schematic diagram of a PCIe switch port connection provided in an embodiment of the present invention, as shown below. Figure 2As shown, the 16 ports are interconnected through an internal interconnection network. The network diameter is the maximum value of the shortest distance between two routing nodes in the network; the smaller the network diameter, the lower the network communication latency.
[0119] When there are only three routing nodes Figure 3 A schematic diagram of a triangular network topology provided for a conventional technical solution, such as... Figure 3 As shown, the network diameter is 1 at this point, and the out-degree and in-degree of each routing node are both 2. When there are four routing nodes, Figure 4 A schematic diagram of a quadrilateral network topology provided for a conventional technical solution, such as... Figure 4 As shown, the network diameter is 2, and the out-degree and in-degree of each routing node are both 2. Figure 5 A schematic diagram of a triangular pyramid network topology provided for conventional technical solutions, such as... Figure 5 As shown, the network diameter is still 1, and the out-degree and in-degree of each routing node are both 3. Figure 6 A schematic diagram of an Octagon network topology provided for conventional technical solutions, such as... Figure 6 As shown, when there are 8 routing nodes, the network diameter is 2, and the out-degree and in-degree of each routing node are both 3. Figure 7 A schematic diagram of a four-dimensional cube network topology provided for conventional technical solutions, such as... Figure 7 As shown, with 16 routing nodes, the network diameter is 4, and each routing node has an out-degree and in-degree of 4. It can be seen that as the number of interconnected routing nodes increases, the overall network diameter increases, and the out-degree and in-degree of each routing node also increase. The shape of the interconnected network also begins to diversify. However, for application scenarios like the I / O protocol controller, since the I / O protocol controller is square and the ports are evenly distributed around it, therefore... Figure 4 The high connectivity, symmetry, and scalability of four-dimensional cubes make their application in I / O protocol controllers limited. Furthermore, the large number of links in a four-dimensional cube makes backend layout and wiring difficult; and the complex routing algorithm of a four-dimensional cube is not implemented in hardware.
[0120] Furthermore, in the routing algorithms corresponding to the aforementioned topologies, the number of arbitration levels for each routing request is the same as the number of routing nodes traversed by that request. This means that arbitration will occur when paths are shared, inevitably leading to increased transmission latency and reduced transmission efficiency. The path determination method based on a single-layer octagonal network structure provided by this invention can solve the above-mentioned technical problems.
[0121] Figure 8 A flowchart of a path determination method based on a single-layer octagonal network structure provided for an embodiment of the present invention is shown below. Figure 8 As shown, the method includes:
[0122] S11: Based on a single-layer octagonal network structure, obtain the target first encoding information and target second encoding information of the source port node and the destination port node respectively deployed on the corresponding routing nodes;
[0123] Each routing node must deploy at least one port node;
[0124] S12: Pre-process link marking for adjacent links and cross links between each routing node according to the second encoding information corresponding to the port node, so as to determine the marked link information;
[0125] The number of adjacent links between adjacent routing nodes is determined by the number of port nodes corresponding to the source path and destination path under a routing node; the number of cross links between relative routing nodes in an octagonal network structure is determined by the number of port nodes corresponding to a routing node.
[0126] S13: Determine the node position relationship of each of the routing nodes based on the number of moves in the first encoding information and the second encoding information corresponding to any two port nodes, and establish a preset path rule based on the node position relationship, the marked link information, adjacent links, cross links and path arbitration level;
[0127] Among them, the critical value of the path arbitration level is less than or equal to the number of routing nodes traversed by the network diameter minus 1;
[0128] S14: Determine the target path rule based on the target first encoding information, the target second encoding information and the preset path rule, and determine the target path between the source port node and the destination port node based on the target path rule.
[0129] Specifically, the single-layer octagonal network structure has eight routing nodes, which divides multiple port nodes into eight groups. The number of port nodes in each group is equal to the number of port node groups under each routing node in the octagonal network structure. For example, [the following is a list of groups]. The PCIe ports are divided into eight groups, each group has There are 12 PCIe ports, each connected to a routing node, thus providing a total of 12 PCIe ports. Each routing node has at least one port node.
[0130] First and second encoding information are pre-deployed for the routing nodes of the single-layer octagonal network structure. The first encoding information corresponds to the eight routing nodes in the single-layer octagonal network structure, and the second encoding information corresponds to the port nodes under the routing nodes. The setting of the first and second encoding information ensures the uniqueness of the routing nodes and port nodes. To facilitate subsequent calculations between the various routing nodes and port nodes, different binary data can be set. The specific bit data of the binary data is set according to the actual situation, mainly ensuring that each routing node and port node can be covered by binary data, and that the binary data setting facilitates calculation when performing XOR operations.
[0131] In step S12, the adjacent links and cross links of the single-layer octagonal network structure are marked according to the second encoding information of each port node, considering that different routing requests involve various port nodes and each routing node has at least one port node. This marks the adjacent links and cross links to determine the marked link information. The number of adjacent links between adjacent routing nodes is determined by the number of port nodes corresponding to the source path direction and destination path direction under a routing node. This indicates that the paths between the source and destination routing nodes of different routing requests follow the corresponding link markings during path routing, ensuring the orderliness of the paths. The adjacent links are further distinguished into multiple links. First, the path direction from which the link originates is identified. If it follows the source path direction, the adjacent link corresponding to the source path direction is distinguished by which port node it passes through; if it follows the destination path direction, the adjacent link corresponding to the destination path direction is distinguished by which port node it passes through. For example, two links might be divided based on the source PCIe port. Then it can only use the link encoded as 00. Then it can only use the link encoded as 01. Similarly, the two paths are divided based on the destination PCIe port. Then it can only use the link encoded as 00. Then it can only use the link encoded as 01.
[0132] The number of cross links is determined based on the number of port nodes under a routing node. If a routing node has 2 port nodes, then there are 2 cross links between any two relative routing nodes, and each cross link corresponds to a port node.
[0133] In step S13, the shifting bit position of the first encoded information corresponding to any two port nodes can determine the node positional relationship of each routing node, such as adjacent, non-adjacent and separated by one routing node, non-adjacent and separated by two routing nodes, and relative routing nodes. The node positional information of these routing nodes is fixed in the octagonal network structure, and the encoding relationship between each of their first encoded information can reflect the corresponding node positional relationship. The encoding relationship can be the XOR result of any two first encoded information, or it can be the result of shifting one first encoded information by a certain number of bits to obtain another first encoded information, reflecting the node positional relationship between the corresponding two routing nodes.
[0134] Based on the node location relationships and the link information of each marker, it can be determined which adjacent link and cross link to use. Additionally, a path arbitration level is needed to establish preset path rules. It should be noted that the path arbitration level is to avoid path sharing contention during the path process. If there are two types of link paths: the first consists of adjacent links, and the second consists of cross links and adjacent links, considering that the path arbitration level of a cross link is 0, the second link path is preferred. The maximum value of the path arbitration level is the number of routing nodes traversed by the network diameter minus 1. For general routing algorithms, the arbitration level of each routing request is the same as the number of routing nodes traversed by that routing request. In this embodiment, taking a single-layer octagonal network structure as an example, for the longest routing request, there are 3 routing nodes traversed, but the arbitration level is two.
[0135] In step S14, the target path rules are determined based on the target first encoding information and target second encoding information deployed on the corresponding routing nodes of the source port node and the destination port node, as well as the preset path rules, to form the final target path. Here, the positional relationship between the routing nodes can be distinguished based on the number of shifts between the target first encoding information, and the target second encoding information can determine which adjacent link and which cross link to take, thus obtaining the final target path.
[0136] The beneficial effects of this invention are as follows: First, based on a single-layer octagonal network structure, multiple ports are distributed across eight routing nodes within the single-layer octagonal network structure. Each routing node deploys at least one port node. Compared to a conventional cubic network structure, without increasing the number of layers, each routing node carries multiple port nodes, laying them out in a single-layer octagonal network structure instead of a cubic topology, thus reducing the network diameter. Second, in this structure, the target first encoding information and target second encoding information of the source and destination port nodes deployed on their respective routing nodes are obtained. The encoding information of the routing nodes reflects the actual node positions between them, facilitating subsequent path calculation. Third, the adjacent and cross links between routing nodes are pre-marked based on the second encoding information corresponding to the port nodes, determining the marked link information. This allows subsequent routing to utilize the respective link information, ensuring that paths under multiple routing requests are not duplicated. Different links perform their respective functions, reducing the risk of path congestion and delay caused by sharing a single link, laying the foundation and marking settings for link paths, and ensuring orderly link information. In this process, the number of adjacent links between neighboring routing nodes is determined by the number of port nodes corresponding to the source and destination path directions under a single routing node. This confirms that the number of adjacent links distinguishes different path directions, and each path direction corresponds to links set by different port nodes, further reducing the risk of path sharing. The number of cross links between relative routing nodes is determined based on the number of port nodes under a single routing node. Considering that cross links will not cause arbitration, and also taking into account cross links corresponding to different port nodes, the order of cross links is guaranteed. Furthermore, the node position relationship of each port node is determined based on the movement bits of the first encoding information and the second encoding information corresponding to any two port nodes. Here, it is known whether two port nodes share the same routing node, or, if they do not share the same routing node, the node positions of their respective routing nodes, so as to facilitate the setting of path rules such as adjacent links and cross links corresponding to subsequent routes. In a single-layer octagonal network structure, the maximum number of arbitration levels between a port node and a destination port node is less than the number of routing nodes traversed in the network diameter (3) minus 1. This means the maximum number of arbitration levels is two. Compared to conventional routing rules where the number of arbitration levels in each routing request is equal to the number of routing nodes traversed, this reduction in arbitration levels decreases path congestion and latency caused by shared paths. The preset path rules are determined based on the above five factors, ensuring path order. Finally, the target path rule is determined based on the first and second target encoding information and the preset path rules to define the target path. This approach simplifies path calculation and improves routing efficiency.This simplifies subsequent layout and wiring, and facilitates the hardware implementation of the IO protocol controller.
[0137] In some embodiments, the construction process of a single-layer octagonal network structure includes:
[0138] Obtain the number of port nodes to be interconnected and the number of routing nodes corresponding to the single-layer octagonal network structure;
[0139] The first target port node for deployment of a single routing node is determined based on the number of port nodes and the number of routing nodes.
[0140] Assign first encoded information consisting of binary data to each routing node, and assign second encoded information under the routing node to each first destination port node;
[0141] The number of cross links between relative routing nodes and the number of adjacent links between adjacent routing nodes are determined based on the first number of first target port nodes deployed by a single routing node, so as to complete the construction of a single-layer octagonal network structure.
[0142] Specifically, the first target port node for deployment of a single routing node is determined based on the number of port nodes and the number of routing nodes. The number of the first target port node can be either an integer or non-integer division of the number of port nodes and the number of routing nodes. The construction process for 16 PCIe ports is as follows: Divide the 16 PCIe ports into eight groups, with two PCIe ports in each group; connect the two PCIe ports in the same group to the same routing node, resulting in a total of eight routing nodes. The above example assumes integer division. If the number of ports is not an integer multiple of the number of routing nodes, the quotient and remainder of the division must be used to determine the number of port node groups. For example, if the remainder is 1, the port node corresponding to that remainder is assigned to any one routing node, and the number of port node groups is the remainder plus the quotient. If the remainder is 2, the port node corresponding to that remainder is evenly distributed among any two routing nodes. Whenever a remainder exists, the port node corresponding to that remainder is evenly distributed among any of the eight routing nodes to ensure a uniform distribution of port nodes across all routing nodes and to avoid assigning all port nodes corresponding to remainders to only one routing node, which would increase the burden of adjacent links and complicate path algorithms.
[0143] Each routing node is assigned a first encoding information consisting of binary data, and each first destination port node is assigned a second encoding information belonging to its respective routing node. This encoding information setting facilitates subsequent calculations. Regarding the second encoding information, the second encoding information corresponding to each routing node in either a clockwise or counter-clockwise direction is the same.
[0144] The number of cross-links between relative routing nodes and the number of adjacent edge links between adjacent routing nodes are determined based on the first number of target port nodes deployed on a single routing node. If the first number is 3, then the number of cross-links between relative routing nodes is also 3, and the number of adjacent edge links between adjacent routing nodes is 3 × 2 = 6.
[0145] Figure 9 This is a schematic diagram of a link connection in a single-layer octagonal network structure provided in an embodiment of the present invention, as shown below. Figure 9 As shown, each routing node includes two port nodes. The number of adjacent links between any two routing nodes is 4, and the number of cross links between any two routing nodes is 2. Each link includes dual channels.
[0146] In the construction process of the single-layer octagonal network structure provided in this embodiment, the first encoding information and the second encoding information are deployed to the corresponding routing nodes and the port nodes under each routing node, respectively. Cross-links and adjacent links are connected to the routing nodes. This ensures that the number of port nodes that can be allocated under each routing node in the octagonal network structure is uniform, reducing the increase in the number of adjacent links and cross-links. It also reduces the number of layers in the octagonal network structure, simplifies the routing algorithm, and simplifies layout and wiring operations.
[0147] In some embodiments, the process of determining the first encoded information includes:
[0148] The target number of bits in binary data is determined based on the number of routing nodes in a single-layer octagonal network structure.
[0149] Determine each first binary data based on the binary data of the target number of bits;
[0150] The corresponding first encoding information is determined based on each first binary data.
[0151] Specifically, based on the number of routing nodes in the single-layer octagonal network structure, the target number of bits for the binary data is determined. Since there are 8 routing nodes, representing them with binary data requires at least 3 bits. The target number of bits is used to determine the first binary data for each routing node. Each first binary data is then used to determine the first encoding information corresponding to each routing node. This can be done by setting separate binary data for each routing node, or by circularly shifting a single binary data point left to determine the binary data for each routing node. This ensures that the position of each routing node in the single-layer octagonal network structure is clearly known during subsequent path routing, facilitating route calculation and the allocation of the first encoding information to the corresponding routing nodes.
[0152] The allocation process of the first encoding information of the ring structure provided in this embodiment makes full use of binary data to represent routing nodes. Compared with the use of sequence number arrangement, this embodiment can directly determine the position information between routing nodes in the subsequent routing calculation process.
[0153] In some embodiments, determining each first binary data based on binary data of a target number of bits includes:
[0154] The first initial binary data is determined based on the binary data of the target number of bits, wherein the first preset number of bits of the first initial binary data is zero, and the remaining second preset number of bits is 1;
[0155] Starting from the first initial binary data, along the counterclockwise direction of the single-layer octagonal network structure, the first initial binary data corresponding to the current routing node is shifted one bit to the right compared to the first initial binary data corresponding to the previous routing node to obtain their respective first binary data.
[0156] Correspondingly, the first encoded information is determined based on each first binary data, including:
[0157] The high four bits of each first binary data are extracted and used as the first encoded information for each routing node.
[0158] Specifically, the encoding of each port node is ( , ),in, The encoding of the routing node, A marker indicating a ring routing node. Figure 10 This is a schematic diagram of a cyclic left shift of first encoded information provided in an embodiment of the present invention, as shown below. Figure 10 As shown, it is a 4-bit binary data. The first 4 bits of the data obtained by cyclically shifting "00001111" to the left are used to encode each routing node. Figure 11 This is a schematic diagram of a cyclic right shift of first encoded information provided in an embodiment of the present invention, as shown below. Figure 11 As shown, in a counter-clockwise direction, the first 4 bits of the data obtained by cyclically shifting "00001111" to the right are used to encode each routing node.
[0159] like Figure 10As shown, the first preset number of bits in the first initial binary data is zero, and the remaining second preset number of bits is 1, i.e., 00001111, with the first 4 bits being the valid bits. Starting from the first initial binary data, along the counter-clockwise direction of the single-layer octagonal network structure, the first initial binary data corresponding to the current routing node is shifted one bit to the right (or one bit to the left, depending on the previous routing node's first initial binary data) to obtain the corresponding first binary data. The valid bits (high four bits) of each first binary data are extracted as the first encoded information corresponding to each routing node.
[0160] Define two functions: :Will Circular left shift Bit; :Will Circular right shift For example: , .
[0161] The process of determining the first encoding information provided in this embodiment enables each ring structure to be associated with each other through cyclic shifting of each first binary data, which facilitates the determination of the position information of each ring structure in the subsequent path calculation process, so as to facilitate the implementation of path routing.
[0162] In some embodiments, the process of determining the second encoded information includes:
[0163] The number of port nodes is divided by the number of routing nodes.
[0164] If the division is exact, the first quantity corresponding to the first target port node under each routing node is determined according to the quotient of the division process; if the division is not exact, the first data determined by the quotient and remainder of the division process is used as the first quantity corresponding to the first target port node under each routing node.
[0165] The number of bits corresponding to the binary data is determined based on the first quantity.
[0166] The second encoding information is set according to the number of bits; the second encoding information is the same for port nodes at the same location under a single routing node.
[0167] Specifically, the number of bits composed of binary data is determined based on the first quantity corresponding to the first target port node. Regarding the determination of the number of bits, the technical solution for the target number of bits in the first encoding information of the above embodiment can be referred to, and will not be elaborated here. The second encoding information corresponding to port nodes at the same position within each routing node is the same, facilitating subsequent routing calculations.
[0168] The first quantity is determined here. If the current number is not an integer multiple of the number of routing nodes (i.e., the number of port nodes is not an integer multiple of the number of routing nodes), the quotient and remainder of the division are used to determine the first quantity. It should be noted that, for example, if the remainder is 1, the port node corresponding to that remainder is assigned to any one routing node, and the number of its corresponding port node groups is the remainder + quotient. If the remainder is 2, the port node corresponding to that remainder needs to be evenly distributed between any two routing nodes. Whenever a remainder exists, the port node corresponding to that remainder needs to be evenly distributed among any of the eight routing nodes to ensure a uniform distribution of port nodes under each routing node. This avoids assigning all port nodes corresponding to remainders to only one routing node, which would increase the burden on the number of adjacent and cross-links and complicate the path algorithm.
[0169] Figure 12 This is a schematic diagram of the layout of encoded information under a single-layer octagonal network structure provided in an embodiment of the present invention, as shown below. Figure 12 As shown, in the octagonal network structure, the routing nodes use 4-bit first encoding information, which is cyclically shifted left by 1 bit in a clockwise direction. The second encoding information of each port node between routing nodes is the same, and the second encoding information corresponding to the clockwise position is the same.
[0170] The process of setting the second encoding information of the port node provided in this embodiment avoids confusion during subsequent path setting, which could lead to shared paths and increase latency.
[0171] In some embodiments, link marking processing is performed in advance on adjacent links and cross links between routing nodes based on the second encoding information corresponding to the port nodes, in order to determine the marked link information, including:
[0172] The adjacent links between each routing node are classified and marked according to the path direction and the second encoding information corresponding to the port nodes under a single routing node, so as to obtain the adjacent link information for different path directions.
[0173] The cross-links between relative routing nodes are marked based on the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information.
[0174] Specifically, during the link marking process, the adjacent links connecting each routing node are classified and marked according to the path direction and the second encoding information corresponding to the port node under a single routing node. Different path directions are distinguished for the adjacent links corresponding to each port node, such as the source path direction and the destination path direction, so that the link path corresponding to each port node is independent and not shared.
[0175] Similarly, in cross-link processing, the cross-links between relative routing nodes are marked based on the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information. Although the arbitration level for cross-links is 0, considering that there are multiple port nodes under a routing node, multiple port nodes are assigned their respective cross-links. In other words, the number of cross-links between relative routing nodes is the same as the number of port nodes under each routing node, ensuring that cross-links are not shared.
[0176] The link labeling process for adjacent links and cross links provided in this embodiment reduces contention for shared adjacent links and also reduces routing wait time for different port nodes on cross links, enabling each port node to route independently on both adjacent and cross links.
[0177] In some embodiments, the adjacent links between routing nodes are classified and labeled according to the path direction and the second encoding information corresponding to the port nodes under a single routing node to obtain adjacent link information for different path directions, including:
[0178] The source path direction and destination path direction of adjacent links are divided according to the path direction;
[0179] The source path direction is set on the outer link between adjacent routing nodes, and the destination path direction is set on the inner link between adjacent routing nodes; wherein the number of links in both the outer and inner links is the same as the number of port nodes in a single routing node.
[0180] According to the second encoding information of the port node under a single routing node, the corresponding link tags are set for the outer and inner links respectively to obtain the adjacent link information for different path directions.
[0181] Specifically, the path direction is distinguished into source path direction and destination path direction. The source path direction is set as the outer perimeter link between adjacent routing nodes, and the destination path direction is set as the inner perimeter link between adjacent routing nodes; wherein the number of outer perimeter links and inner perimeter links is the same as the number of port nodes of a single routing node. Furthermore, the second encoding information of the port nodes under a single routing node sets the same link tag for both the outer perimeter links and the inner perimeter links. Figure 13 A schematic diagram of an adjacent link marking provided in an embodiment of the present invention, such as... Figure 13 As shown, each routing node has two port nodes, 00 and 01. In the adjacent links between two routing nodes, distinguishing between the two path directions, the encoding information corresponding to the outer link and the inner link is the same as the second encoding information of the two port nodes.
[0182] The edge link information marking process provided in this embodiment enables each port node under each routing node to perform corresponding link routing under different path directions when routing edge links, thereby improving routing efficiency and preventing routing confusion errors between different path directions.
[0183] In some embodiments, the cross-links between relative routing nodes are marked according to the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information, including:
[0184] The number of cross links between relative routing nodes is set to be the same as the number of port nodes under a single routing node.
[0185] To obtain cross-link information, the same link tag as the second encoding information is set for each cross-link according to the second encoding information of the port node under the single routing node.
[0186] Specifically, considering that although the arbitration level of a cross-link is 0, there is only one cross-link in a conventional scheme, which means that if there is any contention, waiting is required. In this embodiment, the same number of cross-links is set according to the number of port nodes under a single routing node, and the link tags correspond to the second encoding information of the port nodes under a single routing node, so that the sharing problem is alleviated to a certain extent during the routing process of cross-links.
[0187] Figure 14 A schematic diagram of a cross-link marking provided in an embodiment of the present invention, such as... Figure 14 As shown, the two routing nodes are connected by two cross links, which are encoded as 00 and 01 respectively. The two links are divided according to the source PCIe port. Then it can only use the link encoded as 00. Then it can only use the link encoded as 01.
[0188] The cross-link information marking process provided in this embodiment enables each port node under each routing node to perform cross-link routing, reducing the waiting time for the previous cross-link routing and allowing each port node to independently use its corresponding cross-link.
[0189] In some embodiments, determining the node position relationship of each of the routing nodes based on the number of moves in the first encoding information corresponding to any two port nodes and the second encoding information includes:
[0190] If the first encoding information corresponding to two port nodes is the same, but the second encoding information is different, then the second target port node and the third target port node are determined to be the same routing node.
[0191] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 1 bit or left by 7 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be an adjacent position relationship.
[0192] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 2 bits or left by 6 bits to obtain the first encoding information of the other port node, then the node position relationship of the two port nodes is determined to be a non-adjacent position relationship with a distance of one routing node.
[0193] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 3 bits or left by 5 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be a non-adjacent position relationship with a gap of two routing nodes.
[0194] If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 4 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be the position relationship relative to the routing node.
[0195] Specifically, if the first encoding information of the routing nodes corresponding to the two port nodes is the same, it means that they belong to the same routing node location relationship. On this basis, if the second encoding information is different, it means that the second target port node and the third target port node are the same routing node.
[0196] If the first codes of two routing nodes are different, it means they do not belong to the same routing node location relationship. Figure 15 A schematic diagram of a single-layer octagonal network structure provided for an embodiment of the present invention, as shown below. Figure 15 As shown, shifting the first encoded information of one routing node to the left by 1 or 7 bits to obtain the first encoded information of another routing node indicates that the two routing nodes are adjacent. Shifting the first encoded information of one routing node to the left by 2 or 6 bits to obtain the first encoded information of another routing node indicates that the two routing nodes are not adjacent and are separated by one routing node. Shifting the first encoded information of one routing node to the left by 3 or 5 bits to obtain the first encoded information of another routing node indicates that the two routing nodes are not adjacent and are separated by two routing nodes. Shifting the first encoded information of one routing node to the left by 4 bits to obtain the first encoded information of another routing node indicates that the two routing nodes are in a relative routing node relationship.
[0197] This embodiment establishes the positional relationship between two routing nodes by using the movement bit relationship of their first encoded information. Based on this positional relationship, the routing algorithm can quickly locate the shortest path to the target node. Appropriate routing strategies are selected according to different network conditions and requirements, considering the distribution of port nodes in the network to avoid congestion during data transmission.
[0198] In some embodiments, a preset path rule is established based on node location relationships, marked link information, adjacent links, cross links, and path arbitration levels, including:
[0199] When the source port node and the destination port node are the same routing node, a first preset path rule is established based on the shortest path.
[0200] When the source port node and the destination port node are adjacent, or are not adjacent and separated by one routing node, a second preset path rule is established based on the marked link information, adjacent links, and path arbitration level.
[0201] When the source port node and the destination port node are not adjacent and are separated by two routing nodes, a third preset path rule is established based on the marked link information, adjacent links, cross links and path arbitration level.
[0202] When the source port node and the destination port node are in a relative routing node position relationship, a fourth preset path rule is established based on the marked link information, cross-links, and path arbitration level.
[0203] Specifically, all routing requests follow the shortest path routing. Here, considering that the source port node and the destination port node are in the same routing node, it is necessary to establish a first preset path rule based on the shortest path.
[0204] When the routing nodes to which the two port nodes belong are adjacent, or when they are not adjacent and separated by one routing node, the adjacent link corresponding to the marked link information needs to be used. Therefore, a second preset path rule is established based on the marked link information, the adjacent link, and the path arbitration level.
[0205] When the source and destination port nodes are not adjacent and are separated by two routing nodes, considering that only the adjacent links with the marked link information are used, the number of arbitration levels will be high. If cross links are also considered and adjacent links are used less, the arbitration level of the cross links will be 0, thus reducing the corresponding number of arbitration levels. These factors are considered comprehensively to establish the third preset path rule.
[0206] When the source and destination port nodes are in a relative routing node position relationship, that is, only considering the cross-links to reduce the number of arbitration levels corresponding to the routing paths of adjacent links between the two routing nodes, the fourth preset path rule is established by taking these factors into account.
[0207] This embodiment provides different preset path rules based on the characteristics of different routing node location relationships, combined with the arbitration level and the shortest distance of the network diameter. This improves the flexibility and accuracy of the path rules, ensuring fast paths while increasing routing efficiency.
[0208] In some embodiments, establishing a first preset path rule based on the shortest path includes:
[0209] The first path is determined by the path between the source port node and the corresponding routing node.
[0210] The second path is determined by the path between the destination port node and the corresponding routing node.
[0211] The first path and the second path are used as the final paths to establish the first preset path rule.
[0212] Specifically, for a routed request, the source PCIe port The encoding is denoted as Destination PCIe port The encoding is denoted as ,if This indicates that the route has been routed to the target routing node, and can be directly accessed from there. Internal routing can be completed by directing the data to the corresponding PCIe port.
[0213] The path between the source port node and its corresponding routing node is taken as the first path, the path between the destination port node and its corresponding routing node is taken as the second path, and the first path and the second path are taken as the final path to establish a first preset path rule.
[0214] The first preset path rule established under the same routing node in this embodiment is set according to the shortest path rule, which ensures data transmission efficiency while reducing the occurrence of path sharing.
[0215] In some embodiments, a second preset path rule is established based on the marked link information, adjacent links, and path arbitration level, including:
[0216] The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node.
[0217] When the first routing node and the second routing node are adjacent, the first sub-preset path rule is determined based on the path arbitration level, the peripheral link of the adjacent link, and the adjacent link information corresponding to the second encoding information of the source port node;
[0218] When the first routing node and the second routing node are not adjacent and are separated by one routing node, the second sub-preset path rule is determined based on the peripheral link of the adjacent link, the inner link of the adjacent link, the path arbitration level, the adjacent link information corresponding to the second encoding information of the source port node and the destination port node.
[0219] Specifically, if two routing nodes are adjacent, there will be links with different path directions for the adjacent links. Here, only one adjacent link is needed to route to the destination routing node, i.e., the second routing node. In the adjacent links between the first and second routing nodes, it's necessary to check if the next step will reach the destination routing node to determine which path direction to take and which adjacent link within that path direction. This is determined by using the adjacent link information corresponding to the second encoding information under the source port node in that path direction to determine the first sub-preset path rule. If... Circular left shift by 1 bit / left shift by 7 bits results in , and The routing node is directly connected via an adjacent edge, and the path is... .
[0220] If two routing nodes are not adjacent and are separated by one routing node, routing to the destination routing node requires two adjacent links. The specific path direction and which adjacent link within that path are crucial. First, the adjacent link between the first routing node and the intermediate routing node is used to determine if the destination routing node can be reached in the next step. If not, routing to the intermediate routing node is performed according to the second encoding information of the outer link corresponding to the source port node. Then, routing is performed using the second encoding information of the inner link of the adjacent link from the intermediate routing node to the destination routing node. If... Circular left shift by 2 bits to obtain This indicates the current PCIe port. With the destination PCIe port The associated routing nodes are not directly connected and there is one routing node in between; the path is: .
[0221] The adjacent position relationships provided in this embodiment, or the non-adjacent position relationships separated by one routing node, each have their own set sub-preset path rules, corresponding to adjacent links under different path directions. This ensures that when using adjacent links, routing is performed according to their respective port nodes, thereby improving transmission efficiency.
[0222] In some embodiments, determining the first sub-preset path rule based on the path arbitration level, the peripheral links of the adjacent links, and the adjacent link information corresponding to the second encoding information of the source port node includes:
[0223] Set the outer link of the adjacent link as the outer link of the source port node;
[0224] The path from the source port node to the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein, the path arbitration level corresponding to the second path is level one;
[0225] Determine whether the next routing node of the first routing node is the second routing node corresponding to the destination port node;
[0226] If so, the link path within the peripheral link of the source port node, based on the adjacent link information corresponding to the second encoding information of the source port node, shall be used as the first target path.
[0227] The first path, the first target path, and the second path are used as the final path to establish the first sub-preset path rule.
[0228] Specifically, the peripheral links of the adjacent links are designated as the peripheral links of the source port node, and the paths between the source port node and the first routing node, as well as the paths between the destination port node and the second routing node, are not marked.
[0229] Determine whether the next routing node of the first routing node is the second routing node. If so, directly use the link path of the adjacent link information corresponding to the second encoding information of the source port node as the first target path. In this way, the first path, the first target path and the second path are used as the final path to establish the first sub-preset path rule.
[0230] In the process of the first sub-preset path rule provided in this embodiment, the source routing node is routed to the destination routing node through the adjacent link. Here, only the link path of the outer link of the source port node on the adjacent link corresponding to the second encoded information of the source port node is considered. This can quickly locate the adjacent links in different path directions and improve routing efficiency.
[0231] In some embodiments, the second sub-preset path rule is determined based on the peripheral link of the adjacent link, the inner link of the adjacent link, the path arbitration level, the adjacent link information corresponding to the second encoding information of the source port node and the destination port node, including:
[0232] Set the outer link of the adjacent link as the outer link of the source port node, and set the inner link of the adjacent link as the inner link of the destination port node.
[0233] The path from the source port node to the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level;
[0234] The interval routing node between the first and second routing nodes is designated as the third routing node;
[0235] Within the peripheral link of the source port node between the first routing node and the third routing node, the link path corresponding to the adjacent link information of the second encoding information of the source port node is used as the second target path.
[0236] Determine whether the next routing node of the third routing node is the second routing node;
[0237] If so, the link path within the inner link of the source port node according to the adjacent link information corresponding to the second encoding information of the destination port node shall be the third target path, wherein the path arbitration level corresponding to the third target path is the second level.
[0238] The first path, the second target path, the third target path, and the second path are used as the final path to establish the second sub-preset path rule.
[0239] Specifically, the inner link of the adjacent link is set as the inner link of the destination port node. Simultaneously, the interval routing node between the first and second routing nodes is determined as the third routing node. The link path within the outer link of the source port node between the first and third routing nodes, based on the adjacent link information corresponding to the second encoding information of the source port node, is used as the second target path. It is then determined whether the next routing node of the third routing node is the second routing node, i.e., the destination routing node. If so, the link path within the inner link of the source port node, based on the adjacent link information corresponding to the second encoding information of the destination port node, is used as the third target path. The first path, second target path, third target path, and second path are then used as the final path to establish the second sub-preset path rule.
[0240] For example: source routing node , target routing node According to the above rules, the path is:
[0241] ;
[0242] Link 10 is the link path of the adjacent link information corresponding to the second encoding information of the source port node; Link 00 is the link path of the adjacent link information corresponding to the second encoding information of the destination port node.
[0243] In the process of establishing the second sub-preset path rule provided in this embodiment, after reaching the third routing node through the adjacent link, it then reaches the second routing node through the adjacent link again. The path direction of each adjacent link needs to follow its own settings, which can quickly locate the corresponding adjacent link according to different path directions, thereby improving routing efficiency.
[0244] In some embodiments, a third preset path rule is established based on the marked link information, adjacent links, cross links, and path arbitration level, including:
[0245] The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node.
[0246] The path from the source port node to the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level;
[0247] Set the outer link of the adjacent link as the outer link of the source port node, and set the inner link of the adjacent link as the inner link of the destination port node.
[0248] Set the cross-link as the source port node cross-link;
[0249] The fourth routing node is determined as the interval routing node between the first and second routing nodes according to the path arbitration mechanism; the first and fourth routing nodes are connected through a cross link; the second and fourth routing nodes are connected through an adjacent link.
[0250] Within the cross-link of the source port node between the first routing node and the fourth routing node, the link path corresponding to the cross-link information of the second encoding information of the source port node is taken as the fourth destination path;
[0251] Determine if the next routing node of the fourth routing node is the second routing node;
[0252] If so, the link path within the inner link of the source port node according to the adjacent link information corresponding to the second encoding information of the destination port node shall be the fifth target path, wherein the path arbitration level corresponding to the fifth target path is the second level.
[0253] The first path, the fourth target path, the fifth target path, and the second path are used as the final paths to establish the third preset path rule.
[0254] Specifically, when considering the positional relationship between two routing nodes, if only the adjacent link is used, the corresponding path arbitration level is level three. If the cross link is used first to reach the relative routing node, and then the adjacent link is used, the corresponding path arbitration level is level one. Therefore, the latter method should be chosen, using the cross link first. Based on the path arbitration mechanism, the fourth routing node is determined as the interval between the first and second routing nodes. Here, the relationship between the fourth and first routing nodes is a relative routing node relationship, and the relationship between the fourth and second routing nodes is an adjacent routing node relationship. The first and fourth routing nodes are connected via a cross link; the second and fourth routing nodes are connected via an adjacent link.
[0255] Within the cross-link of the source port node between the first and fourth routing nodes, the link path corresponding to the cross-link information of the second encoding information of the source port node is taken as the fourth destination path. If the next routing node after the fourth routing node is the second routing node, then the link path within the inner link of the source port node, according to the adjacent link information corresponding to the second encoding information of the destination port node, is taken as the fifth destination path. The first path, the fourth destination path, the fifth destination path, and the second path are used as the final paths to establish a third preset path rule.
[0256] if Circular left shift by 3 bits to obtain This indicates the current PCIe port. With the destination PCIe port The path is as follows: The given routing nodes are not directly connected and are separated by two routing nodes. .
[0257] For example: source routing node Target routing node Based on the above rules, the path is:
[0258] ;
[0259] Link 10 is the link path of the adjacent link information corresponding to the second encoding information of the source port node; Link 00 is the link path of the adjacent link information corresponding to the second encoding information of the destination port node.
[0260] In the process of establishing the third preset path rule provided in this embodiment, the path first reaches the interval routing node through the cross link, and then reaches the destination routing node through the adjacent link. This reduces the path sharing problem of adjacent links and reduces the number of arbitration levels, making the path rule more flexible.
[0261] In some embodiments, a fourth preset path rule is established based on the marked link information, cross-links, and path arbitration level, including:
[0262] The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node.
[0263] The path from the source port node to the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level;
[0264] The cross link between the first and second routing nodes is determined according to the path arbitration mechanism, and the cross link is set as the source port node cross link.
[0265] Within the cross-link of the source port node between the first routing node and the second routing node, the link path corresponding to the cross-link information of the second encoding information of the source port node is taken as the sixth destination path;
[0266] The first path, the sixth target path, and the second path are used as the final paths to establish the fourth preset path rule.
[0267] Specifically, considering the arbitration mechanism, since the two routing nodes are in a relative routing node positional relationship, they need to be routed directly through a cross-link. Within the cross-link of the source port node between the first and second routing nodes, the link path corresponding to the cross-link information of the second encoding information of the source port node is used as the sixth destination path. The first path, the sixth destination path, and the second path are used as the final paths to establish the fourth preset path rule.
[0268] if Circular left shift by 4 bits to obtain This indicates the current PCIe port. With the destination PCIe port When the associated routing nodes are directly connected via cross-links, the path is: .
[0269] In the process of establishing the fourth preset path rule provided in this embodiment, cross-link routing is used to route to the destination routing node, reducing the delay of arbitration levels and improving data transmission efficiency.
[0270] In typical routing algorithms, the number of arbitration levels for each routing request is the same as the number of routing nodes it traverses. In this invention, for the routing request with the longest path, there are 3 routing nodes, but the number of arbitration levels is two. For example, suppose the source routing node... exist The destination routing node is According to the routing rules of this invention, the routing path is as follows: Link 10 is the link path of the adjacent link information corresponding to the second encoding information of the source port node; Link 00 is the link path of the adjacent link information corresponding to the second encoding information of the destination port node.
[0271] In the process In this context, each path is unique. Yes, there will be no competition. In the process... In this case, the path is shared, which will generate arbitration. Therefore, arbitration occurs at the exit of routing node 0000 to 1000 and at the exit of routing node 1000 to the destination PCIE port (1000, 00), resulting in two levels of arbitration.
[0272] In some embodiments, after determining the target path, the method further includes:
[0273] When there are multiple path requests at the same time, and all of them pass through the adjacent link between two routing nodes, determine whether the target link paths under the link tags corresponding to the multiple path requests are the same.
[0274] If they are the same, routing is performed according to the time order in which multiple path requests arrive at the target link path.
[0275] Specifically, different path requests may exist at the same time. If the target link paths are the same, the issue of path sharing needs to be considered. It should be noted that the path sharing in this embodiment is different from the path sharing situation corresponding to the arbitration level mentioned above. The path sharing in this embodiment is under the arbitration level of the above embodiment, where the link direction and link path are the same. In this case, routing needs to be performed according to the time order, that is, the path request that arrives earlier should be processed first.
[0276] In this embodiment, when multiple path requests correspond to the same path, they are processed in chronological order to improve the orderliness of routing paths and also improve transmission efficiency.
[0277] Furthermore, the present invention also provides a switch, including various switch ports; wherein, the various switch ports are interconnected by establishing an interconnection network through the steps of the path determination method based on the single-layer octagonal network structure described above, so as to perform communication processing on the devices connected to each switch port.
[0278] For an introduction to the switch provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above-described path determination method based on a single-layer octagonal network structure.
[0279] The foregoing has described in detail various embodiments of the path determination method based on a single-layer octagonal network structure. Based on this, the present invention also discloses a path determination apparatus based on a single-layer octagonal network structure corresponding to the above method. Figure 16 This is a structural diagram of a path determination device based on a single-layer octagonal network structure, provided as an embodiment of the present invention. Figure 16 As shown, the device includes:
[0280] The acquisition module 11 is used to acquire the target first encoding information and target second encoding information of the source port node and the destination port node respectively deployed on the corresponding routing node based on a single-layer octagonal network structure; wherein, a routing node deploys at least one port node;
[0281] The first determining module 12 is used to pre-process the adjacent links and cross links between each routing node according to the second encoding information corresponding to the port node, so as to determine the marked link information; wherein, the number of adjacent links between adjacent routing nodes is determined by the number of port nodes corresponding to the source path direction and the destination path direction under a routing node; and the number of cross links between relative routing nodes in the octagonal network structure is determined by the number of port nodes corresponding to a routing node.
[0282] The second determining module 13 is used to determine the node position relationship of the routing nodes to which each of the two port nodes belongs based on the number of moves of the first encoding information and the second encoding information, and to establish a preset path rule based on the node position relationship, the marked link information, adjacent links, cross links and path arbitration level; wherein, the critical value of the path arbitration level is less than or equal to the number of routing nodes traversed by the network diameter minus 1.
[0283] The third determining module 14 is used to determine the target path rule based on the target first encoding information, the target second encoding information and the preset path rule, and to determine the target path between the source port node and the destination port node based on the target path rule.
[0284] Since the embodiments of the device part correspond to the embodiments described above, please refer to the embodiments described in the method part for the embodiments of the device part, and will not be repeated here.
[0285] For a description of the path determination device based on a single-layer octagonal network structure provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above-described path determination method based on a single-layer octagonal network structure.
[0286] Figure 17 A structural diagram of another path determination device based on a single-layer octagonal network structure provided in an embodiment of the present invention is shown below. Figure 17 As shown, the device includes:
[0287] Memory 21 is used to store computer programs;
[0288] Processor 22 is used to implement the steps of a path determination method based on a single-layer octagonal network structure when executing a computer program.
[0289] The path determination device based on a single-layer octagonal network structure provided in this embodiment can include, but is not limited to, smartphones, tablets, laptops, or desktop computers.
[0290] The processor 22 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 22 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array. The processor 22 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 22 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 22 may also include an Artificial Intelligence (AI) processor, which is used to handle computational operations related to machine learning.
[0291] The memory 21 may include one or more computer-readable storage media, which may be non-transitory. The memory 21 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 21 is used to store at least the following computer program 211, which, after being loaded and executed by the processor 22, is capable of implementing the relevant steps of the path determination method based on a single-layer octagonal network structure disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 21 may also include an operating system 212 and data 213, etc., and the storage method may be temporary storage or permanent storage. The operating system 212 may include Windows, Unix, Linux, etc. The data 213 may include, but is not limited to, the data involved in the path determination method based on a single-layer octagonal network structure, etc.
[0292] In some embodiments, the path determination device based on a single-layer octagonal network structure may further include a display screen 23, an input / output interface 24, a communication interface 25, a power supply 26, and a communication bus 27.
[0293] Those skilled in the field can understand, Figure 17 The structure shown does not constitute a limitation on a path determination device based on a single-layer octagonal network structure and may include more or fewer components than shown.
[0294] The processor 22 implements the path determination method based on a single-layer octagonal network structure provided in any of the above embodiments by calling instructions stored in the memory 21.
[0295] For a description of the path determination device based on a single-layer octagonal network structure provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the above-described path determination method based on a single-layer octagonal network structure.
[0296] Furthermore, the present invention also provides a computer-readable storage medium storing a computer program, which, when executed by processor 22, implements the steps of the path determination method based on a single-layer octagonal network structure as described above.
[0297] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0298] For an introduction to the computer-readable storage medium provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the path determination method based on a single-layer octagonal network structure described above.
[0299] Furthermore, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of a path determination method based on a single-layer octagonal network structure.
[0300] For an introduction to the computer program product provided by the present invention, please refer to the above method embodiments. The present invention will not be described in detail here, but it has the same beneficial effects as the path determination method based on a single-layer octagonal network structure.
[0301] The path determination method and switch based on a single-layer octagonal network structure provided by this invention have been described in detail above. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and relevant parts can be referred to the method section. It should be noted that those skilled in the art can make several improvements and modifications to this invention without departing from the principles of this invention, and these improvements and modifications also fall within the protection scope of this invention.
[0302] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
Claims
1. A path determination method based on a single-layer octagonal network structure, characterized in that, include: Based on a single-layer octagonal network structure, the target first encoding information and target second encoding information of the source port node and the destination port node are respectively deployed on the corresponding routing nodes; wherein, each routing node deploys at least one port node. The adjacent links and cross links between each routing node are pre-marked according to the second encoding information corresponding to the port nodes to determine the marked link information; the number of adjacent links between adjacent routing nodes is determined by the number of port nodes corresponding to the source path direction and the destination path direction under a routing node; the number of cross links between relative routing nodes in the octagonal network structure is determined by the number of port nodes corresponding to a routing node. The node position relationship of each of the routing nodes is determined based on the number of moves in the first encoding information corresponding to any two port nodes and the second encoding information. A preset path rule is established based on the node position relationship, the marked link information, adjacent links, cross links and path arbitration level. The critical value of the path arbitration level is less than or equal to the number of routing nodes traversed by the network diameter minus 1. The target path rule is determined based on the first target encoding information, the second target encoding information, and the preset path rule, and the target path between the source port node and the destination port node is determined based on the target path rule; Correspondingly, the construction process of a single-layer octagonal network structure includes: Obtain the number of port nodes to be interconnected and the number of routing nodes corresponding to the single-layer octagonal network structure; The first target port node for deployment of a single routing node is determined based on the number of port nodes and the number of routing nodes; Assign first encoded information consisting of binary data to each routing node, and assign second encoded information under the routing node to each first destination port node; The number of cross links between relative routing nodes and the number of adjacent edge links between adjacent routing nodes are determined based on the first number of first target port nodes deployed by a single routing node, so as to complete the construction of the single-layer octagonal network structure.
2. The path determination method based on a single-layer octagonal network structure according to claim 1, characterized in that, Pre-marking is performed on adjacent links and cross-links between routing nodes based on the second encoding information corresponding to the port nodes, in order to determine the marked link information, including: The adjacent links between each routing node are classified and marked according to the path direction and the second encoding information corresponding to the port nodes under a single routing node, so as to obtain the adjacent link information for different path directions. The cross-links between relative routing nodes are marked based on the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information.
3. The path determination method based on a single-layer octagonal network structure according to claim 2, characterized in that, The adjacent links between each routing node are classified and labeled based on the path direction and the second encoding information corresponding to the port nodes under a single routing node, in order to obtain adjacent link information for different path directions, including: The source path direction and destination path direction of adjacent links are divided according to the path direction; The source path direction is set on the outer link between adjacent routing nodes, and the destination path direction is set on the inner link between adjacent routing nodes; wherein the number of the outer link and the number of the inner link are the same as the number of port nodes of a single routing node. According to the second encoding information of the port node under a single routing node, the corresponding link tags are set for the outer and inner links respectively to obtain the adjacent link information for different path directions.
4. The path determination method based on a single-layer octagonal network structure according to claim 3, characterized in that, The cross-links between relative routing nodes are marked based on the second encoding information corresponding to the port nodes under a single routing node to obtain cross-link information, including: The number of cross links between relative routing nodes is set to be the same as the number of port nodes under a single routing node. To obtain cross-link information, the same link tag as the second encoding information is set for each cross-link according to the second encoding information of the port node under the single routing node.
5. The path determination method based on a single-layer octagonal network structure according to claim 4, characterized in that, The node position relationship of each port node is determined based on the number of shifts in the first encoded information and the second encoded information corresponding to the two port nodes, including: If the first encoding information corresponding to the two port nodes is the same, and the second encoding information is different, then the second target port node and the third target port node are determined to be the same routing node. If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 1 bit or left by 7 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be an adjacent position relationship. If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 2 bits or left by 6 bits to obtain the first encoding information of the other port node, then the node position relationship of the two port nodes is determined to be a non-adjacent position relationship with a distance of one routing node. If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 3 bits or left by 5 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be a non-adjacent position relationship with a gap of two routing nodes. If the first encoding information corresponding to the two port nodes is different, and the first encoding information of one port node is shifted left by 4 bits to obtain the first encoding information of the other port node, then the node position relationship between the two port nodes is determined to be the position relationship relative to the routing node.
6. The path determination method based on a single-layer octagonal network structure according to claim 5, characterized in that, Based on the node positional relationships, marked link information, adjacent links, cross links, and path arbitration levels, preset path rules are established, including: When the source port node and the destination port node are the same routing node, a first preset path rule is established based on the shortest path. When the source port node and the destination port node are adjacent, or are not adjacent and separated by one routing node, a second preset path rule is established based on the marked link information, adjacent links, and path arbitration level. When the source port node and the destination port node are not adjacent and are separated by two routing nodes, a third preset path rule is established based on the marked link information, adjacent links, cross links and path arbitration level. When the source port node and the destination port node are in a relative routing node position relationship, a fourth preset path rule is established based on the marked link information, cross-links, and path arbitration level.
7. The path determination method based on a single-layer octagonal network structure according to claim 6, characterized in that, Establish a first preset path rule based on the shortest path, including: The path between the source port node and the corresponding routing node is used as the first path; The second path is determined by the path between the destination port node and the corresponding routing node. The first path and the second path are used as the final paths to establish the first preset path rule.
8. The path determination method based on a single-layer octagonal network structure according to claim 6, characterized in that, A second preset path rule is established based on the marked link information, adjacent links, and path arbitration level, including: The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node. When the first routing node and the second routing node are adjacent, the first sub-preset path rule is determined based on the path arbitration level, the peripheral link of the adjacent link, and the adjacent link information corresponding to the second encoding information of the source port node; When the first routing node and the second routing node are not adjacent and are separated by one routing node, the second sub-preset path rule is determined based on the outer link of the adjacent link, the inner link of the adjacent link, the path arbitration level, the adjacent link information corresponding to the second encoding information of the source port node and the destination port node.
9. The path determination method based on a single-layer octagonal network structure according to claim 8, characterized in that, The first sub-preset path rule is determined based on the path arbitration level, the peripheral links of the adjacent links, and the adjacent link information corresponding to the second encoding information of the source port node, including: Set the peripheral link of the adjacent link as the peripheral link of the source port node; The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein, the path arbitration level corresponding to the second path is level one; Determine whether the next routing node of the first routing node is the second routing node corresponding to the destination port node; If so, then the link path of the adjacent link information corresponding to the second encoding information of the source port node within the peripheral link of the source port node shall be used as the first target path; The first path, the first target path, and the second path are used as the final path to establish a first sub-preset path rule.
10. The path determination method based on a single-layer octagonal network structure according to claim 8, characterized in that, The second sub-preset path rule is determined based on the peripheral links of the adjacent link, the inner links of the adjacent link, the path arbitration level, and the adjacent link information corresponding to the second encoding information of the source port node and the destination port node, including: Set the outer link of the adjacent link as the outer link of the source port node, and set the inner link of the adjacent link as the inner link of the destination port node. The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level; The interval routing node between the first routing node and the second routing node is determined to be the third routing node; Within the peripheral link of the source port node between the first routing node and the third routing node, the link path corresponding to the adjacent link information of the second encoding information of the source port node is used as the second target path; Determine whether the next routing node of the third routing node is the second routing node; If so, the link path within the inner link of the source port node according to the adjacent link information corresponding to the second encoding information of the destination port node is taken as the third target path, wherein the path arbitration level corresponding to the third target path is the second level; The first path, the second target path, the third target path, and the second path are used as the final path to establish a second sub-preset path rule.
11. The path determination method based on a single-layer octagonal network structure according to claim 8, characterized in that, A third preset path rule is established based on the marked link information, adjacent links, cross links, and path arbitration level, including: The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node. The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level; Set the outer link of the adjacent link as the outer link of the source port node, and set the inner link of the adjacent link as the inner link of the destination port node. Set the cross link as the source port node cross link; The fourth routing node is determined as the interval routing node between the first routing node and the second routing node according to the path arbitration mechanism; wherein, the first routing node and the fourth routing node are connected through a cross link; and the second routing node and the fourth routing node are connected through an adjacent link. Within the cross-link of the source port node between the first routing node and the fourth routing node, the link path corresponding to the cross-link information of the second encoding information of the source port node is used as the fourth target path; Determine whether the next routing node of the fourth routing node is the second routing node; If so, the link path within the inner link of the source port node according to the adjacent link information corresponding to the second encoding information of the destination port node is taken as the fifth target path, wherein the path arbitration level corresponding to the fifth target path is the second level; The first path, the fourth target path, the fifth target path, and the second path are used as the final paths to establish a third preset path rule.
12. The path determination method based on a single-layer octagonal network structure according to claim 8, characterized in that, A fourth preset path rule is established based on the marked link information, cross-links, and path arbitration level, including: The routing node corresponding to the source port node is designated as the first routing node, and the routing node corresponding to the destination port node is designated as the second routing node. The path between the source port node and the first routing node is taken as the first path; and the path between the destination port node and the second routing node is taken as the second path; wherein the path arbitration level corresponding to the second path is the first level; The cross link between the first routing node and the second routing node is determined according to the path arbitration mechanism, and the cross link is set as the source port node cross link; Within the cross-link of the source port node between the first routing node and the second routing node, the link path corresponding to the cross-link information of the second encoding information of the source port node is taken as the sixth target path; The first path, the sixth target path, and the second path are used as the final paths to establish a fourth preset path rule.
13. The path determination method based on a single-layer octagonal network structure according to claim 1, characterized in that, The process of determining the first encoded information includes: The target number of bits in binary data is determined based on the number of routing nodes in a single-layer octagonal network structure. Each first binary data is determined based on the binary data of the target number of bits; The corresponding first encoding information is determined based on each of the first binary data.
14. The path determination method based on a single-layer octagonal network structure according to claim 13, characterized in that, Each first binary data is determined based on the binary data of the target number of bits, including: The first initial binary data is determined based on the binary data of the target number of bits, wherein the first first preset number of bits of the first initial binary data is zero, and the remaining second preset number of bits is 1; Starting from the first initial binary data, along the counterclockwise direction of the single-layer octagonal network structure, the first initial binary data corresponding to the current routing node is shifted one bit to the right compared to the first initial binary data corresponding to the previous routing node to obtain their respective first binary data. Correspondingly, the first encoding information is determined based on each of the first binary data, including: The high four bits of each of the first binary data are extracted and used as the first encoding information corresponding to each routing node.
15. The path determination method based on a single-layer octagonal network structure according to claim 1, characterized in that, The process of determining the second encoded information includes: The number of port nodes is divided by the number of routing nodes. If the division is exact, the first quantity corresponding to the first target port node under each routing node is determined according to the quotient of the division process; if the division is not exact, the first data determined by the quotient and remainder of the division process is used as the first quantity corresponding to the first target port node under each routing node. The number of bits corresponding to the binary data is determined based on the first quantity; The second encoding information is set according to the number of bits; wherein, the second encoding information is the same for port nodes at the same location under a single routing node.
16. The path determination method based on a single-layer octagonal network structure according to claim 1, characterized in that, After determining the target path, the method further includes: When there are multiple path requests at the same time, and all of them pass through the adjacent link between two routing nodes, determine whether the target link paths under the link tags corresponding to the multiple path requests are the same. If they are the same, routing is performed according to the time order in which multiple path requests arrive at the target link path.
17. A switch, characterized in that, It includes each switch port; wherein, each switch port is connected to the other through the steps of the path determination method based on a single-layer octagonal network structure as described in any one of claims 1 to 16, so as to perform communication processing on the devices connected to each switch port.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the path determination method based on a single-layer octagonal network structure as described in any one of claims 1 to 16.
19. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the path determination method based on a single-layer octagonal network structure as described in any one of claims 1 to 16.
Citation Information
Patent Citations
Fault-tolerant on-chip network system with global communication service management capability and method
CN103973482A
Method of constructing data center switching network and node apparatus
CN104883224A