Packet sending method, routing configuration method, and related apparatus

By generating a mesh network in a Torus network, determining multiple communication paths, and utilizing logical identifiers and port relationships, the problem of insufficient communication path planning in a Torus network is solved, achieving efficient and deadlock-free communication path planning.

WO2026026411A1PCT designated stage Publication Date: 2026-02-05HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/105435
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-31
Filing Date
2025-06-30
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

In Torus networks, existing technologies struggle to effectively utilize network path connectivity, leading to insufficient communication path planning, potential deadlocks, and low communication efficiency.

Method used

By generating a Mesh network corresponding to the Torus network, multiple communication paths from the second physical node to the first physical node are determined using the direct connections in the Mesh network, and messages are sent based on logical identifiers and port correspondences to ensure the accuracy and efficiency of the paths.

Benefits of technology

It improves the communication performance between physical nodes in the Torus network, ensures fast and accurate path routing, avoids deadlock, and improves communication efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025105435_05022026_PF_FP_ABST
    Figure CN2025105435_05022026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and discloses a packet sending method, a routing configuration method, and a related apparatus. The method comprises: acquiring a destination logical identifier of a packet, wherein the destination logical identifier is one of a plurality of logical identifiers corresponding to a first physical node in a Torus network, the plurality of logical identifiers are used for indicating a plurality of communication paths from a second physical node to the first physical node, the plurality of communication paths are determined by means of a Mesh network, and the connection relationship between nodes in the Torus network is the same as the connection relationship between nodes in the Mesh network; and sending the packet by means of a port corresponding to the destination logical identifier, so as to transmit the packet to the first physical node along a corresponding communication path. In the present application, the plurality of communication paths are determined on the basis of the Mesh network corresponding to the Torus network, and on the basis of the destination logical identifier of the packet, a physical node in the Torus network can transmit the packet to the first physical node.
Need to check novelty before this filing date? Find Prior Art

Description

Message sending method, routing configuration method and related devices

[0001] This application claims priority to Chinese Patent Application No. 202411046413.3, filed on July 31, 2024, entitled "Message Transmission Method, Routing Configuration Method and Related Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a message sending method, a routing configuration method, and related apparatus. Background Technology

[0003] A torus network is a directly connected network architecture, as shown in Figure 1. A torus network can be represented as an N-dimensional network. Communication between physical nodes in a torus network is achieved by establishing direct connections between adjacent physical nodes in each dimension (D). For example, in a one-dimensional torus (1D torus), each physical node has a degree (also called the number of connections per physical node) of 2, meaning each physical node can directly communicate with its two adjacent physical nodes and can communicate with other nodes along the directions of these two physical nodes. In a two-dimensional torus (2D torus) network, each physical node has a degree of 4, meaning each physical node can directly communicate with its four adjacent physical nodes and can communicate with other nodes along the directions of these four physical nodes. In a three-dimensional torus (3D torus) network, each physical node has a degree of 6, meaning each physical node can directly communicate with its six adjacent physical nodes and can communicate with other nodes along the directions of these six physical nodes.

[0004] Because physical nodes in a Torus network have rich connectivity, meaning that there are multiple possible communication paths for each physical node when sending messages to other physical nodes, how to plan the communication paths between each physical node and other physical nodes, so as to achieve message sending based on the planned communication paths, has become an urgent technical problem to be solved. Summary of the Invention

[0005] This application provides a message sending method, a routing configuration method, and related apparatus, which can determine multiple communication paths from a second physical node to a first physical node in a Torus network, and perform message sending based on these multiple communication paths to ensure communication performance between physical nodes throughout the Torus network. The technical solution is as follows:

[0006] Firstly, a message sending method is provided, the method comprising:

[0007] Obtain the destination logical identifier of the message; wherein the destination logical identifier is one of multiple logical identifiers corresponding to the first physical node in the Torus network, the multiple logical identifiers are used to indicate multiple communication paths from the second physical node to the first physical node in the Torus network, the multiple communication paths are determined by the Mesh network corresponding to the Torus network, the Torus network includes multiple physical nodes, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes; send the message through the port corresponding to the destination logical identifier to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

[0008] The connection relationships between multiple logical nodes are the same as those between multiple physical nodes. This can be understood as follows: for the first and second physical nodes in the Torus network, if the first and second physical nodes are directly connected, then the first and second logical nodes are also directly connected. Here, the first logical node is the logical node corresponding to the first physical node in the Mesh network, and the second logical node is the logical node corresponding to the second physical node in the Mesh network.

[0009] Therefore, it is evident that, compared to a Torus network, a Mesh network eliminates loops in the connection relationships, directly presenting the physical nodes connected to each physical node in both directions of each dimension. Thus, when planning multiple communication paths from the second physical node to the first physical node in a Torus network, these paths can be determined based on the Mesh network. Therefore, this application does not directly determine the communication paths between physical nodes in the Torus network, but rather in the Mesh network corresponding to the Torus network. Since the Mesh network directly displays the connections between physical nodes in the Torus network, it can quickly and effectively determine multiple communication paths from the second physical node to the first physical node in both directions of each dimension. The routing determination method is simple and can quickly and effectively determine multiple communication paths (or all communication paths) from the second physical node to the first physical node, resulting in higher routing efficiency.

[0010] Furthermore, based on the multiple communication paths determined by the above method, messages sent to the first physical node in the Torus network can carry a destination logical identifier. Since the destination logical identifier indicates a communication path from the second physical node to the first physical node, when a physical node in the Torus network sends or forwards a message carrying a destination logical identifier, it can send the message from the port corresponding to the destination logical identifier, ensuring that the message is accurately delivered to the first physical node. Thus, through the relationship between logical identifiers and communication paths, and the direct correspondence between logical identifiers and ports, physical nodes in the Torus network can quickly and accurately determine the sending port of a message based on its destination logical identifier when sending or forwarding it. This improves message sending efficiency to a certain extent and ensures the communication performance between physical nodes in the entire Torus network.

[0011] In one possible implementation, the method is applied to the second physical node;

[0012] Before sending the message through the port corresponding to the destination logical identifier, the method further includes:

[0013] Obtain first routing configuration information; wherein, the first routing configuration information indicates the plurality of logical identifiers and the first port corresponding to each logical identifier, the first port being the port used by the second physical node to send a message to the first physical node according to the communication path corresponding to the logical identifier; select one logical identifier from the plurality of logical identifiers as the destination logical identifier, and use the first port corresponding to the selected logical identifier as the port corresponding to the destination logical identifier.

[0014] When the second physical node acts as the execution entity, it can independently generate the first routing configuration information or directly obtain the first routing configuration information from the controller.

[0015] Therefore, since multiple logical identifiers are used for multiple communication paths from the second physical node to the first physical node in the Torus network, and these multiple logical identifiers are the logical identifiers corresponding to the first physical node, after obtaining the first routing configuration information, if the second physical node needs to send a message to the first physical node, it can select one of the multiple logical identifiers indicated by the first routing configuration information as the destination logical identifier to send the message. In this way, when the message is transmitted in the Torus network, it can be accurately transmitted to the first physical node according to the communication path indicated by the destination logical identifier.

[0016] In one possible implementation, obtaining the first routing configuration information includes:

[0017] Based on the plurality of physical nodes, the Mesh network is generated; based on the plurality of first logical nodes corresponding to the first physical node in the Mesh network, multiple communication paths from the second physical node to the first physical node are determined, each first logical node corresponds to at least one communication path, and the plurality of logical identifiers are the identifiers of the plurality of first logical nodes; based on the plurality of communication paths, the first routing configuration information is generated.

[0018] Therefore, this application does not directly determine the communication paths between physical nodes in the Torus network, but rather in the Mesh network corresponding to the Torus network. Since the Mesh network displays the connection relationship between each physical node in the Torus network through direct connection, it is possible to quickly and effectively determine multiple communication paths from the second physical node to the first physical node in each direction. The routing determination method is simple and can quickly and effectively determine multiple communication paths (or all communication paths) from the second physical node to the first physical node, resulting in higher routing determination efficiency.

[0019] In one possible implementation, the Torus network has at least one dimension; generating the Mesh network based on the plurality of physical nodes includes:

[0020] For each of the plurality of physical nodes, the physical node is advanced by a target number of nodes in both the positive and negative directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; wherein, the target number is the total number of physical nodes in the corresponding dimension minus 1; the Mesh network is generated based on the logical nodes corresponding to the plurality of physical nodes.

[0021] It should be noted that any physical node in a Torus network can reach itself by moving k (i.e., the total number of physical nodes in the corresponding dimension) physical nodes in one direction (either + or -) within a dimension. Based on this characteristic, when determining multiple communication paths from the second physical node to the first physical node in a Torus network, it is only necessary to represent the connection between the second and first physical nodes in the mesh network, without needing to move to the second physical node itself (because we do not consider the case where the second physical node reaches the first physical node after two rounds, i.e., the communication path connects the second physical node but does not pass through it repeatedly). Therefore, when generating the mesh network corresponding to the Torus network, the number of nodes moved in each direction of each dimension is the total number of physical nodes in the corresponding dimension minus 1.

[0022] In one possible implementation, determining multiple communication paths from the second physical node to the first physical node based on multiple first logical nodes corresponding to the first physical node in the Mesh network includes:

[0023] Centered on the second physical node, and with a radius equal to the total number of physical nodes in each dimension minus 1, a logical interval corresponding to the second physical node is determined in the Mesh network; wherein, the logical interval includes the plurality of first logical nodes; based on the plurality of first logical nodes, multiple communication paths from the second physical node to the first physical node are determined within the logical interval.

[0024] Therefore, when calculating the communication path from the second physical node to the first physical node within the logical interval corresponding to the second physical node, it is only necessary to calculate the communication path from the second physical node to multiple first logical nodes within the logical interval to obtain multiple communication paths from the second physical node to the first physical node in the Torus network, thus improving the efficiency of path calculation.

[0025] In one possible implementation, determining multiple communication paths from the second physical node to the first physical node within the logical interval based on the plurality of first logical nodes includes:

[0026] Centered on the second physical node, the logical interval is divided into multiple sub-intervals according to at least one dimension of the Torus network; wherein the total number of the multiple sub-intervals is 2. n The n is the total number of the at least one dimension; within each sub-interval, a communication path from the second physical node to each first logical node is determined to obtain multiple communication paths from the second physical node to the first physical node.

[0027] This region partitioning method allows the logical nodes corresponding to physical nodes other than the second physical node to be distributed across multiple sub-regions. Within each sub-region, multiple communication paths from the second physical node to other physical nodes can be calculated. This ensures that the determined communication paths do not intersect.

[0028] In one possible implementation, the method is applied to a third physical node, which is any physical node located between the first physical node and the second physical node on the plurality of communication paths;

[0029] Before sending the message through the port corresponding to the destination logical identifier, the method further includes:

[0030] Obtain second routing configuration information; wherein, the second routing configuration information indicates a first logical identifier among the plurality of logical identifiers and a second port corresponding to the first logical identifier, the first logical identifier is used to indicate the communication path where the third physical node is located in the plurality of communication paths, and the second port is the port used by the third physical node to send a message to the first physical node according to the communication path indicated by the first logical identifier; use the first logical identifier as the destination logical identifier, and use the second port corresponding to the first logical identifier as the port corresponding to the destination logical identifier.

[0031] In other words, after obtaining the second routing configuration information, the third physical node can determine the port corresponding to the destination logical identifier based on the destination logical identifier of the packet and the second routing configuration information, and then send the packet from the corresponding port.

[0032] In one possible implementation, the message header carries the destination logical identifier.

[0033] In one possible implementation, the message header includes a first field for carrying the destination logical identifier.

[0034] When the message is an Internet Protocol (IP) message, the first field can be the destination IP identifier field. In this case, the destination logical identifier can be carried through the destination IP identifier field, and this destination logical identifier can be located in the lower 8 bits of the destination IP identifier.

[0035] In one possible implementation, the Torus network has at least one dimension, and the destination logical identifier includes the node identifier of the target logical node within the logical interval corresponding to the second physical node;

[0036] Wherein, the target logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network, and the logical interval is a range defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, and the multiple first logical nodes are included in the logical interval.

[0037] Since determining the communication path to a physical node requires combining the corresponding logical node to determine multiple communication paths, after setting the logical identifier of the logical node according to the above method, this application also needs to determine the association between multiple logical nodes and physical nodes, that is, which logical nodes correspond to the same physical node.

[0038] In one possible implementation, the Torus network has at least one dimension, and the target logical identifier includes the node identifier of the first physical node in the Torus network, and the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node.

[0039] Wherein, the target logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network, the logical interval is a range determined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, the logical interval includes the multiple first logical nodes, and the sub-interval is obtained by dividing the logical interval into regions with the second physical node as the center and according to the at least one dimension.

[0040] In this method of setting logical identifiers, since the logical identifier also includes the node identifier of the corresponding physical node, the physical node associated with the logical node can be determined based on the logical identifier of the logical node.

[0041] In one possible implementation, if the message header carries the destination logical identifier, the message header includes a second field and a third field, wherein the second field is used to carry the node identifier of the first physical node in the Torus network, and the third field is used to carry the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node.

[0042] In other words, when the destination logical identifier includes two parts of information, these two parts of information can be carried through the first field mentioned above, or through two fields in the message header, namely the second field and the third field.

[0043] Secondly, a routing configuration method is provided, the method comprising:

[0044] Multiple communication paths are determined from a second physical node to a first physical node; wherein the second physical node and the first physical node are any two of the multiple physical nodes included in the Torus network, and the multiple communication paths are determined through the Mesh network corresponding to the Torus network, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes; routing configuration information is sent based on the multiple communication paths; wherein the routing configuration information indicates the correspondence between logical identifiers and ports, the logical identifier is at least one of the multiple logical identifiers corresponding to the first physical node, the multiple logical identifiers are used to indicate the multiple communication paths, and the port is the port used when sending a message to the first physical node according to the communication path indicated by the logical identifier.

[0045] Therefore, it is evident that, compared to a Torus network, a Mesh network eliminates loops in the connection relationships, directly presenting the physical nodes connected to each physical node in both directions of each dimension. Thus, when planning multiple communication paths from the second physical node to the first physical node in a Torus network, these paths can be determined based on the Mesh network. Therefore, this application does not directly determine the communication paths between physical nodes in the Torus network, but rather in the Mesh network corresponding to the Torus network. Since the Mesh network directly displays the connections between physical nodes in the Torus network, it can quickly and effectively determine multiple communication paths from the second physical node to the first physical node in both directions of each dimension. The routing determination method is simple and can quickly and effectively determine multiple communication paths (or all communication paths) from the second physical node to the first physical node, resulting in higher routing efficiency.

[0046] Furthermore, based on the multiple communication paths determined in the above manner, the controller can send routing configuration information to the physical nodes in the Torus network. Thus, based on the correspondence between logical identifiers and ports indicated in the routing configuration information, as well as the relationship between logical identifiers and communication paths, physical nodes in the Torus network can quickly and accurately determine the sending port of a message based on its destination logical identifier when sending or forwarding it. This improves message sending efficiency to a certain extent and ensures the communication performance between physical nodes throughout the Torus network.

[0047] In one possible implementation, determining multiple communication paths from the second physical node to the first physical node includes:

[0048] Based on the plurality of physical nodes, the Mesh network is generated; based on the plurality of first logical nodes corresponding to the first physical node in the Mesh network, multiple communication paths from the second physical node to the first physical node are determined, wherein the first logical node corresponds to at least one communication path, and the plurality of logical identifiers are the identifiers of the plurality of first logical nodes.

[0049] In one possible implementation, generating the Mesh network based on the plurality of physical nodes includes:

[0050] For each of the plurality of physical nodes, the physical node is advanced by a target number of nodes in both the positive and negative directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; wherein, the target number is the total number of physical nodes in the corresponding dimension minus 1; the Mesh network is generated based on the logical nodes corresponding to the plurality of physical nodes.

[0051] In one possible implementation, determining multiple communication paths from the second physical node to the first physical node based on multiple first logical nodes corresponding to the first physical node in the Mesh network includes:

[0052] Centered on the second physical node, and with a radius equal to the total number of physical nodes in each dimension minus 1, a logical interval corresponding to the second physical node is determined in the Mesh network; wherein, the logical interval includes the plurality of first logical nodes; based on the plurality of first logical nodes, multiple communication paths from the second physical node to the first physical node are determined within the logical interval.

[0053] In one possible implementation, determining multiple communication paths from the second physical node to the first physical node within the logical interval based on the plurality of first logical nodes includes:

[0054] Centered on the second physical node, the logical interval is divided into multiple sub-intervals according to at least one dimension of the Torus network; wherein the total number of the multiple sub-intervals is 2. n The n is the total number of the at least one dimension; within each sub-interval, a communication path from the second physical node to each first logical node is determined to obtain multiple communication paths from the second physical node to the first physical node.

[0055] In one possible implementation, sending routing configuration information based on the multiple communication paths includes:

[0056] Send first routing configuration information to the second physical node; wherein, the first routing configuration information indicates the plurality of logical identifiers and a first port corresponding to each logical identifier, and the first port is the port used by the second physical node to send a message to the first physical node according to the communication path corresponding to the logical identifier.

[0057] In one possible implementation, sending routing configuration information based on the multiple communication paths includes:

[0058] Send second routing configuration information to a third physical node; wherein, the third physical node is any physical node located between the first physical node and the second physical node on the multiple communication paths, the second routing configuration information indicates a first logical identifier among the multiple logical identifiers and a second port corresponding to the first logical identifier, the first logical identifier indicates the communication path where the third physical node is located in the multiple communication paths, and the second port is the port used by the third physical node to send a message to the first physical node according to the communication path corresponding to the first logical identifier.

[0059] For multiple logical identifiers corresponding to the first physical node, in the case where the Torus network has at least one dimension, taking the first logical identifier among the multiple logical identifiers as an example, its implementation includes the following two methods:

[0060] In the first case, the first logical identifier includes the node identifier of the first logical node within the logical interval corresponding to the second physical node;

[0061] Wherein, the first logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network, and the logical interval is a range defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, and the multiple first logical nodes are included in the logical interval.

[0062] The second type includes the node identifier of the first physical node in the Torus network, and the interval identifier of the sub-interval to which the first logical node belongs within the logical interval corresponding to the second physical node.

[0063] Wherein, the first logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network, the logical interval is a range determined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, the logical interval includes the multiple first logical nodes, and the sub-interval is obtained by dividing the logical interval into regions with the second physical node as the center and according to the at least one dimension.

[0064] Thirdly, a message sending apparatus is provided, which has the function of implementing the message sending method described in the first aspect. The message sending apparatus includes at least one module for implementing the message sending method provided in the first aspect.

[0065] Fourthly, a routing configuration apparatus is provided, which has the function of implementing the routing configuration method described in the second aspect above. The routing configuration apparatus includes at least one module for implementing the routing configuration method provided in the second aspect above.

[0066] Fifthly, a computer device is provided, comprising a processor and a memory, the memory being used to store a computer program for executing the message transmission method provided in the first aspect, or a computer program for storing the routing configuration method provided in the second aspect. The processor is configured to execute the computer program stored in the memory to implement the corresponding method.

[0067] In one possible implementation, the computer device may further include a communication bus for establishing a connection between the processor and the memory.

[0068] In a sixth aspect, a computer-readable storage medium is provided, wherein the storage medium stores instructions that, when executed on a computer, cause the computer to perform the steps of the message sending method provided in the first aspect, or the steps of the routing configuration method provided in the second aspect.

[0069] In a seventh aspect, a computer program product comprising instructions is provided, which, when executed on a computer, cause the computer to perform the steps of the message transmission method provided in the first aspect, or the steps of the routing configuration method provided in the second aspect. Alternatively, a computer program is provided that, when executed on a computer, causes the computer to perform the steps of the message transmission method provided in the first aspect, or the steps of the routing configuration method provided in the second aspect.

[0070] The technical effects achieved by the second to seventh aspects mentioned above are similar to those achieved by the corresponding technical means in the first aspect, and will not be repeated here. Attached Figure Description

[0071] Figure 1 is a schematic diagram of a Torus network provided in an embodiment of this application;

[0072] Figure 2 is a schematic diagram of a 3-ary 2-cube Torus network provided in an embodiment of this application;

[0073] Figure 3 is a schematic diagram of a DoR routing algorithm and an SPF routing algorithm for planning communication paths provided in an embodiment of this application;

[0074] Figure 4 is a flowchart illustrating a route determination method provided in an embodiment of this application;

[0075] Figure 5 is a schematic diagram of a topology extension of a 1D Torus network provided in an embodiment of this application;

[0076] Figure 6 is a schematic diagram of a topology extension of a 2D Torus network provided in an embodiment of this application;

[0077] Figure 7 is a schematic diagram of the logical intervals corresponding to physical nodes in a Mesh network provided in an embodiment of this application;

[0078] Figure 8 is a schematic diagram of dividing a Mesh network into sub-intervals according to an embodiment of this application;

[0079] Figure 9 is a schematic diagram of a communication path between physical nodes provided in an embodiment of this application;

[0080] Figure 10 is a schematic diagram of another communication path between physical nodes provided in an embodiment of this application;

[0081] Figure 11 is a flowchart illustrating a routing configuration method provided in an embodiment of this application;

[0082] Figure 12 is a flowchart illustrating a message sending method provided in an embodiment of this application;

[0083] Figure 13 is a schematic diagram of an end-to-end message transmission logic based on a destination logical identifier provided in an embodiment of this application;

[0084] Figure 14 is a schematic diagram of a message sending device provided in an embodiment of this application;

[0085] Figure 15 is a schematic diagram of a routing configuration device provided in an embodiment of this application;

[0086] Figure 16 is a schematic diagram of the structure of a computer device provided in an embodiment of this application;

[0087] Figure 17 is a schematic diagram of the structure of a network device provided in an embodiment of this application. Detailed Implementation

[0088] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0089] To facilitate understanding, before explaining the route determination method, route configuration method, and message sending method provided in the embodiments of this application, the application background and implementation environment of the embodiments of this application will be introduced first.

[0090] First, the application scenarios of the embodiments of this application will be introduced.

[0091] With the continuous advancement and convergence of data analytics, high-performance computing (HPC), and artificial intelligence (AI) technologies, the primary goal of data center construction and design is to serve these business scenarios and provide better infrastructure and software / hardware environments. The infrastructure within a data center mainly comprises three parts: computing, storage, and networking. The network is used to build efficient communication channels between multiple physical nodes within the data center. These physical nodes can be categorized by function, such as compute nodes and storage nodes.

[0092] To meet the business needs of different communication scenarios within data centers, the network topologies for communication between multiple physical nodes within a data center are becoming increasingly diverse. Among them, Fat-Tree networks, Dragonfly networks, and Torus networks are some common network topologies. Fat-Tree networks can achieve non-blocking forwarding, Dragonfly networks have a very short global network diameter, and Torus networks have good scalability.

[0093] Because the Torus network architecture is a completely symmetrical topology with many excellent characteristics, such as small network diameter, simple structure, diverse paths, good scalability, high bandwidth, and low latency, it is very suitable for aggregated communication. Aggregated communication is widely used in AI, machine learning (ML), and HPC applications. In these scenarios, Torus networks are typically used to implement network communication between multiple physical nodes. Based on the characteristics of Torus networks, extensive algorithmic optimization is performed to determine multiple paths for communication between physical nodes.

[0094] For physical nodes in a Torus network, since the Torus network is a direct network topology, each physical node in the Torus network can act as an input terminal (also called a sender / sending node / source node), an output terminal (also called a receiver / receiving node / destination node), and a switching node (also called a forwarding node / transfer node / intermediate node).

[0095] In one way to describe a Torus network, a k-ary n-cube can be used. k refers to the total number of physical nodes distributed along each dimension; that is, there are k physical nodes interconnected along each dimension of the Torus network. k can be any positive integer, including odd and even numbers, and its value depends on the specific requirements of the network design, such as network size, node density, and communication bandwidth. n represents the dimension of the network, i.e., how many dimensions the Torus network is constructed in. For example, a 2D Torus network is constructed in two-dimensional space, while a 3D Torus network is constructed in three-dimensional space. n can also be any positive integer, and its value determines the complexity and connectivity of the network. "ary" is usually used to represent the cardinality or dimension of a certain "permutation" or "combination." When describing a Torus network, "k-ary" can refer to the number of physical nodes in each dimension of the Torus network, or the "width" of the connections.

[0096] As an example, Figure 2 provides a schematic diagram of a 3-ary 2-cube Torus network. Referring to Figure 2, in this Torus network, n is 2, indicating that the Torus network is a 2D network, with all physical nodes distributed and connected in two dimensions; k is 3, indicating that the total number of physical nodes in each dimension is 3, that is, the diameter of the Torus network is 3.

[0097] In another way of describing a Torus network, the dimensions and the number of physical nodes in each dimension can be used directly to represent the Torus network. For example, a 1D Torus network with 16 nodes, a 4*4 2D Torus network, and a 5*5*5 3D Torus network. This application does not limit this approach.

[0098] As an example, the 3-ary 2-cube Torus network described above can also be described as a 3*3 2D Torus network.

[0099] In summary, because a Torus network is a multidimensional ring network topology, multiple physical nodes in the network can be interconnected in multiple dimensions, allowing traffic to be forwarded along multiple dimensions to reach the destination node. That is, there are rich communication paths between multiple physical nodes in a Torus network. Any physical node in a Torus network can send or forward traffic in any dimension. Therefore, Torus networks are prone to circular dependencies in traffic, leading to deadlock.

[0100] It should be understood that when a message needs to wait for another message to release resources before it can continue forwarding, and another message needs to wait for this message to release resources, a circular dependency is formed, leading to a deadlock. For example, in a Torus network, there are three physical nodes A, B, and C, which are interconnected through two dimensions (dimension 1 and dimension 2). Now, there are three messages P1, P2, and P3 that need to be transmitted in the network, and their transmission paths are as follows: Message P1 starts from node A and is transmitted along dimension 1 to node B; message P2 starts from node B and is transmitted along dimension 2 to node C; message P3 starts from node C and is transmitted along dimension 1 to node A. If a resource in the Torus network (such as buffer or bandwidth) is limited, and packets P1, P2, and P3 all attempt to occupy that resource simultaneously, the following situation may occur: When packet P1 is transmitted to node B, it finds that it needs to wait for packet P2 to release the resource; when packet P2 is transmitted to node C, it finds that it needs to wait for packet P3 to release the resource; when packet P3 is transmitted to node A, it finds that it needs to wait for packet P1 to release the resource. At this point, these three packets form a circular dependency, and none of them can continue to be transmitted, resulting in a deadlock.

[0101] To avoid deadlock, dimension-ordered routing (DoR) is typically used when planning communication paths between any two physical nodes in a Torus network. This limits the "turning" patterns of traffic forwarding, preventing circular dependencies and thus avoiding deadlock. Alternatively, the shortest path first (SPF) algorithm can also be used to construct forwarding paths for traffic in a Torus network.

[0102] The DoR routing algorithm requires that packets be traversed in a predetermined dimensional order during transmission. For example, in a 2D Torus network, packets are typically transmitted first along the X dimension (or horizontal direction) and then along the Y dimension (or vertical direction). This sequential order ensures that packets do not randomly change direction during transmission, thus reducing the possibility of circular dependencies. The SPF routing algorithm, on the other hand, is a graph theory-based algorithm used to find the shortest path from one physical node to all other physical nodes in a weighted graph. For example, in a Torus network, each physical node represents a router, and each link represents a connection between routers. The weights on the links can represent various factors such as latency, bandwidth, and cost. The SPF routing algorithm uses these weights to find the shortest path.

[0103] To facilitate understanding, let's take determining the communication path from the second physical node to the first physical node in a Torus network as an example, as shown in Figure 3. Assume the first physical node is node 6 and the second physical node is node 9. When determining the communication path from node 9 to node 6, the DoR routing algorithm, based on a predetermined dimensional order, transmits along the X dimension first, then along the Y dimension. The determined communication paths include: node 9-node 8-node 11-node 10-node 6 and node 9-node 10-node 6. In contrast, the SPF routing algorithm, when determining the communication path from node 9 to node 6, uses the shortest path search method. The determined communication paths from node 9 to node 6 include: node 9-node 5-node 6 and node 9-node 10-node 6.

[0104] However, commonly used routing algorithms fail to fully utilize the path connectivity of the Torus network when planning communication paths. That is, when constructing a communication path from the second physical node to the first physical node, commonly used routing algorithms only filter / plan a portion of the available communication paths, underutilizing the forwarding capabilities provided by the Torus network. Referring again to Figure 3, the DoR routing algorithm, when determining the communication path from node 9 to node 6, only uses two ports of node 9 in the X dimension, while the two ports in the Y dimension are unused. Similarly, when node 6 receives a message, based on the planned communication path, it also only uses one port in the Y dimension to receive the message, leaving the other port and the two ports in the X dimension unused. Similarly, the SPF routing algorithm, when determining the communication path from node 9 to node 6, also only uses one port of node 9 in the X dimension and one port in the Y dimension, leaving the other two ports unused. Likewise, when node 6 receives a message, based on the planned communication path, it also only uses one port in the X dimension and one port in the Y dimension to receive the message, leaving the other two ports unused.

[0105] Based on this, for multiple physical nodes in a Torus network, when planning communication paths from a second physical node to a first physical node, embodiments of this application provide a routing determination method. First, based on the Torus network, a corresponding Mesh network is generated. The connection relationships between the multiple logical nodes in the Mesh network are the same as the connection relationships between the multiple physical nodes in the Torus network. Since the Mesh network, compared to the Torus network, eliminates loop connections in the node connection relationships, it can directly present the physical nodes connected to each physical node in both the forward and reverse directions of each dimension. Therefore, when planning multiple communication paths from a second physical node to a first physical node in the Torus network, path planning operations can be performed based on this Mesh network to determine multiple communication paths from the second physical node to the first physical node.

[0106] Therefore, the embodiments of this application do not directly determine the communication path between two physical nodes in the Torus network, but rather determine the communication path between the two physical nodes in the Mesh network corresponding to the Torus network. Since the Mesh network displays the connection relationship between multiple physical nodes in the Torus network in a direct connection manner, based on the Mesh network, multiple communication paths that the second physical node can reach the first physical node along both the positive and negative directions of each dimension can be quickly and effectively determined. The routing determination method is simple and can quickly and effectively determine multiple communication paths (or all communication paths) from the second physical node to the first physical node, resulting in higher routing determination efficiency.

[0107] Furthermore, this application embodiment also provides a routing configuration method. After determining multiple communication paths from a second physical node to a first physical node in a Torus network, routing configuration information is sent to either the second or third physical node based on these multiple communication paths. The third physical node is any physical node located between the first and second physical nodes on the multiple communication paths. The routing configuration information indicates the correspondence between logical identifiers and ports. The logical identifier is at least one of multiple logical identifiers corresponding to the first physical node, and these multiple logical identifiers correspond to the aforementioned multiple communication paths. The port is the port used by either the second or third physical node when sending a message to the first physical node according to the communication path indicated by the logical identifier.

[0108] Therefore, for the first and second physical nodes in the Torus network, after determining multiple communication paths from the second physical node to the first physical node, routing configuration information can be sent to the second physical node that needs to send messages to the first physical node or the third physical node that needs to forward messages to the first physical node during actual communication, based on the relationship between the multiple logical identifiers corresponding to the first physical node and the multiple communication paths. This allows the first and second physical nodes to send messages to the first physical node from the corresponding ports based on the routing configuration information. In this way, messages can be sent to the first physical node along the communication path indicated by a certain logical identifier, thereby ensuring the communication performance between physical nodes in the entire Torus network.

[0109] Furthermore, this application embodiment also provides a message sending method. When sending or forwarding a message to a first physical node, since the communication path between the first physical node and the second physical node is determined by the above-mentioned routing determination method, each communication path corresponds to a logical identifier. Therefore, for the message to be sent or forwarded, the destination logical identifier of the message can be determined first. The destination logical identifier is one of the multiple logical identifiers corresponding to the first physical node in the Torus network. Then, the message is sent based on the port corresponding to the destination logical identifier to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

[0110] Therefore, for a second physical node sending a message to the first physical node, or a third physical node forwarding a message to the first physical node, the message can be sent based on the port corresponding to the destination logical identifier of the message, so that the message is transmitted to the first physical node along the communication path indicated by the destination logical identifier. In this way, the communication performance between physical nodes in the entire Torus network is guaranteed.

[0111] Secondly, the implementation environment of the embodiments of this application will be introduced.

[0112] Based on the structure of the Torus network shown in Figures 1-3 above, it can be seen that the Torus network includes multiple physical nodes. The routing determination method provided in this application embodiment can determine multiple communication paths from the second physical node to the first physical node for any two physical nodes in the Torus network, such as the second physical node and the first physical node. These multiple communication paths can also be used as communication paths from the first physical node to the second physical node. This application embodiment restricts the starting point and ending point of the communication path to illustrate that the determined communication path can realize communication between the two physical nodes.

[0113] The execution subject of the routing determination method can be any physical node in the Torus network. Given the topology of the Torus network and the connection relationships between multiple physical nodes, the physical node can use the routing determination method provided in this application to determine multiple communication paths from itself to other physical nodes in the Torus network.

[0114] Furthermore, based on determining multiple communication paths from the second physical node to the first physical node, this application embodiment also provides a routing configuration method. The execution entity of the routing configuration method can be the controller of the Torus network. This controller, as a global management device, uses the routing determination method provided in this application embodiment to determine multiple communication paths from the second physical node to the first physical node, and then sends routing configuration information based on these determined communication paths.

[0115] In one possible implementation, the controller can send first routing configuration information to the second physical node based on a number of determined communication paths, indicating the communication paths that the second physical node can use when sending messages to the first physical node.

[0116] In one possible implementation, the controller can send second routing configuration information to a third physical node based on multiple defined communication paths, indicating the communication path used by the third physical node when forwarding packets to the first physical node. The third physical node can be any physical node located between the first and second physical nodes on any of the multiple communication paths.

[0117] Furthermore, based on determining multiple communication paths between any two physical nodes in a Torus network, this application embodiment also provides a message sending method. The execution entity of the message sending method can be any physical node in the Torus network. This physical node can act as a sending node (also called a source node), sending a message to a receiving node from the port corresponding to the destination logical identifier based on the message's destination logical identifier; or it can act as a forwarding node (also called an intermediate node, i.e., a physical node located between the sending node and the receiving node, used for forwarding messages), receiving a message sent by the sending node or forwarded by another forwarding node, and forwarding the message from the port corresponding to the destination logical identifier based on the message's destination logical identifier, thereby achieving the purpose of ultimately forwarding the message to the receiving node.

[0118] As an example, suppose the first physical node is the receiving node of the message, the second physical node is the sending node of the message, and the third physical node is any physical node located between the first and second physical nodes on multiple communication paths, where the multiple communication paths are communication paths from the second physical node to the first physical node. Then, the second physical node, as the sending node, and the third physical node, as the forwarding node, can both execute the message sending method provided in this application embodiment. After determining the destination logical identifier of the message, they send the message through the port corresponding to the destination logical identifier to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

[0119] Based on the above description, the physical nodes in the Torus network include, but are not limited to, processor chips, physical devices (such as terminals, servers, etc.), and network devices (such as switches, routers, gateways, etc.). This application embodiment does not limit these, but aims to explain the implementation of the routing determination method and message sending method provided in this application embodiment in the Torus network based on the connection relationship of multiple physical nodes in the Torus network.

[0120] It should be understood that the collection communication scenarios and network architectures described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0121] After introducing the application scenarios and implementation environment of the embodiments of this application, the routing determination method provided by the embodiments of this application will be described in detail to explain the specific implementation of determining multiple communication paths between any two physical nodes in the Torus network.

[0122] Figure 4 is a flowchart of a route determination method provided in an embodiment of this application. This method can be applied to any physical node in a Torus network, such as a second physical node; it can also be applied to the controller of the Torus network. Referring to Figure 4, the method includes the following steps.

[0123] Step 401: Generate a Mesh network corresponding to the Torus network based on the multiple physical nodes in the Torus network; wherein, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes.

[0124] The connection relationships between multiple logical nodes are the same as those between multiple physical nodes. This can be understood as follows: for the first and second physical nodes in the Torus network, if the first and second physical nodes are directly connected, then the first and second logical nodes are also directly connected. Here, the first logical node is the logical node corresponding to the first physical node in the Mesh network, and the second logical node is the logical node corresponding to the second physical node in the Mesh network.

[0125] It should be understood that a Torus network is a ring network structure where each physical node is connected to other physical nodes via bidirectional links, forming a ring structure with one or more dimensions. A Mesh network, on the other hand, is a grid-like network structure where physical nodes are connected via straight-line links, forming a grid-like topology. In a Mesh network, physical nodes are typically only directly connected to their adjacent nodes. Based on this, a Torus network can be considered an evolution of a Mesh network. That is, a Torus network first maintains the physical nodes and connections of a Mesh network—that is, each physical node is directly connected to its adjacent physical nodes—and adds loops (i.e., laps) in each dimension. These laps connect the physical nodes at opposite ends in each dimension, thus forming a closed torus. For example, in a 2D Torus network, in addition to the direct connections between physical nodes in the horizontal and vertical directions, laps connecting the top and bottom, and left and right nodes are added. By adding loopbacks, the Torus network reduces the network diameter and average distance compared to a Mesh network, allowing physical nodes to communicate via shorter paths. Furthermore, the presence of loopbacks makes the Torus network logically more regular and symmetrical, which helps improve load balancing between channels and enhances network performance.

[0126] Given the correlation and similarity between Torus networks and Mesh networks, directly routing between any two physical nodes in a Torus network can lead to loopbacks, making it difficult to determine all communication paths covering multiple ports of a physical node. This may result in missed communication paths (or communication paths not covering all ports of a physical node), or communication paths repeatedly covering a port, leading to underutilization of physical node ports. Considering that Mesh networks directly represent the connections between physical nodes and do not have loopbacks, determining the communication path between any two physical nodes in a Torus network based on the corresponding Mesh network improves routing efficiency and comprehensively and effectively determines all communication paths covering all ports of those two physical nodes.

[0127] Based on this, when performing the routing determination method, this application embodiment needs to first generate a Mesh network corresponding to the Torus network based on the connection relationship of multiple physical nodes in the Torus network, and then determine the communication path between any two physical nodes through the following step 402 based on the Mesh network.

[0128] It's important to note that when generating a Mesh network based on a Torus network, the connectivity relationships between multiple physical nodes in the Torus network must remain unchanged in the Mesh network. That is, for multiple logical nodes in the Mesh network, the connectivity relationships between these logical nodes are the same as the connectivity relationships between multiple physical nodes. However, because Torus networks contain loopback connections, while Mesh networks eliminate loopback connections, after converting a Torus network to a corresponding Mesh network, there may be multiple logical nodes in the Mesh network corresponding to the same physical node in the Torus network. In other words, a physical node in the Torus network may have multiple corresponding logical nodes in the Mesh network. The connectivity relationships of these multiple logical nodes with other logical nodes in the Mesh network fully reflect the connectivity relationships of that physical node with other physical nodes in the Torus network; only the way the connectivity relationships are presented / the topology differs.

[0129] As an example, after generating the mesh network corresponding to the 1D Torus network, each logical node in the mesh network has the same connection relationship as each physical node in the Torus network, and each logical node is connected to two logical nodes in both directions of one dimension. After generating the mesh network corresponding to the 2D Torus network, each logical node in the mesh network has the same connection relationship as each physical node in the Torus network, and each logical node is connected to two logical nodes in both directions of each dimension, meaning each logical node is connected to four other logical nodes. After generating the mesh network corresponding to the 3D Torus network, each logical node in the mesh network has the same connection relationship as each physical node in the Torus network, and each logical node is connected to two logical nodes in both directions of each dimension, meaning each logical node is connected to six other logical nodes.

[0130] As an example, suppose a Torus network includes physical nodes A, B, C, D, and E, and physical nodes A, B, C, and D are all directly connected to physical node E. Then the corresponding Mesh network includes logical nodes corresponding to physical nodes A, B, C, D, and E. Furthermore, the Mesh network must also contain the following connections: logical node a is directly connected to logical node e, logical node b is directly connected to logical node e, logical node c is directly connected to logical node e, and logical node d is directly connected to logical node e. Here, logical node a is at least one logical node corresponding to physical node A, logical node b is at least one logical node corresponding to physical node B, logical node c is at least one logical node corresponding to physical node C, and logical node d is at least one logical node corresponding to physical node D.

[0131] It should be noted that since physical nodes A, B, C, D, and E each correspond to multiple logical nodes in the Mesh network, for logical node e corresponding to physical node E, there may be a situation where logical node e is connected to one of the logical nodes corresponding to physical nodes A, B, C, or D. That is, a logical node e0 is simultaneously connected to logical nodes a1, b1, c1, and d1. Of course, for logical nodes e2, e3, e4, and e5 corresponding to physical node E, there may also be situations where logical node e1 is connected to logical node a2, logical node e3 is connected to logical node b2, logical node e4 is connected to logical node c2, and logical node e5 is connected to logical node d2.

[0132] In other words, since one physical node corresponds to multiple logical nodes, the connection relationship between the physical node and other physical nodes in the Torus network can be reflected by the connection of these multiple logical nodes in the Mesh network.

[0133] In one possible implementation, the Torus network has at least one dimension. The process of generating the Mesh network corresponding to the Torus network in step 401 can be as follows: based on the connection relationship between multiple physical nodes, for each physical node, advance a target number of nodes in both the positive and negative directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; wherein the target number is the total number of physical nodes in the corresponding dimension minus 1; and generate the Mesh network corresponding to the Torus network based on the logical nodes corresponding to the multiple physical nodes.

[0134] It should be noted that in a Torus network, any physical node can reach itself by moving k physical nodes in one direction (either + or -) within a dimension. Based on this characteristic, when determining multiple communication paths from the second physical node to the first physical node in a Torus network, it is only necessary to represent the connection between the second and first physical nodes in the mesh network, without needing to move to the second physical node itself (because we do not consider the case where the second physical node reaches the first physical node after two rounds, i.e., the communication path connects the second physical node but does not pass through it repeatedly). Therefore, when generating the mesh network corresponding to the Torus network, the number of nodes moved in each direction of each dimension is the total number of physical nodes in the corresponding dimension minus 1.

[0135] For ease of understanding, assume that the Torus network has n dimensions and the total number of physical nodes in each dimension is k. The following explanation will use common 1D Torus networks and 2D Torus networks as examples to illustrate the implementation process of extending the Torus network topology in the above way to obtain the corresponding Mesh network.

[0136] For a k-ary n-cube Torus network, the number of nodes extending the topology in each direction of each dimension is k-1 (i.e., the number of targets = k-1), and the resulting mesh network includes the corresponding [k+2(k-1)]. n There are 1,000 logical nodes. As explained above, k is the total number of physical nodes in the corresponding dimension, and n is the total number of at least one dimension in the Torus network.

[0137] Referring to the Torus network shown in Figure 5, this Torus network has a dimension n = 1, and the total number of physical nodes in this dimension k1 = 3. When generating the corresponding Mesh network for this Torus network, each physical node is moved forward 2 nodes in both the forward and reverse directions of this dimension to obtain a 1D Mesh network. This Mesh network includes 7 nodes (i.e., [3 + 2(3 - 1)]). 1 =7) logical nodes.

[0138] In one possible implementation, when physical node 0 moves along the positive X-axis (X+), it advances one physical node to reach physical node 1, which is retained as the logical node corresponding to physical node 0 in the mesh network. It then advances two physical nodes to reach physical node 2, which is also retained as the logical node corresponding to physical node 0 in the mesh network. Similarly, when physical node 0 moves along the negative X-axis (X-), it advances one physical node to reach physical node 2, which is retained as the logical node corresponding to physical node 0 in the mesh network. It then advances two physical nodes to reach physical node 1, which is also retained as the logical node corresponding to physical node 0 in the mesh network. Similarly, when physical node 1 moves along the X+ direction, it moves one physical node to reach physical node 2. Physical node 2 is already retained as a logical node in the mesh network, so it is not added again. After moving two physical nodes, it reaches physical node 0, which is retained as the logical node corresponding to physical node 1 in the mesh network. When physical node 1 extends its topology along the X- direction, it moves one physical node to reach physical node 0, which is retained as the logical node corresponding to physical node 1 in the mesh network. After moving two physical nodes, it reaches physical node 2, which is already retained as a logical node in the mesh network, so it is not added again. Similarly, when physical node 2 extends its topology along the X+ direction, it moves one physical node to reach physical node 0, which is already retained as a logical node in the mesh network, so it is not added again. After moving two physical nodes, it reaches physical node 1, which is retained as the logical node corresponding to physical node 2 in the mesh network. When physical node 2 extends its topology along the X- direction, it moves forward 1 physical node to reach physical node 1. Physical node 1 has already been retained as a logical node in the Mesh network, so it will not be added again at this time. After moving forward 2 physical nodes, it reaches physical node 0. Physical node 0 has already been retained as a logical node in the Mesh network, so it will not be added again at this time.

[0139] Based on this, by performing the above processing on each physical node in the 1D Torus network, the topology of the 1D Torus network can be extended to obtain a 1D Mesh network.

[0140] In other words, when generating the mesh network corresponding to the Torus network, each physical node in the 1D Torus network is moved forward k-1 nodes in both directions, and its corresponding logical node is retained in the mesh network without repetition at the corresponding position, thus obtaining the mesh network corresponding to the 1D Torus network. The mesh network generated in this way includes multiple physical nodes themselves, as well as the logical nodes corresponding to each physical node.

[0141] In one possible implementation, as shown in Figure 5, when generating the Mesh network corresponding to the 1D Torus network, it is also possible to first remove the loop connection between the two physical nodes (i.e., physical node 0 and physical node 2) located at both ends of the diameter in the network based on the 1D Torus network, and then move these two physical nodes (i.e., physical node 0 and physical node 2) outward by 2 nodes respectively, thereby obtaining the corresponding Mesh network.

[0142] It should be noted that since a 1D Torus network has only one dimension, when extending the topology, only one extension is needed to obtain the corresponding Mesh network.

[0143] Referring to the Torus network shown in Figure 6, this Torus network has two dimensions (n=2) and a total of 3 physical nodes across these two dimensions (k1=3). When generating the corresponding Mesh network for this Torus network, each physical node is moved forward by 2 nodes in both the forward and reverse directions of the two dimensions to obtain a 2D Mesh network. This Mesh network includes 49 nodes (i.e., [3+2(3-1)]). 2 That is, 7*7) logical nodes.

[0144] In one possible implementation, taking physical node 0 as an example, when physical node 0 moves along the X+ direction, it moves one physical node to reach physical node 1. Physical node 1, as the logical node corresponding to physical node 0, is retained in its corresponding position in the mesh network. After moving two physical nodes, it reaches physical node 2. Physical node 2, as the logical node corresponding to physical node 0, is retained in its corresponding position in the mesh network. When physical node 0 extends its topology along the X- direction, it moves one physical node to reach physical node 2. Physical node 2, as the logical node corresponding to physical node 0, is retained in its corresponding position in the mesh network. After moving two physical nodes, it reaches physical node 1. Physical node 1, as the logical node corresponding to physical node 0, is retained in the mesh network. When physical node 0 extends its topology along the positive Y-axis (Y+), it advances one physical node to reach physical node 6. Physical node 6 becomes the logical node corresponding to physical node 0 and is retained in its corresponding position in the Mesh network. After advancing two physical nodes, it reaches physical node 3. Physical node 3 becomes the logical node corresponding to physical node 0 and is retained in the Mesh network. When physical node 0 extends its topology along the negative Y-axis (Y-), it advances one physical node to reach physical node 3. Physical node 3 becomes the logical node corresponding to physical node 0 and is retained in its corresponding position in the Mesh network. After advancing two physical nodes, it reaches physical node 6. Physical node 6 becomes the logical node corresponding to physical node 0 and is retained in its corresponding position in the Mesh network.

[0145] Similarly, for the other 8 physical nodes in the 2D Torus network, referencing the same progression as physical node 0, advance 2 nodes in each of the positive and negative directions of the X and Y dimensions. After one topology extension, the corresponding extended topology network is obtained. Then, for the nodes located at the boundary of this extended topology network, a second topology extension is performed, referring to the above topology extension method, to obtain the corresponding Mesh network.

[0146] In one possible implementation, as shown in Figure 6, when generating the mesh network corresponding to the 2D Torus network, the loop connections between two physical nodes located at opposite ends of the diameter can be removed from the 2D Torus network. Specifically, the loops between physical nodes 0 and 2, 3 and 5, 6 and 8, 0 and 6, 1 and 7, and 2 and 8 are removed. Then, the physical nodes at opposite ends of the diameter are moved outward by two nodes each, resulting in the corresponding extended topology network. Further, the nodes at the boundary of this extended topology network are extended a second time using the same method to obtain the corresponding mesh network.

[0147] That is, by moving physical nodes 0, 3, and 6 forward 2 nodes in the X- direction, we obtain logical nodes 2 and 1 corresponding to physical node 0, logical nodes 5 and 4 corresponding to physical node 3, and logical nodes 8 and 7 corresponding to physical node 6. Similarly, by moving physical nodes 0, 1, and 2 forward 2 nodes in the Y+ direction, moving physical nodes 2, 5, and 8 forward 2 nodes in the X+ direction, and moving physical nodes 6, 7, and 8 forward 2 nodes in the Y- direction, we obtain the topology extension network corresponding to the Torus network.

[0148] It should be noted that since a 2D Torus includes two dimensions, the symmetry of the extended topology network obtained after a first topology extension differs from that of the original Torus network. Therefore, a second topology extension is needed based on the connection relationships between multiple physical nodes to obtain the mesh network corresponding to the 2D Torus network. The implementation logic of the second topology extension is the same as that of the first topology extension, and will not be elaborated here.

[0149] Based on this, after two topological extensions, a 2D Torus network with a diameter of 3 has a total of 49 nodes (i.e., [3+2(3-1)]). 2 That is, a 7x7 mesh network.

[0150] Furthermore, for 3D Torus networks, and even higher-dimensional Torus networks, because these Torus networks have multiple dimensions, topology extension requires two extensions to obtain the corresponding mesh network. Moreover, the implementation logic for topology extension in 3D Torus networks, and even higher-dimensional Torus networks, is the same as that in 2D Torus networks. Refer to Figure 6 for the implementation logic of a 2D Torus network; further examples will not be provided here.

[0151] It should also be noted that Figures 5 and 6 only illustrate Torus networks that are symmetrical in all dimensions. For Torus networks that are not completely symmetrical in multiple dimensions, that is, Torus networks with different total number of physical nodes in each dimension, such as 4*3 2D Torus networks, 5*6 2D Torus networks, 6*6*5 3D Torus networks, etc., the above topology extension method can also be used to obtain the corresponding Mesh network.

[0152] As an example, for a 4*3 2D Torus network, the total number of physical nodes in the X dimension is k1 = 4 and the total number of physical nodes in the Y dimension is k2 = 3. After two topology extensions, a Mesh network with a total number of logical nodes of [k1 + 2(k1 - 1)] * [k2 + 2(k2 - 1)] can be obtained. For a 5*6 2D Torus network, the total number of physical nodes in the X dimension is k1 = 5 and the total number of physical nodes in the Y dimension is k2 = 6. After two topology extensions, a Mesh network with a total number of logical nodes of [k1 + 2(k1 - 1)] * [k2 + 2(k2 - 1)] can be obtained. Similarly, for a 6*6*5 2D Torus network, the total number of physical nodes in the X dimension is k1=6, the total number of physical nodes in the Y dimension is k2=6, and the total number of physical nodes in the Z dimension is k3=5. After two topology extensions, a Mesh network with a total number of logical nodes of [k1+2(k1-1)]*[k2+2(k2-1)]*[k3+2(k3-1)] can be obtained.

[0153] In other words, when generating the Mesh network corresponding to the Torus network, this application embodiment does not limit the total number of physical nodes in each dimension of the Torus network, nor the total number of dimensions of the Torus network. When generating the corresponding Mesh network, the above-mentioned topology extension logic can be referred to, and will not be repeated here.

[0154] Therefore, compared to Torus networks, Mesh networks have more direct connections between multiple logical nodes, eliminating loops. As a result, it is easy to intuitively and clearly identify the physical nodes that any physical node connects to in each direction of each dimension, making it easier to analyze the communication paths between physical nodes.

[0155] Step 402: Based on the multiple first logical nodes corresponding to the first physical node in the Mesh network, determine multiple communication paths from the second physical node to the first physical node, with the first logical node corresponding to at least one communication path; the second physical node and the first physical node are any two physical nodes in the Torus network.

[0156] When the connection relationship between multiple logical nodes is the same as the connection relationship between multiple physical nodes, it can be considered that although the Torus network and the Mesh network have different structures, the communication logic between the nodes in the two networks is exactly the same. That is, the communication path between two physical nodes determined in the Torus network (or Mesh network) must enable these two physical nodes to communicate in the Mesh network (or Torus network).

[0157] Since the Mesh network eliminates loops, it can intuitively reflect the direct connection between physical nodes in both the positive and negative directions of each dimension. Therefore, in determining the communication path between two physical nodes, this embodiment of the application uses the Mesh network as a benchmark and analyzes the paths that the two physical nodes can communicate along both the positive and negative directions of each dimension in the Mesh network, thereby obtaining multiple communication paths between the two physical nodes.

[0158] In some embodiments, the implementation process of step 402 above may be as follows: taking the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, determine the logical interval corresponding to the second physical node in the Mesh network, wherein the logical interval includes multiple first logical nodes corresponding to the first physical node; based on the multiple first logical nodes, determine multiple communication paths from the second physical node to the first physical node within the logical interval.

[0159] For the second physical node, since the Mesh network eliminates loopback connections, when determining the logical interval of the second physical node with a radius equal to the total number of physical nodes in each dimension minus 1, this logical interval will include multiple first logical nodes corresponding to the first physical node. Referring to the previous explanation of topology extension methods, for the first physical node, its multiple first logical nodes can include multiple logical nodes obtained through topology extension; or they can include the first physical node itself, and the logical nodes obtained after topology extension of the first physical node.

[0160] Since the methods for determining logical intervals in the mesh networks corresponding to 1D Torus, 2D Torus, and 3D Torus networks are similar, the following explanation will focus on a 3*3 2D Torus network as an example to illustrate the process of determining multiple communication paths from the second physical node to the first physical node based on the mesh network.

[0161] Referring to Figure 7, in the mesh network corresponding to the 3*3 2D Torus network, assuming the second physical node is node 2, then with node 2 as the center, the logical interval corresponding to node 2 is determined with a radius of 2 in both the X and Y dimensions (i.e., the area corresponding to the dashed box in Figure 7). Within the logical interval of node 2, each of the other physical nodes in the Torus network, excluding node 2, corresponds to multiple logical nodes within that logical interval.

[0162] As an example, within the logical interval corresponding to physical node 2, the four logical nodes 4 corresponding to node 4 include: the original node 4 in the Torus network (i.e., node 4 located at the center point in the Mesh network), and the three topology-extended nodes 4 obtained after topology extension (i.e., the three nodes 4 shown in bold in Figure 7).

[0163] Furthermore, based on the logical interval corresponding to physical node 2, assuming the first physical node is node 4, when determining multiple communication paths from node 2 to node 4, multiple communication paths from physical node 2 to the four logical nodes 4 can be determined within this logical interval, thereby obtaining multiple communication paths from node 2 to node 4 in the Torus network.

[0164] Therefore, when calculating the communication path from the second physical node to the first physical node within the logical interval corresponding to the second physical node, it is only necessary to calculate the communication path from the second physical node to multiple first logical nodes within the logical interval to obtain multiple communication paths from the second physical node to the first physical node in the Torus network.

[0165] In one possible implementation, when calculating the communication paths from the second physical node to multiple first logical nodes within the logical interval corresponding to the second physical node, there are multiple communication paths. Considering that these multiple paths may intersect, resulting in significant bandwidth loss at the intersection points, it is necessary to ensure that the determined multiple communication paths do not intersect when determining the communication paths from the second physical node to the multiple first logical nodes.

[0166] Within the logical interval corresponding to the second physical node, there are multiple first logical nodes corresponding to the first physical node. Based on this, the process of determining multiple communication paths from the second physical node to the first physical node can be as follows: taking the second physical node as the center, the logical interval is divided into regions according to at least one dimension of the Torus network to obtain multiple sub-intervals, each sub-interval including one first logical node; within each sub-interval, the communication path from the second physical node to each first logical node is determined to obtain multiple non-overlapping communication paths from the second physical node to the first physical node.

[0167] The total number of sub-intervals is 2. n , where n is the total number of Torus networks with at least one dimension.

[0168] Continuing with the 3x3 2D Torus network as an example, as shown in Figure 8, assuming the second physical node is node 2, when dividing the sub-intervals, node 2 is used as the center, and the X and Y dimensions are divided respectively. The logical interval of node 2 is divided into four sub-intervals: X+Y+ interval, X-Y+ interval, X-Y- interval, and X+Y- interval. Within each sub-interval, there exists a first physical node corresponding to a first logical node.

[0169] As an example, assuming the first physical node is node 4, then as shown in Figure 8, there is a logical node 4 in each sub-interval.

[0170] As another example, assuming the first physical node is node 0, then as shown in Figure 8, logical node 0 is located in the X dimension, and its value in the Y dimension can be both positive and negative. Therefore, for logical node 0 to the left of physical node 2, it can be considered that logical node 0 is simultaneously located in the X-Y+ interval and the X-Y- interval; similarly, for logical node 0 to the right of physical node 2, it can be considered that logical node 0 is simultaneously located in the X+Y+ interval and the X+Y- interval.

[0171] That is, within the logical range of the second physical node, all physical nodes other than the second physical node correspond to 2. n There are n logical nodes, where n is the total number of Torus networks with at least one dimension.

[0172] It should be noted that in higher-dimensional Torus networks, such as 3D Torus networks, within the logical range of any physical node, other physical nodes besides that physical node will have 2 3= 8 logical nodes, which are located in the X+Y+Z+ interval, X+Y+Z- interval, X+Y-Z+ interval, X-Y+Z+ interval, X+YZ- interval, etc., respectively, that is, within 8 sub-intervals divided by the 3D Cartesian coordinate system. That is, the number of logical nodes, the division of logical intervals, and the usage method of each physical node in the Mesh network are the same in 2D, 3D, and even higher-dimensional Torus networks. This application only uses a 2D Torus network as an example for illustration.

[0173] Therefore, this region partitioning method allows the logical nodes corresponding to physical nodes other than the second physical node to be distributed across multiple sub-regions. This enables the calculation of multiple communication paths from the second physical node to other physical nodes within each sub-region. In this way, it can be guaranteed that the determined multiple communication paths do not intersect.

[0174] In one possible implementation, when determining the communication path from the physical second physical node to multiple first logical nodes within each sub-interval, Dijkstra routing algorithm, SPF routing algorithm, BFS routing algorithm, etc., can be used. This application does not limit this implementation.

[0175] As an example, in a 3*3 2D Torus network, continuing to assume that the second physical node is node 2 and the first physical node is node 4, the multiple communication paths determined based on the four sub-intervals are shown in Figure 9. Based on this, there are eight communication paths between node 2 and node 4 in the Torus network: Node 2-Node 0-Node 1-Node 7-Node 4, Node 2-Node 8-Node 5-Node 3-Node 4; Node 2-Node 8-Node 5-Node 4, Node 2-Node 1-Node 7-Node 4; Node 2-Node 1-Node 4, Node 2-Node 5-Node 4; Node 2-Node 0-Node 1-Node 4, Node 2-Node 5-Node 3-Node 4.

[0176] In summary, compared to a Torus network, a Mesh network eliminates loops in the connection relationships, directly presenting the physical nodes connected to each physical node in both directions of each dimension. Therefore, when planning multiple communication paths from the second physical node to the first physical node in a Torus network, these paths can be determined based on the Mesh network. Thus, this embodiment does not directly determine the communication paths between physical nodes in the Torus network, but rather in the Mesh network corresponding to the Torus network. Since the Mesh network directly displays the connections between physical nodes in the Torus network, it can quickly and effectively determine multiple communication paths from the second physical node to the first physical node in both directions of each dimension. The routing determination method is simple and can quickly and effectively determine multiple (or all) communication paths from the second physical node to the first physical node, resulting in higher routing efficiency.

[0177] Based on the above routing determination method, in some embodiments, after determining multiple communication paths from the second physical node to the first physical node, a full set of paths from the second physical node to the first physical node can be constructed based on these multiple communication paths.

[0178] The complete path set must meet the following three conditions:

[0179] Condition 1: The full path set is the set of paths consisting of non-intersecting communication paths between the second physical node and the first physical node;

[0180] Condition 2: The communication paths in the full path set can cover all ports of the second physical node and the first physical node without repetition;

[0181] Condition 3: The communication paths in the full path set must be the shortest paths corresponding to each port of the second physical node / first physical node.

[0182] In other words, although the Torus network provides rich path connectivity, not every communication path between the second physical node and the first physical node can be used to construct the full path set.

[0183] As an example, as shown in Figure 10, in a 4*4 2D Torus network, assuming the second physical node is node 9 and the first physical node is node 6, for the two communication paths shown in Figure 10 (1), since these two communication paths intersect at node 10-node 6 and do not use all the ports of node 9 and node 6, it is impossible to construct a full set of paths from node 9 to node 6 based on these two communication paths. For the four communication paths shown in Figure 10 (2), although these four communication paths can fully cover all the ports of node 9 and node 6, the communication paths are not the shortest paths corresponding to each port. The longest communication path has 6 hops. Therefore, it is impossible to construct a full set of paths from node 9 to node 6 based on these four communication paths. For the four communication paths shown in Figure 10 (3), although these four communication paths can fully cover all the ports of node 9 and node 6, the two communication paths at node 11-node 7 intersect. Therefore, it is impossible to construct a full set of paths from node 9 to node 6 based on these four communication paths. For the four communication paths shown in Figure 10 (4), since these four communication paths do not intersect each other and the longest communication path has 4 hops, which meets the requirements of the shortest path, and these four communication paths also cover all ports of node 9 and node 6, the full set of paths from node 9 to node 6 can be constructed based on these four communication paths.

[0184] Therefore, for the Torus network shown in Figure 10, the full path set from node 9 to node 6 only includes the four communication paths shown in (4) of Figure 10.

[0185] Based on the aforementioned full path set conditions, after determining multiple communication paths from the second physical node to the first physical node using the routing determination method provided in this application embodiment, if it is necessary to construct a full path set from the second physical node to the first physical node based on these multiple communication paths, the construction process can be as follows: Select a logical node from among the multiple logical nodes corresponding to the first physical node, then select a communication path from the second physical node to the logical node for that logical node, add the communication path to the full path set, then select a communication path from the second physical node to other logical nodes corresponding to the first physical node based on the communication path, to ensure that the selected communication paths do not intersect, and add the selected non-intersecting communication paths to the full path set, finally obtaining the full path set from the second physical node to the first physical node.

[0186] As an example, assuming the second physical node is node 2 and the first physical node is node 4, based on the eight communication paths from node 2 to node 4 shown in Figure 9, when constructing the full path set from node 2 to node 4, we can first select one logical node from the four logical nodes 4 (for example, the logical node 4 in the X-Y+ interval), and then select one communication path from the corresponding two communication paths for that logical node 4 (for example, node 2-node 8-node 5-node 4) as the communication path to reach that logical node 4 and add it to the full path set.

[0187] Furthermore, after determining the communication path from node 2 to node 8 to node 5 to node 4, a communication path is selected for logical node 4 within the X+Y+ interval. To ensure that the selected communication paths do not intersect, the communication path for logical node 4 within the X+Y+ interval can be: node 2 to node 0 to node 1 to node 7 to node 4, and this communication path is added to the full path set. Similarly, after determining the communication path from node 2 to node 0 to node 1 to node 7 to node 4, a communication path is selected for logical node 4 within the X+Y- interval. To ensure that the selected communication paths do not intersect, the communication path for logical node 4 within the X+Y interval can be: node 2-node 5-node 3-node 4, and this communication path is added to the full path set. Similarly, after determining the communication path for node 2-node 5-node 3-node, continue to select a communication path for logical node 4 within the X-Y interval. At this time, to ensure that the selected communication paths do not intersect, the communication path for logical node 4 within the X-Y interval can be: node 2-node 1-node 4, and this communication path is added to the full path set.

[0188] Based on this, the first full path set from node 2 to node 4 includes four non-intersecting communication paths that completely cover all ports of node 2 and node 4: node 2-node 8-node 5-node 4, node 2-node 0-node 1-node 7-node 4, node 2-node 5-node 3-node 4, and node 2-node 1-node 4.

[0189] In other words, the above example is based on logical node 4 in the X-Y+ interval. After selecting its communication path as node 2-node 8-node 5-node 4, the corresponding communication paths are selected for the other three logical nodes 4, thereby constructing the full set of paths from node 2 to node 4.

[0190] As another example, assuming the second physical node is node 2 and the first physical node is node 4, based on the eight communication paths from node 2 to node 4 shown in Figure 9, when constructing the full path set from node 2 to node 4, we can first select one logical node from the four logical nodes 4 (for example, the logical node 4 in the X-Y+ interval), and then for this logical node 4, select one of the two corresponding communication paths (for example, node 2-node 1-node 7-node 4) as the communication path to reach this logical node 4 and add it to the full path set.

[0191] Furthermore, after determining the communication path from node 2 to node 1 to node 7 to node 4, a communication path is selected for logical node 4 within the X-Y interval. To ensure that the selected communication paths do not intersect, the communication path for logical node 4 within the X-Y interval can be: node 2 to node 5 to node 4, and this communication path is added to the full path set. Similarly, after determining the communication path from node 2 to node 5 to node 4, a communication path is selected for logical node 4 within the X+Y interval. To ensure that the selected communication paths do not intersect, the communication path for logical node 4 within the X+Y interval can be: node 2 to node 0 to node 1 to node 4, and this communication path is added to the full path set. Similarly, after determining the communication path from node 2 to node 0 to node 1 to node 4, a communication path is selected for logical node 4 within the X+Y+ interval. To ensure that the selected communication paths do not intersect, the communication path for logical node 4 within the X+Y+ interval can be: node 2 to node 8 to node 5 to node 3 to node 4, and this communication path is added to the full path set.

[0192] Based on this, the second set of full paths from node 2 to node 4 also includes four non-intersecting communication paths that completely cover all ports of node 2 and node 4: node 2-node 1-node 7-node 4, node 2-node 5-node 4, node 2-node 0-node 1-node 4, and node 2-node 8-node 5-node 3-node 4.

[0193] In other words, the above example is based on logical node 4 in the X-Y+ interval. After selecting its communication path as node 2-node 1-node 7-node 4, the corresponding communication paths are selected for the other three logical nodes 4, thereby constructing the full set of paths from node 2 to node 4.

[0194] It should be noted that the two examples above only take logical node 4 within the X-Y+ interval as an example. Two communication paths leading to logical node 4 are selected as the chosen paths to further determine non-intersecting paths to other logical nodes 4, thereby constructing the complete path set. In practical applications, logical nodes within other sub-intervals (e.g., X+Y+ interval, X+Y- interval, X-Y- interval) can also be selected, their corresponding communication paths can be determined first, and then non-intersecting paths to other logical nodes can be selected. This application does not impose any restrictions on this approach.

[0195] In one possible implementation, when selecting a communication path from the second physical node to the logical node corresponding to the first physical node within a certain sub-interval, routing algorithms such as Dijkstra's algorithm, SPF algorithm, and breadth-first search (BFS) algorithm can be used to select the communication path, and the selected non-overlapping communication paths are added to the full path set. This application does not limit the algorithm used to determine the communication path based on the sub-interval, and other algorithms or strategies can also be used to implement it.

[0196] Therefore, by constructing a full set of paths from the second physical node to the first physical node, the second and first physical nodes can maximize their transmission and reception throughput when sending messages according to the communication paths in this full set. At the same time, they can make full use of the forwarding bandwidth resources between the ports of the second and first physical nodes, thus achieving the best network communication performance.

[0197] After introducing the routing determination method provided in the embodiments of this application, the routing configuration method provided in the embodiments of this application will be described in detail below, from the perspective of the controller in the Torus network, to explain the specific implementation of the controller configuring routing information for each physical node in the Torus network.

[0198] Figure 11 is a flowchart of a routing configuration method provided in an embodiment of this application. This method can be applied to the controller of a Torus network. Referring to Figure 11, the method includes the following steps.

[0199] Step 1101: Determine multiple communication paths from the second physical node to the first physical node; wherein the second physical node and the first physical node are any two of the multiple physical nodes included in the Torus network, and the multiple communication paths are determined through the Mesh network corresponding to the Torus network. The Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes.

[0200] The method for determining multiple communication paths in step 1101 is the same as the implementation logic of the routing determination method described above. Therefore, you can refer to the method embodiment corresponding to Figure 4 above, and it will not be repeated here.

[0201] Step 1102: Send routing configuration information based on multiple communication paths; wherein, the routing configuration information indicates the correspondence between logical identifiers and ports, the logical identifier is at least one of multiple logical identifiers corresponding to the first physical node, the multiple logical identifiers are used to indicate multiple communication paths, and the port is the port used to send a message to the first physical node according to the communication path indicated by the logical identifier.

[0202] In this embodiment of the application, the controller sends routing configuration information in the following two ways:

[0203] (1) Send the first routing configuration information to the second physical node.

[0204] The first routing configuration information indicates multiple logical identifiers and a first port corresponding to each logical identifier. The multiple logical identifiers are used to indicate multiple communication paths from the second physical node to the first physical node in the Torus network. The first port is the port used by the second physical node when sending a message to the first physical node according to the communication path corresponding to the logical identifier.

[0205] In other words, for a first physical node, it corresponds to multiple first logical nodes in the mesh network. Therefore, the determined multiple communication paths from the second physical node to the first physical node can also be understood as communication paths from the second physical node to multiple first logical nodes in the mesh network. Based on this, a first physical node corresponds to multiple first logical nodes, each first logical node corresponds to a logical identifier, and each logical identifier corresponds to at least one communication path.

[0206] Referring to Figure 9, when the second physical node is node 2 and the first physical node is node 4, within the logical range of node 2, node 4 corresponds to four logical nodes 4, and there are 8 communication paths between these four logical nodes 4 and node 2. Based on this, the first routing configuration information can include the logical identifiers of the four logical nodes 4 and the correspondence between the ports of the second physical node.

[0207] In one possible implementation, for the first physical node, the logical identifier of the first logical node corresponding to it in the Mesh network includes: the node identifier of the first logical node within the logical interval corresponding to the second physical node.

[0208] As explained above, this logical interval is the interval defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius.

[0209] As an example, referring to Figure 7, within the logical interval corresponding to node 2, the 25 logical nodes within this logical interval can be numbered from left to right and from top to bottom, and the corresponding numbers (i.e., 1-25) can be used as the logical identifiers of the logical nodes. For example, among the multiple logical nodes 4 in this logical interval, the logical identifier of the top-left logical node 4 can be its corresponding number 2; the logical identifier of the top-right logical node 4 can be its corresponding number 5; the logical identifier of the bottom-left logical node 4 can be its corresponding number 17; and the logical identifier of the bottom-right logical node 4 can be its corresponding number 20.

[0210] In another possible implementation, for the first physical node, the logical identifier of the first logical node corresponding to the first physical node in the Mesh network may include: the node identifier of the first physical node in the Torus network, and the interval identifier of the first logical node within the sub-interval to which it belongs in the logical interval corresponding to the second physical node.

[0211] As explained above, the logical interval is a range defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius. The sub-intervals are obtained by dividing the logical interval into regions with the second physical node as the center and according to at least one dimension.

[0212] Referring to Figure 9, with the second physical node being node 2 and the first physical node being node 4, for node 4, its four logical nodes in the Mesh network, respectively, within the four sub-intervals of the logical interval of node 2, can refer to Table 1 below to set the interval identifiers of the four sub-intervals.

[0213] Table 1

[0214] As an example, based on the interval identifiers of the sub-intervals shown in Table 1, assuming that the node identifier of node 4 in the Torus network is 0b000100, then for the four logical nodes 4 shown in Figure 9, these four logical nodes 4 can be uniquely identified using the method of "node identifier of node 4 in the Torus network + interval identifier of the sub-interval to which the logical node belongs". That is, within the logical interval of physical node 2 shown in Figure 9, the logical identifier of node 4 in the X-Y+ interval can be recorded as 0b10+0b000100, the logical identifier of node 4 in the X+Y+ interval can be recorded as 0b00+0b000100, the logical identifier of node 4 in the X-Y- interval can be recorded as 0b11+0b000100, and the logical identifier of node 4 in the X+Y- interval can be recorded as 0b01+0b000100. It should be understood that here "+" only represents the meaning of "and", not the calculation logic.

[0215] It should be noted that other methods can also be used to uniquely identify the logical identifiers of multiple logical nodes indicating the same physical node within a certain logical interval, and this application embodiment does not limit this.

[0216] Based on this, if we assume that the port of node 2 in the Y+ direction is port 1 (denoted as port P1), the port in the X- direction is port 2 (denoted as port P2), the port in the Y- direction is port 3 (denoted as port P3), and the port in the X+ direction is port 4 (denoted as port P4), then based on the multiple communication paths from the second physical node to the first physical node shown in Figure 9, the first routing configuration information sent by the controller to the second physical node can be represented by the following Table 2.

[0217] Table 2

[0218] In one possible implementation, the first routing configuration information can be sent to the second physical node in a key-value format, where the key value indicates the logical identifier corresponding to the first physical node, and the value value indicates the first port corresponding to the logical identifier on the second physical node.

[0219] In one possible implementation, based on the foregoing explanation of the full path set, when the controller sends the first routing configuration information to the second physical node, it may also send the logical identifier and port information corresponding to the communication paths contained in the full path set to the second physical node based on the determination of the full path set. This application embodiment does not limit this.

[0220] As an example, continuing to refer to Figure 9, and assuming the second physical node is node 2 and the first physical node is node 4. If the determined first full path set from the second physical node to the first physical node includes four communication paths: node 2-node 8-node 5-node 4, node 2-node 0-node 1-node 7-node 4, node 2-node 5-node 3-node 4, and node 2-node 1-node 4, then the first routing configuration information sent by the controller to node 2 based on this full path set can be represented by Table 3 below.

[0221] Table 3

[0222] As another example, continuing to refer to Figure 9, and assuming the second physical node is node 2 and the first physical node is node 4. If the determined second full path set from the second physical node to the first physical node includes four communication paths: node 2-node 1-node 7-node 4, node 2-node 5-node 4, node 2-node 0-node 1-node 4, and node 2-node 8-node 5-node 3-node 4, then the first routing configuration information sent by the controller to node 2 based on this full path set can be represented by Table 4 below.

[0223] Table 4

[0224] The above examples only provide two exemplary full path sets from node 2 to node 4. In practical applications, based on the eight communication paths from node 2 to node 4 shown in Figure 9, other methods can also be used to determine the full path set, and the first routing configuration information can be sent to node 2 based on the determined full path set. This application embodiment does not limit this, and will not provide examples one by one here.

[0225] (2) Send the second routing configuration information to the third physical node.

[0226] The third physical node is any physical node located between the second physical node and the first physical node on multiple communication paths. The second routing configuration information indicates the first logical identifier and the second port corresponding to the first logical identifier among multiple logical identifiers. The multiple logical identifiers indicate multiple communication paths from the second physical node to the first physical node. The first logical identifier indicates the communication path where the third physical node is located among the multiple communication paths. The second port is the port used by the third physical node to send a message to the first physical node according to the communication path corresponding to the first logical identifier.

[0227] As an example, if the second physical node is node 2, the first physical node is node 4, and the communication path from physical node 2 to physical node 4 is: node 2-node 8-node 5-node 4, then the third physical node includes node 8 and node 5.

[0228] Similarly, assuming that each physical node has port 1 (denoted as port P1) in the Y+ direction, port 2 (denoted as port P2) in the X- direction, port 3 (denoted as port P3) in the Y- direction, and port 4 (denoted as port P4) in the X+ direction, then based on the above communication path node 2-node 8-node 5-node 4, the second routing configuration information sent by the controller to physical node 8 can be represented by Table 5 below; the second routing configuration information sent by the controller to node 5 can be represented by Table 6 below.

[0229] Table 5

[0230] Table 6

[0231] In one possible implementation, the second routing configuration information can be sent to the third physical node in a key-value format, where the key indicates the logical identifier corresponding to the first physical node, and the value indicates the second port corresponding to the logical identifier on the third physical node.

[0232] Similarly, based on the preceding explanation of the full path set, if the controller sends the first routing configuration information to the second physical node based on the full path set from the second physical node to the first physical node, then the controller also sends the second routing configuration information to the third physical node located between the second and first physical nodes based on the same full path set. In this case, the third physical node receiving the second routing configuration information refers to a relay node located on the communication path included in the full path set; these relay nodes are used to forward packets between the second and first physical nodes.

[0233] It should be noted that Tables 5 and 6 above only use the logical identifier of node 4 as an example of 0b10+0b000100. When logical node 4 is located in other sub-intervals within the logical interval of node 2, the controller also needs to send the second routing configuration information to the third physical node on other communication paths. The implementation logic is similar when sending the second routing configuration information to the third physical node on other communication paths, so it will not be described again here.

[0234] In summary, in this embodiment of the application, the controller, as a global management and control device, after determining multiple communication paths from the second physical node to the first physical node, can also use routing configuration information to indicate the multiple communication paths to the second physical node and the third physical node located between the second physical node and the first physical node on the multiple communication paths. This allows the second physical node and the third physical node to send messages to the first physical node along a certain communication path, based on the logical identifier corresponding to the first physical node, to send messages from the corresponding port.

[0235] After introducing the route determination method and route configuration method provided in the embodiments of this application, the message sending method provided in the embodiments of this application will be described in detail next, from the perspective of a physical node in the Torus network, to explain the process of sending messages by that physical node.

[0236] Figure 12 is a flowchart illustrating a message sending method provided in an embodiment of this application. Referring to Figure 12, the method includes the following steps.

[0237] Step 1201: Obtain the destination logical identifier of the message; wherein, the destination logical identifier is one of multiple logical identifiers corresponding to the first physical node in the Torus network. The multiple logical identifiers are used to indicate multiple communication paths from the second physical node to the first physical node in the Torus network. The multiple communication paths are determined by the Mesh network corresponding to the Torus network. The Torus network includes multiple physical nodes, and the Mesh network includes multiple logical nodes. The connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes.

[0238] It should be noted that the implementation method for determining multiple communication paths from the second physical node to the first physical node can be referred to the method embodiment in Figure 4 above. The routing method is the same in both cases, so it will not be repeated here.

[0239] In the Torus network, a physical node can be either a node that sends a message or a node that forwards a message. The implementation method for determining the destination logical identifier of the message is different in different situations, which will be introduced separately below.

[0240] In the first scenario, the message sending method is applied to the second physical node. That is, the second physical node acts as the node sending the message, executing steps 1201 and 1202. Before executing step 1202, the second physical node needs to obtain first routing configuration information. This first routing configuration information indicates multiple logical identifiers and a first port corresponding to each logical identifier. The first port is the port used by the second physical node when sending a message to the first physical node according to the communication path corresponding to the logical identifier. Then, it selects one logical identifier from the multiple logical identifiers as the destination logical identifier and uses the first port corresponding to the selected logical identifier as the port corresponding to the destination logical identifier.

[0241] Regarding the implementation method of the second physical node obtaining the first routing configuration information, the method embodiment in Figure 4 above can be referred to. The second physical node acts as the execution subject, and after determining multiple communication paths from the second physical node to the first physical node, it autonomously and independently generates the first routing configuration information based on these multiple communication paths. Alternatively, the method shown in the embodiment in Figure 11 above can be referred to, where the second physical node directly obtains the first routing configuration information from the controller after the controller generates it. This application embodiment does not impose any limitations on this.

[0242] When the second physical node sends a message to the first physical node, it can select one logical identifier from multiple logical identifiers corresponding to the first physical node as the destination logical identifier according to the first routing configuration information, and carry the destination identifier in the message.

[0243] It should be noted that the specific details of the first route configuration information, as well as the sending method, can be found in Tables 2-4 above, and will not be repeated here.

[0244] In the second scenario, the message transmission method is applied to a third physical node. The third physical node can be any physical node located between the second and first physical nodes on multiple communication paths; or, the third physical node can be any physical node located between the second and first physical nodes on communication paths included in the full path set, where the full path set refers to the complete set of paths from the second physical node to the first physical node. In this case, the third physical node, acting as a message forwarding node, can parse the destination logical identifier from the message after receiving it from the second physical node.

[0245] Before the third physical node forwards the packet based on the destination logical identifier, that is, before performing step 1202 below, it also needs to obtain the second routing configuration information, so as to determine the port for forwarding the packet based on the second routing configuration information.

[0246] The second routing configuration information indicates the first logical identifier and the second port corresponding to the first logical identifier among multiple logical identifiers corresponding to the first physical node. The first logical identifier is used to indicate the communication path where the third physical node is located in multiple communication paths, and the second port is the port used by the third physical node to send a message to the first physical node according to the communication path corresponding to the first logical identifier.

[0247] It should be understood that, for the third physical node, if the second routing configuration information it receives indicates a first logical identifier and a second port corresponding to the first logical identifier, then when it receives a packet destined for the first physical node, the destination logical identifier carried in that packet is the first logical identifier configured by the controller. Therefore, when the third physical node performs step 1202 below, it essentially uses the first logical identifier as the destination logical identifier and the second port corresponding to the first logical identifier as the port corresponding to the destination logical identifier.

[0248] It should be noted that the specific details of the second route configuration information, as well as the sending method, can be found in Tables 5 and 6 above, and will not be repeated here.

[0249] Step 1202: Send a message through the port corresponding to the destination logical identifier to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

[0250] In other words, after determining the destination logical identifier of the message, the second or third physical node can determine the port corresponding to the destination logical identifier based on the destination logical identifier and routing configuration information, and then send the message from the corresponding port.

[0251] In some embodiments, the message header carries a destination logical identifier. Thus, when the message is transmitted to the next-hop physical node in the Torus network, the next-hop physical node can continue sending messages along the corresponding port based on its own routing configuration information and the destination logical identifier carried in the message, until the message is transmitted to the first physical node.

[0252] In one possible implementation, the destination logical identifier can also be carried in the message payload, and this application embodiment does not limit this.

[0253] In one possible implementation, the message header includes a first field that carries a destination logical identifier.

[0254] When the message is an IP message, the first field can be the destination IP identifier field. In this case, the destination logical identifier can be carried through the destination IP identifier field, and this destination logical identifier can be located in the lower 8 bits of the destination IP identifier.

[0255] As mentioned earlier, a Torus network has at least one dimension. The destination logical identifier can include the node identifier of the target logical node within the logical interval corresponding to the second physical node; the destination logical identifier can also include the node identifier of the first physical node in the Torus network, and the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node. Here, the first physical node corresponds to multiple first logical nodes in the Mesh network, and the destination logical node is one of these multiple first logical nodes.

[0256] The logical interval is defined within the Mesh network with the second physical node as the center and a radius equal to the total number of physical nodes in each dimension minus 1. This logical interval includes multiple first logical nodes corresponding to the first physical node. The sub-interval is obtained by dividing the logical interval into regions centered on the second physical node according to at least one dimension. Each sub-interval includes one first logical node.

[0257] Based on this, when the destination logical identifier includes two parts of information (i.e., the node identifier of the physical node and the interval identifier of the sub-interval), the first field mentioned above may include two sub-fields to carry the node identifier of the first physical node in the Torus network and the interval identifier of the sub-interval to which the target logical node corresponding to the first physical node belongs within the logical interval, respectively.

[0258] In one possible implementation, if the message header carries a destination logical identifier, and the destination logical identifier includes two parts of information, the message header may include a second field and a third field. The second field is used to carry the node identifier of the first physical node in the Torus network, and the third field is used to carry the interval identifier of the sub-interval to which the target logical node corresponding to the first physical node belongs within the logical interval.

[0259] That is, when the destination logical identifier includes two parts of information, these two parts of information can be carried through the first field mentioned above, or through two fields in the message header, namely the second field and the third field. This application embodiment does not limit this.

[0260] When the message is an IP message, the second field can be the destination IP field, and the third field can be the type of service (ToS) field. In this case, the destination logical identifier can be carried through the destination IP field and the ToS field. The node identifier of the first physical node in the Torus network can be located in the lower 8 bits of the destination IP, and the interval identifier of the sub-interval to which the target logical node corresponding to the first physical node belongs within the logical interval can be located in the lower 3 bits of the ToS.

[0261] Regarding the two methods of carrying the destination logical identifier described above, when the destination logical identifier includes two parts of information, as an example, continuing to refer to Figure 9, for node 4 in the X+Y interval, assuming that the node identifier of physical node 4 in the Torus network is 0b000100, and the interval identifier of the logical interval corresponding to node 4 is 0b01, based on this, if the addresses of each physical node in the Torus network use the private network address 192.168.1.X network segment, then the IP address of node 4 in the X+Y interval can be recorded as 192.168.1.68 (the value 68 represents 0b01000100). Of course, for node 4 in this X+Y interval, it is also possible to carry only the node identifier of physical node 4 in the Torus network in the lower 8 bits of the destination IP. In this case, the destination IP address can be represented as 192.168.1.24 (the value 24 represents 0b011000), while using the lower 3 bits of ToS to carry the interval identifier 0b01 of the logical interval corresponding to node 4.

[0262] It should be noted that when the message header carries a destination logical identifier, this application embodiment does not limit the number of fields carrying the destination logical identifier. That is, the destination logical identifier can be carried by one field or by two fields.

[0263] When the message header uses two fields to carry the destination logical identifier, the third physical node that receives the data message needs to parse the information in the two fields to determine the destination logical identifier, and then send the message from the port corresponding to the destination logical identifier based on the destination logical identifier and its own second routing configuration information.

[0264] As an example, after receiving a message, the third physical node needs to parse the lower 3 bits of the ToS field and the lower 8 bits of the destination IP in the message header, and combine the parsed information to determine the destination logical identifier of the message.

[0265] In summary, in this embodiment of the application, after determining multiple communication paths from the second physical node to the first physical node and the logical identifier corresponding to the first physical node, for a message to be sent, the second physical node or the third physical node can send the message from the corresponding port according to the destination logical identifier of the message, so that the message can be transmitted to the first physical node along the communication path indicated by the destination logical identifier, thus ensuring the communication performance between physical nodes in the entire Torus network.

[0266] For ease of understanding, the route determination method, route configuration method, and message sending method provided in the embodiments of this application will be described by way of example with reference to Figure 13.

[0267] Referring to Figure 13, for each physical node in the Torus network, the controller can execute the routing determination method and routing configuration method provided in this embodiment to configure routing information from itself to other physical nodes for each physical node in the Torus network. Each physical node in the Torus network generates a routing table based on the routing configuration information issued by the controller. The routing table can record the logical identifiers corresponding to other physical nodes in a key-value format, as well as the ports used when sending messages to other physical nodes according to the communication path indicated by the logical identifiers.

[0268] For messages transmitted in a Torus network, the message header carries a destination logical identifier corresponding to the receiving node. This destination logical identifier is the logical identifier of one of the multiple logical nodes corresponding to the receiving node. The destination logical identifier can include the node identifier of this logical node within a logical interval, or it can be the node identifier of the receiving node in the Torus network, and the interval identifier of the sub-interval to which this logical node belongs within the logical interval. Here, the logical interval refers to the logical interval of the sending node in the Mesh network.

[0269] Taking any physical node in a Torus network forwarding a message as an example, when it receives a message from the sending node, it obtains the destination logical identifier by parsing the message header. Then, based on the destination logical identifier, it determines the forwarding port that sent the message by querying its own stored routing table. Then, it forwards the message from the determined forwarding port, so that the message can be transmitted to the receiving node indicated by the destination logical identifier.

[0270] It should be noted that the specific implementation details and technical effects of the route determination method, route configuration method, and message sending method can be found in the detailed descriptions in the method embodiments of Figure 4, Figure 11, and Figure 12 above, and will not be repeated here.

[0271] Figure 14 is a schematic diagram of a message sending device provided in an embodiment of this application. This message sending device can be implemented by software, hardware, or a combination of both as part or all of a physical node in a Torus network. Referring to Figure 14, the message sending device includes: an identifier acquisition module 1401 and a message sending module 1402.

[0272] The identifier acquisition module 1401 is used to acquire the destination logical identifier of the message; wherein, the destination logical identifier is one of multiple logical identifiers corresponding to the first physical node in the Torus network, the multiple logical identifiers are used to indicate multiple communication paths from the second physical node to the first physical node in the Torus network, the multiple communication paths are determined by the Mesh network corresponding to the Torus network, the Torus network includes multiple physical nodes, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes;

[0273] The message sending module 1402 is used to send a message through the port corresponding to the destination logical identifier, so as to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

[0274] In one possible implementation, the message sending device in the second physical node further includes:

[0275] The first route acquisition module is used to acquire first route configuration information; wherein, the first route configuration information indicates multiple logical identifiers and a first port corresponding to each logical identifier, and the first port is the port used by the second physical node to send a message to the first physical node according to the communication path corresponding to the logical identifier;

[0276] The first identifier determination module is used to select one logical identifier from multiple logical identifiers as the destination logical identifier, and to use the first port corresponding to the selected logical identifier as the port corresponding to the destination logical identifier.

[0277] In one possible implementation, the first route acquisition module includes:

[0278] The network generation unit is used to generate a Mesh network based on multiple physical nodes;

[0279] The path determination unit is used to determine multiple communication paths from the second physical node to the first physical node based on the multiple first logical nodes corresponding to the first physical node in the Mesh network. Each first logical node corresponds to at least one communication path, and the multiple logical identifiers are the identifiers of multiple first logical nodes.

[0280] The information generation unit is used to generate the first routing configuration information based on multiple communication paths.

[0281] In one possible implementation, the Torus network has at least one dimension;

[0282] The network generation unit is specifically used for:

[0283] For each physical node among multiple physical nodes, advance the physical node by the target number of nodes in both the forward and reverse directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; where the target number is the total number of physical nodes in the corresponding dimension minus 1;

[0284] A Mesh network is generated based on the logical nodes corresponding to multiple physical nodes.

[0285] In one possible implementation, the path determination unit includes:

[0286] The region determination sub-unit is used to determine the logical interval corresponding to the second physical node in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius; wherein, the logical interval includes multiple first logical nodes;

[0287] The path determination subunit is used to determine multiple communication paths from the second physical node to the first physical node within a logical interval based on multiple first logical nodes.

[0288] In one possible implementation, the path determination subunit is specifically used for:

[0289] Centered on the second physical node, the logical interval is divided into multiple sub-intervals according to at least one dimension of the Torus network; the total number of sub-intervals is 2. n , where n is the total number of at least one dimension;

[0290] Within each sub-interval, determine the communication path from the second physical node to each first logical node to obtain multiple communication paths from the second physical node to the first physical node.

[0291] In one possible implementation, the message sending device is included in a third physical node, which is any physical node located between the first and second physical nodes on multiple communication paths; then the message sending device further includes:

[0292] The second route acquisition module is used to acquire second route configuration information; wherein, the second route configuration information indicates the first logical identifier among multiple logical identifiers and the second port corresponding to the first logical identifier. The first logical identifier is used to indicate the communication path where the third physical node is located among multiple communication paths, and the second port is the port used by the third physical node to send a message to the first physical node according to the communication path indicated by the first logical identifier.

[0293] The second identifier determination module is used to use the first logical identifier as the destination logical identifier and the second port corresponding to the first logical identifier as the port corresponding to the destination logical identifier.

[0294] In one possible implementation, the message header carries a destination logical identifier.

[0295] In one possible implementation, the message header includes a first field, which carries a destination logical identifier.

[0296] In one possible implementation, the Torus network has at least one dimension, and the destination logical identifier includes the node identifier of the target logical node within the logical interval corresponding to the second physical node.

[0297] The target logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network. The logical interval is a range defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius. The logical interval includes multiple first logical nodes.

[0298] In one possible implementation, the Torus network has at least one dimension, and the target logical identifier includes the node identifier of the first physical node in the Torus network, and the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node.

[0299] The target logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network. The logical interval is a range defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius. The logical interval includes multiple first logical nodes. The sub-interval is obtained by dividing the logical interval into regions with the second physical node as the center and according to at least one dimension.

[0300] In one possible implementation, if the message header carries a destination logical identifier, the message header includes a second field and a third field. The second field is used to carry the node identifier of the first physical node in the Torus network, and the third field is used to carry the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node.

[0301] In this embodiment, since the Mesh network, compared to the Torus network, eliminates loops in the connection relationships and directly presents the physical nodes connected to each physical node in each direction along each dimension, multiple communication paths from the second physical node to the first physical node in the Torus network can be determined based on the Mesh network when planning multiple communication paths from the second physical node to the first physical node. Therefore, this embodiment does not directly determine the communication paths between physical nodes in the Torus network, but rather in the Mesh network corresponding to the Torus network. Because the Mesh network directly displays the connection relationships between physical nodes in the Torus network, multiple communication paths from the second physical node to the first physical node in each direction along each dimension can be quickly and effectively determined based on the Mesh network. The routing determination method is simple and can quickly and effectively determine multiple communication paths (or all communication paths) from the second physical node to the first physical node, resulting in higher routing determination efficiency.

[0302] Furthermore, after planning multiple communication paths from the second physical node to the first physical node, for a message sent from the second physical node to the first physical node in the Torus network, the message can be sent from the corresponding port according to the destination logical identifier of the message, so that the message can be transmitted to the first physical node along the communication path indicated by the destination logical identifier, thus ensuring the communication performance between physical nodes in the entire Torus network.

[0303] It should be noted that the message sending device provided in the above embodiments, when selecting a port to send a message based on the destination logical identifier of the message, is only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the message sending device provided in the above embodiments and the message sending method embodiment shown in Figure 12 belong to the same concept, and the specific implementation process can be found in the method embodiment, which will not be repeated here.

[0304] Figure 15 is a schematic diagram of a routing configuration device provided in an embodiment of this application. This routing configuration device can be implemented by software, hardware, or a combination of both as part or all of the controller of a Torus network. Referring to Figure 15, the routing configuration device includes: a path determination module 1501 and a routing configuration module 1502.

[0305] The path determination module 1501 is used to determine multiple communication paths from the second physical node to the first physical node; wherein the second physical node and the first physical node are any two of the multiple physical nodes included in the Torus network, and the multiple communication paths are determined through the Mesh network corresponding to the Torus network. The Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes.

[0306] The routing configuration module 1502 is used to send routing configuration information based on multiple communication paths. The routing configuration information indicates the correspondence between logical identifiers and ports. The logical identifier is at least one of multiple logical identifiers corresponding to the first physical node. The multiple logical identifiers are used to indicate multiple communication paths. The port is the port used when sending a message to the first physical node according to the communication path indicated by the logical identifier.

[0307] In one possible implementation, the path determination module 1501 includes:

[0308] The network generation unit is used to generate a Mesh network based on multiple physical nodes;

[0309] The path determination unit is used to determine multiple communication paths from the second physical node to the first physical node based on the multiple first logical nodes corresponding to the first physical node in the Mesh network. The first logical node corresponds to at least one communication path, and the multiple logical identifiers are the identifiers of multiple first logical nodes.

[0310] In one possible implementation, the network generation unit is specifically used for:

[0311] For each physical node among multiple physical nodes, advance the physical node by the target number of nodes in both the forward and reverse directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; where the target number is the total number of physical nodes in the corresponding dimension minus 1;

[0312] A Mesh network is generated based on the logical nodes corresponding to multiple physical nodes.

[0313] In one possible implementation, the routing configuration module 1502 includes:

[0314] The first configuration unit is used to send the first routing configuration information to the second physical node;

[0315] The first routing configuration information indicates multiple logical identifiers and a first port corresponding to each logical identifier. The first port is the port used by the second physical node to send a message to the first physical node according to the communication path corresponding to the logical identifier.

[0316] In one possible implementation, the routing configuration module 1502 includes:

[0317] The second configuration unit is used to send the second routing configuration information to the third physical node;

[0318] The third physical node is any physical node located between the first physical node and the second physical node on multiple communication paths. The second routing configuration information indicates the first logical identifier and the second port corresponding to the first logical identifier among multiple logical identifiers. The first logical identifier indicates the communication path where the third physical node is located in multiple communication paths. The second port is the port used by the third physical node to send a message to the first physical node according to the communication path corresponding to the first logical identifier.

[0319] In this embodiment, since the Mesh network, compared to the Torus network, eliminates loops in the connection relationships and directly presents the physical nodes connected to each physical node in each direction along each dimension, multiple communication paths from the second physical node to the first physical node in the Torus network can be determined based on the Mesh network when planning multiple communication paths from the second physical node to the first physical node. Therefore, this embodiment does not directly determine the communication paths between physical nodes in the Torus network, but rather in the Mesh network corresponding to the Torus network. Because the Mesh network directly displays the connection relationships between physical nodes in the Torus network, multiple communication paths from the second physical node to the first physical node in each direction along each dimension can be quickly and effectively determined based on the Mesh network. The routing determination method is simple and can quickly and effectively determine multiple communication paths (or all communication paths) from the second physical node to the first physical node, resulting in higher routing determination efficiency.

[0320] Furthermore, after determining multiple communication paths from the second physical node to the first physical node, the routing configuration device can use routing configuration information to indicate the multiple communication paths to the second physical node and the third physical node located between the second physical node and the first physical node on the multiple communication paths. This allows the second physical node and the third physical node to send messages to the first physical node along a certain communication path, based on the logical identifier corresponding to the first physical node, to send messages from the corresponding port, thus ensuring the communication performance between physical nodes in the entire Torus network.

[0321] It should be noted that the routing configuration device provided in the above embodiments, when configuring routing information for physical nodes in a Torus network, is only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the routing configuration device provided in the above embodiments and the routing configuration method embodiment shown in Figure 11 belong to the same concept; the specific implementation process is detailed in the method embodiment and will not be repeated here.

[0322] Referring to Figure 16, which is a schematic diagram of a computer device provided in an embodiment of this application, the computer device can be a terminal device or a server, or other devices including hardware such as a processor. In this embodiment, the computer device can act as any physical node in a Torus network to execute the steps of the routing determination method or the message sending method provided in this embodiment; of course, the computer device can also act as a controller corresponding to the Torus network to execute the steps of the routing configuration method provided in this embodiment.

[0323] As shown in Figure 16, the computer device includes at least one processor 101, a communication bus 102, a memory 103, and at least one communication interface 104.

[0324] Processor 101 can be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, or one or more integrated circuits for implementing the solutions of this application, such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or combinations thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0325] The communication bus 102 is used to transmit information between the aforementioned components. The communication bus 102 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used to represent it in Figure 16, but this does not mean that there is only one bus or one type of bus.

[0326] The memory 103 may be a read-only memory (ROM), a random access memory (RAM), an electrically erasable programmable read-only memory (EEPROM), an optical disc (including a compact disc read-only memory (CD-ROM), a compressed optical disc, a laser disc, a digital versatile optical disc, a Blu-ray disc, etc.), a magnetic disk storage medium, or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but not limited thereto. The memory 103 may exist independently and be connected to the processor 101 via the communication bus 102. The memory 103 may also be integrated with the processor 101.

[0327] Communication interface 104 uses any transceiver-like device for communicating with other devices or communication networks. Communication interface 104 includes a wired communication interface and may also include a wireless communication interface. The wired communication interface may be, for example, an Ethernet interface. The Ethernet interface may be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface may be a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof.

[0328] As an example, processor 101 may include one or more CPUs, such as CPU0 and CPU1 as shown in FIG16.

[0329] As an example, a computer device may include multiple processors, such as processor 101 and processor 105 as shown in Figure 16. Each of these processors may be a single-core processor or a multi-core processor. Here, "processor" may refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0330] In some embodiments, the computer device may further include output devices and input devices. The output device communicates with the processor 101 and can display information in various ways. For example, the output device may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device communicates with the processor 101 and can receive user input in various ways. For example, the input device may be a mouse, keyboard, touchscreen device, or sensing device, etc.

[0331] In some embodiments, memory 103 is used to store program code 110 for executing the scheme of this application, and processor 101 can execute the program code 110 stored in memory 103. The program code 110 may include one or more software modules. The computer device can use processor 101 and program code 110 in memory 103 to implement the routing determination method provided in the embodiments of this application, or the routing configuration method provided in the embodiments of this application, or the message sending method provided in the embodiments of this application.

[0332] Referring to Figure 17, which is a schematic diagram of a network device provided in an embodiment of this application, the network device can be a switch, router, access gateway, or other devices including hardware such as a processor. In this embodiment, the network device can serve as any physical node in a Torus network to execute the steps of the routing determination method or the message sending method provided in this embodiment.

[0333] As shown in Figure 17, the network device 1700 includes: a main control board 1710, an interface board 1730, and an interface board 1740. In the case of multiple interface boards, a switching network board (not shown in Figure 17) may be included, which is used to complete the data exchange between the interface boards (interface boards are also called line cards or service boards).

[0334] The main control board 1710 performs functions such as system management, equipment maintenance, and protocol processing. Interface boards 1730 and 1740 provide various service interfaces (e.g., POS interface, GE interface, ATM interface, etc.) and implement data stream forwarding. The main control board 1710 primarily has three types of functional units: a system management control unit, a system clock unit, and a system maintenance unit. The main control board 1710, interface board 1730, and interface board 1740 communicate with each other via a system bus connected to the system backplane. Interface board 1730 includes one or more processors 1731. Processors 1731 control and manage the interface board, communicate with the central processing unit on the main control board, and handle data stream forwarding. The memory 1732 on interface board 1730 stores forwarding table entries; processors 1731 forward data streams by searching the forwarding table entries stored in memory 1732.

[0335] The interface board 1730 includes one or more network interfaces 1733 for receiving data streams sent by computing nodes, other network devices, etc., and forwarding data packets in these data streams according to the instructions of the processor 1731. The specific implementation process will not be described in detail here.

[0336] As shown in Figure 17, this embodiment includes multiple interface boards and employs a distributed forwarding mechanism. Under this mechanism, the operations on interface board 1740 are basically similar to those on interface board 1730, and will not be described further for simplicity. Furthermore, it is understood that the processors 1731 in interface board 1730 and / or 1741 in interface board 1740 in Figure 17 can be dedicated hardware or chips, such as network processors or application-specific integrated circuits (ASICs), to implement the above functions. This implementation method is commonly referred to as using dedicated hardware or chips for the forwarding plane. Of course, processors 1731 and / or 1741 can also use general-purpose processors, such as general-purpose CPUs, to implement the functions described above.

[0337] Furthermore, it should be noted that a network device may have one or more main control boards, including a primary and a backup main control board. Similarly, it may have one or more interface boards; the more data processing capabilities the network device possesses, the more interface boards it provides. When a network device includes multiple interface boards, these boards can communicate through one or more switching network boards, enabling load sharing and redundancy backup. In a centralized forwarding architecture, the network device may not require a switching network board; the interface boards handle the entire system's business data processing. In a distributed forwarding architecture, the network device can include multiple interface boards, which can exchange data through a switching network board, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of a distributed architecture network device are greater than those of a centralized architecture network device. The specific architecture adopted depends on the specific network deployment scenario, and no limitations are imposed here.

[0338] In some embodiments, memory 1732 may be read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), optical discs (including compact disc read-only memory (CD-ROM), compressed optical discs, laser discs, digital versatile optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code having an instruction or data structure form and accessible by a computer, but not limited thereto. Memory 1732 may exist independently and be connected to processor 1731 via a communication bus. Of course, memory 1732 may also be integrated with processor 1731.

[0339] In some embodiments, network interface 1733 can be a transceiver-like device used to communicate with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. Network interface 1733 includes a wired network interface and may also include a wireless network interface. The wired network interface can be, for example, an Ethernet interface. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. The wireless network interface can be a WLAN interface, a cellular network communication interface, or a combination thereof, etc. When the network device acts as any network device within a domain, network interface 1733 is used to forward data packets to other network devices; when the network device acts as a head node within a domain, network interface 1733 can also be used to communicate with computing nodes, such as receiving data packets sent by computing nodes.

[0340] In some embodiments, a network device may include multiple processors, each of which may be a single-core processor or a multi-core processor. Here, a processor may refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).

[0341] In some embodiments, the memory 1732 is used to store a computer program that executes the scheme of this application, and the processor 1731 can execute the computer program stored in the memory 1732 to implement the routing determination method provided in the embodiments of this application, or to implement the message sending method provided in the embodiments of this application.

[0342] This application also provides a computer-readable storage medium storing a computer program that, when running on a processor, causes the processor to execute the steps of the routing determination method shown in the above embodiments, or the steps of the routing configuration method shown in the above embodiments, or the steps of the message sending method shown in the above embodiments.

[0343] This application also provides a computer program product comprising computer instructions that, when executed by a processor, cause the processor to perform the steps of the encoding method or the decoding method shown in the above embodiments. Alternatively, a computer program is provided that, when run on a processor, causes the processor to perform the steps of the routing determination method, the routing configuration method, or the message transmission method shown in the above embodiments.

[0344] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital versatile disc (DVD)), or a semiconductor medium (e.g., solid state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiments of this application can be a non-volatile storage medium; in other words, it can be a non-transient storage medium.

[0345] It should be understood that "multiple" as mentioned herein refers to two or more. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. In addition, to facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first," "second," etc., are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or execution order, and the terms "first," "second," etc., do not necessarily imply that they are different.

[0346] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in the embodiments of this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0347] The above descriptions are embodiments provided in this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A message sending method, characterized in that, The method includes: Obtain the destination logical identifier of the message; wherein, the destination logical identifier is one of multiple logical identifiers corresponding to the first physical node in the Torus network, the multiple logical identifiers are used to indicate multiple communication paths from the second physical node to the first physical node in the Torus network, the multiple communication paths are determined by the Mesh network corresponding to the Torus network, the Torus network includes multiple physical nodes, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes; The message is sent through the port corresponding to the destination logical identifier to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

2. The method as described in claim 1, characterized in that, The method is applied to the second physical node; Before sending the message through the port corresponding to the destination logical identifier, the method further includes: Obtain first routing configuration information; wherein, the first routing configuration information indicates the plurality of logical identifiers and a first port corresponding to each logical identifier, and the first port is the port used by the second physical node to send a message to the first physical node according to the communication path corresponding to the logical identifier; Select one logical identifier from the plurality of logical identifiers as the destination logical identifier, and use the first port corresponding to the selected logical identifier as the port corresponding to the destination logical identifier.

3. The method as described in claim 2, characterized in that, The process of obtaining the first route configuration information includes: The Mesh network is generated based on the multiple physical nodes; Based on the first physical node corresponding to multiple first logical nodes in the Mesh network, multiple communication paths from the second physical node to the first physical node are determined, each first logical node corresponds to at least one communication path, and the multiple logical identifiers are the identifiers of the multiple first logical nodes; Based on the multiple communication paths, the first routing configuration information is generated.

4. The method as described in claim 3, characterized in that, The Torus network has at least one dimension; The generation of the Mesh network based on the multiple physical nodes includes: For each of the plurality of physical nodes, the physical node is advanced by a target number of nodes in both the positive and negative directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; wherein, the target number is the total number of physical nodes in the corresponding dimension minus 1; The Mesh network is generated based on the logical nodes corresponding to the multiple physical nodes.

5. The method as described in claim 3 or 4, characterized in that, The step of determining multiple communication paths from the second physical node to the first physical node based on the multiple first logical nodes corresponding to the first physical node in the Mesh network includes: Centered on the second physical node, and with a radius equal to the total number of physical nodes in each dimension minus 1, a logical interval corresponding to the second physical node is determined in the Mesh network; wherein, the logical interval includes the plurality of first logical nodes; Based on the plurality of first logical nodes, multiple communication paths from the second physical node to the first physical node are determined within the logical interval.

6. The method as described in claim 5, characterized in that, The step of determining multiple communication paths from the second physical node to the first physical node within the logical interval based on the plurality of first logical nodes includes: Centered on the second physical node, the logical interval is divided into multiple sub-intervals according to at least one dimension of the Torus network; wherein the total number of the multiple sub-intervals is 2. n , where n is the total number of the at least one dimension; Within each sub-interval, a communication path from the second physical node to each first logical node is determined to obtain multiple communication paths from the second physical node to the first physical node.

7. The method as described in claim 1, characterized in that, The method is applied to a third physical node, which is any physical node located between the first physical node and the second physical node on the multiple communication paths; Before sending the message through the port corresponding to the destination logical identifier, the method further includes: Obtain second routing configuration information; wherein, the second routing configuration information indicates the first logical identifier among the plurality of logical identifiers and the second port corresponding to the first logical identifier, the first logical identifier is used to indicate the communication path where the third physical node is located in the plurality of communication paths, and the second port is the port used by the third physical node to send a message to the first physical node according to the communication path indicated by the first logical identifier; The first logical identifier is used as the destination logical identifier, and the second port corresponding to the first logical identifier is used as the port corresponding to the destination logical identifier.

8. The method according to any one of claims 1-7, characterized in that, The message header carries the destination logical identifier.

9. The method as described in claim 8, characterized in that, The message header includes a first field, which is used to carry the destination logical identifier.

10. The method according to any one of claims 1-9, characterized in that, The Torus network has at least one dimension, and the destination logical identifier includes the node identifier of the target logical node within the logical interval corresponding to the second physical node. Wherein, the target logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network, and the logical interval is a range defined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, and the multiple first logical nodes are included in the logical interval.

11. The method according to any one of claims 1-8, characterized in that, The Torus network has at least one dimension, and the target logical identifier includes the node identifier of the first physical node in the Torus network, and the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node. Wherein, the target logical node is one of the multiple first logical nodes corresponding to the first physical node in the Mesh network, the logical interval is a range determined in the Mesh network with the second physical node as the center and the total number of physical nodes in each dimension minus 1 as the radius, the logical interval includes the multiple first logical nodes, and the sub-interval is obtained by dividing the logical interval into regions with the second physical node as the center and according to the at least one dimension.

12. The method as described in claim 11, characterized in that, When the message header carries the destination logical identifier, the message header includes a second field and a third field. The second field is used to carry the node identifier of the first physical node in the Torus network, and the third field is used to carry the interval identifier of the sub-interval to which the target logical node belongs within the logical interval corresponding to the second physical node.

13. A routing configuration method, characterized in that, The method includes: Multiple communication paths are determined from the second physical node to the first physical node; wherein the second physical node and the first physical node are any two of the multiple physical nodes included in the Torus network, and the multiple communication paths are determined through the Mesh network corresponding to the Torus network, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes; Routing configuration information is sent based on the multiple communication paths; wherein the routing configuration information indicates the correspondence between logical identifiers and ports, the logical identifier is at least one of multiple logical identifiers corresponding to the first physical node, the multiple logical identifiers are used to indicate the multiple communication paths, and the port is the port used when sending a message to the first physical node according to the communication path indicated by the logical identifier.

14. The method as described in claim 13, characterized in that, The determination of multiple communication paths from the second physical node to the first physical node includes: The Mesh network is generated based on the multiple physical nodes; Based on the first physical node and its corresponding multiple first logical nodes in the Mesh network, multiple communication paths from the second physical node to the first physical node are determined. The first logical node corresponds to at least one communication path, and the multiple logical identifiers are the identifiers of the multiple first logical nodes.

15. The method as described in claim 14, characterized in that, The generation of the Mesh network based on the multiple physical nodes includes: For each of the plurality of physical nodes, the physical node is advanced by a target number of nodes in both the positive and negative directions of each dimension of the Torus network to obtain the logical node corresponding to the physical node; wherein, the target number is the total number of physical nodes in the corresponding dimension minus 1; The Mesh network is generated based on the logical nodes corresponding to the multiple physical nodes.

16. The method as described in claim 14 or 15, characterized in that, Sending routing configuration information based on the multiple communication paths includes: Send the first routing configuration information to the second physical node; The first routing configuration information indicates the plurality of logical identifiers and the first port corresponding to each logical identifier. The first port is the port used by the second physical node to send a message to the first physical node according to the communication path corresponding to the logical identifier.

17. The method according to any one of claims 13-16, characterized in that, Sending routing configuration information based on the multiple communication paths includes: Send the second routing configuration information to the third physical node; Wherein, the third physical node is any physical node located between the first physical node and the second physical node on the multiple communication paths, the second routing configuration information indicates the first logical identifier among the multiple logical identifiers and the second port corresponding to the first logical identifier, the first logical identifier indicates the communication path where the third physical node is located in the multiple communication paths, and the second port is the port used by the third physical node to send a message to the first physical node according to the communication path corresponding to the first logical identifier.

18. A message transmitting device, characterized in that, The device includes: An identifier acquisition module is used to acquire the destination logical identifier of a message; wherein the destination logical identifier is one of multiple logical identifiers corresponding to a first physical node in the Torus network, the first physical node is the receiving node of the message, the multiple logical identifiers are used to indicate multiple communication paths from a second physical node to the first physical node in the Torus network, the second physical node is the sending node of the message, the multiple communication paths are determined through a Mesh network corresponding to the Torus network, the Torus network includes multiple physical nodes, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes; The message sending module is used to send the message through the port corresponding to the destination logical identifier, so as to transmit the message to the first physical node along the communication path indicated by the destination logical identifier.

19. A routing configuration device, characterized in that, The device includes: The path determination module is used to determine multiple communication paths from the second physical node to the first physical node; wherein the second physical node and the first physical node are any two physical nodes in the Torus network, and the multiple communication paths are determined through the Mesh network corresponding to the Torus network. The Torus network includes multiple physical nodes, the Mesh network includes multiple logical nodes, and the connection relationship between the multiple logical nodes is the same as the connection relationship between the multiple physical nodes. A routing configuration module is used to send routing configuration information based on the multiple communication paths; wherein the routing configuration information indicates the correspondence between logical identifiers and ports, the logical identifier is at least one of multiple logical identifiers corresponding to the first physical node, the multiple logical identifiers are used to indicate the multiple communication paths, and the port is the port used to send a message to the first physical node according to the communication path indicated by the logical identifier.

20. A computer device, characterized in that, The computer device includes a processor and memory; The memory is used to store computer programs; The processor is used to execute the computer program to implement the message sending method according to any one of claims 1-12, or to implement the routing configuration method according to any one of claims 13-17.

21. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the message sending method according to any one of claims 1-12, or the routing configuration method according to any one of claims 13-17.

22. A computer program product, characterized in that, The computer program product stores computer instructions, which, when executed by a processor, implement the message sending method according to any one of claims 1-12, or the routing configuration method according to any one of claims 13-17.

Citation Information

Patent Citations

  • Method for constructing Torus network, Torus network and routing algorithm

    CN107612746A

  • Inter-chip communication method

    CN118260238A

  • Routing system and method using torous topology in on-chip network

    KR1020130093736A

  • Systems for segmenting and controlling the transmission of data in computing networks

    US20240243988A1