Multi-channel high-dimension Torus network architecture and adaptive routing method

By adopting a multi-channel high-dimensional architecture and adaptive routing method in the Torus network, the problem of network diameter difficult to control when integrating a large number of computing nodes is solved, and network scalability and performance are improved.

CN119652803AActive Publication Date: 2025-03-18TSINGHUA UNIVERSITY
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202311189612.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-15
Publication Date
2025-03-18
Estimated Expiration
2043-09-15

AI Technical Summary

Technical Problem

When the existing Torus network integrates a large number of computing nodes, the network diameter is difficult to control at a low level, resulting in large delays in transmission data and insufficient network scalability and performance.

Method used

The multi-channel high-dimensional Torus network architecture and adaptive routing method are adopted, and efficient routing of data packets is achieved by adding demultiplexers, multiplexers, routers and CPUs to the computing unit, and selecting appropriate output channels according to the coordinate relationship of the target node during routing selection.

Benefits of technology

It significantly reduces the network diameter of the Torus network, improves the scalability and performance of the network, and improves the system's data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652803A_ABST
    Figure CN119652803A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-channel high-dimension Torus network architecture and a self-adaptive routing method, and relates to the technical field of distributed computing. A computing unit comprises a plurality of demultiplexers, a plurality of multiplexers, a plurality of routers and a plurality of CPUs (central processing units), one demultiplexer corresponds to one multiplexer, one multiplexer corresponds to one router, one router corresponds to the plurality of CPUs, the demultiplexers, the multiplexers and the routers are sequentially connected, the routers are connected with the plurality of CPUs, and the plurality of CPUs are connected with the computing unit. And the demultiplexer is connected with all the multiplexers in the computing unit to construct a multi-channel high-dimensional Torus network architecture. According to the method, the network diameter of the Torus network can be greatly reduced, the network expandability is greatly improved, and the system performance is obviously improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of distributed computing technology, and in particular to a multi-channel high-dimensional Torus network architecture and an adaptive routing method. Background Art

[0002] Interconnection Networks is a bus technology that breaks through the performance limit due to electrical limitations and becomes a universal solution to the system-level communication problems of modern digital systems. Interconnection networks are an important module that affects the performance and scalability of the entire multi-processor system. How to provide low-latency and high-efficiency communication between processing nodes of the interconnection network based on existing technologies has become a key issue that needs to be solved in the interconnection network.

[0003] The interconnection network mainly consists of three elements: topology, switching mechanism and routing method. High-performance interconnection network is the core technology for building supercomputers. High-performance interconnection mainly develops in two directions: (1) low-degree network (low-order network), where the degree of each computing node (or processor) is low, mainly low-dimensional Torus network (ring network), and (2) high-order network: such as fat tree, dragonfly, dragonfly+, and slingshot networks.

[0004] For example, CrayTitan's Gemini interconnect has a node dimension of 3; the three-dimensional torus architecture has 8 physical channels connecting adjacent nodes in 6 directions and 4 physical channels connecting in two directions, so the Gemini interconnect uses a 48-port switch chip. IBM Blue / Gene L and P have a node degree of 6; IBM Blue / Gene Q uses a 5-dimensional torus interconnect network. Japan's K-Computer mainly uses a 6-dimensional torus network architecture and a deformed dimension-order routing algorithm. The characteristics of a low-degree network are: high throughput per physical channel, but the switch design of each node is simple and the network diameter is high.

[0005] Torus network is an interconnected network with a completely symmetrical topology and many excellent features, such as the same degree of all nodes, simple structure, multiple paths and good scalability, so it is widely used in commercial systems. The performance of the routing method in Torus network still needs to be improved; and the bisection bandwidth is low.

[0006] High-radix networks mainly include fat trees and Dragonfly networks. High-radix networks are characterized by low network diameter (network diameter is generally less than 5), but high switch port count, complex design and relatively low throughput per physical channel. Current technology can support 64-port IB switches with 400G-800G per port.

[0007] At present, if the number of computing nodes to be integrated in the Torus network is too large, for example, if 70,000 or 80,000 computing nodes are to be integrated, the network diameter of the Torus network is generally controlled at 20 to 40. Compared with high-order networks, the network diameter of the Torus network cannot be controlled very low, so data transmission will bring about a large delay. Based on this, how to significantly reduce the network diameter of the Torus network and at the same time significantly improve the network scalability and network performance of the Torus network has become a problem that needs to be solved urgently by those skilled in the art. Summary of the invention

[0008] The purpose of the present invention is to provide a multi-channel high-dimensional Torus network architecture and an adaptive routing method, which can significantly reduce the network diameter of the Torus network, greatly improve the network scalability, and significantly improve the system performance.

[0009] To achieve the above object, the present invention provides the following solutions:

[0010] A multi-channel high-dimensional Torus network architecture, the multi-channel high-dimensional Torus network architecture includes multiple unit dimensions arranged in sequence from low dimension to high dimension; wherein the multiple unit dimensions include k n computing units, k n The node coordinates of the computing units are k0, k1, ..., k n-1 ;k n The number of the computing units is 0, 1, ..., k i -1 are connected in sequence to form a closed loop; k n is a positive integer greater than or equal to 2, i represents the number of dimensions, 0≤i≤n-1;

[0011] The computing unit includes a plurality of demultiplexers, a plurality of multiplexers, a plurality of routers and a plurality of CPUs; wherein one demultiplexer corresponds to one multiplexer, one multiplexer corresponds to one router, one router corresponds to a plurality of CPUs, the demultiplexer, the multiplexer and the router are connected in sequence, the router is connected to a plurality of CPUs, and the demultiplexer is connected to all the multiplexers in the computing unit;

[0012] The multi-unit dimension is used when performing routing selection. The current node coordinate c of the transmitted data packeti and the target node coordinate d i When they are not equal, corresponding to i=0 to n-1:

[0013] If d i -c i >k i / 2 or -k i / 2≤d i -c i <0, the next computing unit is selected as the routing node in the negative direction of the i-th dimension;

[0014] If 0 <d i -c i <k i / 2 or d i -c i <-k i / 2, the next computing unit is selected as the routing node along the positive direction of the i-th dimension;

[0015] The next computing unit satisfies the preset security requirements set by the flow control technology when selecting the routing node; when the flow control technology is a flow control technology for independent management of multi-channel buffers, the preset security requirements are:

[0016] If one of the multiple routers of the next computing unit includes f idle virtual channels and s secure virtual channels, then: if f>1, or f=1 and s≥1, the current data packet is transmitted to the router of the next hop; if f=1 and s=0 and the p*-cube routing algorithm is followed from the current computing unit to the next computing unit, the next computing unit is used as a routing node;

[0017] When the flow control technology is a flow control technology for unified management of multi-channel buffers, the preset safety requirements are:

[0018] If one of the input ports corresponding to the multiple routers of the next hop has at least two idle buffers, or one of the input ports of the multiple routers of the next hop satisfies the requirement of having at least one idle buffer and at least one secure data packet, or one of the multiple input ports has at least one idle buffer and follows the hop steps of the p*-cube routing algorithm, the data packet is pushed to the next hop.

[0019] The present invention also provides the following solution:

[0020] An adaptive routing method, the adaptive routing method is applied to the multi-channel high-dimensional Torus network architecture; the adaptive routing method comprises:

[0021] Step 1: Get the coordinates of the current node and the target node; in the multi-channel n-dimensional Torus network architecture, when routing data packets, the coordinates of the current node are C (c0, c1, ..., c i , ..., c n-1 ), the destination node is one of the multiple routers at the next hop, and the coordinates of the destination node are D (d0, d1, ..., d i , ..., d n-1 );

[0022] Step 2: Determine the relationship between the current node coordinates and the target node coordinates; the relationship includes that the current node coordinates and the target node coordinates are equal, the current node coordinates and the target node coordinates are adjacent, and the current node coordinates and the target node coordinates are not equal; when the relationship is that the current node coordinates and the target node coordinates are not equal, execute step 3;

[0023] Step 3: From dimension i=0 to dimension i=n-1, determine the number of computing nodes in dimension i; the situations include the number of computing nodes in dimension i being 3, the number of computing nodes in dimension i being 4, the number of computing nodes in dimension i being greater than 4, and i=n; when the number of computing nodes in dimension i is 3, execute step 4; when the number of computing nodes in dimension i is 4, execute step 5; when the number of computing nodes in dimension i is greater than 4, execute step 6; when i=n, ​​execute step 7;

[0024] Step 4: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i <0 and |d i -c i |=1,CH=CH∪{ch i -}; CH is the optional output channel set of the data packet, and its initial value is the empty set Φ; when d i -c i <0 and |d i -c i |=2,CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |=1,CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |=2,CH=CH∪{ch i -}; then return to step 3;

[0025] Step 5: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i <0 and |d i -c i |≤2, CH=CH∪{ch i -}; when d i -c i <0 and |d i -c i |>2, CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |≤2, CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |>2, CH=CH∪{ch i -}; then return to step 3;

[0026] Step 6: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i >k i / 2 or -k i / 2≤d i -c i <0, jump step ch from the current node C along the negative direction of the i-th dimension i -Transmit data packet, CH=CH∪{ch i -}; when 0 <d i -c i ≤k i / 2 or d i -c i <-k i / 2, provides the jump step ch of the data packet along the current node C to its i-th dimension in the positive direction i + forward, CH = CH ∪ {ch i +}; then return to step 3;

[0027] Step 7: Adaptively select a channel from the set CH as the final output channel ch.

[0028] According to the specific embodiments provided by the present invention, the present invention discloses the following technical effects:

[0029] The multi-channel high-dimensional Torus network architecture and adaptive routing method disclosed in the present invention construct a multi-channel high-dimensional Torus network architecture by setting a computing unit including multiple demultiplexers, multiple multiplexers, multiple routers and multiple CPUs, wherein one demultiplexer corresponds to one multiplexer, one multiplexer corresponds to one router, one router corresponds to multiple CPUs, the demultiplexers, the multiplexers and the routers are connected in sequence, the routers are connected to multiple CPUs, and the multiplexers are connected to all the multiplexers in the computing unit, thereby constructing a multi-channel high-dimensional Torus network architecture. Compared with the existing high-dimensional Torus network architecture in which the computing unit is composed of only one router connected to one CPU, the multi-channel high-dimensional Torus network architecture constructed by the present invention has a significant (multiple) reduction in network diameter, a significant (multiple) improvement in network scalability, i.e., system scalability, and a significant improvement in system performance, i.e., network performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0031] Figure 1 This is a schematic diagram of the multi-channel high-dimensional Torus network architecture of the present invention;

[0032] Figure 2 It is a schematic diagram of a multi-channel three-node ring;

[0033] Figure 3 It is a schematic diagram of a multi-channel ring;

[0034] Figure 4 This is a schematic diagram of a 3x3x3 torus network;

[0035] Figure 5 This is a performance evaluation diagram for a multi-channel 3x3x3x3x3x3x3x3x5 torus network;

[0036] Figure 6 Figure 2 is an evaluation diagram of the system fault-tolerant routing performance. DETAILED DESCRIPTION

[0037] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0038] The purpose of the present invention is to provide a multi-channel high-dimensional Torus network architecture and an adaptive routing method, which can significantly reduce the network diameter of the Torus network, greatly improve the network scalability, and significantly improve the system performance.

[0039] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0040] The multi-channel high-dimensional Torus network architecture of the present invention is as follows Figure 1 As shown, Figure 1 The structure of the computing unit (computing node) 101 in the multi-channel high-dimensional Torus network architecture includes 4 demultiplexers 105, 4 multiplexers 106, and 4 routers 102. The CPU is not in Figure 1 It is shown in Figure 1 103 represents the X channel, and 104 represents the Y channel. The multi-channel high-dimensional Torus network architecture of the present invention is a 3D Torus network. Due to page limitations, the multi-channel high-dimensional Torus network architecture of the present invention can only be displayed in a 2D diagram (e.g. Figure 1 What is shown is the 4-channel 5x32D torus network structure of the present invention).

[0041] like Figure 1 As shown, the multi-channel high-dimensional Torus network architecture of the present invention includes multiple unit dimensions arranged in sequence from low dimension to high dimension; wherein the multiple unit dimensions include k n computing units 101, k n The node coordinates of the computing units 101 are k0, k1, ..., k n-1 ;k n The computing units 101 are arranged in the order of 0, 1, ..., k i -1 are connected in sequence to form a closed loop; k n is a positive integer greater than or equal to 2, i represents the number of dimensions, 0≤i≤n-1.

[0042] The computing unit 101 includes multiple demultiplexers 105, multiple multiplexers 106, multiple routers 102 and multiple CPUs; wherein, one demultiplexer 105 corresponds to one multiplexer 106, one multiplexer 106 corresponds to one router 102, one router 102 corresponds to multiple CPUs, the demultiplexers 105, the multiplexers 106 and the routers 102 are connected in sequence, the routers 102 are connected to multiple CPUs, and the demultiplexers 105 are connected to all the multiplexers 106 in the computing unit 101.

[0043] When multi-unit dimensions are used for routing selection, the current node coordinates c of the transmitted data packet i and the target node coordinate d i When they are not equal, corresponding to i=0 to n-1:

[0044] If d i -c i >k i / 2 or -k i / 2≤d i -c i <0, the next computing unit 101 is selected as the routing node in the negative direction of the i-th dimension.

[0045] If 0 <d i -c i <k i / 2 or d i -c i <-k i / 2, the next computing unit 101 is selected as the routing node along the positive direction of the i-th dimension.

[0046] The next computing unit 101 satisfies the preset security requirements set by the flow control technology when selecting the routing node; when the flow control technology is a flow control technology for independent management of multi-channel buffers, the preset security requirements are:

[0047] If one of the multiple routers 102 of the next computing unit 101 includes f idle virtual channels and s secure virtual channels, then: if f>1, or f=1 and s≥1, the current data packet is transmitted to the router 102 of the next hop; if f=1 and s=0 and the p*-cube routing algorithm is followed from the current computing unit 101 to the next computing unit 101, the next computing unit 101 serves as a routing node.

[0048] When the flow control technology is a flow control technology that uniformly manages multiple channel buffers, the preset safety requirements are:

[0049] If one of the input ports corresponding to the multiple routers 102 of the next hop has at least two idle buffers, or one of the input ports of the multiple routers 102 of the next hop satisfies the requirement of having at least one idle buffer and at least one secure data packet, or one of the multiple input ports has at least one idle buffer and follows the hop steps of the p*-cube routing algorithm, the data packet is pushed to the next hop.

[0050] Specifically, the dimension of the multi-channel high-dimensional Torus network architecture is greater than or equal to 2.

[0051] Based on the multi-channel high-dimensional Torus network architecture, the present invention also provides an adaptive routing method, which is a fully adaptive routing algorithm. The adaptive routing method is applied to the multi-channel high-dimensional Torus network architecture, and the adaptive routing method includes the following steps:

[0052] Step 1: Get the coordinates of the current node and the target node; in the multi-channel n-dimensional Torus network architecture, when routing data packets, the coordinates of the current node are C (c0, c1, ..., c i , ..., c n-1 ), the destination node is one of the multiple routers at the next hop, and the coordinates of the destination node are D (d0, d1, ..., d i , ..., d n-1 ).

[0053] Step 2: Determine the relationship between the current node coordinates and the target node coordinates; the relationship includes that the current node coordinates and the target node coordinates are equal, the current node coordinates and the target node coordinates are adjacent, and the current node coordinates and the target node coordinates are not equal; when the relationship is that the current node coordinates and the target node coordinates are not equal, execute step 3.

[0054] Step three: From dimension i=0 to dimension i=n-1, determine the number of computing nodes in dimension i; the situations include the number of computing nodes in dimension i is 3, the number of computing nodes in dimension i is 4, the number of computing nodes in dimension i is greater than 4, and i=n; when the number of computing nodes in dimension i is 3, execute step four; when the number of computing nodes in dimension i is 4, execute step five; when the number of computing nodes in dimension i is greater than 4, execute step six; when i=n, ​​execute step seven.

[0055] Step 4: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i <0 and |d i -c i |=1,CH=CH∪{ch i -}; CH is the optional output channel set of the data packet, and its initial value is the empty set Φ; when d i -c i <0 and |d i -c i |=2,CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |=1,CH=CH∪{ch i +}; when d i -c i>0 and |d i -c i |=2,CH=CH∪{ch i -}; then return to step 3.

[0056] Step 5: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i <0 and |d i -c i |≤2, CH=CH∪{ch i -}; when d i -c i <0 and |d i -c i |>2, CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |≤2, CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |>2, CH=CH∪{ch i -}; then return to step 3.

[0057] Step 6: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i >k i / 2 or -k i / 2≤d i -c i <0, jump step ch from the current node C along the negative direction of the i-th dimension i -Transmit data packet, CH=CH∪{ch i -}; when 0 <d i -c i ≤k i / 2 or d i -c i <-k i / 2, provides the jump step ch of the data packet along the current node C to its i-th dimension in the positive direction i + forward, CH = CH ∪ {ch i +}; then return to step 3.

[0058] Step 7: Adaptively select a channel from the set CH as the final output channel ch.

[0059] Among them, step seven specifically includes: when the flow control technology is a flow control technology for independent management of multi-channel buffers, adaptively selecting a channel from the set CH that meets the return flow control condition of the flow control technology for independent management of multi-channel buffers as the output channel ch for the final transmission of the data packet. Step seven also includes: when the flow control technology is a flow control technology for unified management of multi-channel buffers, adaptively selecting a channel from the set CH that meets the return flow control condition of the flow control technology for unified management of multi-channel buffers as the output channel ch for the final transmission of the data packet.

[0060] Specifically, the adaptive routing method further includes:

[0061] Provide the shortest path for data packets to reach the destination node.

[0062] Providing the shortest path for a data packet to reach a destination node specifically includes:

[0063] Step S1: define secure data packets and non-secure data packets; when the next hop of the data packet is through a surround channel inside a unit dimension, the number of computing nodes placed in the dimension is greater than 4, and the dimension where the surround channel is located is the lowest dimension in the surround channel that the data packet needs to pass through from the current node to the destination node, for the node on the next hop, the data packet is a secure data packet; when the data packet no longer needs to pass through any surround channel with a number of computing nodes greater than 4 placed in any dimension to reach the destination node from the current node, and the next hop of the data packet follows the p*-cube routing algorithm, for the node on the next hop, the data packet is a secure data packet; otherwise, the data packet is a non-secure data packet; otherwise, the data packet is a non-secure data packet.

[0064] Step S2: Under the virtual direct switching technology, the input port of any node router contains two buffers, each buffer stores at least one data packet completely, and the two buffers are not classified; let f represent the number of idle virtual channels in the input port, and s represent the number of secure virtual channel resources in the input port; the states of the buffer include idle, secure, and non-secure, and an idle virtual channel indicates that no data packet is stored in the buffer; a secure virtual channel indicates that the buffer stores a secure data packet, or the buffer resource originally stores a non-secure data packet, and the non-secure data packet has applied for the buffer resource on the next hop node; an non-secure virtual channel indicates that the buffer stores a non-secure data packet, and the non-secure data packet has not yet applied for the buffer resource on the next hop node.

[0065] Step S3: Based on the buffer status information provided in step S2, assume that the next-hop router node has f idle virtual channels and s secure virtual channels, and has the following flow control mechanism: when f>1, the data packet advances to the next node; when f=1 and s≥1, the data packet advances to the next node; when f=1 and s=0, if the p*-cube method is followed from the current node to the next node, the data packet advances to the next node; in other cases, the data packet cannot advance to the next node.

[0066] At the target node d i and the current node c i When there is only one hop difference, the p*-cube routing algorithm is used, which includes:

[0067] Set the current node (c0, c1, ..., c i , ..., c n-1 ) and the target node (d0, d1, ..., d i , ..., d n-1 ) are divided into two subsets U1 and U2, and initially U1 and U2 are set to the empty set Φ; among them, U1 is the dimension of positive push, and U2 is the dimension of negative push.

[0068] For all dimensions i = 0 to i = n-1, when c i ≠d i , and the next jump in dimension is ch i +, then U1←U1∪{d i}; Otherwise, the next jump in dimension is ch i -, U2←U2∪{d i}.

[0069] From the coordinates of the current node (c0, c1, ..., c i , ..., c n-1 ) to the coordinates of the destination node (d0, d1, ..., d i , ..., d n-1 ) first adaptively crosses all dimensions in U2. When all dimensions in U2 are completed, the dimensions in U1 are adaptively selected to transmit the data packet.

[0070] The multi-channel high-dimensional torus network architecture and adaptive routing method provided by the present invention effectively reduce the network diameter and improve the network's bisection bandwidth and data transmission efficiency, which is conducive to improving network performance. The following is a specific embodiment to illustrate the technical solution of the new multi-channel high-dimensional torus network architecture and adaptive routing method of the present invention:

[0071] The present invention provides a multi-channel Torus network architecture and an adaptive routing method, which is a high-dimensional multi-channel Torus network architecture and a fully adaptive routing method. The high-dimensional multi-channel Torus network architecture (multi-channel high-dimensional Torus network architecture) of the present invention adopts that each node is composed of multiple routers, and each router can be connected to multiple CPUs. Although it is a low-order network, the diameter of the network can be reduced to a very low level.

[0072] The high-dimensional Torus network architecture provided by the present invention includes multi-unit dimensions arranged in sequence from low dimension to high dimension, and each multi-unit dimension i (0≤i≤n-1) is configured with k i computing units, that is, each computing unit (computing node) contains multiple routers, each router is configured with multiple CPUs, and there are multiple physical channels connecting every two adjacent nodes (computing nodes) of the same dimension; when the number of physical channels between two adjacent nodes and the number of CPUs configured in each router are both set to one, the multi-channel high-dimensional torus network becomes a traditional high-dimensional torus network.

[0073] The high-dimensional multi-channel Torus network architecture of the present invention can be described as follows: a multi-channel high-dimensional torus network includes: multi-unit dimensions arranged in sequence from low dimension to high dimension; the i-th dimension of the multi-unit dimensional torus network includes k i computing units, k i The node coordinates of the computational units are k0, k1,…, k i -1. k i The number of computing units is 0, 1, ..., k i -1 are connected in sequence to form a closed loop; k i is a positive integer greater than or equal to 2, i represents the number of dimensions; when multiple unit dimensions are performing routing selection, when the current node coordinates of the transmitted data packet are not equal to the target node coordinates, i = 0 to n-1 corresponds: if d i -c i >k i / 2 or -k i / 2≤d i -c i <0, the next computing unit is selected as the routing node in the negative direction of the i-th dimension; if 0 <d i -c i <k i / 2 or d i -c i <-k i / 2, the next computing unit is selected as the routing node along the positive direction of the i-th dimension, which improves the efficiency of the routing method in the Torus network and increases the equally divided bandwidth. icomputing units (i=0,1,…,n-1), k i The node coordinates of the computational units are 0, 1, ..., k i -1. The dimension of the high-dimensional Torus network architecture is ≥ 2.

[0074] When the computing unit in the multi-channel high-dimensional Torus network architecture includes 4 demultiplexers, 4 multiplexers, and 4 routers, every two adjacent computing nodes are connected by four different physical channels, each node contains 4 different routers, and each different router of the same node can be configured with two different CPUs. The number of physical channels with different steps in the same hop and the number of CPUs connected to the same router can be variable according to different network configurations. Any output port of each router is connected to a demultiplexer, and the output end of the demultiplexer can be connected to the four routers of the next hop in that direction. Figure 1 Only the demultiplexer from left to right of the node ring is drawn, and the same is true from right to left. Figure 3 The structure similar to that in part (b) is a unidirectional ring with 5 computing nodes. Each data packet transmission can have four different routing options for the next hop in the same direction, which greatly improves the flexibility of routing and increases the scalability of the system.

[0075] The present invention can improve system performance and solve the problems of low efficiency and low bandwidth in the routing method in the Torus network in the prior art. Specifically, the present invention also provides the following fully adaptive routing technology solution. A fully adaptive routing algorithm is proposed for the multi-channel high-dimensional Torus network architecture proposed in the present invention. The adaptive routing method includes:

[0076] You can plan and manage the buffers of multiple input ports of the next hop in a unified manner, or you can make independent judgments based on each router input port and manage the buffers separately. The former will bring more efficient performance, while the latter is relatively simple to control, but the performance is worse. The following introduces the two methods respectively:

[0077] Method 1: Fully adaptive routing algorithm is used to control multiple channel buffers separately.

[0078] Step 1: Get the current node coordinates and the target node coordinates.

[0079] Specifically, in the multi-channel n-dimensional Torus network architecture, when routing a data packet, the coordinates of the current node are C (c0, c1, ..., c i ,…,c n-1 ), the destination node is one of the multiple routers at the next hop, and its coordinates are D(d0,d1,…,d i ,…,dn-1 ).

[0080] Step 2: Determine the current node coordinates and the target node coordinates.

[0081] If the node coordinates C where the data packet is currently located are equal to the destination node coordinates D, the data packet has reached the destination node and the routing is completed.

[0082] If the node coordinate C where the data packet is currently located is not equal to the destination node coordinate D, then go to step three.

[0083] Step 3: From dimension i=0 to dimension i=n-1, determine dimension i.

[0084] If the number of computing nodes of dimension i is 3, proceed to step 4.

[0085] If the number of computing nodes of dimension i is 4, proceed to step 5.

[0086] If the number of computing nodes of dimension i is greater than 4, proceed to step 6.

[0087] If i=n, ​​go to step seven.

[0088] Step 4: Calculate the difference between the current node coordinates and the target node coordinates (this dimension contains 3 calculation nodes).

[0089] If d i -c i <0 and |d i -c i |=1, then CH=CH∪{ch i -}.

[0090] If d i -c i <0 and |d i -c i |=2, then CH=CH∪{ch i +}.

[0091] If d i -c i >0 and |d i -c i |=1, then CH=CH∪{ch i +}.

[0092] If d i -c i >0 and |d i -c i |=2, then CH=CH∪{ch i -}.

[0093] Among them, CH is the optional output channel set of the data packet, and its initial value is the empty set Φ; ch i Indicates the number of channels.

[0094] Go back to step 3 and execute step 3 repeatedly.

[0095] Step 5: Calculate the difference between the current node coordinates and the target node coordinates (the number of calculation nodes in dimension i is 4).

[0096] If d i -c i <0 and |d i -c i |≤2, then CH=CH∪{ch i -}.

[0097] If d i -c i <0 and |d i -c i |>2, then CH=CH∪{ch i +}.

[0098] If d i -c i >0 and |d i -c i |≤2, then CH=CH∪{ch i +}.

[0099] If d i -c i >0 and |d i -c i |>2, then CH=CH∪{ch i -}.

[0100] Go back to step 3 and execute step 3 repeatedly.

[0101] Step 6: Calculate the difference between the current node coordinates and the target node coordinates (the calculation nodes of dimension i are greater than 4).

[0102] If d i -c i >k i / 2 or -k i / 2≤d i -c i <0, from the current point C, you can jump step ch in the negative direction of the i-th dimension i -Transmit data packets (i.e. provide the jump step ch of the data packet along the current point C to the negative direction of its i-th dimension i - forward), CH=CH∪{ch i -}.

[0103] If 0 <d i-c i ≤k i / 2 or d i -c i <-k i / 2, from the current point C, you can jump step ch in the positive direction of the i-th dimension i + Transmit data packet (i.e. provide the jump step ch of the data packet along the current point C to the positive direction of its i-th dimension i + forward), CH=CH∪{ch i +}.

[0104] Go back to step 3 and execute step 3 repeatedly.

[0105] Step 7: p*-cube-route() algorithm for multi-channel high-dimensional torus network.

[0106] Divide the different dimensions of the source node and the target node into two subsets U1 and U2, U1 is the dimension for positive push, and U2 is the dimension for negative push. The p*-cube-route() algorithm first adaptively walks through the dimensions in U2, and then adaptively walks through the dimensions in U1. For a multi-channel high-dimensional torus network, as long as there is an idle channel in the next-hop multi-port, the data packet can be pushed down. The multi-channel buffers are separately controlled. The p*-cube-route() routing algorithm is specifically described as follows:

[0107] 7.1: Get the current node coordinates and target node coordinates.

[0108] Specifically, in the multi-channel n-dimensional Torus network architecture, when routing a data packet, the coordinates of the current node are C (c0, c1, ..., c i ,…,c n-1 ), the destination node is one of the multiple routers at the next hop, and its coordinates are D(d0,d1,…,d i ,…,d n-1 ).

[0109] 7.2: Divide all dimensions into two subsets U1 and U2, for i=0 to n-1 dimensions:

[0110] (a) If c i ≠d i , and the next jump in this dimension is ch i +, then U1←U1∪{d i}.

[0111] (b) Otherwise, if (a) does not hold, the next jump in this dimension is ch i -, U2←U2∪{d i}.

[0112] 7.3: If U2 is not empty, adaptively select a dimension a from U2 to transmit the data packet, U2←U2-{a}; repeat the above operation until U2 is empty; if U2 is empty at the beginning, jump directly to step 4.

[0113] 7.4: If U1 is not empty, adaptively select a dimension b from U1 to transmit the data packet, U1←U1-{b}; repeat the above operation until U1 is empty.

[0114] Step 8: Determine the security of the data packet.

[0115] The p*-cube() routing algorithm in step seven is called to determine whether the data packet is a secure data packet. If the hop follows the p*-cube() routing algorithm, the data packet is a secure data packet at the next hop, otherwise it is an unsafe data packet.

[0116] Step 9: Randomly select a channel from the channels in CH obtained in the above step to transmit the data packet.

[0117] The selected channel must meet the flow control condition flow-control() for independent management of multi-channel buffers.

[0118] The flow control technology flow-control() for independent management of multi-channel buffers is described as follows:

[0119] 9.1: The number of free buffers f and the number of secure packets s on the next hop multiple input ports:

[0120] (a) f is a 2n-tuple, (f0+,f0-,f1+,f1-,…,f i +,f i -,…,f n-1 +,f n-1 -), where f i +、f i - respectively represents the number of free buffers in the l input ports of the neighboring nodes of the current node C in the positive and negative directions of the i-th dimension i +:(f i,0 +,f i,1 +,…,f i,l-1 +) and f i- :(f i,0 +,f i,1 +,…,f i,l-1 +).

[0121] (b) The number of secure packets s is a 2n-tuple: (s0+,s0-,s1+,s1-,...,s i +,s i -,…,sn-1 +,s n-1 -),s i +、s i - respectively represents the number of safe buffer channels s in the input ports of the neighboring nodes of the current node C in the positive direction and negative direction of the i-th dimension i +:(s i,0 +,s i,1 +,…,s i,l-1 +) and s i -:(s i,0 +,s i,1 +,…,s i,l-1 +).

[0122] Among them, c i Indicates the coordinates of the node where the message is currently located in the i-th dimension, d i Represents the coordinates of the message destination node in the i-th dimension.

[0123] 9.2: Determine the specific router and push the data packet in that direction.

[0124] If any of the following conditions are met, the packet can be pushed to the specific router in this direction:

[0125] (a) If one of the input ports corresponding to the next hop of the shortest path in that direction has at least two idle buffers, return true.

[0126] (b) If one of the input ports of the l routers of the next hop of the shortest path in that direction contains at least one idle buffer and at least one secure data packet, return true.

[0127] (c) If one of the l input ports in this direction has at least one idle buffer, and this direction follows the jump step of the benchmark routing algorithm p*-cube routing algorithm, return true.

[0128] (d) In other cases, the data packet cannot be advanced to the next hop node and returns false.

[0129] In summary, the flow-control() function gives four different situations and judgments of the flow control function flow-control(), which can be simply explained as follows: one of the input ports corresponding to the multiple routers of the next hop in this direction contains two idle buffers, or one of the input ports of the multiple routers of the next hop in this direction satisfies at least one idle buffer and at least one secure data packet, or one of the multiple input ports in this direction has at least one idle buffer, and this direction follows the hop step of the benchmark routing algorithm p*-cube routing algorithm. When one of the above three conditions is met, the data packet can be pushed to the next hop. The p*-cube routing algorithm is a partially adaptive routing algorithm, which can smoothly use the flow control function for fully adaptive routing by simply completing the loop line with more than 4 computing node dimensions.

[0130] The following is a description of the second method (the main difference between methods one and two is the flow control conditions in step nine).

[0131] Method 2: Unified planning and management of buffers.

[0132] In the fully adaptive shortest path routing algorithm of the multi-channel high-dimensional Torus network architecture, there are at least two hops between the current node and the target point. The buffers of multiple router input ports of the next hop are uniformly planned and managed, and the flow control conditions are relatively easy to meet. The adaptive routing method of method 2 and the adaptive routing method of method 1 both include steps 1 to 9. Some steps of method 2 and method 1 are the same. Only the steps that distinguish method 2 from method 1 are introduced below.

[0133] The second step of the method 2 is: determining the current node coordinates and the target node coordinates.

[0134] If the node coordinates C where the data packet is currently located are equal to the destination node coordinates D, the data packet has reached the destination node and the routing is completed.

[0135] If the node C where the data packet is currently located is adjacent to the destination node D, the flow control condition uniformly considers the flow control status of multiple router input ports of the next-hop node to transmit the data packet.

[0136] If the node coordinates C where the data packet is currently located are not equal to the destination node coordinates D, and the difference is at least two hops, then go to step three.

[0137] Step 7 of method 2 is: p*-cube-route() algorithm for multi-channel high-dimensional torus network.

[0138] 7.1: Change the current node (c0, c1, ..., c i ,…,cn-1 ) and the target node (d0, d1, …, d i ,…,d n-1 ) The dimensions with different labels are divided into two subsets U1 and U2. Initially, U1 and U2 are set to the empty set Φ.

[0139] 7.2: for i=0 to n-1:

[0140] (a) If c i ≠d i , and the next jump in this dimension is ch i +, then U1←U1∪{d i}.

[0141] (b) Otherwise, if (a) does not hold, the next jump in this dimension is ch i -, U2←U2∪{d i};

[0142] 7.3: From the coordinates of the current node C (c0, c1, ..., c n-1 ) to the destination node coordinate D(d0,d1,…,d n-1 ) data packet, adaptively spans all dimensions in U2, that is, the input port of the next hop in this direction has an idle buffer to push the data packet to the input port of the next hop router.

[0143] 7.4: When all dimensions of U2 are completed, the dimension in U1 is adaptively selected to transmit the data packet, that is, as long as there is an idle buffer in the next-hop input port in this direction, the data packet can be pushed to the input port of the next-hop router.

[0144] Step nine of method two is: randomly select a channel from the channels in CH obtained from steps one to eight, and the input port of the next hop of the channel meets the following flow control conditions, and transmit the data packet along this direction.

[0145] The selected channel must meet the flow control condition flow-control1() of the unified management of multi-channel buffers. That is, a channel that meets the flow control condition returned by flow-control1() is adaptively selected from the set CH as the channel for the final transmission of data packets. The flow control technology flow-control1() of the unified management of multi-channel buffers is described as follows:

[0146] 9.1: The number of free buffers f and the number of secure packets s on the next hop multiple input ports:

[0147] (a) f is a 2n-tuple, (f0+,f0-,f1+,f1-,…,f i +,fi -,…,f n-1 +,f n-1 -), where f i +、f i - respectively represents the number of free buffers in the l input ports of the neighboring nodes of the current node C in the positive and negative directions of the i-th dimension i +:(f i,0 +,f i,1 +,…,f i,l-1 +) and f i- :(f i,0 +,f i,1 +,…,f i,l-1 +).

[0148] (b) The number of secure packets s is a 2n-tuple: (s0+,s0-,s1+,s1-,...,s i +,s i -,…,s n-1 +,s n-1 -),s i +、s i - respectively represents the number of safe buffer channels s in the input ports of the neighboring nodes of the current node C in the positive direction and negative direction of the i-th dimension i +:(s i,0 +,s i,1 +,…,s i,l-1 +) and s i -:(s i,0 +,s i,1 +,…,s i,l-1 +).

[0149] Among them, c i Indicates the coordinates of the node where the message is currently located in the i-th dimension, d i Represents the coordinates of the message destination node in the i-th dimension.

[0150] 9.2: Determine the specific router and push the data packet to that direction. If any of the following conditions is met, the data packet can be pushed to the specific router determined in that direction:

[0151] (a) If the input ports corresponding to the l routers of the next hop of the shortest path in that direction contain at least two idle buffers in total, return true.

[0152] (b) If the input ports of the l routers of the next hop of the shortest path in that direction cumulatively contain at least one idle buffer and at least one secure data packet, return true.

[0153] (c) The l input ports in this direction have at least one idle buffer in total, and this direction follows the jump steps of the benchmark routing algorithm p*-cube routing algorithm, and returns true.

[0154] (d) In other cases, the data packet cannot be advanced to the next hop node and returns false.

[0155] For all directions in the set CH obtained by the above routing algorithm, the buffers of multiple input ports of the next hop are uniformly planned and managed; different from the algorithm route() which requires multiple input ports in the same direction of each next hop to independently meet the flow control conditions, all buffers of multiple input ports of the next hop in the same direction are uniformly managed, so the flow control conditions are much looser.

[0156] According to the adaptive routing algorithms route() and route1(), the data packet arrives at the destination node along the shortest path, specifically including:

[0157] (1) Define secure data packets and non-secure data packets. A data packet is a secure data packet if it meets one of the following conditions:

[0158] If the next hop of the data packet is through a surrounding channel, the number of computing nodes placed in this dimension is greater than 4, and the dimension of the surrounding channel is the lowest dimension in the surrounding channel that the data packet needs to pass through from the current point to the destination node, for the node on the next hop, the data packet is a safe data packet.

[0159] If a data packet no longer needs to pass through any dimension to reach the destination node from the current node, the number of computing nodes placed in this dimension is greater than 4 surround channels, and the next hop of the data packet follows the p*-cube method, then for the node on the next hop, the data packet is a safe data packet.

[0160] Otherwise, the data packet is a non-secure data packet.

[0161] (2) Under the virtual cut-through VCT switching technology, the input port of any node router contains two buffers, each buffer stores at least one data packet completely, and the two buffers are not classified.

[0162] Let f represent the number of idle virtual channels in the input port, and s represent the number of secure virtual channel resources in the input port; the states of the buffer include idle, secure, and non-secure. An idle virtual channel indicates that no data packet is stored in the buffer; a secure virtual channel indicates that the buffer stores secure data packets, or that the buffer resources originally store non-secure data packets, and the non-secure data packets have applied for buffer resources on the next-hop node, so the data packet changes from non-secure to secure, and thus the data packet state definition is based on dynamic data packet state information; an non-secure virtual channel indicates that the buffer stores non-secure data packets, and the non-secure data packets have not yet reserved buffer resources on the next-hop node.

[0163] As a comparison, the p*-cube-route1() routing algorithm for a single-channel high-dimensional torus network is described as follows: Divide the different dimensions of the source node and the target node into two subsets U1 and U2, U1 is the dimension for positive push, and U2 is the dimension for negative push. The p*-cube routing algorithm first adaptively walks through the dimensions in U2, and then adaptively walks through the dimensions of U1. For a multi-channel high-dimensional torus network, as long as there is an idle channel in the corresponding port of the next hop, the data packet can be pushed down. For a multi-channel high-dimensional torus network, the probability that p*-cube-route() can be executed is much higher. In other words, a multi-channel high-dimensional torus network can provide many more routing options.

[0164] In a multi-channel high-dimensional torus network, the p*-cube routing algorithm can be directly applied after the data packet is routed through a ring line with a dimension of more than 4 computing nodes, without crossing the ring lines of all dimensions. The routing algorithm is divided into two stages. The first stage: First, the data packet takes at most one hop along the lowest dimension that contains at least 5 computing nodes and needs to cross the ring line, and repeats this operation until all the ring lines of such dimensions are completed. Routing enters the second stage, and the p*-cube routing algorithm is directly applied as the basic routing algorithm and the new flow control technology to achieve fully adaptive deadlock-free routing. The first stage does not transmit data packets along a unique path. This stage can also achieve fully adaptive routing, but the flow control conditions are relatively high. For the dimension containing 5 computing nodes, the hop step in the first stage is at most one hop. For the multi-channel high-dimensional torus network used in the present invention, at most one such dimension is used, that is, the number of hops in the first stage is at most one hop. Therefore, the routing algorithm will soon enter the second stage. For example, for a 4-channel 8-dimensional torus network 3x3x3x3x3x3x3x3x5, each router is configured with 2 CPUs, 87480 CPUs can be integrated and the network diameter is 9.

[0165] Figure 2 as well as Figure 3A schematic diagram of a 3-node and 5-node ring network architecture provided by an embodiment of the present invention is shown. Figure 2 and Figure 3 Each dotted box in the figure represents a computing node, 107 represents a terminal, Figure 2 Part (a) represents a 3-node right-hand ring. Figure 2 Part (b) represents a 3-node left-directed ring. Figure 3 Part (a) represents a 5-node left-hand ring. Figure 3 Part (b) shows a 5-node right-hand ring. The router directly fans out to a 4-output demultiplexer, and the 4 demultiplexers directly fan out to 4 different multiplexers. The output of each multiplexer directly drives the next computing node. Figure 2 As shown in , each node is configured with 4 routers, and each router is configured with two CPUs. These two numbers can be changed according to the specific situation. Figure 3 The high-dimensional Torus network architecture of the present invention is given as a 5-node ring. Figure 4 A 3x3x3 torus network is shown.

[0166] In the multi-channel high-dimensional torus network of the present invention, i represents the number of dimensions, each computing node contains l (l ≥ 1) routers, each router is configured with l' (l' ≥ 1) CPUs; there are l between any two adjacent computing nodes in the i-th dimension. i The physical channels are connected, and the number of physical channels connected between adjacent nodes in different dimensions and directions can be different. In the multi-channel high-dimensional torus network of the present invention, for any direction, there are multiple different physical channels connecting every two adjacent nodes, each node contains multiple different routers, the number of routers of the same node is the same as the number of physical channels between two adjacent nodes, and each different router of the same node is configured with multiple different CPUs. The multi-channel high-dimensional torus network of the present invention has a variable number of physical channels with different hops and the number of CPUs connected on the same router according to different network configurations. Any output port of each router is connected to a demultiplexer and a multiplexer, and the output end of the demultiplexer is connected to multiple routers of the next hop in the direction through a multiplexer. Specifically, in the multi-channel high-dimensional torus network, the number of computing nodes contained in each dimension can be mainly set to 3, or 5, or 4; such a setting is conducive to the execution of the routing algorithm.

[0167] In the embodiment of the present invention, according to the calculation unit 0→the calculation unit 1→...→the calculation unit k n-1 is connected sequentially. As a specific implementation method, the multi-channel high-dimensional Torus network architecture of the present invention includes: N three-unit dimensions arranged in sequence from low dimension to high dimension, wherein N is a positive integer greater than or equal to 0; the three-unit dimension includes three computing units, and the node coordinates of the three computing units are 0, 1, and 2 respectively; the three computing units are connected sequentially from 0→1→2 to form a closed loop. The present invention tends to arrange 3 computing units instead of 2 in one dimension, mainly because the former can integrate more computing units. Similarly, the present invention tends to set 5 units instead of 4 units in one dimension because there are at most two hops but the former integrates more computing units. The above discussion does not take into account the factor of encapsulation. In fact, setting four computing units in the same dimension does not require the completion of the loop line to transmit data packets based on flow control technology, which is very important for the implementation of the routing algorithm.

[0168] Among them, the multi-channel high-dimensional Torus network architecture needs to perform routing selection when transmitting data packets, and the equal-division bandwidth is an important parameter to measure the quality of a network. If the number of computing nodes arranged in different dimensions is different, the equal-division bandwidth of the same network along different dimensions will be different; specifically, if the transmission is along the dimension where more computing nodes are placed, the equal-division bandwidth will be smaller; if the transmission is evenly distributed along the dimension where fewer computing nodes are placed, the equal-division bandwidth will be larger.

[0169] The routing method determines the path that each message or packet data packet takes in the network, and sends the data packet to the destination node correctly. Usually, the message or packet always provides the same path between any pair of nodes, regardless of the network status. The method is simple, but the path is usually not the optimal path. For the 3-unit dimension, in order to improve the equally divided bandwidth, the shortest path should be selected for data packet transmission. Specifically, when the 3-unit dimension is performing routing selection, and the current node coordinate c of the transmitted data packet is i and the target node coordinate d i When they are not equal, that is, the data packet is not transmitted to the target node, there are the following situations:

[0170] If d i -c i =-1, the data packet is transmitted along the negative direction of this dimension, that is, the next computing unit is selected as the routing node in the opposite direction of the first direction.

[0171] Among them, when d i -c i = 1 scenario includes two combinations: combination (1) d i = 0 and c i =1, or combination (2)d i =1 and c i =2. For combination (1) d i = 0 and ci =1, the transmission direction of the data packet is 1→0, the shortest path should be transmitted in the negative direction of the first direction, and the next computing unit is selected as the routing node. i =1 and c i =2, at this time, the transmission direction of the data packet is 2→1, the shortest path should be transmitted in the opposite direction of the first direction, and the next computing unit is selected as the routing node.

[0172] d i -c i = 2 includes a combination, namely, combination (3)d i =2 and c i =0, at this time, the transmission direction of the data packet is 0→2, the shortest path should be transmitted in the negative direction of the first direction, and the next computing unit is selected as the routing node.

[0173] If d i -c i =1 or d i -c i = -2, the next computing unit is selected as the routing node in the first direction. i -c i = 1 scenario includes two combinations (4)d i =1 and c i = 0, or combination (5) d i =2 and c i =1; combination (4) d i =1 and c i =0, the transmission direction of the data packet is 0→1, and the shortest path should be transmitted in the positive direction of this dimension. The next computing unit is selected as the routing node. Combination (5) is similar to combination (4), and the data packet is transmitted along the positive direction of this dimension.

[0174] d i -c i = -2 scenarios include combination (6)d i = 0 and c i=2, at this time the transmission direction of the data packet is 2→0, and the shortest path for data packet transmission should be in the positive direction of this dimension. As a specific implementation method, the high-dimensional Torus network architecture may include 3 unit dimensions, 3 unit dimensions contain 3 nodes, and each computing unit adopts a fully adaptive routing method when performing routing selection; the optimal path is selected based on the shortest path principle, and the number of computing units in the current network is considered. By changing the transmission direction, the shortest path is selected. The high-dimensional torus network designed by the present invention can effectively improve the network's equal-division bandwidth and data transmission efficiency, which is conducive to improving network performance. The high-dimensional Torus network architecture and adaptive routing method provided by the embodiments of the present invention can improve system performance and solve the shortcomings of low efficiency, low equal-division bandwidth and high diameter in the routing methods in the Torus network in the prior art.

[0175] When selecting a route in the 4-unit dimension, the following adaptive routing method is performed: if the current node coordinate c of the transmitted data packet is i and the target node coordinate d i If they are not equal, then:

[0176] (1) If d i -c i <0 and |d i -c i |≤2 or d i -c i =3, select the negative direction of this dimension and select the next computing unit to transmit the data packet. i -c i <0 and |d i -c i |≤2, that is, along the first direction, c i In d i In front of, possible combinations include: d i = 0 and c i =1;d i = 0 and c i =2;d i =1 and c i =2;d i =1 and c i =3;d i =2 and c i =3;d i =2 and c i =4;d i =3 and c i =4; in the above cases, c i You should return to d i point, that is, select the next computing unit as the routing node in the negative direction of this dimension. i -c i=3, including d i =3 and c i =0, then the next computing unit should be selected as the routing node in the opposite direction of the first direction.

[0177] (2) If d i -c i = 1 or 2, the positive direction of this dimension is selected as the next computing unit as the routing node. i -c i = 1 or 2, that is, the data packet is transmitted along the positive direction of this dimension; d i -c i =1, possible combinations include: d i =1 and c i =0,d i =2 and c i =1,d i =3 and c i =2;d i -c i =2 possible combinations include: d i =2 and c i =0,d i =3 and c i =1, in the above cases, this dimension selects the positive direction to transmit the data packet to the next computing unit.

[0178] In the above embodiment of the present invention, when performing routing selection in the multi-unit dimension, the following fully adaptive routing method is performed: the current node coordinate c of the transmitted data packet i and the target node coordinate d i When they are not equal, corresponding to i=0 to n-1:

[0179] (1) If d i -c i >k i / 2 or -k i / 2≤d i -c i <0, the next computing unit is selected as the routing node in the negative direction of the i-th dimension. i -c i >k i / 2, that is, in the positive direction, d i In c i In front of the node, and the number of nodes whose distance between them in the positive direction is greater than k i / 2, then the number of nodes in the opposite direction between the two is less than k i / 2, so transmitting data packets in the reverse direction is the shortest path; -k i / 2≤d i -c iWhen <0, the data packet should be transmitted in the negative direction.

[0180] (2) If 0 <d i -c i <k i / 2 or d i -c i <-k i / 2, then the next computing unit is selected as the routing node along the positive direction of the i-th dimension. i -c i <k i / 2, that is, in the positive direction, d i In c i In front of the node, and the number of nodes whose distance between them in the positive direction is less than k i / 2, then the number of nodes in the opposite direction between the two is greater than k i / 2, so transmitting data packets in the positive direction is the shortest path; d i -c i <-k i / 2, the data packet should be transmitted along the negative direction of this dimension.

[0181] Among them, the next computing unit meets the buffer requirements set by the flow control technology when selecting the routing node. Specifically, the preset security requirements are:

[0182] If the next node includes f idle virtual channels and s secure virtual channels, then: if f>1, or f=1 and s≥1, or f=1 and s=0 and the p*-cube routing algorithm jumps from the current computing unit to the next computing node, the data packet can be transmitted to the next hop. Regarding the preset security requirements, first define secure data packets and non-secure data packets. If a data packet meets one of the following conditions, it is a secure data packet:

[0183] (1) If the next hop of a data packet is through a surround channel within a unit dimension, the number of computing units placed in this dimension is greater than 4, and the dimension where the surround channel is located is the lowest dimension in the surround channel that the data packet needs to pass through from the current node to the destination node, for the node on the next hop, the data packet is a safe data packet.

[0184] (2) If a data packet no longer needs to pass through a surround channel with a number of computing nodes greater than 4 dimensions to reach the destination node from the current node, and the next hop of the data packet follows a deadlock-free adaptive routing method in a high-dimensional torus network, such as the p*-cube routing method, then for the node on the next hop, the data packet is a safe data packet.

[0185] If the data packet does not meet the above two conditions, then the data packet is a non-secure data packet. In addition, regarding virtual channels, under the virtual-cutthrough (VCT) switching technology, the input port of any node router contains two virtual channels, each virtual channel contains a buffer, each buffer can completely store a data packet, and the two buffers are not classified. Let f represent the number of idle virtual channels in the input port, and s represent the number of secure virtual channel resources in the input port. The buffer can be divided into three states: idle, secure, and non-secure. An idle virtual channel means that no data packet is stored in the buffer. If the number of idle virtual channels is greater than 1, the next computing unit can be used as a routing node.

[0186] Specifically, a secure virtual channel indicates that the buffer stores secure data packets, or the buffer resource originally stores non-secure data packets, but the non-secure data packets have applied for buffer resources on the next hop node; an insecure virtual channel indicates that the buffer stores non-secure data packets, and the non-secure data packets have not applied for buffer resources on the next hop node. If the number of idle virtual channels is equal to 1 and the number of secure virtual channels s≥1, the next computing unit can be used as a routing node.

[0187] Regarding the p*-cube routing method, the p*-cube routing method is a partially adaptive routing method for hypercube networks. For the target point (d0, d1, ..., d n-1 ) and the current point (c0,c1,...,c n-1 ) differ by only one hop, the p*-cube routing method can be used.

[0188] Divide the dimensions with different labels between the current node and the target node into two subsets U1 and U2. Initially, U1 and U2 are set to empty sets Φ. For all dimensions i = 0 to i = n-1, if c i ≠d i , and the next jump in this dimension is ch i +, then U1←U1∪{i}; otherwise, the next jump step in this dimension is ch i -, U2←U2∪{d i}.

[0189] The p*-cube routing method is as follows: From (c0, c1, ..., c n-1 ) to (d0,d1,...,d n-1 ) first adaptively crosses all dimensions in U2. When all dimensions in U2 are completed, the dimension in U1 is adaptively selected to transmit the data packet. A fully adaptive routing algorithm for high-dimensional torus network is constructed by taking p*-cube routing algorithm as the benchmark routing strategy and flow control technology based on dynamic data packet status information.

[0190] For the multi-channel high-dimensional torus network proposed by the present invention, any computing node contains 4 different routers, and each router can be configured with more than one CPU. The data packet at the input end of any router can be transmitted to the input end of the next 4 routers. Each node router can only receive at most one data packet at any same time. The flow control logic feeds back the flow control information of the 4 router input ports of the next computing node.

[0191] Two different flow control management methods are adopted: (1) independent management and (2) unified management. When the next computing unit selects a routing node, it can transmit the data packet to the next hop in that direction if the preset security requirements set by the flow control technology are met; the first independent management method is relatively simple and the preset security requirements are: if one of the four routers of the next computing unit includes f idle buffers and s security buffers, then: if f>1, or f=1 and s≥1, the current data packet can be transmitted to the router of the next hop; if f=1 and s=0 and the p*-cube method is followed from the current computing unit to the next computing unit, the next computing unit is used as a routing node.

[0192] For the second unified flow control management method, the buffers of the four routers at the next hop are all managed uniformly. This flow control technology can be simply described as follows: one of the input ports corresponding to the multiple routers at the next hop in this direction contains at least two idle buffers, or one of the input ports of the multiple routers at the next hop in this direction satisfies the requirement of containing at least one idle buffer and at least one secure data packet, or one of the multiple input ports in this direction has at least one idle buffer, and this direction follows the hop steps of the benchmark routing algorithm p*-cube routing algorithm. When one of the above three conditions is met, the data packet can be pushed to the next hop. The p*-cube routing algorithm is a partially adaptive routing algorithm that can be used directly after completing the encircling line with more than 4 computing node dimensions.

[0193] In the above embodiment of the present invention, when the high-dimensional torus network architecture performs routing selection, each computing unit adopts an adaptive routing method when performing routing selection, selects the optimal path based on the shortest path principle, considers the number of computing units in the current network, and selects the shortest path by changing the transmission direction. The designed high-dimensional torus network can effectively improve the network's bisection bandwidth and data transmission efficiency, which is conducive to improving network performance. The embodiment of the present invention solves the problem of low efficiency and low bisection bandwidth in the routing method in the torus network in the prior art.

[0194] Figure 5The performance evaluation of the multi-channel 8-dimensional torus network 3x3x3x3x3x3x3x3x5 torus network is given. Figure 5 Parts (a) and (b) of the figure give the performance evaluation of the network in the uniform communication mode (including average delay and reception rate). Figure 5 Parts (c) and (d) give the performance evaluation (including average delay and reception rate) under the transpose communication mode. Figure 5 Parts (e) and (f) give the performance evaluation (including average delay and reception rate) under the hotspot communication mode. Figure 5 In the formula, p*-cube-2buffer-8injection means that each input port is configured with two buffers, each buffer can store a complete data packet, and each router is set with two insertion ports, that is, two CPUs; p*-cube-3buffer-8injection means that c uses p*-cube as the baseline of the fully adaptive deadlock-free routing algorithm, each input port is configured with 3 buffers, each buffer can store a complete data packet, and each router is configured with two CPUs, that is, two insertion channels; bubble-8injection means that each router input end is configured with 3 buffers, and each router is set with two insertion channels, that is, a bubble routing algorithm configured with two CPUs; p*-cube-2buffer-8injection-sharedbuffer means a new fully adaptive routing algorithm with unified buffer management, and each input end is configured with two buffers; p*-cube-3buffer-8injection-sharedbuffer means a new fully adaptive routing algorithm with unified buffer management, and each input end is configured with three buffers.

[0195] For uniform communication mode, Figure 5 The fully adaptive routing algorithms with 2 and 3 buffers based on p*-cube (p*-cube) as the baseline are given, the algorithm for unified management of the input buffers of 4 routers, that is, the routing algorithm with 2 or 3 buffers placed on each router, and finally the routing algorithm with bubble flow control. Experiments show that the performance of the routing algorithm with unified management of buffers is much higher than that of other routing algorithms. The routing algorithm with separate management of the buffers of the same node router is slightly lower than the bubble flow control technology when it is close to saturation only when one buffer is configured less. The other two communication modes are similar.

[0196] Figure 6The fault-tolerant routing performance of the system is evaluated, specifically the fault-tolerant performance of a 3x3x3x3x3x3x3x3x5 torus network (100 faulty nodes and 100 faulty links). Figure 6 Parts (a) and (b) of the figure give the performance evaluation of the network in the uniform communication mode (including average delay and reception rate). Figure 6 Parts (c) and (d) give the performance evaluation (including average delay and reception rate) under the transpose communication mode. Figure 6 Parts (e) and (f) give the performance evaluation (including average latency and reception rate) in the hotspot communication mode. The system contains 100 faulty nodes and 100 faulty links. There is almost no difference between the fault-tolerant and non-fault-tolerant versions. Both are much better than bubble flow control. Figure 6 Bubble means bubble, bubble-8injection means the performance of the bubble algorithm when three buffers are configured for each input port and two CPUs are configured for each router; p*-cube-2buffer means the performance of the new fully adaptive routing algorithm with two buffers on each input port in a fault-free environment; p*-cube-2buffer-fault-tolerant means the performance evaluation of the new fully adaptive fault-tolerant routing algorithm with two buffers on each input port; p*-cube-3buffer means the performance of the new fully adaptive routing algorithm with three buffers on each input port in a fault-free environment; p*-cube-3buffer-fault-tolerant means the performance evaluation of the new fully adaptive fault-tolerant routing algorithm with three buffers on each input port.

[0197] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0198] The principles and implementation methods of the present invention are described in this article using specific examples. The description of the above embodiments is only used to help understand the method and core idea of ​​the present invention. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A multi-channel high-dimensional Torus network architecture, characterized in that: The multi-channel high-dimensional Torus network architecture includes multiple unit dimensions arranged in sequence from low dimension to high dimension; wherein the multiple unit dimensions include k n computing units, k n The node coordinates of the computing units are k0, k1, ..., k n-1 ;k n The number of the computing units is 0, 1, ..., k i -1 connects sequentially to form a closed loop; k n is a positive integer greater than or equal to 2, i represents the number of dimensions, 0≤i≤n-1; The computing unit includes a plurality of demultiplexers, a plurality of multiplexers, a plurality of routers and a plurality of CPUs; wherein one demultiplexer corresponds to one multiplexer, one multiplexer corresponds to one router, one router corresponds to a plurality of CPUs, the demultiplexer, the multiplexer and the router are connected in sequence, the router is connected to a plurality of CPUs, and the demultiplexer is connected to all the multiplexers in the computing unit; The multi-unit dimension is used when performing routing selection. The current node coordinate c of the transmitted data packet i and the target node coordinate d i When they are not equal, corresponding to i=0 to n-1: If d i -c i >k i / 2 or -k i / 2≤d i -c i <0, the next computing unit is selected as the routing node in the negative direction of the i-th dimension; If 0 <d i -c i <k i / 2 or d i -c i <-k i / 2, the next computing unit is selected as the routing node along the positive direction of the i-th dimension; The next computing unit satisfies the preset security requirements set by the flow control technology when selecting the routing node; when the flow control technology is a flow control technology for independent management of multi-channel buffers, the preset security requirements are: If one of the multiple routers of the next computing unit includes f idle virtual channels and s secure virtual channels, then: if f>1, or f=1 and s≥1, the current data packet is transmitted to the router of the next hop; if f=1 and s=0 and the p*-cube routing algorithm is followed from the current computing unit to the next computing unit, the next computing unit is used as a routing node; When the flow control technology is a flow control technology for unified management of multi-channel buffers, the preset safety requirements are: If one of the input ports corresponding to the multiple routers of the next hop has at least two idle buffers, or one of the input ports of the multiple routers of the next hop satisfies the requirement of having at least one idle buffer and at least one secure data packet, or one of the multiple input ports has at least one idle buffer and follows the hop steps of the p*-cube routing algorithm, the data packet is pushed to the next hop.

2. The multi-channel high-dimensional Torus network architecture according to claim 1, characterized in that: The dimension of the multi-channel high-dimensional Torus network architecture is greater than or equal to 2.

3. An adaptive routing method, characterized in that: The adaptive routing method is applied to the multi-channel high-dimensional Torus network architecture described in any one of claims 1-2; The adaptive routing method comprises: Step 1: Get the coordinates of the current node and the target node; in the multi-channel n-dimensional Torus network architecture, when routing data packets, the coordinates of the current node are C (c0, c1, ..., c i , ..., c n-1 ), the destination node is one of the multiple routers at the next hop, and the coordinates of the destination node are D (d0, d1, ..., d i , ..., d n-1 ); Step 2: Determine the relationship between the current node coordinates and the target node coordinates; the relationship includes that the current node coordinates and the target node coordinates are equal, the current node coordinates and the target node coordinates are adjacent, and the current node coordinates and the target node coordinates are not equal; when the relationship is that the current node coordinates and the target node coordinates are not equal, execute step 3; Step 3: From dimension i=0 to dimension i=n-1, determine the number of computing nodes in dimension i; the situations include the number of computing nodes in dimension i being 3, the number of computing nodes in dimension i being 4, the number of computing nodes in dimension i being greater than 4, and i=n; when the number of computing nodes in dimension i is 3, execute step 4; when the number of computing nodes in dimension i is 4, execute step 5; when the number of computing nodes in dimension i is greater than 4, execute step 6; when i=n, ​​execute step 7; Step 4: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i <0 and |d i -c i |=1,CH=CH∪{ch i -}; CH is the optional output channel set of the data packet, and its initial value is the empty set Φ; when d i -c i <0 and |d i -c i |=2,CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |=1,CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |=2,CH=CH∪{ch i -}; then return to step 3; Step 5: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i <0 and |d i -c i |≤2, CH=CH∪{ch i -}; when d i -c i <0 and |d i -c i |>2, CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |≤2, CH=CH∪{ch i +}; when d i -c i >0 and |d i -c i |>2, CH=CH∪{ch i -}; then return to step 3; Step 6: Determine the optional output channel set of the data packet based on the difference between the coordinates of the current node and the coordinates of the target node; when d i -c i >k i / 2 or -k i / 2≤d i -c i <0, jump step ch from the current node C along the negative direction of the i-th dimension i -Transmit data packet, CH=CH∪{ch i -}; when 0 <d i -c i ≤k i / 2 or d i -c i <-k i / 2, provides the jump step ch of the data packet along the current node C to its i-th dimension in the positive direction i + forward, CH = CH ∪ {ch i +}; then return to step 3; Step 7: Adaptively select a channel from the set CH as the final output channel ch.

4. The adaptive routing method according to claim 3, characterized in that: The step of adaptively selecting a channel from the set CH as the final output channel ch specifically includes: When the flow control technology is a multi-channel buffer independent management flow control technology, a channel satisfying the return flow control condition of the multi-channel buffer independent management flow control technology is adaptively selected from the set CH as the output channel ch for finally transmitting the data packet.

5. The adaptive routing method according to claim 4, characterized in that: The step of adaptively selecting a channel from the set CH as the final output channel ch also includes: When the flow control technology is a flow control technology for unified management of multi-channel buffers, a channel satisfying the return flow control condition of the flow control technology for unified management of multi-channel buffers is adaptively selected from the set CH as the output channel ch for finally transmitting the data packet.

6. The adaptive routing method according to claim 5, characterized in that: The adaptive routing method further comprises: Provide the shortest path for data packets to reach the destination node.

7. The adaptive routing method according to claim 6, characterized in that: Providing the shortest path for the data packet to reach the destination node specifically includes: Step S1: define secure data packets and non-secure data packets; when the next hop of the data packet is a surround channel through a unit dimension, the number of computing nodes placed in the dimension is greater than 4, and the dimension where the surround channel is located is the lowest dimension in the surround channel that the data packet needs to pass through from the current node to the destination node, for the node on the next hop, the data packet is a secure data packet; when the data packet no longer needs to pass through any surround channel with a computing node number greater than 4 placed in any dimension to reach the destination node from the current node, and the next hop of the data packet follows the p*-cube routing algorithm, for the node on the next hop, the data packet is a secure data packet; otherwise, the data packet is a non-secure data packet; otherwise, the data packet is a non-secure data packet; Step S2: Under the virtual direct switching technology, the input port of any node router includes two buffers, each buffer stores at least one data packet completely, and the two buffers are not classified; let f represent the number of idle virtual channels in the input port, and s represent the number of secure virtual channel resources in the input port; the states of the buffer include idle, secure, and non-secure, and an idle virtual channel indicates that no data packet is stored in the buffer; a secure virtual channel indicates that the buffer stores a secure data packet, or the buffer resource originally stores a non-secure data packet, and the non-secure data packet has applied for the buffer resource on the next hop node; an non-secure virtual channel indicates that the buffer stores a non-secure data packet, and the non-secure data packet has not applied for the buffer resource on the next hop node; Step S3: Based on the buffer status information provided in step S2, assume that the next-hop router node has f idle virtual channels and s secure virtual channels, and has the following flow control mechanism: when f>1, the data packet advances to the next node; when f=1 and s≥1, the data packet advances to the next node; when f=1 and s=0, if the p*-cube method is followed from the current node to the next node, the data packet advances to the next node; in other cases, the data packet cannot advance to the next node.

8. The adaptive routing method according to claim 7, characterized in that: At the target node d i and the current node c i When there is only one hop difference, the p*-cube routing algorithm is used, which includes: Set the current node (c0, c1, ..., c i , ..., c n-1 ) and the target node (d0, d1, ..., d i , ..., d n-1 ) are divided into two subsets U1 and U2, and initially U1 and U2 are set to the empty set Φ; where U1 is the dimension of positive push and U2 is the dimension of negative push; For all dimensions i = 0 to i = n-1, when c i ≠d i , and the next jump in the dimension is ch i +, then U1←U1∪{d i }; Otherwise, the next jump in the dimension is ch i -, U2←U2∪{d i }; From the coordinates of the current node (c0, c1, ..., c i , ..., c n-1 ) to the coordinates of the destination node (d0, d1, ..., d i , ..., d n-1 ) first adaptively crosses all dimensions in U2. When all dimensions in U2 are completed, the dimensions in U1 are adaptively selected to transmit the data packet.

Citation Information

Patent Citations

  • Router and interface device suitable for the extending on and among sheets of polycaryon processor

    CN101753388A

  • Flow control of dynamic state driving and Torus network adaptive routing method

    CN104539536A

  • Server design method based on fusion and 2D Torus network topology framework

    CN104579786A

  • Switching system built by switching chip and routing algorithm thereof

    CN107959643A

  • Self-adaptive fault-tolerant routing method and device for high-dimensional Torus network

    CN111953589A