12.07.2015 Views

Fault-tolerant Routing in Metacube - CiteSeerX

Fault-tolerant Routing in Metacube - CiteSeerX

Fault-tolerant Routing in Metacube - CiteSeerX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

To show the k paths for each node pair constructed<strong>in</strong> Case 2 are disjo<strong>in</strong>t, we divide each path <strong>in</strong>to to parts,→ w i, j ) and (w i, j → v i ). S<strong>in</strong>ce the first part of the path<strong>in</strong>cludes a signature (except P q <strong>in</strong> Case 2.1), they shouldbe disjo<strong>in</strong>t follow<strong>in</strong>g the same argument as <strong>in</strong> Case 1 (theargument is true even one of the paths does not carry signature).Moreover, it is also disjo<strong>in</strong>t with the second part(u ( j)iof other paths because of its unique signature. The secondparts of the paths P j , 0 ≤ j ≤ k − 1, conta<strong>in</strong> onlythe cross-edges that are identical to the disjo<strong>in</strong>t class pathsZ j , they are also disjo<strong>in</strong>t. Therefore, the k paths constructedby the algorithm are disjo<strong>in</strong>t. To prove that the hsets of paths (u i → v i ), 0 ≤ i ≤ 2 m − 1 are disjo<strong>in</strong>t also,we argue as follows: First for each u i , consider the paths(u i → u ( j)i→ w i → w ′ i ), where c w ≠ c v and c next(wi ) = c v ,c w ′i≠ c v and c prev(w ′i ) = c v . From the algorithm, we knowthat the h sets of paths (u i → w i ) are disjo<strong>in</strong>t s<strong>in</strong>ce the valueM ui [c u ] is different for every u i ∈ C u and M ui [c u ] is part ofthe cluster_id of every node <strong>in</strong> path (u ( j)i→ w ′ i ). In path(w i → w ′ i ), the value M u i[c v ] is changed to M vi [c v ]. S<strong>in</strong>ceM ui [c u ]⊕M vi [c v ] = M ui [c v ]⊕M vi [c u ], M vi [c v ] takes differentvalues for every u i . That is, node w ′ i is <strong>in</strong> dist<strong>in</strong>ct clustersfor every u i . S<strong>in</strong>ce M vi [c v ] is part of the cluster_id of everynode <strong>in</strong> path (w ′ i → v i), the h sets of paths (w ′ i → v i)are also disjo<strong>in</strong>t. Therefore, we conclude that all paths forconnect<strong>in</strong>g the clusters C u and C v are disjo<strong>in</strong>t for Case 2.From the path construction <strong>in</strong> Case 1, the length of thelongest path (u i → v i ) is |(u i → v i )| = d(u i ,v i ) + 4, whered(u i ,v i ) = H(u i ,v i )+2 k , H(u i ,v i ) is Hamm<strong>in</strong>g distance betweenu i and v i . From the path construction <strong>in</strong> Case 2,the longest length of the paths (u i → v i ) is |(u i → v i )| =d(u i ,v i ) + 4 + max 0≤ j≤k−1 {|Z j |} ≤ d(u i ,v i ) + m + 5. Wesummarize the results <strong>in</strong> the follow<strong>in</strong>g theorem.Theorem 1. Given any two clusters C u and C v <strong>in</strong> MC(k,m),we can f<strong>in</strong>d a multi-channel cube C u ∪C v ∪ E, where E isa set of k2 m disjo<strong>in</strong>t paths connect<strong>in</strong>g C u and C v , k pathsfor each node pair (u i ,v i ), u i ∈ C u , v i ∈ C v , and the lengthof the paths <strong>in</strong> E is at most max(d(u i ,v i )) + m + 5, for i =0,1,...,2 m − 1.5. <strong>Fault</strong>-<strong>tolerant</strong> rout<strong>in</strong>gWith the multi-channel cube structure, the fault-<strong>tolerant</strong>rout<strong>in</strong>g problem can be solved efficiently <strong>in</strong> an MC(k,m) assum<strong>in</strong>gthat there are up to k+m−1 faulty nodes. The fault<strong>tolerant</strong>rout<strong>in</strong>g from source s to dest<strong>in</strong>ation t <strong>in</strong> hypercubehas been solved <strong>in</strong> [4]. The hypercube algorithm is summarizedbelow. First, we partition the n-cube <strong>in</strong>to two (n − 1)-dimensional subcubes along a dimension k such that s andt are <strong>in</strong> the dist<strong>in</strong>ct subcubes. If the subcube conta<strong>in</strong><strong>in</strong>g thas less faulty nodes then we route s to the subcube conta<strong>in</strong><strong>in</strong>gt by a fault-free path of length at most 2: (s → s (k) )or (s → s ( j,k) ) for some j, 0 ≤ j ≤ n − 1, j ≠ k. Then theproblem is reduced to the sub-problem <strong>in</strong> the subcube conta<strong>in</strong><strong>in</strong>gt. Repeat this process at most logn times until thesubcube conta<strong>in</strong>s no faulty node. The path (s → s ( j,k) ) is abad candidate if the jth bit of s is the same as that of t (abad candidate will <strong>in</strong>crease the length of the rout<strong>in</strong>g path).The algorithm guarantees that the bad candidate is used byat most one partition. It was shown <strong>in</strong> [4] that given twononfaulty nodes s and t, and up to n − 1 faulty nodes <strong>in</strong>an n-cube, we can f<strong>in</strong>d a fault-free path of length at mostd(s,t) + 2 <strong>in</strong> O(n) time.Under the conditions k ≤ m and the number of faultynodes <strong>in</strong> C s ∪C t is at most m, we show that an efficient algorithmfor fault-<strong>tolerant</strong> rout<strong>in</strong>g from s to t <strong>in</strong> MC(k,m)can be found. For most of the <strong>in</strong>terest<strong>in</strong>g MC(k,m), we havek ≤ m as <strong>in</strong>dicated <strong>in</strong> the previous sections. Statistically, thecondition that there are at most m faculty nodes <strong>in</strong> the twoclusters is held with very high probability. Assum<strong>in</strong>g uniformdistribution, the probability of at most m fault nodes <strong>in</strong>) (/2 m2 k +kC s ∪C t is m ∑( m+k−1ii=0)( 2 m2 k +k −(m+k−1)2 m+1 −i2 m+1 )≈ 1. For example,the probability is 3186303/3186304 = 0.99999969<strong>in</strong> the case of k = m = 2. An algorithm for fault-<strong>tolerant</strong>rout<strong>in</strong>g under the conditions above <strong>in</strong> an MC(k,m) is givenbelow.Algorithm 3 (<strong>Fault</strong>_Tolerant_<strong>Rout<strong>in</strong>g</strong>(k,m,s,t))beg<strong>in</strong>Case 1: C s = C t . If C s conta<strong>in</strong>s at most m − 1 faulty nodesthen we apply the hypercube algorithm. Otherwise,at least m faulty nodes are <strong>in</strong> C s . We f<strong>in</strong>d k disjo<strong>in</strong>tpaths (s → t) outside the cluster C s as follows: P j =(s : s ( j) : s ( j,k) : s ( j,k, j) → t ( j,k, j) : t ( j,k) : t ( j) : t), 0 ≤j ≤ k − 1, where s ( j,k, j) and t ( j,k, j) are <strong>in</strong> the samecluster ≠ C s . S<strong>in</strong>ce there at most k − 1 faulty nodesoutside the cluster C s , there exists a fault-free path P j .Case 2: C s ≠ C t . We create a multi-channel cube with C sand C t as described <strong>in</strong> the previous subsection. S<strong>in</strong>cethere are at most m fault nodes <strong>in</strong> C s ∪C t , we can f<strong>in</strong>da fault-free path of length at most d(s,t) + 2 <strong>in</strong> O(m)time <strong>in</strong> the (m + 1)-cube formed by C s ∪C t . If the kpaths (u → v) of the multi-channel cube, which correspondto a s<strong>in</strong>gle (m + 1)th dimensional cube-edge,are all faulty, then we mark v as a faulty node. Ifthe number of faulty nodes <strong>in</strong> C s ∪ C t is m, then nomarked faulty node will be created. Otherwise, s<strong>in</strong>cea marked faulty node consumes k faulty nodes outsideclusters C s and C t , the total number of faulty andmarked faulty nodes will be at most m + 1 − 1 = m.Therefore, we can apply the hypercube algorithm,and f<strong>in</strong>d a fault-free path <strong>in</strong> the (m + 1)-cube formedby C s ∪C t . Replac<strong>in</strong>g the (m+1)th dimensional cubeedge(u,v) <strong>in</strong> the fault-free path (s → t) by a fault-free349

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!