WO2013044469A1 - Deadlock-free adaptive routing algorithm - Google Patents

Deadlock-free adaptive routing algorithm Download PDF

Info

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
Application number
PCT/CN2011/080304
Other languages
French (fr)
Inventor
Dong Xiang
Original Assignee
Dong Xiang
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dong Xiang filed Critical Dong Xiang
Priority to PCT/CN2011/080304 priority Critical patent/WO2013044469A1/en
Publication of WO2013044469A1 publication Critical patent/WO2013044469A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing 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

Claims What is clamed is:
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.
PCT/CN2011/080304 2011-09-28 2011-09-28 Deadlock-free adaptive routing algorithm WO2013044469A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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