Network architecture, network architecture generation method, and related device
By adding the connection between the computing nodes and the target node with the farthest communication distance in the Torus network, the Diagonal Torus network is formed, which solves the problem of limited communication performance in Torus network under large-scale conditions, and achieves higher communication bandwidth and lower latency.
Patent Information
- Application Number
- PCT/CN2025/070942
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-24
- Filing Date
- 2025-01-07
- Publication Date
- 2025-07-31
AI Technical Summary
As the Torus network size increases, communication performance is limited, especially in terms of node communication delay, network bandwidth and All to all bandwidth.
Based on the Torus network, the connection between the computing nodes and the target computing node with the farthest communication distance is increased to form a Diagonal Torus network, reducing communication delay and improving communication bandwidth.
By increasing the degree of computing nodes and reducing communication delay, the overall communication performance of the network is significantly improved and is suitable for large-scale networks and high-performance computing scenarios.
Smart Images

Figure CN2025070942_31072025_PF_FP_ABST
Abstract
Description
Network architecture, network architecture generation method and related devices
[0001] This application claims priority to Chinese patent application No. 202410104640.0, filed on January 24, 2024, entitled “Network architecture, method for generating network architecture and related devices,” the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a network architecture, a method for generating a network architecture, and related devices. Background Art
[0003] As a direct-connect network architecture, the Torus network shortens the communication distance between computing nodes in the network and improves communication performance by adding loopback links on the basis of the mesh network.
[0004] As shown in Figure 1, a Torus network can be represented as an N-dimensional grid. Communication between compute nodes in a Torus network is achieved by establishing direct connections between adjacent compute nodes in each dimension (D). For example, in a two-dimensional Torus (2D Torus), each compute node is connected to the four adjacent compute nodes above, below, to the left, and to the right. Because a Torus network is a node-symmetric network topology, once the dimensions of the Torus network and the number of nodes in each dimension are determined, its multi-node networking method can be uniquely determined.
[0005] However, as the network scale increases, the communication performance of the Torus network is relatively limited. Therefore, a new network architecture is urgently needed to further improve the communication performance of the Torus network, such as node communication delay and network bandwidth. Summary of the Invention
[0006] This application provides a network architecture, a method for generating the network architecture, and related devices that can significantly improve the communication performance between computing nodes compared to the Torus network. The technical solution is as follows:
[0007] In a first aspect, a network architecture is provided, which includes multiple computing nodes, the multiple computing nodes are communicatively connected in accordance with a Torus networking method, and a first computing node among the multiple computing nodes is also communicatively connected to a target computing node; wherein, the first computing node is any one of the multiple computing nodes, and the target computing node is the computing node with the farthest communication distance with the first computing node when the multiple computing nodes are communicatively connected in accordance with the Torus networking method.
[0008] As can be seen, after the multiple computing nodes in the network architecture of this application are connected in communication using the Torus networking method, each computing node is also connected in communication with at least one computing node with the longest communication distance in the Torus networking method. Therefore, compared to the Torus network, the network architecture shown in the embodiment of this application not only increases the degree of each computing node, improves the throughput and fault tolerance of the computing nodes, but also reduces the communication latency between computing nodes, thereby improving the overall communication performance of the network.
[0009] In one possible implementation, the Torus networking method includes at least one dimension. If the total number of computing nodes in each dimension of the at least one dimension is an even number, the target computing node includes one computing node, and the coordinate value of the one computing node in the first dimension is a first coordinate value, and the first coordinate value is a value obtained by taking the modulus of k1 by d1+k1 / 2; wherein, the first dimension is any one dimension of the at least one dimension, d1 is the coordinate value of the first computing node in the first dimension, and k1 is the total number of computing nodes in the first dimension.
[0010] In one possible implementation, the Torus networking method includes at least one dimension. If there is a dimension in which the total number of computing nodes in the at least one dimension is an odd number, the target computing node includes at least two computing nodes. When the total number of computing nodes in the first dimension is an even number, the coordinate values of the at least two computing nodes in the first dimension are both first coordinate values, and the first coordinate value is the value obtained by taking the modulus of k1 by d1+k1 / 2. When the total number of computing nodes in the first dimension is an odd number, the coordinate values of the first part of the computing nodes in the at least two computing nodes in the first dimension are The second coordinate value, the coordinate values of the second part of the computing nodes in the at least two computing nodes in the first dimension are the third coordinate values, and the number of the first part of the computing nodes is equal to the number of the second part of the computing nodes, the second coordinate value is the value obtained by taking the modulus of k1 by d1+(k1-1) / 2, and the third coordinate value is the value obtained by taking the modulus of k1 by d1+(k1+1) / 2; wherein, the first dimension is any one dimension of the at least one dimension, d1 is the coordinate value of the first computing node in the first dimension, and k1 is the total number of computing nodes in the first dimension.
[0011] In one possible implementation, if the total number of computing nodes in each dimension of the at least one dimension is an odd number, the at least two computing nodes include a second computing node and a third computing node; the coordinate value of the second computing node in the first dimension is the second coordinate value, and the coordinate value in the second dimension is the fourth coordinate value, and the fourth coordinate value is the value obtained by taking the modulus of k2 by d2+(k2-1) / 2; the coordinate value of the third computing node in the first dimension is the third coordinate value, and the coordinate value in the second dimension is the fifth coordinate value, and the fifth coordinate value is the value obtained by taking the modulus of k2 by d2+(k2+1) / 2; wherein the second dimension is any dimension other than the first dimension in the at least one dimension, d2 is the coordinate value of the first computing node in the second dimension, and k2 is the total number of computing nodes in the second dimension.
[0012] In a possible implementation, the network architecture further includes at least one network device, and the first computing node and the target computing node are communicatively connected via the at least one network device.
[0013] In a possible implementation, the first computing node and the target computing node are communicatively connected via the same network device.
[0014] In a possible implementation, the multiple computing nodes are organized into multiple Torus networks with the same topology according to the Torus networking method, and the computing nodes located at the same position in the multiple Torus networks are connected to the same network device.
[0015] In summary, when the network architecture includes a single network device, the computing nodes in multiple Torus networks are all connected to the same network device, thereby ensuring that all computing nodes in the multiple Torus networks are fully connected through the network device. When the network architecture includes multiple network devices, some computing nodes in each Torus network are connected to the same network device, thereby ensuring that all computing nodes in the multiple Torus networks are fully connected through the multiple network devices. In other words, when the network architecture includes multiple Torus networks composed of multiple computing nodes and at least one network device, the at least one network device can be used to establish communication connections between the computing nodes with the longest communication distance in each Torus network, thereby forming a diagonal torus network and reducing the communication latency between the computing nodes in the network architecture.
[0016] In a second aspect, a circuit is provided, wherein the circuit includes a plurality of computing nodes, and the plurality of computing nodes form the network architecture as described in the first aspect above.
[0017] In a third aspect, a cabinet is provided, which includes multiple computing nodes and at least one network device, and the multiple computing nodes and the at least one network device constitute the network architecture described in the first aspect above.
[0018] In a fourth aspect, a computing cluster is provided, which includes multiple cabinets, each of which includes multiple computing nodes and at least one network device, and the multiple computing nodes and the at least one network device constitute the network architecture described in the first aspect above.
[0019] In a fifth aspect, a method for generating a network architecture is provided, wherein the network architecture includes multiple computing nodes and at least one network device, and the multiple computing nodes are organized into at least one Torus network with the same topology according to the Torus networking method; the method includes: receiving network resource configuration information, the network resource configuration information includes a target topology type, the target topology type indicates the target network topology currently expected to be generated, and the two computing nodes with the longest communication distance in the target network topology are communicatively connected through the at least one network device; according to the target topology type, determining the routing information between each computing node in the multiple computing nodes that constitute the target network topology; and sending the target topology type and the routing information to each computing node.
[0020] In one possible implementation, the multiple computing nodes are organized into multiple Torus networks with the same topology according to the Torus networking method, and when the network architecture includes multiple network devices, the computing nodes located at the same position in the multiple Torus networks are connected to the same network device.
[0021] In a possible implementation, two computing nodes with the farthest communication distance in the same Torus network are communicatively connected through the same network device, and the routing information includes the shortest route between the computing nodes.
[0022] In one possible implementation, before determining the routing information between the multiple computing nodes that constitute the target network topology according to the target topology type, the method further includes: if the target topology type is a network topology type supported by the network architecture, executing the step of determining the routing information between the multiple computing nodes that constitute the target network topology according to the target topology type.
[0023] In a possible implementation, the method further includes: determining a network topology type supported by the network architecture based on a connection relationship between the multiple computing nodes and the at least one network device.
[0024] It can be seen that when the connection relationship between multiple computing nodes and at least one network device in the network architecture supports the generation of multiple network topology types, the manager determines the communication routes between the various computing nodes that constitute the target network topology in the network architecture based on the target topology type included in the network resource configuration information. In this way, based on the same network architecture, by generating the target network topology, the application scenarios of the network architecture are improved to meet the needs of different network scales and the needs of different data processing tasks for the number of computing nodes. Moreover, since the target network topology is a Diagonal Torus network constructed based on the networking method of the embodiment of the present application, the computing nodes communicate according to the target network topology and routing information, which can reduce the communication delay during multi-node communication.
[0025] In the sixth aspect, a method for generating a network architecture is provided, wherein the network architecture includes multiple computing nodes and at least one network device, and the multiple computing nodes are organized into at least one Torus network with the same topology according to the Torus networking method. The method includes: receiving a target topology type and routing information, wherein the target topology type indicates a target network topology expected to be generated based on the network architecture, and the two computing nodes with the farthest communication distance in the target network topology are communicatively connected through the at least one network device, and the routing information indicates the communication route between the computing nodes constituting the target network topology.
[0026] It can be seen from this that for the computing nodes in the network architecture, after receiving the target topology type and routing information, the target topology type and routing information can be stored, so that when it is necessary to form a network according to the target network topology and process computing tasks, the routing information can be referred to to communicate with at least one computing node in the target network topology to transmit relevant data, information or instructions.
[0027] In a seventh aspect, a device for generating a network architecture is provided, wherein the device has the function of implementing the method for generating a network architecture in the fifth aspect. The device includes at least one module, which is used to implement the method for generating a network architecture provided in the fifth aspect.
[0028] In an eighth aspect, a device for generating a network architecture is provided, wherein the device has the function of implementing the method for generating a network architecture in the sixth aspect. The device includes at least one module configured to implement the method for generating a network architecture in the sixth aspect.
[0029] In a ninth aspect, an electronic device is provided, comprising a processor and a memory, wherein the memory is configured to store a computer program for executing the method for generating a network architecture provided in the fifth or sixth aspect. The processor is configured to execute the computer program stored in the memory to implement the method for generating a network architecture described in the fifth or sixth aspect.
[0030] In a possible implementation, the electronic device may further include a communication bus, where the communication bus is used to establish a connection between the processor and the memory.
[0031] In the tenth aspect, a computer-readable storage medium is provided, wherein the storage medium stores instructions. When the instructions are executed on a computer, the computer executes the method for generating the network architecture described in the fifth or sixth aspect above.
[0032] In an eleventh aspect, a computer program product comprising instructions is provided. When the instructions are executed on a computer, the computer is caused to execute the method for generating a network architecture as described in the fifth or sixth aspect. Alternatively, a computer program is provided. When the computer program is executed on a computer, the computer is caused to execute the method for generating a network architecture as described in the fifth or sixth aspect.
[0033] The technical effects obtained in the above-mentioned second, third and fourth aspects are similar to the technical effects obtained by the corresponding technical means in the first aspect, and will not be repeated here; similarly, the technical effects obtained in the above-mentioned seventh to eleventh aspects are similar to the technical effects obtained by the corresponding technical means in the fifth and sixth aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] FIG1 is a schematic diagram of a network architecture of a Torus network provided in an embodiment of the present application;
[0035] FIG2 is a schematic diagram of a network architecture of a Tofu network provided in an embodiment of the present application;
[0036] FIG3 is a schematic diagram of a network architecture of a Twisted Torus network provided in an embodiment of the present application;
[0037] FIG4 is a schematic diagram of a network architecture of a Diagonal 1D Torus network provided in an embodiment of the present application;
[0038] FIG5 is a schematic diagram of a network architecture of a Diagonal 2D Torus network provided in an embodiment of the present application;
[0039] FIG6 is a schematic diagram of a network architecture of a Diagonal 3D Torus network provided in an embodiment of the present application;
[0040] FIG7 is a schematic diagram of a network architecture of another Diagonal 1D Torus network provided in an embodiment of the present application;
[0041] FIG8 is a schematic diagram of a network architecture of another Diagonal 2D Torus network provided in an embodiment of the present application;
[0042] FIG9 is a schematic diagram of a connection method of a computing node in a Diagonal 2D Torus network provided in an embodiment of the present application;
[0043] FIG10 is a schematic diagram of a connection method of a multi-node network provided in an embodiment of the present application;
[0044] FIG11 is a schematic diagram of another multi-node networking connection method provided in an embodiment of the present application;
[0045] FIG12 is a schematic diagram of another connection method of a multi-node network provided in an embodiment of the present application;
[0046] FIG13 is a schematic structural diagram of a computer device provided in an embodiment of the present application;
[0047] FIG14 is a flow chart of a method for generating a network architecture according to an embodiment of the present application;
[0048] FIG15 is a schematic structural diagram of a device for generating a network architecture provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0050] To facilitate understanding, before explaining in detail the network architecture provided in the embodiments of the present application, the terminology and application background involved in the embodiments of the present application are first introduced.
[0051] First, the terms involved in the embodiments of the present application are introduced.
[0052] 1. Torus Network
[0053] Torus is a direct-connect network topology architecture that adds loopback links to the mesh network to shorten the communication distance between computing nodes in the network and improve communication performance.
[0054] The number of compute nodes in each dimension (D) of a Torus network is called the cardinality of the Torus network. For example, if there are M compute nodes in both the X and Y dimensions of the Torus network, the cardinality of the Torus network is M, where M is an integer greater than 1.
[0055] 2. Point-symmetric graph (also called vertex transitive graph)
[0056] Each point in a point-symmetric graph has the same local interconnection environment. Based on this, when the overall architecture of a network satisfies the point-symmetric graph, each computing node in the network also has the same local interconnection environment. Therefore, the communication routing between computing nodes is relatively easy to design.
[0057] 3. Cayley graph (also known as Cayley graph)
[0058] The Cayley graph is also a type of point-symmetric graph, and the Torus network architecture belongs to the Cayley graph.
[0059] 4. All to all
[0060] A many-to-many collective communication pattern often seen in artificial intelligence (AI) training. In an all-to-all operation, the data from each compute node is distributed to all compute nodes in the cluster, while each compute node also aggregates the data from all compute nodes in the cluster. In other words, an all-to-all operation is a full exchange, allowing each compute node to obtain the values of every other compute node.
[0061] The specific operation of All to All is as follows: the j-th block of data of computing node i is sent to computing node j, and computing node j places the data block received from computing node i at its own i-th block position.
[0062] 5. All reduce
[0063] A many-to-many collective communication pattern that often occurs in AI training. All-reduce is a general term for a series of simple operations. All-reduce applies the same reduce operation to all compute nodes.
[0064] Taking All reduce sum as an example, after execution, each computing node has the sum of the data of all computing nodes.
[0065] 6. Distance
[0066] The minimum number of hops required for communication between two computing nodes in the network is the distance between the two computing nodes.
[0067] 7. Diameter
[0068] The maximum distance between any two computing nodes in the network. The larger the diameter of the network, the greater the communication delay of the network.
[0069] 8. Average distance
[0070] The average distance between all pairs of computing nodes in the network, where each pair consists of any two computing nodes in the network. The larger the average distance in a network, the greater the overall communication delay of the network.
[0071] 9. Bisection Bandwidth
[0072] Bisection bandwidth refers to the communication bandwidth between two identical parts of a network after the two parts are divided. The larger the bisection bandwidth, the stronger the network's communication capabilities.
[0073] 10. Degree
[0074] In complex networks, degree is used to measure the number of edges connected to a computational node. That is, the degree of a computational node is defined by the number of edges it has. For example, if a computational node has three edges, its degree is 3.
[0075] 11. A Mod B
[0076] A Mod B is the modulus of number A and number B. This is used to calculate the remainder when number A is divided by number B. For example, 5 Mod 4 = 1.
[0077] Secondly, the application background of the embodiments of the present application is introduced.
[0078] When building large-scale networks, the Clos architecture is often used to connect multiple nodes and devices. However, as a high-performance, scalable, indirect network architecture, the Clos architecture has high networking costs and struggles to cope with rapidly growing network sizes. Unlike the Clos architecture, the Torus network is a direct-connect network topology that improves communication performance by adding loopback links to a mesh network. Due to its low networking cost and power consumption, the Torus network has been adopted in various large-scale networks.
[0079] As shown in Figure 1, a torus network can be represented as an N-dimensional grid. Communication between compute nodes in a torus network is achieved by establishing direct connections between adjacent compute nodes in each dimension. For example, in a 1D torus network, each compute node is connected to its two adjacent compute nodes; in a 2D torus network, each compute node is connected to its four adjacent compute nodes above, below, left, and right; and in a 3D torus network, each compute node is connected to its six adjacent compute nodes in front, behind, left, right, above, and below. Because the overall architecture of a torus network is a Cayley graph, a point-symmetric network topology, once the dimensions of the torus network and the number of nodes in each dimension are determined, the networking method for multiple compute nodes forming a torus network can be uniquely determined.
[0080] However, as the network scale increases, the Torus network has disadvantages such as large network diameter, long communication delay, and impaired all-to-all bandwidth, which leads to limited overall communication performance of the Torus network.
[0081] As shown in Figure 2, a 6D torus network based on ring fusion (also known as a torus fusion network, or simply a Tofu network) uses a 3D structure consisting of 12 computing nodes as computing nodes in the 3D torus network to construct a 6D network as a whole. The Tofu network uses six coordinate systems to describe each computing node, and the coordinates of each computing node can be recorded as (X, Y, Z, A, B, C). The coordinate values of the computing node on the A and C axes are 0 or 1, and the coordinate value on the B axis is 0, 1, or 2. The range of the coordinate values of the computing node on the X, Y, and Z axes depends on the overall scale of the Tofu network.
[0082] In a Tofu network, as shown in Figure 2, each compute node is connected to four compute nodes in the corresponding 3D structure and to six compute nodes in the 3D Torus network architecture. Therefore, the degree of each compute node in the Tofu network is 10, significantly improving the throughput and fault tolerance of the Torus network while also reducing network costs. However, the Tofu network's performance for remote point / cluster communication remains limited at a scale of 10, with communication latency still exceeding 20 hops, and poor all-to-all communication performance.
[0083] It should be noted that although the Tofu network is also known as a 6D Torus, its essence is to place a 3D structure in the position of the computing nodes of a 3D Torus. Therefore, the Tofu network is not essentially a Torus network and does not have point symmetry, which makes the communication routing settings of the computing nodes in the network more complicated.
[0084] As shown in Figure 3, a twisted torus network (also known as a twisted torus network) builds on an irregular (rectangular) torus network by twisting the short-side loops to increase the overall network bisection bandwidth while retaining the torus network's lower networking cost. The degree of each compute node in a twisted torus network is the same as that in a torus network.
[0085] It should be noted that since the Twisted Torus network is an improvement to the irregular Torus network, when performing multi-node networking, the Twisted Torus network can only be used to connect computing nodes when the number of computing nodes in one dimension is twice the number of computing nodes in the other dimension.
[0086] That is, the Twisted Torus network only targets irregular Torus networks and has the effect of improving bisection bandwidth, but the irregularity of the network architecture will make the communication routing settings of computing nodes in the entire network more complicated.
[0087] It can be seen from this that although the above-mentioned improvement scheme based on the Torus network enhances the network's throughput, fault tolerance and bisection bandwidth, and inherits the advantage of the Torus network's low networking cost, its network architecture does not have point symmetry, resulting in a relatively complex communication routing setting for computing nodes in the network; moreover, the above-mentioned improvement scheme still has the problem of long network communication delay in the case of large-scale node networking, that is, it does not overcome the defect that the communication performance of the Torus network is relatively limited as the network scale increases.
[0088] Based on this, an embodiment of the present application provides a network architecture based on a Torus network. After any computing node in the network is connected to the Torus network, at least one computing node with the greatest communication distance from the computing node in the diagonal direction is additionally connected. In this way, the network architecture provided by the present application, based on the Torus network, additionally connects the computing nodes with the greatest communication distance, thereby reducing network communication latency and increasing communication bandwidth. Furthermore, the network architecture exhibits point symmetry, making routing configuration of computing nodes in the network relatively simple.
[0089] It should be understood that the network architecture provided in the embodiments of the present application can be an intra-ACK interconnection mode or a cluster interconnection mode to achieve multi-node networking; it can be applied to, but not limited to, small-scale general-purpose networks, or large-scale high-performance computing (HPC), artificial intelligence training, artificial intelligence reasoning, and other business scenarios. Of course, with the emergence of new multi-node networking methods and network architectures, the technical concept of additionally connecting the computing nodes with the longest communication distance in the network provided in the embodiments of the present application is also applicable to similar technical problems.
[0090] Next, the network architecture provided in the embodiments of the present application is explained in detail.
[0091] An embodiment of the present application provides a network architecture comprising a plurality of computing nodes, wherein the plurality of computing nodes are communicatively connected in a Torus networking manner, and a first computing node among the plurality of computing nodes is also communicatively connected to a target computing node. The first computing node is any one of the plurality of computing nodes, and the target computing node is the computing node with the longest communication distance from the first computing node when the plurality of computing nodes are communicatively connected in a Torus networking manner.
[0092] It should be noted that when the network architecture provided in the embodiment of the present application is implemented, the number of the above-mentioned first computing nodes can be all the computing nodes in the network architecture, or it can be part of the computing nodes. The embodiment of the present application does not limit the number of first computing nodes.
[0093] As an example, assuming the communication distance between a compute node and its adjacent compute node is 1 hop, then for the first compute node, the number of hops (or compute nodes) it needs to go through to reach the target compute node in the Torus networking mode is the largest. For example, when multiple compute nodes are connected in a Torus networking mode, if the first compute node needs to go through 5 hops (5 compute nodes) to communicate with the second compute node in the Torus network, and the number of hops it needs to communicate with other compute nodes is less than 5 hops, then the second compute node is the compute node with the longest communication distance from the first compute node. In this case, the second compute node is the target compute node that the first compute node needs to connect to.
[0094] It should be understood that other methods can also be used to determine the computing node with the longest communication distance from the first computing node. It is not limited to the method in the above example. The embodiment of the present application does not limit this. It is intended to illustrate that when the communication distance between the first computing node and the target computing node is the longest, the communication delay will be relatively large. The solution provided in the embodiment of the present application is precisely to improve the problem of long communication delay.
[0095] To distinguish it from a Torus network and facilitate description, in this embodiment of the present application, the technical concepts of the present embodiment will be adopted to improve the network architecture of the Torus network. Multiple computing nodes are organized into a diagonal Torus network, referred to as a diagonal Torus network. In other words, the network formed by connecting multiple computing nodes according to the network architecture shown in the embodiment of the present application can be called a diagonal Torus network.
[0096] In one possible implementation, in the process of forming a Diagonal Torus network with multiple computing nodes, the multiple computing nodes can be communicatively connected in accordance with the Torus networking method to obtain a Torus network; based on the Torus network, each computing node can additionally communicate with its target computing node with the farthest communication distance in the Torus network to obtain a Diagonal Torus network.
[0097] The Torus networking method includes at least one dimension, and the position of a computing node in the network architecture can be represented by the coordinate values of the computing node. When the Torus networking method includes one dimension, the coordinates of each computing node in the network architecture are the coordinate values of the one dimension. When the Torus networking method includes multiple dimensions, the coordinates of each computing node in the network architecture include the coordinate values of the computing node in each dimension.
[0098] As an example, the coordinates of a computing node in a 1D network are a numerical value; the coordinates of a computing node in a 2D network are (x, y), including coordinate values in the x dimension and the y dimension; the coordinates of a computing node in a 3D network are (x, y, z), including coordinate values in the x dimension, the y dimension, and the z dimension, and so on. No examples will be given here one by one.
[0099] It should be noted that when multiple computing nodes are communicatively connected in at least one dimension according to the Torus networking method, when determining the target computing node for the first computing node to communicate with, if the total number of computing nodes in each dimension in at least one dimension is an even number, and if there is a dimension in which the total number of computing nodes in at least one dimension is an odd number, for the same first computing node, the method of determining the target computing node is slightly different, which will be introduced below.
[0100] In the first method of determining the target computing node, multiple computing nodes are communicatively connected according to the Torus networking method, and the Torus networking method includes at least one dimension. If the total number of computing nodes in each dimension of the at least one dimension is an even number, then for the first computing node among the multiple computing nodes, the target computing node with the farthest communication distance from the first computing node includes a computing node, and the coordinate value of the computing node in the first dimension is the first coordinate value, and the first coordinate value is the value obtained by taking the modulus of k1 by d1+k1 / 2.
[0101] The first dimension is any one of the at least one dimension, d1 is the coordinate value of the first computing node in the first dimension, and k1 is the total number of computing nodes in the first dimension.
[0102] That is, if the total number of computing nodes in each dimension of the Diagonal Torus network is an even number, then the first computing node in the Diagonal Torus network, while communicating with at least two computing nodes in accordance with the Torus networking method, also communicates with the target computing node with the farthest communication distance.
[0103] Since common torus networks include the 1D torus network, 2D torus network, and 3D torus network shown in Figure 1, the embodiments of the present application improve the network architectures of these torus networks to obtain corresponding diagonal 1D torus networks, diagonal 2D torus networks, and diagonal 3D torus networks. Next, using the diagonal 1D torus network, diagonal 2D torus network, and diagonal 3D torus network as examples, the process of establishing a communication connection between a first computing node and a target computing node in a diagonal torus network is explained, when the total number of computing nodes in each dimension in at least one dimension is an even number.
[0104] (1) Multiple computing nodes form a Diagonal 1D Torus network, and the total number of computing nodes is an even number.
[0105] When the total number of computing nodes is k, and k is an even number, the set of k computing nodes in the 1D network can be recorded as {0, 1, ..., k-1}, and each computing node in the 1D Torus network is communicated with two computing nodes.
[0106] Based on this, when k computing nodes are connected in communication according to the 1D Torus networking method, the first computing node with a coordinate value of d is connected in communication with the computing node with a coordinate value of (d+1) Mod k and the computing node with a coordinate value of (d+k-1) Mod k, respectively. Based on the 1D Torus network, when the embodiment of the present application forms a Diagonal 1D Torus network, the first computing node with a coordinate value of d is also connected in communication with the target computing node with a coordinate value of (d+k / 2) Mod k.
[0107] That is, if the total number of computing nodes included in the network architecture is an even number, then in the Diagonal 1D Torus network formed in the embodiment of the present application, each computing node is communicatively connected to three computing nodes.
[0108] As an example, referring to FIG4 , assuming that the total number of computing nodes included in the network architecture is k = 16, and the coordinate value of the first computing node is d = 1, based on the above coordinate value calculation method, the first computing node communicates with the computing node with a coordinate value of 0 and the computing node with a coordinate value of 2 respectively according to the 1D Torus networking method. At the same time, the first computing node communicates with the target computing node with a coordinate value of 9. Similarly, when the 16 computing nodes communicate with each other according to the 1D Torus networking method, each computing node also communicates with a computing node with a coordinate value of (d + k / 2) Mod k, thereby forming a Diagonal 1D Torus network.
[0109] It should be noted that the 1D networks in Figures 1 and 4 are both illustrated by taking the network architecture as including 16 computing nodes, i.e., k=16, but in actual applications, the network architecture can also include more or fewer computing nodes, and the embodiments of the present application do not limit this; moreover, for the 16 computing nodes, the embodiments of the present application use numbering from 0 to 15 as an example, and in actual applications, other numbering methods can also be used. Without affecting the multi-node networking method and network architecture, the embodiments of the present application do not limit the setting method of the coordinate values of the computing nodes.
[0110] For the convenience of comparison, it is assumed in the embodiment of the present application that the single-link bandwidth between two computing nodes is 1. Through calculation and analysis, in the 1D Torus network composed of 16 computing nodes, the diameter of the network is 8, the average distance is 4.3, the bisection bandwidth is 2, the All reduce bandwidth is 2, the All to all bandwidth is 0.5, and the degree of the computing node is 2; in the Diagonal 1D Torus network composed of 16 computing nodes, the diameter of the network is 4, the average distance is 2.6, the bisection bandwidth is 4, the All reduce bandwidth is 3, the All to all bandwidth is 1, and the degree of the computing node is 3.
[0111] Among them, the degree of the computing node is equivalent to the number of communication connection lines of the computing node in the above-mentioned 1D network. The more communication connection lines the computing node has, the better the throughput performance and fault tolerance performance of the computing node. The diameter and average distance can reflect the communication delay of the 1D network. The smaller the diameter and average distance, the smaller the communication delay of the computing node. The bisection bandwidth, All reduce bandwidth and All to all bandwidth can reflect the data transmission performance between computing nodes in the 1D network. The larger the bisection bandwidth, All reduce bandwidth and All to all bandwidth, the higher the communication performance of the computing node.
[0112] As the network scale increases, the diagonal 1D torus network and the various network parameters of the 1D torus network, which are obtained by multi-node networking based on the network architecture shown in the embodiments of this application, tend to approach a fixed value. Table 1 below provides an exemplary calculation method for various network parameters of a 1D torus network and a diagonal 1D torus network, as well as a comparison of the results for each network parameter.
[0113] Table 1
[0114] Table 1 shows that as the network scale expands and the total number of compute nodes in the network architecture increases, the communication performance of the Diagonal 1D Torus network significantly improves compared to the 1D Torus network. Furthermore, as shown in Figure 4, the Diagonal 1D Torus network exhibits point symmetry, similar to the 1D Torus network. This makes the network architecture easy to implement, and the simple communication routing between compute nodes makes it easier to set up the routing algorithm for the entire network.
[0115] To sum up, compared with the 1D Torus network, the Diagonal 1D Torus network obtained by multi-node networking according to the network architecture provided in the embodiment of the present application not only increases the communication bandwidth between computing nodes (including All to all bandwidth, All reduce bandwidth and bisection bandwidth), but also reduces the communication delay between computing nodes (including maximum communication delay and average communication delay), thereby improving the overall communication performance of the network.
[0116] (2) Multiple computing nodes form a k×k Diagonal 2D Torus network, where k is an even number.
[0117] When the total number of computing nodes is k×k and k is an even number, the set of k×k computing nodes in the 2D network can be recorded as {(x, y)|0≤x≤k-1, 0≤y≤k-1}, and each computing node in the 2D Torus network is communicated with four computing nodes.
[0118] Based on this, when k×k computing nodes are communicated and connected in accordance with the 2D Torus networking method, the first computing node with a coordinate value of (x, y) is communicated and connected with the computing node with a coordinate value of ((x+1) Mod k, y), the computing node with a coordinate value of (x, (y+1) Mod k), the computing node with a coordinate value of ((x+k-1) Mod k, y), and the computing node with a coordinate value of (x, (y+k-1) Mod k). Based on the 2D Torus network, when the embodiment of the present application forms a Diagonal 2D Torus network, the above-mentioned first computing node with a coordinate value of (x, y) is also communicated and connected with the target computing node with a coordinate value of ((x+k / 2) Mod k, (y+k / 2) Mod k).
[0119] That is, if the total number of computing nodes included in the network architecture is an even number, then in the Diagonal 2D Torus network constructed in the embodiment of the present application, each computing node is communicatively connected to five computing nodes.
[0120] As an example, referring to FIG5 , assume that the total number of computing nodes included in the network architecture is 16, forming a 4×4 2D Torus network or a 4×4 Diagonal 2D Torus network. Assuming that the horizontal direction is the X-axis and the vertical direction is the Y-axis, and the coordinate value of the first computing node is (0, 0), then the first computing node communicates with the computing node with the coordinate value of (1, 0), the computing node with the coordinate value of (0, 1), the computing node with the coordinate value of (0, 3), and the computing node with the coordinate value of (3, 0) in a 2D Torus networking manner. Simultaneously, the first computing node communicates with the target computing node with the coordinate value of (2, 2). Similarly, after the 16 computing nodes are communicated with in a 2D Torus networking manner, each computing node also communicates with a computing node with the coordinate value of ((x+k / 2) Mod k, (y+k / 2) Mod k) to form a Diagonal 2D Torus network.
[0121] It should be noted that the 2D networks in Figures 1 and 5 are both illustrated by taking the network architecture as including 16 computing nodes, and the total number of computing nodes in the two dimensions is 4 (i.e., k=4). However, in actual applications, the network architecture may also include more or fewer computing nodes, and the number of nodes of multiple computing nodes in the two dimensions may also be different. The embodiments of the present application do not limit this. Moreover, for 16 computing nodes, the embodiments of the present application take the value range of the two dimensions as [0, 3] as an example. In actual applications, other methods may also be used to determine the coordinate values of the computing nodes. Without affecting the multi-node networking method and network architecture, the embodiments of the present application do not limit the setting method of the coordinate values of the computing nodes.
[0122] For the convenience of comparison, in the embodiment of the present application, it is assumed that the single-link bandwidth between two computing nodes is 1. Through calculation and analysis, in a 4×4 2D Torus network composed of 16 computing nodes, the diameter of the network is 4, the average distance is 2.13, the bisection bandwidth is 8, the All reduce bandwidth is 4, the All to all bandwidth is 2, and the degree of the computing node is 4; in a 4×4 Diagonal 2D Torus network composed of 16 computing nodes, the diameter of the network is 2, the average distance is 1.67, the bisection bandwidth is 16, the All reduce bandwidth is 5, the All to all bandwidth is 3, and the degree of the computing node is 5.
[0123] Similarly, the degree of a computing node is equivalent to the number of communication connection lines of the computing node in the above-mentioned 2D network. The more communication connection lines a computing node has, the better the throughput and fault tolerance performance of the computing node. The diameter and average distance can reflect the communication delay of the 2D network. The smaller the diameter and average distance, the shorter the communication delay of the computing node. The bisection bandwidth, all-reduce bandwidth, and all-to-all bandwidth can reflect the data transmission performance between computing nodes in the 2D network. The larger the bisection bandwidth, all-reduce bandwidth, and all-to-all bandwidth, the higher the communication performance of the computing node.
[0124] As the network scale increases, the diagonal 2D torus network, as well as the various network parameters of the 2D torus network, obtained by multi-node networking based on the network architecture shown in the embodiments of this application, tend to approach a constant value. Table 2 below provides an exemplary calculation method for various network parameters of a 2D torus network and a diagonal 2D torus network, as well as a comparison of the results for each network parameter.
[0125] Table 2
[0126] Table 2 shows that as the network scale increases and the total number of compute nodes in the network architecture increases, the communication performance of the Diagonal 2D Torus network significantly improves compared to the 2D Torus network. Furthermore, as shown in Figure 5, the Diagonal 2D Torus network exhibits point symmetry, similar to the 2D Torus network. This makes the network architecture easy to implement, and the simple communication routing between compute nodes makes it easier to configure the routing algorithm for the entire network.
[0127] In summary, compared with the 2D Torus network, the Diagonal 2D Torus network obtained by multi-node networking according to the network architecture provided in the embodiment of the present application not only increases the communication bandwidth between computing nodes (including All to all bandwidth, All reduce bandwidth and bisection bandwidth), but also reduces the communication delay between computing nodes (including maximum communication delay and average communication delay), thereby improving the overall communication performance of the network.
[0128] (3) Multiple computing nodes form a k×k×k Diagonal 3D Torus network, where k is an even number.
[0129] When the total number of computing nodes is k×k×k, and k is an even number, the set of k×k×k computing nodes in the 3D network can be recorded as {(x, y, z)|0≤x≤k-1, 0≤y≤k-1, 0≤z≤k-1}, and each computing node in the 3D Torus network is communicated with six computing nodes.
[0130] Based on this, when k×k×k computing nodes are communicated and connected in a 3D Torus networking mode, the first computing node with coordinate values (x, y, z) respectively communicates and connects with the computing node with coordinate values ((x+1) Mod k, y, z), the computing node with coordinate values (x, (y+1) Mod k, z), the computing node with coordinate values (x, y, (z+1) Mod k), the computing node with coordinate values ((x+k-1) Mod k, y, z), the computing node with coordinate values (x, (y+k-1) Mod k, z), and the computing node with coordinate values (x, y, (z+k-1) Mod k). On the basis of the 3D Torus network, when the Diagonal 3D Torus network is formed in the embodiment of the present application, the first computing node with the above-mentioned coordinate value (x, y, z) is also communicated with the target computing node with the coordinate value ((x+k / 2)Mod k, (y+k / 2)Mod k, (z+k / 2)Mod k).
[0131] That is, if the total number of computing nodes included in the network architecture is an even number, then in the Diagonal 3D Torus network constructed in the embodiment of the present application, each computing node is communicatively connected to seven computing nodes.
[0132] As an example, as shown in FIG6 , it is assumed that the total number of computing nodes included in the network architecture is 64, forming a 4×4×4 3D Torus network, or a 4×4×4 Diagonal 3D Torus network; and it is assumed that the horizontal direction is the X-axis, the vertical direction is the Y-axis, the direction perpendicular to the X-axis and the Y-axis is the Z-axis, and the coordinate value of the first computing node is (0, 0, 0), then the first computing node is respectively communicated with the computing node with the coordinate value of (1, 0, 0), the computing node with the coordinate value of (0, 1, 0), the computing node with the coordinate value of (0, 0, 1), the computing node with the coordinate value of (3, 0, 0), the computing node with the coordinate value of (0, 3, 0), and the computing node with the coordinate value of (0, 0, 3) in a 3D Torus networking manner; at the same time, the first computing node is also communicated with the target computing node with the coordinate value of (2, 2, 2). Similarly, after the 64 computing nodes are connected in a 3D torus network, each computing node also communicates with a computing node with coordinate values of ((x+k / 2) Mod k, (y+k / 2) Mod k, (z+k / 2) Mod k) to form a Diagonal 3D Torus network.
[0133] Among them, for the convenience of explanation, Figure 6 only shows that when the coordinate value of the first computing node is (0, 0, 0), the first computing node needs to communicate with seven computing nodes. Other computing nodes can also refer to the above calculation method and communicate with the target computing node, which is not shown in Figure 6.
[0134] It should be noted that the embodiment of the present application only uses the network architecture including 64 computing nodes, and the total number of computing nodes in the three dimensions is 4 (i.e., k=4) as an example, but in actual applications, the network architecture can also include more or fewer computing nodes, and the number of nodes of multiple computing nodes in the three dimensions may also be different, and the embodiment of the present application does not limit this; moreover, for 64 computing nodes, the embodiment of the present application uses the value range of the three dimensions as [0, 3] as an example. In actual applications, other methods can also be used to determine the coordinate values of the computing nodes. Without affecting the multi-node networking method and network architecture, the embodiment of the present application does not limit the setting method of the coordinate values of the computing nodes.
[0135] For the convenience of comparison, in the embodiment of the present application, it is assumed that the bandwidth of a single link (i.e., each communication connection line) between two computing nodes is 1. Through calculation and analysis, in a 4×4×4 3D Torus network composed of 64 computing nodes, the diameter of the network is 6, the average distance is 3, the bisection bandwidth is 32, the All reduce bandwidth is 6, the All to all bandwidth is 2, and the degree of the computing node is 6; in a 4×4×4 Diagonal 3D Torus network composed of 64 computing nodes, the diameter of the network is 3, the average distance is 2.44, the bisection bandwidth is 64, the All reduce bandwidth is 7, the All to all bandwidth is 2.74, and the degree of the computing node is 7.
[0136] Similarly, the height of a computing node is equivalent to the number of communication connection lines of the computing node in the above-mentioned 3D network. The more communication connection lines a computing node has, the better the throughput and fault tolerance of the computing node. The diameter and average distance can reflect the communication delay of the 3D network. The smaller the diameter and average distance, the smaller the communication delay of the computing node. The bisection bandwidth, all-reduce bandwidth, and all-to-all bandwidth can reflect the data transmission performance between computing nodes in the 3D network. The larger the bisection bandwidth, all-reduce bandwidth, and all-to-all bandwidth, the higher the communication performance of the computing node.
[0137] As the network scale increases, the Diagonal 3D Torus network, as well as the various network parameters of the 3D Torus network, obtained by multi-node networking based on the network architecture shown in the embodiments of this application, tend to approach a constant value. Table 3 below provides an exemplary calculation method for various network parameters of a 3D Torus network and a Diagonal 3D Torus network, as well as a comparison of the results for each network parameter.
[0138] Table 3
[0139] Table 3 shows that as the network scale increases and the total number of compute nodes in the network architecture increases, the Diagonal 3D Torus network significantly improves its communication performance compared to the 3D Torus network. Furthermore, as shown in Figure 6, the Diagonal 3D Torus network exhibits point symmetry, similar to the 3D Torus network. This makes the Diagonal 3D Torus network architecture easy to implement, and the simple communication routing between compute nodes makes it easier to configure the overall routing algorithm for the network.
[0140] In summary, compared with the 3D Torus network, the Diagonal 3D Torus network obtained by multi-node networking according to the network architecture provided in the embodiment of the present application not only increases the communication bandwidth between computing nodes (including All to all bandwidth, All reduce bandwidth and bisection bandwidth), but also reduces the communication delay between computing nodes (including maximum communication delay and average communication delay), thereby improving the overall communication performance of the network.
[0141] In the second method of determining the target computing node, multiple computing nodes are communicatively connected according to the Torus networking method, and the Torus networking method includes at least one dimension. If there is a dimension in which the total number of computing nodes is an odd number in the at least one dimension, then for the first computing node among the multiple computing nodes, the target computing node with the farthest communication distance from the first computing node includes at least two computing nodes. When the total number of computing nodes in the first dimension is an even number, the coordinate values of the at least two computing nodes in the first dimension are both the first coordinate value, and the first coordinate value is the value obtained by taking the modulus of k1 by d1+k1 / 2. When the total number of computing nodes in the first dimension is an odd number, the coordinate values of the first part of the at least two computing nodes in the first dimension are the second coordinate value, and the coordinate values of the second part of the at least two computing nodes in the first dimension are the third coordinate value.
[0142] The number of computing nodes in the first part is equal to the number of computing nodes in the second part, the second coordinate value is the value obtained by taking k1 modulo d1+(k1-1) / 2, and the third coordinate value is the value obtained by taking k1 modulo d1+(k1+1) / 2. The first dimension is any dimension of the at least one dimension, d1 is the coordinate value of the first computing node in the first dimension, and k1 is the total number of computing nodes in the first dimension.
[0143] In one possible implementation, if the total number of computing nodes in each dimension of at least one dimension is an odd number, then the at least two computing nodes include a second computing node and a third computing node; the coordinate value of the second computing node in the first dimension is the second coordinate value, and the coordinate value of the second dimension is the fourth coordinate value, where the fourth coordinate value is the value obtained by taking k2 modulo d2+(k2-1) / 2; the coordinate value of the third computing node in the first dimension is the third coordinate value, and the coordinate value of the second dimension is the fifth coordinate value, where the fifth coordinate value is the value obtained by taking k2 modulo d2+(k2+1) / 2. The second dimension is any dimension other than the first dimension in the at least one dimension, d2 is the coordinate value of the first computing node in the second dimension, and k2 is the total number of computing nodes in the second dimension.
[0144] That is, when the total number of computing nodes in each dimension is an odd number, for the first computing node, it can calculate two coordinate values in each dimension in the above manner. Therefore, each first computing node has at most four target computing nodes with the farthest communication distance from it. At this time, it is possible to establish communication connections with all four computing nodes, or to establish connections with only some of the computing nodes. In addition, it is possible to connect only with two computing nodes in the diagonal direction, namely the second computing node and the third computing node mentioned above, while ensuring that the overall network architecture satisfies point symmetry. The embodiments of the present application do not impose any restrictions on this.
[0145] It can be seen from this that when multiple computing nodes in the network architecture are communicatively connected in accordance with the Torus networking method in at least one dimension, if there is a dimension in which the total number of computing nodes is an odd number in the at least one dimension, then when the total number of computing nodes in the first dimension is an even number, each computing node in the Diagonal Torus network is also communicatively connected with one computing node on the basis of the Torus network; when the total number of computing nodes in the first dimension is an odd number, each computing node in the Diagonal Torus network is also communicatively connected with at least two computing nodes on the basis of the Torus network.
[0146] When the total number of computing nodes in the first dimension is an even number, the first computing node located in the first dimension in the Diagonal Torus network, on the basis of the original Torus network, also communicates with the target computing node. The method of determining the target computing node is similar to the first method of determining the target computing node mentioned above. The specific implementation process can be found in the relevant description above and will not be repeated here.
[0147] Next, taking the Diagonal 1D Torus network, the Diagonal 2D Torus network, and the Diagonal 3D Torus network as examples, the process of establishing a communication connection between a first computing node and at least two computing nodes in the Diagonal Torus network is explained respectively when the total number of computing nodes in each dimension in at least one dimension is an odd number, and when the total number of computing nodes in at least one dimension is both an even number and an odd number.
[0148] First, in the case where the total number of computing nodes in each dimension in at least one dimension is an odd number, a process of establishing a communication connection between a first computing node and at least two computing nodes in a Diagonal Torus network is explained.
[0149] (1) Multiple computing nodes form a Diagonal 1D Torus network, and the total number of computing nodes is an odd number.
[0150] When the total number of computing nodes is k and k is an odd number, the set of k computing nodes in the 1D network can be recorded as {0, 1, ..., k-1}. On the basis of the 1D Torus network, when the Diagonal 1D Torus network is formed in the embodiment of the present application, the first computing node with a coordinate value of d is also communicated with the target computing node with a coordinate value of (d+(k-1) / 2)Mod k and the target computing node with a coordinate value of (d+(k+1) / 2)Mod k.
[0151] That is, if the total number of multiple computing nodes included in the network architecture is an odd number, then in the Diagonal 1D Torus network formed by the embodiment of the present application, each computing node is communicatively connected with four computing nodes, among which two computing nodes are nodes that are communicatively connected according to the 2D Torus networking method, and the other two computing nodes are nodes that are additionally connected according to the technical solution of the embodiment of the present application.
[0152] As an example, referring to FIG7 , assuming that the total number of computing nodes included in the network architecture is k=9 and the coordinate value of the first computing node is d=1, the first computing node first establishes communication connections with the computing nodes with coordinate values of 0 and 2, respectively, in accordance with a 1D Torus networking approach. Simultaneously, the first computing node also establishes communication connections with two target computing nodes with coordinate values of 5 and 6, respectively. Similarly, after the nine computing nodes are communicated with in accordance with a 1D Torus networking approach, each computing node further establishes communication connections with the computing node with coordinate value (d+(k-1) / 2) Mod k and the computing node with coordinate value (d+(k+1) / 2) Mod k, thereby forming a Diagonal 1D Torus network.
[0153] It should be noted that the 1D network in Figure 7 is illustrated by an example in which the network architecture includes 9 computing nodes, i.e., k=9. However, in actual applications, the network architecture may also include more or fewer computing nodes, and the embodiments of the present application do not limit this. Moreover, for the 9 computing nodes, the embodiments of the present application use numbering from 0 to 8 as an example. In actual applications, other numbering methods may also be used. Without affecting the multi-node networking method and network architecture, the embodiments of the present application do not limit the setting method of the coordinate values of the computing nodes.
[0154] It can be seen from this that when the total number of computing nodes is odd, after multiple computing nodes are connected in a 1D Torus networking mode, each computing node needs to connect to at least two additional computing nodes. Therefore, compared with the 1D Torus network, the Diagonal 1D Torus network increases the degree of each computing node, while also reducing communication latency and increasing communication bandwidth, thereby significantly improving the overall communication performance of the network.
[0155] (2) Multiple computing nodes form a k×k Diagonal 2D Torus network, where k is an odd number.
[0156] When the total number of computing nodes is k×k and k is an odd number, the set of k×k computing nodes in the 2D network can be recorded as {(x, y)|0≤x≤k-1, 0≤y≤k-1}. On the basis of the 2D Torus network, when the Diagonal 2D Torus network is formed in the embodiment of the present application, the first computing node with a coordinate value of (x, y) is also communicated with the target computing node with a coordinate value of (x+(k-1) / 2)Mod k and a coordinate value of (x+(k+1) / 2)Mod k in the X-axis direction, and a coordinate value of (y+(k-1) / 2)Mod k and a coordinate value of (y+(k+1) / 2)Mod k in the Y-axis direction.
[0157] That is, if the total number of computing nodes included in the network architecture is an odd number, then in the Diagonal 2D Torus network formed by the embodiment of the present application, each computing node is communicatively connected with at least six computing nodes, among which four computing nodes are nodes communicatively connected in accordance with the 2D Torus networking method, and the remaining computing nodes are nodes that are additionally connected in accordance with the technical solution of the embodiment of the present application.
[0158] In one possible implementation, when the total number k of computing nodes in each dimension of at least one dimension is an odd number, the first computing node with a mid-coordinate value of (x, y) in the Diagonal 2D Torus network is communicatively connected to all computing nodes with the farthest communication distance. At this time, on the basis of the 2D Torus network, the first computing node with the coordinate value of (x, y) is also communicated with the target computing node with the coordinate value of ((x+(k-1) / 2)Mod k, (y+(k-1) / 2)Mod k), the target computing node with the coordinate value of ((x+(k-1) / 2)Mod k, (y+(k+1) / 2)Mod k), the target computing node with the coordinate value of ((x+(k+1) / 2)Mod k, (y+(k-1) / 2)Mod k), and the target computing node with the coordinate value of ((x+(k+1) / 2)Mod k, (y+(k+1) / 2)Mod k) to form a Diagonal 2D Torus network.
[0159] In this implementation, each compute node connects to all of the farthest compute nodes, significantly improving the communication latency of the entire Diagonal 2D Torus network. However, since each primary compute node must connect to four additional target compute nodes on top of the 2D Torus network, the total number of communication connections required for the entire Diagonal 2D Torus network increases to 4 × k × k, which also increases the network cost.
[0160] In another possible implementation, when the total number k of computing nodes in each dimension of at least one dimension is an odd number, the first computing node with coordinates (x, y) in the diagonal 2D torus network is connected only to the two computing nodes with the farthest communication distance in the diagonal direction. In this case, based on the 2D torus network, the first computing node with coordinates (x, y) is also connected to the target computing node with coordinates ((x+(k-1) / 2) Mod k, (y+(k-1) / 2) Mod k) and the target computing node with coordinates ((x+(k+1) / 2) Mod k, (y+(k+1) / 2) Mod k), thereby forming a diagonal 2D torus network.
[0161] In this implementation, when connecting to the target compute node that has the longest communication distance from the first compute node, only the two compute nodes with the longest communication distance from the first compute node need to be connected diagonally. This improves the communication latency of the 2D Torus network while ensuring that the network construction cost is not too high.
[0162] As an example, referring to FIG8 , it is assumed that the total number of computing nodes included in the network architecture is 25, forming a 5×5 2D Torus network, or a 5×5 Diagonal 2D Torus network; and assuming that the horizontal direction is the X-axis, the vertical direction is the Y-axis, and the coordinate value of the first computing node is (0, 0), then the first computing node communicates with the computing node with a coordinate value of (1, 0), the computing node with a coordinate value of (0, 1), the computing node with a coordinate value of (0, 4), and the computing node with a coordinate value of (4, 0) in accordance with a 2D Torus networking mode; at the same time, the first computing node communicates with the target computing node with a coordinate value of (2, 2) and the target computing node with a coordinate value of (3, 3).
[0163] Similarly, after the 25 computing nodes are connected in communication according to the 2D Torus networking method, each computing node is also connected to the computing node with coordinate values of ((x+(k-1) / 2)Mod k, (y+(k-1) / 2)Mod k) and the computing node with coordinate values of ((x+(k+1) / 2)Mod k, (y+(k+1) / 2)Mod k) to form a Diagonal 2D Torus network.
[0164] It should be noted that the 2D network introduced in the above example only uses the network architecture to include 25 computing nodes, and the total number of computing nodes in the two dimensions is 5 (i.e., k=5) for illustration. However, in actual applications, the network architecture can also include more or fewer computing nodes, and the embodiments of the present application do not limit this. Moreover, for 25 computing nodes, the embodiments of the present application use the value range of the two dimensions as [0, 4] as an example. In actual applications, other methods can also be used to determine the coordinate values of the computing nodes. Without affecting the multi-node networking method and network architecture, the embodiments of the present application do not limit the setting method of the coordinate values of the computing nodes.
[0165] It can be seen from this that when the total number of computing nodes in each dimension in at least one dimension is an odd number, after multiple computing nodes are connected in a 2D Torus networking mode, each computing node needs to connect to at least two additional computing nodes. Therefore, compared with the 2D Torus network, the Diagonal 2D Torus network increases the degree of each computing node, while also reducing communication latency and increasing communication bandwidth, thereby significantly improving the overall communication performance of the network.
[0166] (3) Multiple computing nodes form a k×k×k Diagonal 3D Torus network, where k is an odd number.
[0167] When the total number of computing nodes is k×k×k, and k is an odd number, the set of k×k×k computing nodes in the 3D network can be recorded as {(x, y, z)|0≤x≤k-1, 0≤y≤k-1, 0≤z≤k-1}. Based on the 3D Torus network, when the Diagonal 3D Torus network is formed in the embodiment of the present application, the first computing node with coordinate values of (x, y, z) is also communicated with the second computing node with coordinate values of (x+(k-1) / 2) Mod k and coordinate values of (x+(k+1) / 2) Mod k in the X-axis direction, (y+(k-1) / 2) Mod k and coordinate values of (y+(k+1) / 2) Mod k in the Y-axis direction, and (z+(k-1) / 2) Mod k and coordinate values of (z+(k+1) / 2) Mod k in the Z-axis direction.
[0168] That is, if the total number of computing nodes included in the network architecture is an odd number, then in the Diagonal 3D Torus network formed by the embodiment of the present application, each computing node is communicatively connected with at least eight computing nodes, among which six computing nodes are nodes communicatively connected in accordance with the 3D Torus networking method, and the remaining computing nodes are nodes that are additionally connected in accordance with the technical solution of the embodiment of the present application.
[0169] In one possible implementation, when the total number k of computing nodes in each dimension of at least one dimension is an odd number, the first computing node with a mid-coordinate value of (x, y, z) in the Diagonal 3D Torus network is communicatively connected to all computing nodes with the farthest communication distance. At this time, based on the 3D Torus network, the first calculation node with coordinate values of (x, y, z) is also connected to the target calculation node with coordinate values of ((x+(k+1) / 2)Mod k, (y+(k+1) / 2)Mod k, (z+(k+1) / 2)Mod k), the target calculation node with coordinate values of ((x+(k+1) / 2)Mod k, (y+(k-1) / 2)Mod k, (z+(k+1) / 2)Mod k), the target calculation node with coordinate values of ((x+(k+1) / 2)Mod k, (y+(k+1) / 2)Mod k, (z+(k-1) / 2)Mod k), and the target calculation node with coordinate values of ((x+(k+1) / 2)Mod k, (y+(k-1) / 2)Mod k, (z+(k-1) / 2)Mod k). k), the target computing node with coordinate values of ((x+(k-1) / 2)Mod k, (y+(k+1) / 2)Mod k, (z+(k+1) / 2)Mod k), the target computing node with coordinate values of ((x+(k-1) / 2)Mod k, (y+(k+1) / 2)Mod k, (z+(k+1) / 2)Mod k), the target computing node with coordinate values of ((x+(k-1) / 2)Mod k, (y+(k-1) / 2)Mod k, (z+(k-1) / 2)Mod k), the target computing node with coordinate values of ((x+(k-1) / 2)Mod k, (y+(k-1) / 2)Mod k, (z+(k-1) / 2)Mod k)) are communicated with each other to form a Diagonal 3D Torus network.
[0170] In this implementation, each compute node is connected to all the farthest compute nodes, significantly improving the communication latency of the entire Diagonal 3D Torus network. However, since each primary compute node must connect to four additional target compute nodes on top of the 3D Torus network, the total number of communication connections required for the entire Diagonal 3D Torus network is 8 × k × k × k, which also increases the networking cost to a certain extent.
[0171] In another possible implementation, when the total number k of computing nodes in each dimension of at least one dimension is an odd number, the first computing node with coordinates (x, y, z) in the diagonal 3D torus network is connected only to the two computing nodes with the farthest communication distance in the diagonal direction. In this case, based on the 3D torus network, the first computing node with coordinates (x, y, z) is further connected to the target computing node with coordinates ((x+(k-1) / 2) Mod k, (y+(k-1) / 2) Mod k, (z+(k-1) / 2) Mod k) and the target computing node with coordinates ((x+(k+1) / 2) Mod k, (y+(k+1) / 2) Mod k, (z+(k+1) / 2) Mod k), thereby forming a diagonal 3D torus network.
[0172] In this implementation, when connecting to the target compute node that is farthest from the first compute node, only the two compute nodes with the longest communication distance from the first compute node need to be connected diagonally. This improves 3D Torus network communication latency while keeping networking costs low.
[0173] As an example, in the 3×3×3 3D Torus network shown in FIG1 , assuming that the coordinate value of the first computing node is (0, 0, 0), then in the Diagonal 3D Torus network provided in an embodiment of the present application, the first computing node is also connected to the computing node with the coordinate value of (1, 1, 1) and the computing node with the coordinate value of (2, 2, 2). Similarly, based on the above 3D Torus network, each of the 27 computing nodes is further connected to the computing node with the coordinate value of ((x+(k-1) / 2)Mod k, (y+(k-1) / 2)Mod k, (z+(k-1) / 2)Mod k) and the computing node with the coordinate value of ((x+(k+1) / 2)Mod k, (y+(k+1) / 2)Mod k, (z+(k+1) / 2)Mod k) to form a Diagonal 3D Torus network.
[0174] It should be noted that the 3D network introduced in the above example only uses the network architecture to include 27 computing nodes, and the total number of computing nodes in the three dimensions is 3 (i.e., k=3) for illustration. However, in actual applications, the network architecture can also include more or fewer computing nodes, and the embodiments of the present application do not limit this. Moreover, for 27 computing nodes, the embodiments of the present application use the value range of the three dimensions as [0, 2] as an example. In actual applications, other methods can also be used to determine the coordinate values of the computing nodes. Without affecting the multi-node networking method and network architecture, the embodiments of the present application do not limit the setting method of the coordinate values of the computing nodes.
[0175] It can be seen from this that when the total number of computing nodes in each dimension in at least one dimension is an odd number, after multiple computing nodes are connected in communication according to the 3D Torus networking method, each computing node needs to connect to at least two additional computing nodes. Therefore, compared with the 3D Torus network, the Diagonal 3D Torus network increases the degree of each computing node, while also reducing communication latency and increasing communication bandwidth, thereby greatly improving the overall communication performance of the network.
[0176] Next, in the case where there is a dimension in which the total number of computing nodes in at least one dimension is an odd number, a process of establishing a communication connection between a first computing node and at least two computing nodes in a Diagonal Torus network is explained.
[0177] When multiple computing nodes are communicatively connected according to the Torus networking method, and the Torus networking method includes at least one dimension, if there are both dimensions in which the total number of computing nodes is an odd number and dimensions in which the total number of computing nodes is an even number in at least one dimension, assuming that the total number of computing nodes in the first dimension where the first computing node is located is an odd number, and the total number of computing nodes in the second dimension where the first computing node is located is an even number, then the first computing node needs to be connected to target computing nodes indicated by two different coordinate values in the first dimension, and needs to be connected to the target computing node indicated by one coordinate value in the second dimension.
[0178] As an example, when the total number of computing nodes is k1×k2, and k1 is an odd number and k2 is an even number, the set of k1×k2 computing nodes in the 2D network can be recorded as {(x, y)|0≤x≤k1-1, 0≤y≤k2-1}. At this time, based on the 2D Torus network, the first computing node with the coordinate value of (x, y) in the Diagonal 2D Torus network also communicates with the target computing node with the coordinate value of ((x+(k1-1) / 2)Mod k1, (y+k2 / 2)Mod k2) and the target computing node with the coordinate value of ((x+(k1-1) / 2)Mod k1, (y+k2 / 2)Mod k2). Similarly, when k1 is an even number and k2 is an odd number, based on the 2D Torus network, the first computing node with the coordinate value (x, y) in the Diagonal 2D Torus network also communicates with the target computing node with the coordinate value ((x+k1 / 2)Mod k1, (y+(k2-1) / 2)Mod k2) and the target computing node with the coordinate value ((x+k1 / 2)Mod k1, (y+(k2+1) / 2)Mod k2).
[0179] As an example, referring to Figure 9, 20 compute nodes are connected in a 2D torus configuration to form a 5×4 2D torus network, with 5 compute nodes arranged in each row and 4 compute nodes arranged in each column. In this 2D torus network, the first compute node with coordinates (0, 0) is also connected to the target compute node with coordinates (2, 2) and the target compute node with coordinates (3, 2).
[0180] Similarly, after the 20 computing nodes are connected in communication according to the 2D Torus networking mode, each computing node is also connected to the two computing nodes with the farthest communication distance to form a Diagonal 2D Torus network.
[0181] It should be understood that, for the first computing node in the network architecture, the above two methods of determining the target computing node are only illustrated by the formation of Diagonal 1D Torus network, Diagonal 2D Torus network and Diagonal 3D Torus network. With the emergence of larger-scale Torus networks, based on the technical concept of connecting the computing nodes with the longest communication distance under the Torus networking mode provided in the embodiment of the present application, the network architecture of higher-dimensional Torus networks can also be improved to form higher-dimensional Diagonal Torus networks. The implementation methods are similar and will not be explained one by one here.
[0182] Moreover, no matter how many dimensions the multiple computing nodes in the network architecture are networked and connected, for the first computing node, as long as the total number of computing nodes corresponding to each dimension in the network architecture is determined, the coordinate values of the computing nodes that the first computing node needs to communicate with in each dimension can be determined in turn in the above manner, thereby integrating the coordinate values of the first computing node that needs to communicate with in at least one dimension and determining the target computing node for communication with the first computing node.
[0183] It should also be noted that although the above embodiments provide a method for calculating the target computing nodes to which the first computing node is additionally connected, when the number of target computing nodes is multiple, the first computing node in any of the above embodiments can communicate with all target computing nodes with the farthest communication distance, or only communicate with some of the target computing nodes. The embodiments of the present application do not impose any restrictions on this.
[0184] In summary, in the embodiments of the present application, after multiple computing nodes in the network architecture are connected in a Torus networking manner, each computing node also connects to at least one computing node with the longest communication distance in the Torus networking manner. Therefore, compared to the Torus network, the network architecture shown in the embodiments of the present application not only increases the speed of each computing node, improves the throughput and fault tolerance of computing nodes, but also reduces the communication latency between computing nodes, thereby improving the overall communication performance of the network.
[0185] In some embodiments, with respect to the network architecture shown in the above embodiments, when the first computing node in the network architecture establishes a communication connection with the target computing node, the manner in which the communication connection is achieved may include the following two.
[0186] In a first connection mode, the first computing node and the target computing node are connected via a physical line.
[0187] Regarding this connection method, the first computing node can be connected to the target computing node through physical wiring in combination with the above-mentioned Figures 4-9.
[0188] In the second connection mode, the above network architecture further includes at least one network device, and the first computing node and the target computing node are communicatively connected via the at least one network device.
[0189] The at least one network device may include one network device or multiple network devices, which is not limited in this embodiment of the present application. The at least one network device may be a switch or other routing device capable of forwarding data. The embodiment of the present application does not limit the specific type of the network device, as long as it can achieve communication connections between multiple computing nodes.
[0190] In one possible implementation, the first computing node and the target computing node are connected to each other through the same network device. In this case, the first computing node and the target computing node have the shortest communication route, which reduces the communication delay between the first computing node and the target computing node and improves communication performance.
[0191] In the case where the network architecture includes multiple computing nodes, after the multiple computing nodes are connected to each other in a Torus networking manner, there will be multiple pairs of computing nodes with the longest communication distance. These multiple pairs of computing nodes can be fully connected through the same network device or through multiple network devices. The embodiments of the present application do not impose any restrictions on this.
[0192] It should be understood that if there is a dimension in the Torus network where the total number of computing nodes is an odd number, then the first computing node has two target computing nodes with the farthest communication distance in the Torus network. At this time, the first computing node can communicate with these two target computing nodes through the same network device, or it can communicate with these two target computing nodes separately through two network devices. The embodiments of the present application do not limit this.
[0193] Among them, when all computing nodes with the longest communication distance are fully connected through a single network device, the number of network device ports required is high, and the networking cost of combining multiple nodes with network devices is also relatively high; when all computing nodes with the longest communication distance are fully connected through multiple network devices, the number of network device ports required is relatively low, and the networking cost of combining multiple nodes with network devices is relatively low. Therefore, you can flexibly choose according to actual needs, and the embodiments of the present application do not impose any restrictions on this.
[0194] It should be noted that, when the first computing node and the target computing node can be communicatively connected through at least one network device, the embodiment of the present application does not limit the specific implementation plan for all computing nodes in the network architecture to communicate with the computing node with the farthest communication distance in the Torus networking mode through at least one network device.
[0195] In some embodiments, the multiple computing nodes included in the network architecture can be organized into multiple Torus networks with the same topology according to the Torus networking method, and the computing nodes in the multiple Torus networks are fully connected through at least one network device.
[0196] Next, taking a network architecture including 64 computing nodes and at least one network device, and the 64 computing nodes forming four 4×4 2D Torus networks as an example, the specific method of achieving full connectivity of computing nodes in multiple Torus networks through the at least one network device is exemplified.
[0197] In the first case, the network architecture includes a network device, and all computing nodes of multiple Torus networks in the network architecture are connected through the same network device for communication.
[0198] In other words, when the network architecture includes a network device, all computing nodes in the network architecture are connected to the network device, so that each computing node can communicate with at least one computing node with the farthest communication distance through the network device.
[0199] As an example, see Figure 10. The network architecture includes four 4×4 2D Torus networks, i.e., 64 compute nodes, each connected to a single network device. In this case, the first compute node with coordinates (0, 0) in each 2D Torus network can communicate with the target compute node with coordinates (2, 2) through the network device. Computing nodes in different 2D Torus networks can also communicate through the network device.
[0200] As can be seen, when a network architecture includes only one network device, all compute nodes in multiple Torus networks communicate through this network device, meaning that all compute nodes in the network architecture are fully connected through this network device. This allows any two compute nodes in the network architecture to communicate directly with each other using the shortest possible communication route.
[0201] It should be noted that when all compute nodes in four 4×4 2D Torus networks are fully connected through a single network device, the required number of network device ports is 64. Therefore, when all compute nodes in a network architecture are fully connected through a single network device, the number of ports on that network device must be greater than or equal to the total number of compute nodes in the network architecture. This network architecture places certain requirements on the number of network device ports and results in relatively high networking costs.
[0202] Based on this, to reduce the cost of multi-node networking, when computing nodes in multiple Torus networks can be fully connected through multiple network devices, the total number of ports on these multiple network devices can be greater than or equal to the total number of computing nodes in the network architecture. For example, the aforementioned 64-port network device can be replaced with eight 16-port network devices, or four 16-port network devices, etc., increasing the number of network devices while reducing the number of ports on each network device, thereby controlling the cost of multi-node networking.
[0203] It should be understood that the networking architecture of the network devices is different, and the number of network devices required is also different. It can be flexibly set according to actual needs, and the embodiments of the present application do not limit this.
[0204] When the network architecture includes multiple network devices, the computing nodes with the farthest communication distance in multiple Torus networks can all be connected to each other through the multiple network devices. At this time, for each Torus network, all computing nodes in the Torus network can be connected to each other through the multiple network devices, as shown in the second case below; or only some computing nodes in the Torus network can be connected to each other through the same network device, as shown in the third case below.
[0205] In the second case, the network architecture includes multiple network devices, and in any Torus network, each computing node is connected to the target computing node with the farthest communication distance through multiple network devices.
[0206] In one possible implementation, if each computing node in a Torus network communicates with the target computing node with the farthest communication distance through multiple network devices, in order to achieve full connectivity of all computing nodes in the network architecture, a Torus networking method + Clos networking method can be used to implement a solution in which all computing nodes in multiple Torus networks are fully connected through multiple network devices.
[0207] As an example, in the Clos networking architecture, after the four 16-port network devices in the first layer communicate with the computing nodes in multiple Torus networks, the four 16-port network devices in the second layer communicate with the four 16-port network devices in the first layer respectively, thereby achieving full connectivity between all computing nodes in the network architecture.
[0208] Referring to Figure 11, a network architecture comprising eight 16-port network devices is used as an example to fully connect all compute nodes in four 4×4 2D torus networks. In each 2D torus network, the eight compute nodes in the first two columns are connected to a network device on the first layer, and the eight compute nodes in the last two columns are connected to another network device on the first layer. Two network devices connecting compute nodes in the same torus network communicate through a network device on the second layer.
[0209] Among them, the computing node with coordinate value (0, 0), the computing node with coordinate value (1, 0), the computing node with coordinate value (0, 1), the computing node with coordinate value (1, 1), the computing node with coordinate value (0, 2), the computing node with coordinate value (1, 2), the computing node with coordinate value (0, 3), and the computing node with coordinate value (1, 3) in the first 2D Torus network are communicatively connected to the first network device; the computing node with coordinate value (2, 0), the computing node with coordinate value (3, 0), the computing node with coordinate value (2, 1), the computing node with coordinate value (3, 1), the computing node with coordinate value (2, 2), the computing node with coordinate value (3, 2), the computing node with coordinate value (2, 3), and the computing node with coordinate value (3, 3) are communicatively connected to the second network device, and the first network device and the second network device are communicatively connected through the fifth network device.
[0210] In this way, the computing node with the coordinate value of (0, 0) in the first 2D Torus network can communicate with the computing node with the coordinate value of (2, 2) according to the communication route of "first network device-fifth network device-second network device". Similarly, the computing nodes with the coordinate values of (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), and (1, 3) in the first 2D Torus network can also communicate with the computing nodes with the coordinate values of (2, 3), (2, 0), (2, 1), (3, 2), (3, 3), (3, 0), and (3, 1) according to the communication route of "first network device-fifth network device-second network device". In this way, all computing nodes in the first 2D Torus network communicate with the computing node with the farthest communication distance in the first 2D Torus network through "first network device - fifth network device - second network device" in sequence.
[0211] When networking according to the second situation mentioned above, it is only necessary to ensure that the total number of ports of multiple network devices directly connected to all computing nodes in multiple Torus networks in the first-layer Clos architecture is greater than or equal to the total number of computing nodes in the network architecture. This networking method has low requirements on the number of ports of network devices.
[0212] It should be noted that Figure 11 only illustrates the example of connecting the computing nodes in the first two columns and the last two columns of the first 2D Torus network to different network devices. In a specific implementation, the computing nodes in the first two rows can also be connected to the first network device, and the computing nodes in the last two rows can be connected to the second network device. As long as the number of ports of the network devices in the first layer is not exceeded, the embodiments of the present application do not limit the number of computing nodes connected to each network device in the first layer, nor the 2D Torus network to which the computing nodes connected to each network device belong.
[0213] In the third case, the network architecture includes multiple network devices, and in any Torus network, some computing nodes communicate with at least one computing node with the farthest communication distance through the same network device.
[0214] In one possible implementation, according to the number of network devices, the target network device corresponding to the computing node pair with the longest communication distance in each Torus network is determined, so as to realize the communication connection between some of the computing nodes with the longest communication distance in the Torus network through the target network device.
[0215] In other words, within any Torus network, some compute nodes communicate with at least one of the furthest compute nodes via a single network device, while another portion of the compute nodes communicate with at least one of the furthest compute nodes via another network device. Thus, in this network architecture, each compute node can communicate with its furthest compute node via a single network device. This further reduces communication latency between the furthest compute nodes and improves communication performance compared to the second scenario described above.
[0216] If the number of network devices is P and the number of compute node pairs with the longest communication distance in each Torus network is Q, then for each Torus network, Q / P compute node pairs are connected to the same network device. For example, if P = 4 and Q = 8, then two compute node pairs in each Torus network, i.e., four compute nodes, are connected to the same network device.
[0217] As an example, referring to FIG12 , a network architecture including four 16-port network devices is used as an example to achieve full connectivity of all computing nodes in four 4×4 2D Torus networks through the eight 16-port network devices. In each 2D Torus network, the computing nodes with coordinate values of (0, 0) and (2, 2), as well as the computing nodes with coordinate values of (2, 0) and (0, 2) are all connected to each other through the first network device; the computing nodes with coordinate values of (1, 0) and (3, 2), as well as the computing nodes with coordinate values of (3, 0) and (1, 2) are all connected to each other through the second network device; the computing nodes with coordinate values of (0, 1) and (2, 3), as well as the computing nodes with coordinate values of (2, 1) and (0, 3) are all connected to each other through the third network device; the computing nodes with coordinate values of (1, 1) and (3, 3), as well as the computing nodes with coordinate values of (3, 1) and (1, 3) are all connected to each other through the fourth network device.
[0218] When networking according to the third scenario, it's sufficient to ensure that the total number of network device ports is greater than or equal to the total number of compute nodes in the network architecture. This approach also requires fewer network device ports. Furthermore, compared to the second scenario, this approach uses only four network devices to fully connect all 64 compute nodes, reducing both the overall cost and the communication latency associated with excessive layers of network devices.
[0219] It should be noted that Figures 10-12 illustrate only the connection between the compute nodes and at least one network device in the first 2D Torus network. The connection between the compute nodes and the at least one network device in the other three 2D Torus networks is similar and not shown in the figures. Furthermore, for ease of explanation, Figures 10-12 illustrate only the case where the total number of compute nodes in two dimensions of the 2D Torus network is the same and both are even numbers. If multiple Torus networks comprised of multiple compute nodes in this network architecture include multiple dimensions, with different total numbers of compute nodes in each dimension, or if the total number of compute nodes in at least one dimension is an odd number, the connection methods illustrated in the above three cases can still be used, with the compute nodes with the longest communication distance in the multiple Torus networks being connected via at least one network device. The network connection methods are similar and are not further described here.
[0220] In summary, when the network architecture includes a single network device, the connection method described in FIG. 10 can be referenced, and the computing nodes in multiple Torus networks are all connected to the same network device, thereby ensuring that all computing nodes in the multiple Torus networks are fully connected through the network device. When the network architecture includes multiple network devices, the connection method described in FIG. 11 or FIG. 12 can be referenced, and some computing nodes in each Torus network are connected to the same network device, thereby ensuring that all computing nodes in the multiple Torus networks are fully connected through the multiple network devices. In other words, when the network architecture includes multiple Torus networks formed by multiple computing nodes and at least one network device, the at least one network device can be used to establish communication connections between the computing nodes with the longest communication distance in each Torus network, thereby forming a diagonal torus network and reducing the communication latency between the computing nodes in the network architecture.
[0221] In some embodiments, multiple Torus networks with the same topology can be logically organized into a larger or smaller Diagonal Torus network. When the first computing node in each Torus network is connected to the target computing node via at least one network device, computing nodes located in the same location in multiple Torus networks can be connected to the same network device. Therefore, when multiple Torus networks are logically organized into a larger or smaller Diagonal Torus network, each computing node in the Diagonal Torus network can communicate with the computing node with the greatest communication distance via the same network device, significantly reducing communication latency between computing nodes in the logical network.
[0222] In one possible implementation, as shown in FIG12 , the two computing nodes with the farthest communication distance in each Torus network are connected to each other through the same network device. At the same time, computing nodes at the same location in multiple Torus networks are connected to the same network device.
[0223] Based on the network architecture shown in Figure 12, the four Torus networks can logically form a Diagonal Torus network including: a Diagonal 1D Torus network containing 4 computing nodes, a 4×4 Diagonal 2D Torus network, and a 4×4×4 Diagonal 3D Torus network.
[0224] When establishing a Diagonal 1D Torus network containing four computing nodes, taking the first row of the first 2D Torus network as an example, the computing nodes with coordinate values of (0, 0), (1, 0), (2, 0), and (3, 0) are connected to each other in a 1D Torus networking manner. Furthermore, the computing node with coordinate value (0, 0) and the computing node with coordinate value (2, 0) with the longest communication distance are connected to each other via the first network device, while the computing node with coordinate value (1, 0) and the computing node with coordinate value (3, 0) with the longest communication distance are connected to each other via the second network device. Thus, in the network architecture shown in FIG12 , the connection method between the computing nodes in each row or column of a single 4×4 2D Torus network satisfies the actual networking method of a Diagonal 1D Torus network. Therefore, each row or column of a single 2D Torus network in this network architecture can logically operate as a Diagonal 1D Torus network.
[0225] When establishing a 4×4 diagonal 2D torus network, taking the first 2D torus network as an example, since the compute nodes with coordinate values (0, 0) and (2, 2), as well as the compute nodes with coordinate values (0, 2) and (2, 0) in this 2D torus network are interconnected through the first network device, and the other compute nodes with the longest communication distance in this 2D torus network are also connected through other network devices, in this way, in the network architecture shown in Figure 12, the network after the compute nodes of a single 2D torus network are connected to the network devices can logically operate as a diagonal 2D torus network.
[0226] When forming a 4×4×4 diagonal 3D torus network, the compute node with coordinates (0, 0) in the first 2D torus network and the compute node with coordinates (2, 2) in the third 2D torus network are the compute node pair with the longest communication distance in the 3D torus network. In the network architecture shown in FIG12 , these two compute nodes are connected via the first network device, and the other compute nodes with the longest communication distance in the 3D torus network are also connected via the network device. Thus, in the network architecture shown in FIG12 , the overall connection relationship of the 64 compute nodes satisfies the actual networking mode of a diagonal 3D torus network. Therefore, the four 2D torus networks in this network architecture can logically operate as a single diagonal 3D torus network.
[0227] It should be understood that when multiple compute nodes in a network architecture form a torus network, a diagonal torus network with a dimension equal to or less than that of the torus network can also be logically formed based on the torus network. For example, if multiple compute nodes form a 4×4 2D torus network, it is still possible to logically form a diagonal 1D torus network containing four compute nodes, or a 4×4 diagonal 2D torus network, as described above.
[0228] In one possible implementation, based on the above-described technical solution for forming a logical network topology, when setting communication routes for computing nodes of multiple tenants in a cloud scenario, if the multiple computing nodes are already fully connected, logical Diagonal Torus networks of different dimensions can be formed between the multiple computing nodes to find the shortest communication route between the computing nodes in the logical Diagonal Torus network, thereby determining the communication routes for communication between the multiple computing nodes. In this way, by leveraging the advantages of shorter communication routes and lower communication latency in the Diagonal Torus network, other complex fully connected networks can be mapped into a Diagonal Torus network to set communication routes between multiple computing nodes, thereby improving the efficiency of setting node communication routes in complex networks.
[0229] It should be noted that the "logical" Diagonal Torus network here refers to a network in which multiple computing nodes are fully connected, but it is not directly formed into a Diagonal Torus network according to the network architecture provided in the embodiment of this application. Instead, it is based on the full connection between multiple computing nodes. The network architecture of multiple computing nodes is converted into the network architecture of the Diagonal Torus network, thereby finding the shortest communication route.
[0230] In summary, when a network architecture includes multiple computing nodes and at least one network device, the multiple computing nodes communicate with each other using a Torus network configuration, and each computing node also communicates with at least one computing node with the longest communication distance within the Torus network configuration. This increases the degree of each computing node, improves the throughput and fault tolerance of computing nodes, and the communication performance between computing nodes, while reducing the communication latency between computing nodes in the entire network. Furthermore, regardless of whether the multiple computing nodes form one or more Torus networks, the computing nodes with the longest communication distance in each Torus network can be fully connected via the network device, and the communication routes between computing nodes are shorter.
[0231] Based on the above network architecture, the embodiments of the present application also provide several products that include the above network architecture, which are introduced below.
[0232] First, an embodiment of the present application provides a circuit board comprising multiple computing nodes, which form the network architecture shown in Figures 2 to 9 above. Specifically, when the multiple computing nodes are connected in a Torus networking manner, each computing node also communicates with the target computing node with the longest communication distance.
[0233] Among them, each computing node can be a computing chip. After multiple computing chips are fully connected according to the connection method shown in the above network architecture, the circuit board provided in the embodiment of the present application is obtained.
[0234] Secondly, an embodiment of the present application provides a cabinet comprising multiple computing nodes and at least one network device, wherein the multiple computing nodes and the at least one network device form the network architecture shown in Figures 10-12 above. Specifically, when the multiple computing nodes are communicatively connected in accordance with a Torus networking method to form a Torus network or multiple Torus networks, each computing node is also communicatively connected to the target computing node with the longest communication distance via at least one network device.
[0235] Among them, each computing node can serve as a computer or a processor. Multiple computers or processors, according to the connection method shown in the above network architecture, are fully connected through at least one network device to obtain the cabinet provided in the embodiment of the present application.
[0236] In addition, an embodiment of the present application also provides a computing cluster, which includes multiple cabinets, each cabinet includes multiple computing nodes and at least one network device, and the multiple computing nodes and at least one network device constitute the network architecture shown in Figures 2-12 above.
[0237] In one possible implementation, multiple cabinets may be connected to each other using a Clos architecture, thereby achieving comprehensive connectivity among computing nodes within the computing cluster.
[0238] It should be noted that based on the network architecture provided in the embodiments of this application and the technical concept of connecting the computing node pairs with the longest communication distance, as the number of computing nodes increases and the scale of the network expands, the technical solution of this application is also applicable to other products, such as data centers, cloud data centers, etc., and the embodiments of this application do not impose any restrictions on this.
[0239] Based on the above network architecture, an embodiment of the present application also provides a method for generating a network architecture, which is applied to a manager so that the manager can form a target network topology with different topology types based on the above network architecture, and can flexibly switch between multiple network topologies supported by the network architecture. There is a communication connection between the manager and multiple computing nodes in the network architecture, as well as at least one network device. The manager can receive information or data input by the user and process it; at the same time, the manager can also issue instructions, configuration information, and related data to multiple computing nodes and at least one network device in response to user input information.
[0240] In an embodiment of the present application, the manager is used to determine the routing information between the various computing nodes that constitute the target network topology in the network architecture based on the target topology type input by the user and in accordance with the target topology type, and send the target topology type and routing information to each computing node so that each computing node can communicate in accordance with the target network topology and routing information.
[0241] In this way, given a known network architecture, the target network topology composed of multiple computing nodes in the network architecture can be flexibly switched through the manager in accordance with user needs, so as to find the shortest communication route between each computing node from the logical network, thereby reducing the communication delay of each computing node in the network architecture and improving the flexibility of the routing algorithm setting.
[0242] Next, the computer device provided in the embodiments of the present application is introduced. The computer device may specifically be a server, a terminal device, etc. When implementing the network architecture generation method of the embodiments of the present application, the computing device may be a manager, a single network device, or any computing node, so as to execute the relevant steps in the network architecture generation method.
[0243] Please refer to Figure 13, which is a schematic diagram of the structure of a computer device according to an embodiment of the present application. The computer device includes at least one processor 1301, a communication bus 1302, a memory 1303, and at least one communication interface 1304.
[0244] The processor 1301 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, or one or more integrated circuits for implementing the solution of the present application, such as an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0245] Communication bus 1302 is used to transmit information between the above components. Communication bus 1302 can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 13, but this does not mean that there is only one bus or one type of bus.
[0246] The memory 1303 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 compact disc, a laser disc, a digital versatile disc, a Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1303 may exist independently and be connected to the processor 1301 via the communication bus 1302. The memory 1303 may also be integrated with the processor 1301.
[0247] Communication interface 1304 uses any transceiver-like device for communicating with other devices or communication networks. Communication interface 1304 includes a wired communication interface and may also include a wireless communication interface. A wired communication interface, for example, may be an Ethernet interface. An Ethernet interface may be an optical interface, an electrical interface, or a combination thereof. A wireless communication interface may be a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof.
[0248] As an example, the processor 1301 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG. 13 .
[0249] As an example, a computer device may include multiple processors, such as processor 1301 and processor 1305 shown in Figure 13. Each of these processors may be a single-core processor or a multi-core processor. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).
[0250] In some embodiments, the computer device may further include an output device and an input device (not shown). The output device communicates with the processor 1301 and can display information in a variety of ways. For example, the output device can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device communicates with the processor 1301 and can receive user input in a variety of ways. For example, the input device can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0251] In some embodiments, the memory 1303 is used to store a program code 1310 for executing the solution of the present application, and the processor 1301 can execute the program code 1310 stored in the memory 1303. The program code 1310 may include one or more software modules, and the computer device can implement the network architecture switching method provided in the embodiment of Figure 13 below through the processor 1301 and the program code 1310 in the memory 1303.
[0252] Please refer to Figure 14, which is a flowchart of a method for generating a network architecture provided in an embodiment of the present application. As described above, the network architecture includes multiple computing nodes and at least one network device. The multiple computing nodes are organized into at least one Torus network with the same topology according to the Torus networking method. The method includes the following steps.
[0253] Step 1401: Receive network resource configuration information, which includes a target topology type. The target topology type indicates a target network topology that is currently expected to be generated. Two computing nodes with the farthest communication distance in the target network topology are communicatively connected through at least one network device.
[0254] That is, the target network topology expected to be generated is the Diagonal Torus network provided in the embodiment of the present application.
[0255] As described above, the network architecture includes multiple computing nodes and at least one network device, and the multiple computing nodes form one or more Torus networks. Therefore, when the network architecture includes a network device, and multiple computing nodes are organized into a Torus network in accordance with the Torus networking method, if all computing nodes in a Torus network can be connected to the network device, then the network device acts as a manager to execute steps 1401-1403; when the network device includes multiple network devices, and multiple computing nodes are organized into multiple Torus networks with the same topology in accordance with the Torus networking method, the computing node with the farthest communication distance in the multiple Torus networks can be communicated through the network device. At this time, steps 1401-1403 can be executed by a manager independent of the multiple computing nodes and the multiple network devices.
[0256] In some embodiments, multiple computing nodes are organized into multiple Torus networks with the same topology according to the Torus networking method, and when the network architecture includes multiple network devices, the computing nodes located at the same position in the multiple Torus networks are connected to the same network device. In this way, the computing nodes in the multiple Torus networks can be fully connected through the multiple network devices.
[0257] That is, if the network device includes multiple compute nodes and at least one network device, and the compute nodes in one or more Torus networks are fully connected via the at least one network device, then the one or more Torus networks and the at least one network device can logically form a multi-dimensional Diagonal Torus network. In other words, based on the connection relationship between the compute nodes in the one or more Torus networks and the at least one network device, the network architecture can be mapped into multiple network topologies.
[0258] Based on the network architecture shown in FIG. 10 to FIG. 12 , the target network topology to be switched in step 1401 may be any one of a Diagonal 1D Torus network, a Diagonal 2D Torus network, and a Diagonal 3D Torus network.
[0259] In one possible implementation, the network resource configuration information in step 1401 may further include a number of networks, indicating the number of target network topologies to be switched. Based on the network resource configuration information and in accordance with the target topology type and the number of networks, the manager then executes step 1302 to determine routing information between the computing nodes in the plurality of computing nodes that constitute one or more target network topologies.
[0260] As an example, the target network topology in the network resource configuration information can be a Diagonal 2D Torus network with a network number of 5. The network resource configuration information indicates that 5 Diagonal 2D Torus networks are generated based on the network architecture, but there is no limit on the number of computing nodes included in each Diagonal 2D Torus network.
[0261] In one possible implementation, the network resource configuration information may further include a target node count for the generated target network topology, which describes the desired network scale of the generated target network topology. Based on the network resource configuration information and the target topology type and target node count, the manager executes step 1402 to determine, from among the multiple computing nodes included in the network architecture, the computing nodes that constitute the target network topology, as well as routing information between the computing nodes, according to the target node count.
[0262] As an example, the target network topology in the network resource configuration information can be a Diagonal 1D Torus network with a target number of nodes of 5. The network resource configuration information indicates that a Diagonal 1D Torus network containing 5 computing nodes is generated based on the network architecture, but there is no limit on the number of Diagonal 1D Torus networks formed.
[0263] Step 1402: According to the target topology type, determine routing information between the computing nodes constituting the target network topology among the multiple computing nodes.
[0264] It should be noted that, based on this network architecture, routing between computing nodes includes routing information based on the Torus network and / or routing information based on network devices.
[0265] As an example, referring to FIG12 , the communication route between the computing node with coordinate value (0, 0) and the computing node with coordinate value (1, 1) in the first 2D Torus network is computing node with coordinate value (0, 0)—computing node with coordinate value (1, 0)—computing node with coordinate value (1, 1), or computing node with coordinate value (0, 0)—computing node with coordinate value (0, 1)—computing node with coordinate value (1, 1). Therefore, the routing information between the computing node with coordinate value (0, 0) and the computing node with coordinate value (1, 1) is the routing information based on the Torus network. The communication route between the computing node with coordinate value (0, 0) and the computing node with coordinate value (2, 2) in the first 2D Torus network is computing node with coordinate value (0, 0)—first network device—computing node with coordinate value (2, 2). Therefore, the routing information between the computing node with coordinate value (0, 0) and the computing node with coordinate value (2, 2) is the routing information based on the network device. The communication route between the computing node with coordinate value (0, 0) and the computing node with coordinate value (2, 1) in the first 2D Torus network can be computing node with coordinate value (0, 0) - first network device - computing node with coordinate value (1, 1) - computing node with coordinate value (2, 1). Therefore, the routing information between the computing node with coordinate value (0, 0) and the computing node with coordinate value (2, 1) is the routing information based on the Torus network and network device.
[0266] In some embodiments, when two computing nodes with the farthest communication distance in the same Torus network are communicatively connected through the same network device, the routing information includes the shortest route between the computing nodes.
[0267] In one possible implementation, step 1402 may be implemented as follows: the manager determines routing information for communication between computing nodes based on the connection relationships between computing nodes in the target network topology. For any computing node in the target network topology, the corresponding routing information includes the communication routes between the computing node and all other computing nodes in the target network topology.
[0268] It should be noted that the manager's execution of step 1402 is premised on the multiple computing nodes and at least one network device included in the network architecture being able to form a network corresponding to the target topology type, i.e., supporting the switching of the target topology type. Therefore, if the target topology type is a network topology type supported by the network architecture, the manager executes step 1402. If the target topology type is not a network topology type supported by the network architecture, i.e., the network architecture does not support the generation of the target topology type, the manager does not execute step 1402, and the process of executing the network architecture switching method ends.
[0269] In one possible implementation, when the network architecture does not support the generation of the target topology type, the manager may output a topology generation failure message to prompt the user that the network architecture does not support the generation of the target topology type. Of course, the topology generation failure message may also include the network topology type that the current network architecture supports.
[0270] In some embodiments, the implementation process of determining the network topology type supported by the network architecture may be: the manager determines the network topology type supported by the network architecture based on the connection relationship between multiple computing nodes and at least one network device.
[0271] That is, before executing the network architecture generation method provided in the embodiments of the present application, the manager can pre-acquire or receive the connection relationship between multiple computing nodes and at least one network device in the network architecture, thereby determining the network topology type supported by the network architecture. Of course, the user can also directly send the network topology type supported by the network architecture to the manager, and the embodiments of the present application do not limit this.
[0272] In one possible implementation, after determining that the network architecture supports the generation of network topology types, the manager can store the network topology types that the network architecture supports the generation of, so that when receiving network resource configuration information input by the user, the manager can quickly determine whether the network architecture supports the generation of the target topology type by comparing the target topology type with the network topology type that the network architecture supports the generation of.
[0273] Step 1403: Send the target topology type and routing information to each computing node.
[0274] Each computing node receives the target topology type and routing information, and stores the target topology type and routing information, so that when it is necessary to form a network according to the target network topology and process computing tasks, it can refer to the routing information and communicate with at least one computing node in the target network topology to transmit relevant data, information or instructions.
[0275] In summary, in an embodiment of the present application, when the connection relationship between multiple computing nodes and at least one network device in the network architecture supports the generation of multiple network topology types, the manager determines the communication routes between the various computing nodes that constitute the target network topology in the network architecture based on the target topology type included in the network resource configuration information. In this way, based on the same network architecture, by generating the target network topology, the application scenarios of the network architecture are improved to meet the needs of different network scales and the needs of different data processing tasks for the number of computing nodes. Moreover, since the target network topology is a Diagonal Torus network constructed based on the networking method of the embodiment of the present application, the computing nodes communicate according to the target network topology and routing information, which can reduce the communication delay during multi-node communication.
[0276] Figure 15 is a schematic diagram of a network architecture generation device provided in an embodiment of the present application. The network architecture includes multiple computing nodes and at least one network device. The multiple computing nodes are organized into at least one Torus network with the same topology according to a Torus networking method. The network architecture generation device can be implemented as part or all of the management device using software, hardware, or a combination of both. Referring to Figure 15 , the network architecture generation device 1500 includes: an information receiving module 1501, a topology generation module 1502, and an information sending module 1503.
[0277] The information receiving module 1501 is used to receive network resource configuration information, which includes a target topology type, which indicates the target network topology currently expected to be generated, and the two computing nodes with the longest communication distance in the target network topology are communicatively connected through at least one network device; the detailed implementation process refers to the corresponding content in the above method embodiment, and will not be repeated here.
[0278] The topology generation module 1502 is used to determine the routing information between the computing nodes constituting the target network topology in accordance with the target topology type. The detailed implementation process is referred to the corresponding content in the above method embodiment and will not be repeated here.
[0279] The information sending module 1503 is used to send the target topology type and routing information to each computing node. The detailed implementation process is referred to the corresponding content in the above method embodiment and will not be repeated here.
[0280] In one possible implementation, multiple computing nodes are organized into multiple Torus networks with the same topology according to the Torus networking method, and when the network architecture includes multiple network devices, computing nodes located at the same position in multiple Torus networks are connected to the same network device.
[0281] In one possible implementation, two computing nodes with the farthest communication distance in the same Torus network are connected for communication via the same network device, and the routing information includes the shortest route between the computing nodes.
[0282] In one possible implementation, before determining, according to the target topology type, routing information between the computing nodes constituting the target network topology among the plurality of computing nodes, the apparatus further includes:
[0283] The topology judgment module is used to execute the step of determining routing information between multiple computing nodes constituting the target network topology according to the target topology type if the target topology type is a network topology type supported by the network architecture.
[0284] In a possible implementation, the device further includes:
[0285] The topology determination module is used to determine the network topology type supported by the network architecture based on the connection relationship between multiple computing nodes and at least one network device.
[0286] In an embodiment of the present application, when the connection relationship between multiple computing nodes and at least one network device in the network architecture supports the generation of multiple network topology types, the generation device of the network architecture determines the communication routes between the various computing nodes that constitute the target network topology in the network architecture based on the target topology type included in the network resource configuration information. In this way, based on the same network architecture, by generating the target network topology, the application scenarios of the network architecture are improved to meet the needs of different network scales and the needs of different data processing tasks for the number of computing nodes. Moreover, since the target network topology is a Diagonal Torus network constructed based on the networking method of the embodiment of the present application, the computing nodes communicate according to the target network topology and routing information, which can reduce the communication delay during multi-node communication.
[0287] It should be noted that the network architecture generation device provided in the above embodiment only uses the division of the above functional modules as an example to illustrate the diagonal torus network that can be logically generated by multiple torus in the management network architecture. In actual 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 network architecture generation device provided in the above embodiment and the network architecture generation method embodiment are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0288] An embodiment of the present application also provides a schematic diagram of a network architecture generation device. The network architecture includes multiple computing nodes and at least one network device. The multiple computing nodes are organized into at least one Torus network with the same topology according to a Torus networking method. The network architecture generation device can be implemented as part or all of the computing nodes using software, hardware, or a combination of both. The network architecture generation device includes an information receiving module.
[0289] Among them, the information receiving module is used to receive the target topology type and routing information. The target topology type indicates the target network topology expected to be generated based on the network architecture. The two computing nodes with the longest communication distance in the target network topology are communicatively connected through at least one network device. The routing information indicates the communication route between the various computing nodes that constitute the target network topology.
[0290] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing devices in the computer device cluster to execute the method for generating the network architecture provided in the embodiment of the present application.
[0291] The present application also provides a computer program product including instructions. This computer program product can be software or a program product including instructions that can be run on a computing device or stored in any available medium. When this computer program product is run on a computing device included in a computing device cluster, it causes the computing device cluster to execute the network architecture generation method provided in the present application.
[0292] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of 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 the present 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 computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiments of the present application may be a non-volatile storage medium, in other words, a non-transient storage medium.
[0293] It should be understood that the "plurality" mentioned herein refers to two or more. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is merely a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate a clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0294] 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, stored data, displayed data, 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 relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions.
[0295] The above are embodiments provided for this application and are not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application should be included in the scope of protection of this application.
Claims
1. A network architecture, characterized in that, The network architecture includes multiple computing nodes, and the multiple computing nodes are communicatively connected in a Torus networking mode. Moreover, a first computing node among the multiple computing nodes is also communicatively connected to a target computing node; Wherein, the first computing node is any one of the multiple computing nodes, and the target computing node is the computing node with the farthest communication distance from the first computing node when the multiple computing nodes are communicatively connected in the Torus networking mode.
2. The network architecture according to claim 1, wherein The Torus networking mode includes at least one dimension. If the total number of computing nodes in each dimension of the at least one dimension is an even number, the target computing node includes one computing node, and the coordinate value of the one computing node in the first dimension is the first coordinate value, and the first coordinate value is the value obtained by taking the modulus of d1 + k1 / 2 with respect to k1; Wherein, the first dimension is any one of the at least one dimension, d1 is the coordinate value of the first computing node in the first dimension, and k1 is the total number of computing nodes in the first dimension.
3. The network architecture according to claim 1, characterized in that, The Torus networking mode includes at least one dimension. If there is a dimension in the at least one dimension where the total number of computing nodes is an odd number, the target computing node includes at least two computing nodes; When the total number of computing nodes in the first dimension is an even number, the coordinate values of the at least two computing nodes in the first dimension are both the first coordinate value, and the first coordinate value is the value obtained by taking the modulus of d1 + k1 / 2 with respect to k1; when the total number of computing nodes in the first dimension is an odd number, the coordinate values of the first part of the at least two computing nodes in the first dimension are the second coordinate value, and the coordinate values of the second part of the at least two computing nodes in the first dimension are the third coordinate value, and the number of the first part of the computing nodes is equal to the number of the second part of the computing nodes, the second coordinate value is the value obtained by taking the modulus of d1 + (k1 - 1) / 2 with respect to k1, and the third coordinate value is the value obtained by taking the modulus of d1 + (k1 + 1) / 2 with respect to k1; Wherein, the first dimension is any one of the at least one dimension, d1 is the coordinate value of the first computing node in the first dimension, and k1 is the total number of computing nodes in the first dimension.
4. The network architecture according to claim 3, wherein If the total number of computing nodes in each dimension of the at least one dimension is an odd number, the at least two computing nodes include a second computing node and a third computing node; The coordinate value of the second computing node in the first dimension is the second coordinate value, and the coordinate value of the second computing node in the second dimension is the fourth coordinate value, and the fourth coordinate value is the value obtained by taking the modulus of d2 + (k2 - 1) / 2 with respect to k2; The coordinate value of the third computing node in the first dimension is the third coordinate value, and the coordinate value of the third computing node in the second dimension is the fifth coordinate value, and the fifth coordinate value is the value obtained by taking the modulus of d2 + (k2 + 1) / 2 with respect to k2; Wherein, the second dimension is any dimension among the at least one dimension other than the first dimension, d2 is the coordinate value of the first computing node in the second dimension, and k2 is the total number of computing nodes in the second dimension.
5. The network architecture according to any one of claims 1-4, characterized in that, The network architecture further includes at least one network device, and the first computing node and the target computing node are communicatively connected through the at least one network device.
6. The network architecture according to claim 5, wherein, The first computing node and the target computing node are communicatively connected through the same network device.
7. The network architecture according to claim 5 or 6, characterized in that, The multiple computing nodes are organized into multiple Torus networks with the same topology according to the Torus networking method, and the computing nodes located at the same position in the multiple Torus networks are connected to the same network device.
8. A circuit, characterized in that, The circuit includes multiple computing nodes, and the multiple computing nodes form the network architecture according to any one of claims 1-4.
9. A cabinet, characterized in that, The cabinet includes multiple computing nodes and at least one network device, and the multiple computing nodes and the at least one network device form the network architecture according to any one of claims 1-7.
10. A computing cluster, characterized in that, The computing cluster includes multiple cabinets, each cabinet includes multiple computing nodes and at least one network device, and the multiple computing nodes and the at least one network device form the network architecture according to any one of claims 1-7.
11. A method for generating a network architecture, characterized in that, The network architecture includes multiple computing nodes and at least one network device, and the multiple computing nodes are organized into at least one Torus network with the same topology according to the Torus networking method; the method includes: Receiving network resource configuration information, the network resource configuration information includes a target topology type, the target topology type indicates a target network topology currently expected to be generated, and the two computing nodes with the farthest communication distance in the target network topology are communicatively connected through the at least one network device; Determining routing information between each of the computing nodes that form the target network topology among the multiple computing nodes according to the target topology type; Sending the target topology type and the routing information to each of the computing nodes.
12. The method according to claim 11, wherein When the multiple computing nodes are organized into multiple Torus networks with the same topology according to the Torus networking method and the network architecture includes multiple network devices, the computing nodes located at the same position in the multiple Torus networks are connected to the same network device.
13. The method according to claim 11 or 12, characterized in that, The two computing nodes with the farthest communication distance in the same Torus network are communicatively connected through the same network device, and the routing information includes the shortest route between each of the computing nodes.
14. The method according to any one of claims 11-13, characterized in that, Before determining the routing information between each of the computing nodes that form the target network topology among the multiple computing nodes according to the target topology type, the method further includes: If the target topology type is a network topology type supported by the network architecture, then perform the step of determining the routing information between each of the computing nodes that form the target network topology among the multiple computing nodes according to the target topology type.
15. The method according to claim 14, wherein The method further includes: Determine the network topology types supported by the generated network architecture based on the connection relationships of the multiple computing nodes and the at least one network device.
16. A method for generating a network architecture, characterized in that, The network architecture includes multiple computing nodes and at least one network device, and the multiple computing nodes are organized into at least one Torus network with the same topology according to the Torus networking method. The method includes: Receiving a target topology type and routing information, where the target topology type indicates a target network topology expected to be generated based on the network architecture, and two computing nodes with the farthest communication distance in the target network topology are communicatively connected through the at least one network device, and the routing information indicates the communication routes between the respective computing nodes that make up the target network topology.
17. An electronic device, characterized in that, The computer device includes a processor and a memory; The memory is used to store a computer program; The processor is configured to execute the computer program to implement the method according to any one of claims 11-15, or the processor is configured to execute the computer program to implement the method according to claim 16.
18. A computer-readable storage medium, characterized in that, Instructions are stored in the storage medium, and when the instructions run on the computer device, the computer device is caused to execute the method according to any one of claims 11-15, or the processor is configured to execute the computer program to implement the method according to claim 16.
19. A computer program product comprising instructions, characterized in that, When the instructions run on the computer device, the computer device is caused to execute the method according to any one of claims 11-15, or the processor is configured to execute the computer program to implement the method according to claim 16.
Citation Information
Patent Citations
Network architecture, network architecture generation method and related device
CN120378311A
Method and apparatus for improving torus network and determining data packet transmission path
CN105224501A
Method and device for optimizing memory access distance-on-chip of many-core processor
CN106339350A
High-dimensional Torus network architecture and adaptive routing method
CN110198268A
Deadlock-free multipath routing for direct interconnect networks
US20230327976A1