paths between any two nodes s and t in an n-star in optimal ... For interconnection networks, fault tolerance is an impor- ... Our approach is significantly dif-.
ON NODE-TO-NODE DISJOINT PATHS IN THE STAR INTERCONNECTION NETWORK Ke Qiu Department of Computer Science Brock University St. Catharines, Ontario, Canada
Selim G. Akl School of Computer Science Queen’s University Kingston, Ontario, Canada
ABSTRACT We study the problem of finding disjoint paths between two nodes in a star interconnection network. Specifically, we show a simple routing algorithm that finds n − 1 disjoint paths between any two nodes s and t in an n-star in optimal O(n2 ) time such that no path has length more than d(s, t) + 4, where d(s, t) is the shortest path length between s and t. This result matches those obtained earlier. However, our approach is different from the early ones, and the disjointness of parallel paths is proven easily by noting that these paths are in different sub-stars. In addition, it also reveals certain interesting properties of star graphs.
a hypercube with O(n!) vertices has a degree and diameter of O(log(n!)) = O(n log n), i.e., logarithmic in the number of vertices. Other attractive properties include their symmetry properties, as well as many desirable fault tolerance characteristics. In addition, the star graph is both vertex symmetric and edge symmetric [2]. Some of the works done on algorithms and properties of the star graphs can be found in [3, 16, 18]. For the problem of finding disjoint paths between two nodes in the star interconnection network of dimension n, since the diameter of a star network of dimension n is O(n) and the degree of the graph is n − 1, any routing algorithm that finds n − 1 or O(n) number of disjoint paths between two nodes has a lower bound of Ω(n2 ). A routing algorithm for finding such disjoint paths with O(n2 ) running time is therefore optimal. Two O(n2 ) routing algorithms exist that finds n − 1 (which is the maximum possible) disjoint paths between two nodes with lengths no more than D(Sn ) + 4 [8, 9], where D(Sn ) is the diameter of the n-dimensional star Sn . In [15], an O(n2 ) routing algorithm finds n − 1 disjoint paths with path lengths no more than D(Sn ) + 1. These results have been subsequently improved. In [7, 13], O(n2 )time algorithms are given that find n − 1 disjoint paths between two nodes s and t in Sn with lengths less than or equal to d(s, t) + 4. Both approaches find the parallel paths by using and analysing the cyclic representations of the permutations. If one is interested in finding optimal disjoint paths between any two nodes in the sense that the longest path length of these paths is minimized, such n − 1 disjoint paths for an n-star can be found in O(n2 log n) time [4]. Note that this routing algorithm is not optimal in view of the Ω(n2 ) lower bound. We show in this paper yet another O(n2 )-time algorithm that finds n − 1 disjoint paths with path lengths no more than d(s, t) + 4. Our approach is significantly different from the previous ones in that the disjoint paths are all located in different (n − 1)-stars and within each substar, a simple routing is used, making the proof of path lengths and disjointness straightforward. Unlike previous algorithms, it does not utilize the cyclic representation of permutations, making it easy to understand. In addition, it also shows some graph theoretical properties of the star graphs.
KEY WORDS interconnection network, star graph, routing algorithm, disjoint paths.
1 Introduction For interconnection networks, fault tolerance is an important factor to consider. In particular, it is desirable to find disjoint paths for parallel communication or in case of faulty nodes. One of the several disjoint paths paradigms is as follows. • (node-to-node) Given a source node s and target node t, find (maximum number of) node disjoint paths from s to t; Other paradigms include node-to-set and set-to-set. Results on the latter paradigms for star graphs can be found in [5, 10, 11, 12]. For the general fault-tolerance on star graphs, there exist a host of results [6, 15, 19, 20]. In this paper, we consider the node-to-node paradigm for the star interconnection network where disjoint paths between any two nodes are to be found. The star graph was proposed to be an attractive alternative to the hypercube topology for interconnecting processors in a parallel computer (interconnection network), and compare favorably with it in several aspects [1, 2]. In an interconnection network, each node of the graph corresponds to a processor. We’ll use nodes and processors interchangeably throughout the paper. A star graph of dimension n is a regular graph with degree n − 1. It has n! nodes, but both the degree and diameter of it are O(n), i.e., sub-logarithmic in the number of vertices, while
466-182
731
1234
reduces to routing from an arbitrary node to the identity node e = 123 · · · n. Therefore, the diameter of Sn , D(n), is the length of the longest shortest paths to e among all the nodes in Sn , i.e., D(n) = maxx∈Vn {d(x, e)}, where d(x, y) denotes the shortest distance from node x to node y. Without loss of generality, from now on, we assume that s = e. In [2], an O(n) linear-time greedy algorithm is given which finds a path from any node u to e. The algorithm is given by the following two rules:
4231
a
c 3214
2134
3241
2431
2314
3124
2341
3421
d
b
1324
4321
1. if u1 = 1, move it to any position not occupied by the correct symbol, and 3412
2413
a
2. if u1 = x 6= 1, move it to its correct position.
c
4312
1432
4213
1423
1342
4132
1243
4123
b
It is shown in [2] that this algorithm will always find the shortest path from u to e in Sn . We use s ∼ t to denote a shortest path from s to t. For a permutation u of n symbols, it is well known that u has a unique cyclic representation (in canonical form) [14, page 176]. For example, the canonical cyclic representation of permutation u = 931846572 is (6)(4875)(1923). Let c be the number of cycles with more than one symbol, and m the total number of symbols in these c cycles, then the following theorem can be proved [2]:
d 3142
2143
Figure 1. A 4-star S4 .
Theorem 1 The shortest distance from u to e is given by: 0 if u1 = 1 d(u, e) = c + m − 2 otherwise.
We organize the paper as follows. Section 2 presents relevant properties of the star graphs. Our optimal routing algorithm is found in Section 3. We conclude the paper in Section 4.
Therefore, D(n) is the maximum value of d(u, e) over all n! possible permutations. It has been shown that D(n) is equal to b3(n − 1)/2c in [1, 2]. Let Sn−1 (i) be a sub-graph of Sn induced by all the vertices with the same last symbol i, for some 1 ≤ i ≤ n. It can be seen that Sn−1 (i) is an (n − 1)-star defined on symbols in {1, 2, · · · , n} − {i}. It follows that Sn can be decomposed into n Sn−1 ’s: Sn−1 (i), 1 ≤ i ≤ n [1, 2]. For example, S4 in Fig. 1 contains four 3-stars, namely S3 (1), S3 (2), S3 (3), and S3 (4), by fixing the symbol at the last position at 1, 2, 3, and 4, respectively. Since star graphs are edge symmetric, the position at which to fix the symbol does not have to be the last one, as shown in [2]. The position at which we fix our symbols could be j for 2 ≤ j ≤ n. We use Sn−1 (j : i) to denote an Sn−1 whose nodes all have symbol i on dimension j, 1 ≤ i ≤ n, 2 ≤ j ≤ n. Therefore, we have n − 1 ways of decomposing Sn into n Sn−1 ’s: Sn−1 (j : 1), Sn−1 (j : 2), ..., Sn−1 (j : n), 2 ≤ j ≤ n. Similarly, each Sn−1 can be decomposed into n − 1 Sn−2 ’s in n − 2 ways, and so on.
2 Properties of the Star Interconnection Network Let Vn be the set of all n! permutations of symbols 1, 2, ..., n. For any permutation v ∈ Vn , if we denote the ith symbol of v by vi , then v can be written as v1 v2 · · · vn . We use the notation i∗ to represent a permutation whose first symbol is i, where ∗ represents any permutation of the n − 1 symbols in {1, 2, ..., n} − {i}. Similarly, ∗i represents a permutation whose last symbol is i. A star interconnection network or star graph on n symbols, Sn = (Vn , En ), is an undirected graph with n! nodes, where each node v is connected to n − 1 nodes which can be obtained by interchanging the first and ith symbols of v, i.e., (v1 v2 · · · vi vi+1 · · · vn , vi v2 · · · vi−1 v1 vi+1 · · · vn ) ∈ En , for 2 ≤ i ≤ n. We call these n−1 connections dimensions. Thus each vertex is connected to n − 1 vertices through dimensions 2, 3, ..., n. Sn is also called an n-star. Fig. 1 shows S4 . Note that the nodes of Sn together with the permutation composition operation form the symmetric group. Graphs based on groups are called Cayley graphs. It is known that the star graph is both vertex symmetric and edge symmetric [1]. The vertex symmetry of the star graph implies that routing between two arbitrary nodes
3 An Optimal Routing Algorithm for Disjoint Paths If d(t, e) = 1, then t = i23 · · · (i − 1)1(i + 1) · · · n for some i, 2 ≤ i ≤ n. In this case, one path is t → e with length
732
1, while other n − 2 disjoint paths of length 1 + 4 can be found easily by using the disjoint 6-cycles [17] of the form:
symbol i, 2 ≤ i ≤ n, appears in exactly n − 2 of them. In other words,
t = i23 · · · j · · · 1 · · · n → j23 · · · i · · · 1 · · · n →
{3, 4, · · · n} ∩ {2, 4, · · · n} ∩ · · · ∩ {2, 3, · · · n − 1} = φ and the intersection of any n − 2 sets has a cardinality of 1. Our routing is based on the above observation. The idea behind the algorithm is as follows. In no more than two steps, the target node t is routed to its n − 1 neighbours belonging to n − 1 different (n − 1)-stars Sn−1 (j : m) for some j, 2 ≤ j ≤ n, and for all m’s such that m ∈ {1, 2, 3, · · · , n} − {j}. These n − 1 neighbours are then routed to n − 1 nodes which are distance two away from e, using the greedy routing algorithm mentioned earlier. The fact that the greedy algorithm is applied in different (n−1)stars shows that these n − 1 paths are disjoint. And we’ll show later on that these disjoint paths have lengths no more than d(t, e) + 4. The details of the routing algorithm is given below. Let t = t1 t2 · · · tn . Clearly, if d(t, e) > 1, then there exists a j, 2 ≤ j ≤ n, such that tj 6= j and tj 6= 1. For ease of presentation (and understanding) and because Sn is vertex-symmetric, without loss of generality, we assume that j = 2. Let t2 be i, where i ∈ {3, 4, · · · , n}. Since we want to route t to Sn−1 (2 : m), m = 1, 3, 4, ..., n, we take care of the following two situations separately:
123 · · · i · · · j · · · n → i23 · · · 1 · · · j · · · n → j23 · · · 1 · · · i · · · n → 123 · · · n for j ∈ {2, 3, · · · n} - {i}. From now on, we assume that d(t, e) > 1. In order to find n − 1 disjoint paths from t to e, they need to be routed to the n−1 neighbours of e. These neighbours are: 21345 · · · n 32145 · · · n .. . n2345 · · · 1. Each of them, in turn, has n − 2 neighbours in addition to the neighbour e. These neighbours all have a distance of two to node e. For e’s neighbour i23 · · · (i−1)1(i+1) · · · n, its n − 2 neighbours (other than e) are
1. m = 3, 4, ..., n;
2i34 · · · (i − 1)1(i + 1) · · · n 32i4 · · · (i − 1)1(i + 1) · · · n .. . (i − 1)234 · · · i1(i + 1) · · · n
2. m = 1. For m ∈ {3, 4, · · · , n}, we consider the following cases in order to find n − 2 disjoint paths that lead to e’s neighbours of the forms i∗. Case 1: t = 2i∗. One path is 2i∗ ∼ 2i34 · · · (i − 1)1(i + 1) · · · n → i234 · · · (i − 1)1(i + 1) · · · n → 123 · · · n = e. The routing 2i∗ ∼ 2i34 · · · (i − 1)1(i + 1) · · · n has the same length as t ∼ e since the only difference is that we treat 2 as 1, i as 2, and 1 as i (a 3-cycle (1i2)). This is further explained as follows. As mentioned earlier, Sn is vertex-symmetric (in fact, every Cayley graph is vertexsymmetric [1]), which means that given any two nodes, there exists an automorphism of the graph that maps one node into the other. Therefore, for any two nodes u and v, d(u, v) = d(uv −1 , e). Specifically, let u = t = 2i∗, v = 2i34 · · · (i − 1)1(i + 1) · · · n, then vv −1 = e. But v −1 = i134 · · · (i − 1)2(i + 2) · · · n with a cyclic representation of (1i2)(3)(4) · · · (i − 1)(i + 1) · · · (n). Since d(u, v) = d(uv −1 , e) and v −1 = (1i2), uv −1 will fix symbols 1 and 2, resulting in two 1-cycles (1) and (2) in its cyclic representation. Comparing the cyclic representations of u and uv −1 , we know that if in u’s cyclic representation, there are c cycles of length two or more and m symbols in these cycles, then in uv −1 , there are also c number of cycles of length two or more but the number of symbols in these cycles is now m − 2. In u, 2 is the first symbol while in uv −1 , 1 is the first symbol. So d(uv −1 , e) = c + (m − 2) - 0 = c + m - 2 = d(u, e).
(i + 1)234 · · · (i − 1)1i · · · n .. . n234 · · · (i − 1)1(i + 1) · · · (n − 1)i. We observe that symbol i appears in positions (dimensions) 2, 3, ..., i − 1, i + 1, ..., n. Therefore, for e’s neighbour 2 ∗ n, symbol 2 appears in positions 3, 4, 5, ..., n of its neighbours (other than e) for e’s neighbour 3 ∗ n, symbol 3 appears in positions 2, 4, 5, ..., n of its neighbours (other than e) for e’s neighbour 4 ∗ n, symbol 4 appears in positions 2, 3, 5, ..., n of its neighbours (other than e) .. .
for e’s neighbour n ∗ 1, symbol n appears in positions 2, 3, 4, ..., n − 1 of its neighbours (other than e). Note that for sets {3, 4, 5, · · · n}, {2, 4, 5, · · · n}, {2, 3, 5, · · · n}, .. . {2, 3, 4, · · · n − 1},
733
Therefore, the total length is d(t, e) + 2. Note that the routing for path 2i∗ ∼ 2i34 · · · (i − 1)1(i + 1) · · · n is completely inside the (n − 1)-star Sn−1 (2 : i). For symbols k = 3, 4, ..., i−1, i+1, ..., n, in two steps, t = 2i ∗ k∗ → ki ∗ 2∗ → ik ∗ 2∗, which is routed, using the greedy algorithm, to 2k34 · · · (k − 1)1(k + 1) · · ·, which is routed to e in two more steps: 2k34 · · · (k − 1)1(k + 1) · · · → k234 · · · (k − 1)1(k + 1) · · · → 1234 · · · (k − 1)k(k + 1) · · ·. Once again, we notice that (1) the greedy routing is completely inside the (n − 1)-star Sn−1 (2 : k); and (2) the greedy routing has the distance of d(t, e) (because of the 3-cycle (1k2)). Therefore, the total distance is d(t, e) + 4. So for Case 1, we have n − 2 disjoint paths where one path has length d(t, e) + 2 while n − 3 paths have length d(t, e) + 4. Since the analysis for path lengths is similar for the following cases, they are therefore omitted. Case 2: t = 1i∗. One path is 1i∗ ∼ 2i34 · · · (i − 1)1(i + 1) · · · n → i234 · · · (i − 1)1(i + 1) · · · n → 123 · · · n = e. The path length is (d(t, e)−2) + 2 = d(t, e) and is inside Sn−1 (2 : i). For symbols k = 3, 4, ..., i − 1, i + 1, ..., n, the n − 3 disjoint paths are found in a similar way as in Case 1. Case 3: t = ki∗, k 6= 1, 2. This case is similar to Case 2. One path is ki∗ ∼ 2i34 · · · (i − 1)1(i + 1) · · · n → i234 · · · (i − 1)1(i + 1) · · · n → 123 · · · n = e with length (d(t, e) − 2) + 2 = d(t, e) (if 1 is in position k of t) or with length d(t, e) + 2 (if 1 is not in position k of t) and is inside Sn−1 (2 : i). Another path starts with ki∗ → ik∗. We then consider two cases depending on whether the symbol 1 is in position k or not. If 1 is in position k, then we route ik∗ to 2k34 · · · (k − 1)1(k + 1) · · · n, which goes to k234 · · · (k − 1)1(k + 1) · · · n, then e = 12 · · · n. The total distance is 1 + (d(t, e) - 3) + 2 = d(t, e). If 1 is not already in position k, then we first route ik∗ to a node such that 1 is in position k in two steps. This new node is then routed to 2k34 · · · (k − 1)1(k + 1) · · · n, which goes to k234 · · · (k − 1)1(k + 1) · · · n, then e = 12 · · · n. The total distance is 1 + 2 + (d(t, e) - 3) + 2 = d(t, e). The other n − 4 paths can be found in similar fashion by first t → pi∗ → ip∗, where p ∈ {3, 4, · · · , n} - {i, k}, and then routing ip∗ ∼ 2p34 · · · (p − 1)1(p + 1) · · · n → p234 · · · (p − 1)1(p + 1) · · · n → 123 · · · n with distance 2 + (d(t, e) - 2) + 2 = d(t, e) + 2. For m = 1, we want to find a path from t to one of the node 2134 · · · n’s n − 2 neighbours (other than e) 31245 · · · n, 41325 · · · n, ..., k134 · · · (k − 2)2(k + 1) · · · n, ..., n134 · · · (n − 1)2. We divide this case further into two cases: (1) t = 1i∗; and (2) otherwise. In the first case, in one step, we have t → i1∗, then use the greedy routing algorithm to go to one of the n − 2 nodes just mentioned above, all within Sn−1 (2 : 1). Another two more steps will reach e. In the second case, symbol 1 is not in positions one and two. In this case, we can use two steps to route t to
The analysis for path lengths is similar to those of previous cases. In all cases above, the routing takes O(n2 ) time because for node t, it takes O(n) time to route it to (up to) n − 1 different nodes which are, in turn, routed to e by the linear-time greedy algorithm.
4 Conclusion In this paper, we showed an optimal routing algorithm that finds n − 1 disjoint paths between any two nodes s and t in an n-star such that the longest path length is d(s, t) + 4 where d(s, t) is the shortest distance between s and t. Unlike previous approaches, which find the parallel paths by using and analysing the cyclic representations of the permutations, our method finds these paths by first routing them to n − 1 different substars and then applying the standard greedy routing algorithm. The disjointness of the paths is thus proven easily. It also reveals some interesting properties of the star graph.
References [1] S.B. Akers and B. Krishnamurthy, A Group Theoretic Model for Symmetric Interconnection Networks, IEEE Trans. on Compu., 38(4), 1989, 555-566. [2] S.B. Akers, D. Harel, and B. Krishnamurthy, The Star Graph: An Attractive Alternative to the n-cube, Proc. International Conference on Parallel Processing, St. Charles, Illinois, 1987, 393-400. [3] S.G. Akl, K. Qiu, and I. Stojmenovi´c, Fundamental Algorithms for the Star and Pancake Interconnection Networks with Applications to Computational Geometry, Networks, 23, Special issue on Interconnection Networks and Algorithms, 1993, 215-225. [4] C.C. Chen and J. Chen, Optimal Parallel Routing in Star Networks, IEEE Trans. Compu., 46(12), 1997, 1293-1303. [5] C.C. Chen and J. Chen, Nearly Optimal One-to-Many Parallel Routing in Star Networks, IEEE Trans. Parallel and Distributed Systems, 8(12), 1997, 1196-1202. [6] J. Chen and E. Oh, Strong Fault-Tolerance: Parallel Routing in Networks with Faults, Proc. ICCS’01, LNCS 2074, 2001, 609-618. [7] K. Day and A. Tripathi, A Comparative Study of Topological Properties of Hypercube and Star Graphs, IEEE Trans. Parallel and Distributed Systems, 5, 1994, 31-38. [8] M. Dietzfelbinger, S. Madhavapeddy, and I.H. Sudborough, Three Disjoint Path Paradigms in Star Networks, Proc. of the 3rd IEEE Symposium on Parallel and Distributed Processing (SPDP’91), Dallas, Texas, 1991, 400-406.
734
[9] Q.P. Gu and S. Peng, Efficient Algorithms for Disjoint Paths in Star Networks, Transputer/occam Japan 6, S. Noguchi et al. (eds.), IOS Press, 1994, 53-65. [10] Q.P. Gu and S. Peng, Set-to-Set Fault Tolerant Routing in Star Graphs, IEICE Trans. Inf. & Syst., E79D(4), 1996, 282-289. [11] Q.P. Gu and S. Peng, Node-to-set Disjoint Paths Problem in Star Graphs, Information Processing Letters, 62, 1997, 201-207. [12] Q.P. Gu and S. Peng, An Efficient Algorithm for kPairwise Disjoint Paths in Star Graphs, Information Processing Letters, 67, 1998, 283-287. [13] J-S Jwo, S. Lakshmivarahan, and S.K. Dhall, Characterization of Node Disjoint (Parallel) Path in Star Graphs, Proc. International Parallel Processing Symposium (IPPS’91), 1991, 404-409. [14] D.E. Knuth, The Art of Computer Programming, Vol. 1 (Addison-Wesley, Reading, Massachusetts, 1973). [15] S. Latifi, On the Fault-Diameter of the Star Graph, Information Processing Letters, 46, 1993, 143-150. [16] A. Menn and A.K. Somani, An Efficient Sorting Algorithm for the Star Graph Interconnection Network, Proc. International Conference on Parallel Processing, St. Charles, Illinois, 1990, 1-8. [17] K. Qiu, H. Meijer, and S.G. Akl, Decomposing a Star Graph into Disjoint Cycles, Information Processing Letters, 39(3), 1991, 125-129. [18] K. Qiu, S.G. Akl, and H. Meijer, On Some Properties and Algorithms for the Star and Pancake Interconnection Networks, Journal of Parallel and Distributed Computing, 22, 1994, 16-25. [19] Y. Rouskov and P.K. Srimani, Fault Diameter of Star Graphs, Information Processing Letters, 48, 1993, 243-251. [20] S. Sur and P.K. Srimani, A Fault Tolerant Routing Algorithm in Star Graphs, Proc. International Conference on Parallel Processing, Vol. III, St. Charles, Illinois, August 1991, 267-270.
735