WO2013044469A1 - Deadlock-free adaptive routing algorithm - Google Patents
Deadlock-free adaptive routing algorithm Download PDFInfo
- Publication number
- WO2013044469A1 WO2013044469A1 PCT/CN2011/080304 CN2011080304W WO2013044469A1 WO 2013044469 A1 WO2013044469 A1 WO 2013044469A1 CN 2011080304 W CN2011080304 W CN 2011080304W WO 2013044469 A1 WO2013044469 A1 WO 2013044469A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- channel
- fault
- virtual
- packet
- free
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Definitions
- the present invention relates to parallel interconnection networks, more particularly to deadlock-free adaptive routing algorithms in mesh networks with fault-tolerance ability.
- Torus and mesh networks have been widely used in recent experimental or commercial multi-computers. How to control the number of virtual channels required for deadlock-free adaptive routing in meshes/tori is a challenging problem for high-performance multi-computer systems, which is closely related to the amount of buffer and area overhead of a router. This is especially important for on-chip networks.
- Mesh is a topology which has n-dimensional grid structure with k nodes in each dimension.
- every packet is divided into several flow control digits or flits.
- the first flit of a packet (called the header flit) contains the information for routing.
- the packet is pipelined through the network at flit level.
- all flits wait at their local nodes.
- packets can cut through to the next router before the complete packet has been received.
- the main difference between a VCT-switched and wormhole-switched network is that routers need buffer a whole packet when blocking occurs. Therefore, a VCT switched router needs more buffers than a wormhole-switched router.
- a physical channel can be divided into several logical or virtual channels. Each virtual channel operates as if each were using a distinct physical channel operating at part of the speed. Virtual channels were originally introduced to solve the problem of deadlock in networks. Deadlock is a network state where no messages can advance because each message requires a channel occupied by another message.
- a routing algorithm determines the sequence of channels for a packet to traverse from the source to the destination.
- the routing scheme is important to performance of an interconnection network. It is essential to present a more effective routing algorithm for mesh networks.
- Adaptive routing algorithms use information about network traffic and/or channel status to avoid congested or faulty regions of the network. It has the ability to route packets through alternative paths in the presence of contention or faulty components.
- a virtual network is a subset of channels that are used to route packets toward a particular set of destinations.
- the channel sets corresponding to different virtual networks are disjoint.
- each packet is injected into a particular virtual network, where it is routed until it arrives at its destination.
- Virtual networks can be implemented by using disjoint sets of virtual channels for each virtual network and mapping those channels over the same set of physical channels.
- a new deadlock-free adaptive routing algorithm for meshes was proposed for 3D meshes based on a new virtual network partitioning scheme called channel overlapping.
- the channel overlapping virtual network partitioning scheme presents deadlock-free fully adaptive routing for most packets with only two virtual channels. Some special turns and prevented turns are introduced in order to break some potential cyclic channel dependencies generated by the channel overlapping scheme.
- a new fault model was proposed by constructing fault blocks inside separate planes.
- the proposed deadlock-free adaptive routing algorithm was extended to a deadlock-free adaptive fault-tolerant routing algorithm in 3D meshes with the same deadlock avoidance technique. Only two virtual channels are sufficient to support deadlock-free adaptive routing in 3D meshes with arbitrarily shaped faults.
- Fig 1 - Fig 3 illustrate deadlock-free routing using channel overlapping.
- Fig 4 - Fig 6 illustrate deadlock-free adaptive routing algorithm based on channel overlapping in 3D meshes.
- Fig 7 illustrates an example of unsafe 5-ary 3D mesh.
- Fig 8 - Fig 9 illustrate the planar safety information collecting method.
- Fig 10 - Fig 12 illustrate deadlock-free adaptive fault-tolerant routing in 3D meshes.
- Fig.l presents that a 2D mesh can be partitioned into four separate virtual networks x+y+, x+y ⁇ , x ⁇ y+, and x-y- in a traditional way.
- Each virtual network must be assigned separate virtual channels. Messages inserted into the network are partitioned into multiple different classes, where each class falls into a single virtual network.
- the virtual channels are assigned as x+y+ (c x , ⁇ +, c ,i+), x+y- (c x j+, c y ⁇ —), x ⁇ y+ (c x ⁇ -, Cy s 2+), and x—y- (c x,2 ⁇ , c y jr .
- brackets show virtual channel assignments of a virtual network.
- For example, means the first virtual channel along x+ direction.
- a 3D mesh it can be partitioned into eight virtual networks: (1) x+y+z+, (2) x+y+z- (3) x+y-z+, (4) x+y-z- (5) x-y+z+, (6) x-y+z- (7) x-y-z+, and (8) x-y-z—.
- Four virtual channels are required to avoid deadlocks based on the partitioning scheme described earlier.
- Fig.2 presents that the original four virtual networks in the assignment scheme shown in Fig.l, can be merged into two virtual networks, x+y* and x ⁇ y*, where "*" represents both "+” and "-” directions.
- the virtual channel assignment for the merged virtual network x+y* is presented in Fig. 2a.
- the virtual channel assignment for the merged virtual network ⁇ -y* is presented in Fig. 2b.
- No packet uses the virtual channel c x , 2 + and c x , 2 -.
- These virtual channels can be used as adaptive channels to improve performance and adaptivity of the routing algorithm.
- the eight virtual networks can be merged into four different virtual networks: x+y+z* (c x ,i+, c y ,i+, c Zjl ), x+y-z* (c x , 2 +, c y ⁇ ⁇ , c Zjl ), x-y*z+ ( ⁇ 3 ⁇ 4-, Cy, 2 , c z , 2 +), and x ⁇ y*z- (c x , 2 -, Cy, 2 , c Zj2 -).
- the proposed virtual network partitioning scheme is called channel overlapping. It can reduce the number of virtual channels for deadlock-free adaptive routing. Almost all of the previous methods based on network partitioning assign different virtual channels to different virtual networks.
- the proposed channel overlapping scheme makes some of the virtual networks share some common virtual channels, which provides deadlock-free adaptive routing and reduces the number of required virtual channels. Only two virtual channels are sufficient to support deadlock-free adaptive routing and deadlock-free adaptive fault-tolerant routing in 3D meshes.
- Fig.3a presents the cyclic dependencies in x+y+z* and x+y-z*.
- Fig.3b presents acyclic dependencies of the first two virtual networks in xy- and yz-planes.
- Fig.3c presents cyclic dependencies in x-y*z+ and x-y*z ⁇ .
- Fig3.d presents acyclic dependencies in planes xy and yz in the last two virtual networks.
- All cyclic channel dependencies can be removed by the special turns as presented by the dashed arrowed lines in Figs.3a and 3c.
- the way to avoid cyclic dependencies as shown in Fig.3a for packet class 3 is to use c z , 2 + instead of c Zjl + after a turn from a y- channel to a z+ channel, while a turn from a y— channel to a z+ channel for packet class 4 also uses channel c Zj2 - instead of c Zjl -.
- a class 3 packet which occupies a c Zjl +, is prevented turning to a c y - channel, as shown in Fig.3a.
- a class 8 packet is prevented turning to a c y2 ⁇ channel from a c Zj2 - channel, as shown in Fig.3c.
- a packet that falls into the virtual network x+y+z* can be delivered with full adaptivity without any constraint.
- any packet inside virtual network x ⁇ y*z+ can also be delivered with full adaptivity.
- a packet inside virtual networks x+y—z* or x ⁇ y*z ⁇ should be delivered with some constraints as presented in Figs.3a and 3c because some prevented turns are necessary in both virtual networks.
- Three bits can be used in the header flit to indicate the classes of a packet. The extra cost on latency to deliver a packet is trivial.
- Fig.4 presents the deadlock-free adaptive routing algorithm.
- Parameters (x s , y s , z s ) and (xd, yd, z ) represent coordinates of the source and the destination, respectively, where (x s , y s , z s ) can be the coordinate of an intermediate node.
- Fig.5 presents the adaptive deadlock- free procedure for a 3D mesh in the virtual network x+y+z*. As mentioned earlier, no special turn and prevented turn is necessary in the virtual network. Therefore, a packet can be delivered with full adaptivity along all minimum paths.
- x 0j f, y 0j f, and z 0 g represent the offsets along dimension x, y, and z, respectively.
- One of the channels ⁇ 3 ⁇ 4+, ⁇ 3 ⁇ 4 i+, and c Zjl can be selected as the next hop when the offsets along dimensions x, y, and z are all not eliminated.
- One of the channels c y ,i+ and c Zjl can be selected as the next hop when the offset along dimension x has been eliminated.
- one of the channels c Xjl + and c Zjl can be selected as the next hop when the offset along dimension y has been eliminated.
- the special turn includes a packet of class 8, which occupies a y— channel, can only request a c Zjl - channel instead of a c z , 2 _ channel.
- a packet of class 8, which occupies a y— channel, is prevented traversing to a c y r channel, as presented in Fig.3c.
- a packet of class 8 which occupies a c y r channel, requests one of c y r, c x>2 ⁇ , and c z j- when offsets along three dimensions are not eliminated. It requests one of c x ,2 ⁇ and c z , 2 ⁇ when the packet of class 8 occupies a z-channel because of the prevented turn in this case.
- the packet can be delivered along any one of the following channels c x , 2 -, ⁇ 3 ⁇ 4 2 , and c z , 2 along the minimum feasible paths.
- the next hop can be selected similarly when one or two of the offsets along three dimensions have been eliminated.
- a fault block is a set of connected faulty and unsafe nodes.
- a node is unsafe if it has at least two neighbors that is faulty or unsafe.
- Fig.7 presents that only seven faulty nodes make all fault-free nodes in the 5 ⁇ 5 ⁇ 5 mesh unsafe based on the block fault model in a traditional way.
- reliable packet routing can still be conducted inside many sub-meshes in a mesh in many cases although the system is unsafe.
- the above scheme can enable many globally unsafe nodes with respect to the planes.
- a fault-free node can have different states in different planes.
- node (0, 0, 0) in the faulty 5-ary 3D mesh as shown in Fig.7. All fault-free nodes are unsafe in the whole system, but all of them except (0, 0, 0) and (1 , 1 , 0) are enabled in all planes.
- Nodes (0, 0, 0) and (1 , 1 , 0) are locally unsafe in the plane (*, *, 0) because they have two faulty neighbors along different dimensions in the plane.
- planar safety information Planar safety information of a fault-free node in the whole network or any planes is obtained.
- the planar safety information of a fault-free node can be obtained by the procedure given in Fig.8 and 9.
- the planar safety information of a system can be updated now and then when some new faults occur.
- the proposed method can also tolerate dynamic faults.
- a new fault can occur in the process of delivering a packet, where the packet can be stored in multiple nodes.
- the packet must be consumed at one of the routers that keeps one or more data flits.
- a signal must be sent back to the source at the header flit. The packet is sent again after the planar safety information has been updated.
- Fig.10 presents a new deadlock- free adaptive fault-tolerant routing algorithm for meshes.
- a packet is routed from a fault- free source to a fault- free destination.
- the deadlock avoidance scheme is the same as the one presented in Fig.4.
- the deadlock-free adaptive fault-tolerant routing scheme supports misroutes along a dimension with a "*" label for any packet. Any packet inside virtual networks x+y+z* and x ⁇ y*z+ can be provided full adaptivity without any constraints.
- a special turn and a prevented turn for packets delivered inside the virtual networks ⁇ -y+z* and x ⁇ y*z- are required for packet classes 3 and 8, respectively.
- the adaptive deadlock- free fault-tolerant routing scheme is provided for a 3D mesh in the virtual network x ⁇ y*z+.
- (x c , y c , z c ) and (3 ⁇ 4 y d , z ) represent the coordinates of the current node and the destination.
- the routing algorithm selects one of ⁇ 3 ⁇ 4-, Cy, 2 , and c z , 2 + as the next minimum hop when the offsets along three dimensions are not zero, where the function se(a, b, c) selects one of the three channels a, b, and c.
- the proposed algorithm adaptively selects one of the remaining channels along the minimum paths when the offset along one dimension has been eliminated, which routes the packet via the given virtual channel along the minimum path if one or two of the three neighbors along minimum paths are faulty or unsafe.
- the packet can be misrouted along dimension z when only one of the offsets (x o ff and y 0 f) is not zero and the neighbor in a minimum path along that dimension is faulty or unsafe.
- the adaptive deadlock- free fault-tolerant routing scheme is provided for a 3D mesh in the virtual network x+y—z*. Similar to that in the fault- free meshes, there exist some special turns from a z+ channel to a y— channel for a packet of class 3, and prevented turns from a z+ channel to a y— channel for a packet of class 3.
- the packet uses virtual channel c z , 2 + instead of c Zjl + when it turns from a c y , ⁇ — to a z+ channel for a packet of class 3.
- the deadlock- free adaptive fault-tolerant routing algorithm in the virtual network x+y—z* is quite similar to the one in Fig.11.
Abstract
A new deadlock-free routing scheme for meshes is proposed based on a new virtual network partitioning scheme, called channel overlapping. Two virtual networks can share some common virtual channels based on the new virtual network partitioning scheme. The deadlock-free adaptive routing method is then extended to deadlock-free adaptive fault-tolerant routing in 3D meshes still with two virtual channels. A few faulty nodes can make a higher dimensional mesh unsafe for fault-tolerant routing methods based on the block fault model, where the whole system (n-dimensional space) forms a fault block. Planar safety information in meshes is proposed to guide fault-tolerant routing and classifies fault-free nodes inside 2D planes. Many nodes globally marked as unsafe in the whole system become locally enabled inside 2D planes. This fault-tolerant deadlock-free adaptive routing algorithm is also extended to the one in n-dimensional meshes with two virtual channels.
Description
DEADLOCK-FREE ADAPTIVE ROUTING ALGORITHM
Field of the Invention
The present invention relates to parallel interconnection networks, more particularly to deadlock-free adaptive routing algorithms in mesh networks with fault-tolerance ability.
Background of the Invention
Torus and mesh networks have been widely used in recent experimental or commercial multi-computers. How to control the number of virtual channels required for deadlock-free adaptive routing in meshes/tori is a challenging problem for high-performance multi-computer systems, which is closely related to the amount of buffer and area overhead of a router. This is especially important for on-chip networks.
Mesh is a topology which has n-dimensional grid structure with k nodes in each dimension. In wormhole switching, every packet is divided into several flow control digits or flits. The first flit of a packet (called the header flit) contains the information for routing. The packet is pipelined through the network at flit level. When a header flit is blocked during transmission, all flits wait at their local nodes. In VCT switched networks, packets can cut through to the next router before the complete packet has been received. The main difference between a VCT-switched and wormhole-switched network is that routers need buffer a whole packet when blocking occurs. Therefore, a VCT switched router needs more buffers than a wormhole-switched router.
A physical channel can be divided into several logical or virtual channels. Each virtual channel operates as if each were using a distinct physical channel operating at part of the speed. Virtual channels were originally introduced to solve the problem of deadlock in networks. Deadlock is a network state where no messages can advance because each message requires a channel occupied by another message.
A routing algorithm determines the sequence of channels for a packet to traverse from the source to the destination. The routing scheme is important to performance of an interconnection network. It is essential to present a more effective routing algorithm for mesh networks. Adaptive routing algorithms use information about network traffic and/or channel status to avoid congested or faulty regions of the network. It has the ability to route packets through alternative paths in the presence of contention or faulty components.
Several routing algorithms were proposed for meshes and torus. The X-Y routing in a 2D mesh delivers a packet first along dimension X and then along dimension Y, after all hops along dimension X have been eliminated. Turn model was proposed for designing partially adaptive deadlock-free algorithms in a mesh. It prevents the minimum number of turns to avoid cyclic channel dependencies.
A virtual network is a subset of channels that are used to route packets toward a particular set of destinations. The channel sets corresponding to different virtual networks are disjoint. Depending on the destination, each packet is injected into a
particular virtual network, where it is routed until it arrives at its destination. Virtual networks can be implemented by using disjoint sets of virtual channels for each virtual network and mapping those channels over the same set of physical channels.
Summary of the Invention
A new deadlock-free adaptive routing algorithm for meshes was proposed for 3D meshes based on a new virtual network partitioning scheme called channel overlapping. The channel overlapping virtual network partitioning scheme presents deadlock-free fully adaptive routing for most packets with only two virtual channels. Some special turns and prevented turns are introduced in order to break some potential cyclic channel dependencies generated by the channel overlapping scheme. A new fault model was proposed by constructing fault blocks inside separate planes. The proposed deadlock-free adaptive routing algorithm was extended to a deadlock-free adaptive fault-tolerant routing algorithm in 3D meshes with the same deadlock avoidance technique. Only two virtual channels are sufficient to support deadlock-free adaptive routing in 3D meshes with arbitrarily shaped faults.
Brief Description of Figures
Fig 1 - Fig 3 illustrate deadlock-free routing using channel overlapping.
Fig 4 - Fig 6 illustrate deadlock-free adaptive routing algorithm based on channel overlapping in 3D meshes.
Fig 7 illustrates an example of unsafe 5-ary 3D mesh.
Fig 8 - Fig 9 illustrate the planar safety information collecting method.
Fig 10 - Fig 12 illustrate deadlock-free adaptive fault-tolerant routing in 3D meshes.
Detailed Description of Preferred Embodiments
Fig.l presents that a 2D mesh can be partitioned into four separate virtual networks x+y+, x+y~, x~y+, and x-y- in a traditional way. Each virtual network must be assigned separate virtual channels. Messages inserted into the network are partitioned into multiple different classes, where each class falls into a single virtual network. The virtual channels are assigned as x+y+ (cx,\+, c ,i+), x+y- (cxj+, cy^—), x~y+ (cx \-, Cys2+), and x—y- (cx,2~, cyjr . Here, "+" and "-" represents the increasing and decreasing directions, respectively. Labels in the brackets show virtual channel assignments of a virtual network. For example, means the first virtual channel along x+ direction. As for a 3D mesh, it can be partitioned into eight virtual networks: (1) x+y+z+, (2) x+y+z- (3) x+y-z+, (4) x+y-z- (5) x-y+z+, (6) x-y+z- (7) x-y-z+, and (8) x-y-z—. Four virtual channels are required to avoid deadlocks based on the partitioning scheme described earlier.
Fig.2 presents that the original four virtual networks in the assignment scheme shown in Fig.l, can be merged into two virtual networks, x+y* and x~y*, where "*" represents both "+" and "-" directions. The virtual channel assignment for the merged
virtual network x+y* is presented in Fig. 2a. The virtual channel assignment for the merged virtual network χ-y* is presented in Fig. 2b. No packet uses the virtual channel cx,2+ and cx,2-. These virtual channels can be used as adaptive channels to improve performance and adaptivity of the routing algorithm.
As for 3D meshes the eight virtual networks can be merged into four different virtual networks: x+y+z* (cx,i+, cy,i+, cZjl), x+y-z* (cx,2+, cy\~, cZjl), x-y*z+ (<¾-, Cy,2, cz,2+), and x~y*z- (cx,2-, Cy,2, cZj2-). In the first two merged virtual networks x+y+z*, x+y-z*, all z channels share the same virtual channel cZjl; in the last two virtual networks x-y*z+ and x-y*z-, all y channels share the same virtual channels <¾2. Therefore only two virtual channels are used.
The proposed virtual network partitioning scheme is called channel overlapping. It can reduce the number of virtual channels for deadlock-free adaptive routing. Almost all of the previous methods based on network partitioning assign different virtual channels to different virtual networks. The proposed channel overlapping scheme makes some of the virtual networks share some common virtual channels, which provides deadlock-free adaptive routing and reduces the number of required virtual channels. Only two virtual channels are sufficient to support deadlock-free adaptive routing and deadlock-free adaptive fault-tolerant routing in 3D meshes.
As shown in Fig.3, let all packets be classified corresponding to all eight original virtual networks. The labels on the arrowed lines represent the classes of packets. Fig.3a presents the cyclic dependencies in x+y+z* and x+y-z*. Fig.3b presents acyclic dependencies of the first two virtual networks in xy- and yz-planes. Fig.3c presents cyclic dependencies in x-y*z+ and x-y*z~. Fig3.d presents acyclic dependencies in planes xy and yz in the last two virtual networks. All cyclic channel dependencies can be removed by the special turns as presented by the dashed arrowed lines in Figs.3a and 3c. The way to avoid cyclic dependencies as shown in Fig.3a for packet class 3 is to use cz,2+ instead of cZjl+ after a turn from a y- channel to a z+ channel, while a turn from a y— channel to a z+ channel for packet class 4 also uses channel cZj2- instead of cZjl-.We shall show later in this section that only the four special turns are still not enough to avoid all potential cyclic channel dependencies.
Special turns are also necessary to remove the potential cyclic channel dependencies as presented in Fig.3c similarly. As shown in Fig.3c, a turn from a y- channel to a z- channel for packet class 8 uses cZjl- instead of cZj2-, and a turn from a y- channel to a z+ channel for packet class 6 uses virtual channel cZjl+ instead of cz,2+. As for packet classes 5 and 7, no constraint is necessary. Any turn from the first and second virtual network to the last two virtual networks uses only the z channels. It returns to the original virtual network after all consecutive z hops. The situation is similar to all special turns from the last two virtual networks to the first virtual networks. All the above special turns cannot have negative impact on performance.
Two prevented turns are necessary as presented in Fig.3a and 3c. A class 3 packet, which occupies a cZjl+, is prevented turning to a cy - channel, as shown in Fig.3a. A class 8 packet is prevented turning to a cy2 ~ channel from a cZj2- channel, as shown in Fig.3c.
As shown in Fig.3, a packet that falls into the virtual network x+y+z* can be
delivered with full adaptivity without any constraint. Similarly, any packet inside virtual network x~y*z+ can also be delivered with full adaptivity. However, a packet inside virtual networks x+y—z* or x~y*z~ should be delivered with some constraints as presented in Figs.3a and 3c because some prevented turns are necessary in both virtual networks. Three bits can be used in the header flit to indicate the classes of a packet. The extra cost on latency to deliver a packet is trivial.
Fig.4 presents the deadlock-free adaptive routing algorithm. Parameters (xs, ys, zs) and (xd, yd, z ) represent coordinates of the source and the destination, respectively, where (xs, ys, zs) can be the coordinate of an intermediate node. Fig.5 presents the adaptive deadlock- free procedure for a 3D mesh in the virtual network x+y+z*. As mentioned earlier, no special turn and prevented turn is necessary in the virtual network. Therefore, a packet can be delivered with full adaptivity along all minimum paths. As shown in Fig.4, x0jf, y0jf, and z0g represent the offsets along dimension x, y, and z, respectively. One of the channels <¾+, <¾ i+, and cZjl can be selected as the next hop when the offsets along dimensions x, y, and z are all not eliminated. One of the channels cy,i+ and cZjl can be selected as the next hop when the offset along dimension x has been eliminated. One of the channels cXjl+ and cy,i can be selected if zo =0. Similarly, one of the channels cXjl+ and cZjl can be selected as the next hop when the offset along dimension y has been eliminated.
There exist a special turn and a prevented turn when a packet falls into the virtual network x~y*z~. The special turn includes a packet of class 8, which occupies a y— channel, can only request a cZjl- channel instead of a cz,2 _ channel. A packet of class 8, which occupies a y— channel, is prevented traversing to a cy r channel, as presented in Fig.3c.
The details are presented in the routing procedure in the virtual network x~y*z- in Fig.6. A packet of class 8, which occupies a cy r channel, requests one of cy r, cx>2 ~, and czj- when offsets along three dimensions are not eliminated. It requests one of cx,2~ and cz,2 ~ when the packet of class 8 occupies a z-channel because of the prevented turn in this case. In any other cases, the packet can be delivered along any one of the following channels cx,2-, <¾2, and cz,2 along the minimum feasible paths. The next hop can be selected similarly when one or two of the offsets along three dimensions have been eliminated.
A fault block is a set of connected faulty and unsafe nodes. A node is unsafe if it has at least two neighbors that is faulty or unsafe. Fig.7 presents that only seven faulty nodes make all fault-free nodes in the 5χ5χ5 mesh unsafe based on the block fault model in a traditional way. However, reliable packet routing can still be conducted inside many sub-meshes in a mesh in many cases although the system is unsafe. In our method, we would like to consider the safety of each fault-free node inside each plane, which does not consider the effects of any faulty components outside of the plane. The above scheme can enable many globally unsafe nodes with respect to the planes.
A fault-free node can have different states in different planes. We consider the safety of all fault-free nodes inside various 2D sub-meshes (planes). Many nodes become safe inside different planes although they are unsafe in the whole system.
Consider node (0, 0, 0) in the faulty 5-ary 3D mesh, as shown in Fig.7. All fault-free nodes are unsafe in the whole system, but all of them except (0, 0, 0) and (1 , 1 , 0) are enabled in all planes. Nodes (0, 0, 0) and (1 , 1 , 0) are locally unsafe in the plane (*, *, 0) because they have two faulty neighbors along different dimensions in the plane. Faults out of the plane under consideration do not have any influence on the safety of nodes in the plane when the planar fault model is considered. Safety information based on the planar fault model is called planar safety information. Planar safety information of a fault-free node in the whole network or any planes is obtained. The planar safety information of a fault-free node can be obtained by the procedure given in Fig.8 and 9.
The planar safety information of a system can be updated now and then when some new faults occur. The proposed method can also tolerate dynamic faults. A new fault can occur in the process of delivering a packet, where the packet can be stored in multiple nodes. The packet must be consumed at one of the routers that keeps one or more data flits. A signal must be sent back to the source at the header flit. The packet is sent again after the planar safety information has been updated.
Fig.10 presents a new deadlock- free adaptive fault-tolerant routing algorithm for meshes. A packet is routed from a fault- free source to a fault- free destination. The deadlock avoidance scheme is the same as the one presented in Fig.4. The deadlock-free adaptive fault-tolerant routing scheme supports misroutes along a dimension with a "*" label for any packet. Any packet inside virtual networks x+y+z* and x~y*z+ can be provided full adaptivity without any constraints. A special turn and a prevented turn for packets delivered inside the virtual networks χ-y+z* and x~y*z- are required for packet classes 3 and 8, respectively.
As shown in Fig.11 , the adaptive deadlock- free fault-tolerant routing scheme is provided for a 3D mesh in the virtual network x~y*z+. In the procedure as presented in Fig.11 , let (xc, yc, zc) and (¾ yd, z ) represent the coordinates of the current node and the destination. The offsets x0g =xc ~Xd, y0ff =yc ~yd, and z0/f =zc-Zd. The routing algorithm selects one of <¾-, Cy,2, and cz,2+ as the next minimum hop when the offsets along three dimensions are not zero, where the function se(a, b, c) selects one of the three channels a, b, and c. The proposed algorithm adaptively selects one of the remaining channels along the minimum paths when the offset along one dimension has been eliminated, which routes the packet via the given virtual channel along the minimum path if one or two of the three neighbors along minimum paths are faulty or unsafe. The packet can be misrouted along dimension z when only one of the offsets (xoff and y0f) is not zero and the neighbor in a minimum path along that dimension is faulty or unsafe.
As shown in Fig.12, the adaptive deadlock- free fault-tolerant routing scheme is provided for a 3D mesh in the virtual network x+y—z*. Similar to that in the fault- free meshes, there exist some special turns from a z+ channel to a y— channel for a packet of class 3, and prevented turns from a z+ channel to a y— channel for a packet of class 3. The packet uses virtual channel cz,2+ instead of cZjl+ when it turns from a cy,\— to a z+ channel for a packet of class 3. The deadlock- free adaptive fault-tolerant routing algorithm in the virtual network x+y—z* is quite similar to the one in Fig.11.
Claims
1. A virtual network partitioning method with channel overlapping, said method comprising:
The 2D mesh network is divided into two virtual networks: x+y*(cx,i+, Cy,i) and x—y*(cx,i—, cy,2). Labels in the brackets show virtual channel assignments of a virtual network. "+" and "-" represents the increasing and decreasing directions. "*" represents both "+" and "-" directions. Virtual channel cx,2+ and cx,2 ~ can be used as adaptive channels to improve performance and adaptivity of the routing algorithm.
The 3D mesh network can be divided into eight virtual networks: (1) x+y+z+, (2) x+y+z-, (3) x+y~z+, (4) x+y—z-, (5) x~y+z+, (6) χ—y+z—, (7) x-y—z+, and (8) x—y—z—. Each two of them can be merged into one virtual network, which are x+y+z* (<¾+, cy,i+, cz,i), x+y-z* (cx,2+, Cy,i~, cz,i), x~y*z+ (<¾-, cy,2, cz,2+), and x~y*z~ (cx,2- cy,2, Cz,2~)- Only two virtual channels are used in each dimension.
2. A deadlock-free adaptive routing algorithm in meshes based on channel overlapping, said method comprising:
All packets inserted into the 3D mesh can be classified corresponding to all eight original virtual networks. The cyclic channel dependencies can be removed by the special turns. For packet class 3 is to use cz,2+ instead of cZj l+ after a turn from a y— channel to a z+ channel, while a turn from a y— channel to a z+ channel for packet class 4 also uses channel cz,2 ~ instead of cZj l-. A turn from a y— channel to a z— channel for packet class 8 uses cZj l- instead of cz,2 ~, and a turn from a y— channel to a z+ channel for packet class 6 uses virtual channel cZjl+ instead of cz,2+. As for packet classes 5 and 7, no constraint is necessary. Any turn from the first and second virtual network to the last two virtual networks uses only the z channels. It returns to the original virtual network after all consecutive z hops.
Special turns are still not enough to avoid all potential cyclic channel dependencies. Two prevented turns are necessary. A class 3 packet, which occupies a cz,i+, is prevented turning to a cy - channel. A class 8 packet is prevented turning to a Cy,2_ channel from a cz,2 ~ channel.
3. A deadlock- free adaptive routing algorithm with fault-tolerance ability based on channel overlapping, said method comprising:
A fault block is a set of connected faulty and unsafe nodes. A node is unsafe if it has at least two neighbors that is faulty or unsafe. In our method, the safety of each fault-free node inside each plane is considered, while the effects of any faulty components outside of the plane are not. A fault-free node can have different states in different planes. We consider the safety of all fault- free nodes inside various 2D sub-meshes (planes). Safety information based on the planar fault model is called planar safety information. Planar safety information of a fault-free node in the whole network or any planes is obtained, which is updated now and then when some new faults occur. A packet is routed from a fault-free source to a fault-free destination. The deadlock avoidance scheme is the same as the one presented in Claim 2. The deadlock-free adaptive fault-tolerant routing scheme supports misroutes along a dimension with a "*" label for any packet. Any packet inside virtual networks x+y+z* and x~y*z+ can be provided full adaptivity without any constraints. A special turn and a prevented turn for packets delivered inside the virtual networks χ-y+z* and x~y*z- are required for packet classes 3 and 8, respectively.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/080304 WO2013044469A1 (en) | 2011-09-28 | 2011-09-28 | Deadlock-free adaptive routing algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/080304 WO2013044469A1 (en) | 2011-09-28 | 2011-09-28 | Deadlock-free adaptive routing algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013044469A1 true WO2013044469A1 (en) | 2013-04-04 |
Family
ID=47994137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2011/080304 WO2013044469A1 (en) | 2011-09-28 | 2011-09-28 | Deadlock-free adaptive routing algorithm |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013044469A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202241A (en) * | 2014-08-06 | 2014-12-10 | 长春理工大学 | Deflection fault-tolerant routing algorithm for network-on-chip with 2D-Mesh topology structure |
US10374943B2 (en) | 2017-08-16 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Routing packets in dimensional order in multidimensional networks |
US10498631B2 (en) | 2017-08-15 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Routing packets using distance classes |
EP3993354A1 (en) * | 2020-11-01 | 2022-05-04 | Mellanox Technologies, Ltd. | Turn-based deadlock-free routing in a cartesian topology |
US11770326B2 (en) | 2019-08-08 | 2023-09-26 | Mellanox Technologies, Ltd. | Producing deadlock-free routes in lossless cartesian topologies with minimal number of virtual lanes |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056177A (en) * | 2007-06-01 | 2007-10-17 | 清华大学 | Radio mesh re-authentication method based on the WLAN secure standard WAPI |
EP1898307A1 (en) * | 2006-09-07 | 2008-03-12 | Intel Corporation | Method, apparatus and system for isolating a temporary partition on a host |
-
2011
- 2011-09-28 WO PCT/CN2011/080304 patent/WO2013044469A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1898307A1 (en) * | 2006-09-07 | 2008-03-12 | Intel Corporation | Method, apparatus and system for isolating a temporary partition on a host |
CN101056177A (en) * | 2007-06-01 | 2007-10-17 | 清华大学 | Radio mesh re-authentication method based on the WLAN secure standard WAPI |
Non-Patent Citations (1)
Title |
---|
XIANG DONG: "Deadlock-Free Adaptive Routing in Meshes with Fault-Tolerance Ability Based on Channel Overlapping", IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 8, no. 1, 28 February 2011 (2011-02-28), pages 74 - 84 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202241A (en) * | 2014-08-06 | 2014-12-10 | 长春理工大学 | Deflection fault-tolerant routing algorithm for network-on-chip with 2D-Mesh topology structure |
US10498631B2 (en) | 2017-08-15 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Routing packets using distance classes |
US10374943B2 (en) | 2017-08-16 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Routing packets in dimensional order in multidimensional networks |
US11770326B2 (en) | 2019-08-08 | 2023-09-26 | Mellanox Technologies, Ltd. | Producing deadlock-free routes in lossless cartesian topologies with minimal number of virtual lanes |
EP3993354A1 (en) * | 2020-11-01 | 2022-05-04 | Mellanox Technologies, Ltd. | Turn-based deadlock-free routing in a cartesian topology |
US11425027B2 (en) | 2020-11-01 | 2022-08-23 | Mellanox Technologies, Ltd. | Turn-based deadlock-free routing in a Cartesian topology |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Duato | On the design of deadlock-free adaptive routing algorithms for multicomputers: design methodologies | |
US9929938B2 (en) | Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies | |
US9137098B2 (en) | T-Star interconnection network topology | |
Ebrahimi et al. | Fault-tolerant routing algorithm for 3D NoC using hamiltonian path strategy | |
Chien et al. | Planar-adaptive routing: low-cost adaptive networks for multiprocessors | |
EP2589186B1 (en) | Providing a bufferless transport method for multi-dimensional mesh topology | |
US8139492B1 (en) | Local forwarding bias in a multi-chassis router | |
US5689646A (en) | Configuring of networked system to permit replacement of failed modes and selection of alternate paths | |
Chen et al. | Fault-tolerant routing algorithm for meshes without using virtual channels | |
JP4959792B2 (en) | Method for routing virtual links in a frame switched network with a description of guaranteed determinism | |
WO2013044469A1 (en) | Deadlock-free adaptive routing algorithm | |
CN108111410B (en) | Method and device for constructing deadlock-free route in network with Cartesian topology | |
Xiang | Deadlock-free adaptive routing in meshes with fault-tolerance ability based on channel overlapping | |
CN102932250A (en) | Non-deadlock self-adaptation routing method based on fault-tolerant computer network structure | |
Taheri et al. | Advertiser elevator: A fault tolerant routing algorithm for partially connected 3D Network-on-Chips | |
US20230327976A1 (en) | Deadlock-free multipath routing for direct interconnect networks | |
Fukushima et al. | A hardware-oriented fault-tolerant routing algorithm for irregular 2D-mesh network-on-chip without virtual channels | |
Seydim | Wormhole routing in parallel computers | |
Adamu et al. | Review of deterministic routing algorithm for network-on-chip | |
Park et al. | Generic methodologies for deadlock-free routing | |
Theiss et al. | Froots–fault handling in up*/down* routed networks with multiple roots | |
Lee et al. | An efficient deadlock-free multicast routing algorithm for mesh-based networks-on-chip | |
US7532584B2 (en) | Implementation of constraints to ensure deadlock avoidance in networks | |
Chi et al. | Tree-Based Routing for Faulty On-Chip Networks with Mesh Topology | |
Momeni et al. | A low latency routing algorithm for irregular mesh network-on-chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11873304 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11873304 Country of ref document: EP Kind code of ref document: A1 |