journal of parallel and distributed computing 54, 162182 (1998) article no. PC981488
Routing Permutations on Graphs via Factors Dominique Barth 1 L.R.I.-URA 410, Ba^t. 490, Centre d 'Orsay, Universite de Paris Sud, 91405 Orsay, France E-mail: barthlri.fr
and Petris or Panaite Departement d 'Informatique, Universite du Quebec a Hull, Hull, Quebec J8X 3X7, Canada E-mail: panaiteuqah.uquebec.ca Received September 16, 1996; revised June 18, 1998; accepted July 23, 1998
We deal with the permutation routing problem on graphs modeling interconnection networks. In our model, called routing via factors, at each routing step, the communication pattern is a directed 1-factor in a symmetric digraph. This adds a new feature, that of continuous packet movement, to preciously studied routing types, where the routing of a permutation is reduced to a sequence of permutations from a given class. We especially focus on bipartite graphs and we give sufficient conditions for a graph to be rearrangeable in our model. We propose a general technic for routing via factors that we apply to the 2D mesh and the hypercube. 1998 Academic Press Key Words: permutation routing; factors; bipartite graphs; mesh; hypercube.
1. INTRODUCTION Global communication schemes are basic tools for efficient programming andor control of parallel and distributed systems [2, 7, 9]. Thus, the efficiency of such a system, represented here by its interconnection network, particularly depends on the quality of global communication schemes we can develop on it. In this paper, we deal with the routing of permutations [10] in interconnection networks modeled by undirected graphs, whose vertices represent processing elements and whose edges represent bidirectional links. Let G be a graph and ? a permutation on the set of its vertices. The routing of ? consists for each vertex v in G to send a message (packet) to ?(v). The communication schemes based on permutations have many applications in matrix storage [14], image processing [16], and simulation of one network by another [11, 13]. The insight that is gained in solving the permutation routing 1
To whom correspondence should be addressed.
0743-731598 25.00 Copyright 1998 by Academic Press All rights of reproduction in any form reserved.
162
File: DISTL1 148801 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 4217 Signs: 2317 . Length: 58 pic 2 pts, 245 mm
ROUTING PERMUTATIONS
163
problem might turn out to be useful in other communication problems on networks. In this paper, we deal with a special model of permutation routing, previously studied in [1, 2, 6, 15]. At each routing step, the packets are permuted, that is, the packets are moved so that every vertex has exactly one packet. For a fixed system of communication rules (some examples are considered below), let us denote with 6 1 (G) the set of permutations routable in one step on G and with 6(G) the permutation group generated by 6 1 (G). In other words, 6(G) is the set of all permutations routable on G under our model. The routing of a permutation ? on G can be regarded as one of its factorizations ?=: 1 : 2 } } } : t with : i # 6 1 (G) for all 1it. We say that such a routing is a product-routing. The problem of permutation product-routing in a graph does not appear to have much practical importance. Nevertheless, its study is interesting in characterizing the intrinsic permutation power of a graph and, further, in comparing the interconnection networks. We can describe a particular product-routing type by defining the set of generators 6 1 (G) for each graph G. In [1], every permutation in 6 1 (G) corresponds to a matching M of G : the packets are exchanged along the edges of M. In [6], every permutation in 6 1 (G) corresponds to a set of disjoint directed cycles (of length at least 3): each packet is moved along exactly one arc on the directed cycle that contains it. More generally, in [15], every permutation in 6 1 (G) corresponds to a set C of disjoint directed cycles and a matching M with V(M) & V(C)=<. Some vertices may be outside of V(M) _ V(C), each of them keeping its actual packet during a routing step. If, in the last product-routing type, we impose that V(M) _ V(C) be always equal to V(G) then, at each step, all packets move and no temporary storage is needed anymore. We call such a routing a routing via factors (or f -routing) since, at each step, a directed 1-factor is chosen in the symmetric digraph G* corresponding to G. In the real world of data routing, the idea of no storage at intermediate nodes is reflected in models as circuit-switching [11], wormhole [9], and hot-potato [12]. The interest of routing via factors is that it puts together the idea of product-routing and that of routing without intermediate storage. The major contribution of our work is the exploration of this new type of product-routing, characterized by a continuous packet movement. As expected, this supplementary feature for a productrouting increases the number of routing steps. However, we show that, for graphs as the 2D mesh and the hypercube, the number of routing steps is still linear with respect to the diameter. Therefore, in certain situations (storage time large enough with respect to the length of a routing step), the routing time could be decreased by routing permutations via factors. In this paper, we focus on f-routing of permutations on bipartite graphs motivated by the fact that this class of graphs contains well-known patterns for the interconnection networks: the multidimensional meshes, the hypercube, and the bipartite instances of wrapped butterfly and cube-connected cycles. In Section 2 we give formal definitions and the notation used through out the paper. In Section 3 we present some general results on bipartite graphs. In Section 4
File: DISTL1 148802 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3829 Signs: 3366 . Length: 52 pic 10 pts, 222 mm
164
BARTH AND PANAITE
we describe a general technic to design f-routing algorithms. In Section 5 and 6, we apply this technic to the 2D mesh and the hypercube. 2. GENERAL DEFINITIONS AND NOTATION 2.1. Graphs An interconnection network is modeled by an undirected graph G, without loops and multiple edges, whose vertex set V=V(G) represents processors and whose edge set E=E(G) represents bidirectional links. The links are full-duplex: two packets can cross simultaneously the same link in opposite directions. A walk W in G is a sequence of vertices, say [v 0 , v 1 , v 2 , ..., v k ], where [v i , v i+1 ] # E for 0i0, : b ;(x)=:(;(x)), : 0 =Id A and : i =: b : i&1. The composition : b ; is also written :;. The inverse of :, denoted : &1, is the unique permutation ; # S(A) with :;=;:=Id A . If 7S(A) then 7 &1 =[: &1 : : # 7]. If A=[0, 1, 2, ..., n&1], S(A) is also denoted by S(n). A permutation ? # S(A) is called k-cycle if there exist a 1 , a 2 , ..., a k # A such that ?(a 1 )=a 2 , ?(a 2 )=a 3 , ..., ?(a k )=a 1 , and ?(a)=a for every a # A"[a 1 , ..., a k ]: we write ?=(a 1 , a 2 , ..., a k ). A 2-cycle is also called transposition. Every permutation : # S(A) has a unique decomposition in disjoint cycles; : can be also written as a
File: DISTL1 148803 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3656 Signs: 2823 . Length: 52 pic 10 pts, 222 mm
ROUTING PERMUTATIONS
165
product of at most |A| &1 transpositions. A(A) denotes the alternating group on A, i.e., the subgroup of S(A) generated by all odd length cycles. Let A 1 and A 2 be two nonempty finite sets, A 1 & A 2 =<. If p # S(A 1 ) and q # S(A 2 ) then p q denotes the permutation in S(A 1 _ A 2 ) defined by p q(x)=
p(x)
{ q(x)
if x # A 1 . if x # A 2
If G$ and G" are subgroups of S(A 1 ) and S(A 2 ), respectively, then G$ G" denotes the permutation group [ p q: p # G$, q # G"]. We refer the reader to [17, Chap. 3] for details about notions from group theory. 2.3. The Routing Type In the packet-switching model, data stored at a vertex x and required at a vertex y, are maintained as an entityreferred to as a packetthat is passed from vertex to vertex through a walk in G which connects x to y. A single packet can cross in a direction each edge during each routing step and the crossed edges are immediately released. A product-routing is a packet-switching routing where the packets are moved so that, at each step, every vertex has exactly one packet. In this paper, by routing type we mean a particular family of product-routings. This can be the family of routings using matchings or using directed 1-factors. etc. For a given routing type T, we say that a permutation ? # S(V) is T-routable on G if there exists a T-routing on G which moves the packet from v to ?(v), for all v # V. We say that this routing realizes (or routes) the permutation ?. The graph G is T-rearrangeable if every ? # S(V) is T-routable on G. The routing type T is completely defined by the class of permutations 6 1 (G), given for every graph G. Therefore, T-routable on G means achievable by using a sequence of permutations all from the class 6 1 (G). Definition 1. An f-step on G is a routing in which, for a directed 1-factor H9 of G*, the packet currently contained by v is sent to succ H9 (v) for all v # V. An f-routing is a sequence of f-steps. In the case of f-routing, 6 1 (G)=[succ H9 : H9 is a directed 1-factor of G*]. Notice that 6 1 (G)=6 &1 1 (G). A permutation f-routable in k steps is said to be [k] f-routable. We denote with 6 k (G) the set of all permutations [k] f -routable on G. Hence, 6 k (G)=6 1 (G) b } } } b 6 1 (G). k times
Definition 2. The routing group of G, denoted 6(G), is k0 6 k (G). The routing number of G, denoted 4(G), is max ? # 6(G) min[k: ? # 6 k (G)]. Clearly, 6(G) is the permutation group generated by 6 1 (G). Notice that 6(G) is not always the whole symmetric group; G is f-rearrangeable if and only if 6(G)=S(V). To f-route ? on G means to write ? as a product of permutations
File: DISTL1 148804 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3388 Signs: 2498 . Length: 52 pic 10 pts, 222 mm
166
BARTH AND PANAITE
from 6 1 (G), the length of such a product being the communication complexity of the corresponding f-routing. Let Cay(G) denote the Cayley graph [18] corresponding to the generating set 6 1 (G). We have 6(G)=V(Cay(G)) and 4(G) equal to the diameter of Cay(G). Also remarked in [15], it is tempting to think that the methods for point-to-point routing in Cayley graphs [18] might apply directly here, since f-routing ? on G is equivalent with finding a path from Id V to ? in Cay(G). But, these methods require the storage of 6 1 (G). In our case, |6 1 (G)| may be enormous compared with |V|: only the number of Hamiltonian cycles in the n-dimensional hypercube (which n&4 define different permutations in 6 1 1(G)) is greater than 1344 2 [8]. We also introduce the following parameters: v 6 even (G)= k0 6 2k (G), v 4 even (G)=max ? # 6even(G) min[2k: ? # 6 2k (G)]. Obviously, 6 even (G) is a subgroup of 6(G). The following lemma gives us the general relation between 6(G) and 6 even (G), and that between 4(G) and 4 even (G). Lemma 3.
If 6 1 (G){< then
v 6(G)=6 even (G) _ :6 even (G) for any : # 6 1 (G); v 4(G)4 even (G)+1. Proof. Let : be any permutation in 6 1 (G). It is sufficient to prove that every permutation ? f-routable on G in an odd number of steps belongs to :6 even (G). Let ?$=: &1?; since : &1 # 6 1 (B), we have ?$ # 6 even (G). Hence, ?=:?$ # :6 even (G). K It is not difficult to show that 6(B){6 even (B) for every bipartite graph B with at least one 1$-factor (see Section 3). In [4], we can find examples of graphs G with 6(G)=6 even (G). If ? is [k] f -routable on G then there exists a set of k-length walks in G which are pairwise vertex-contention free and which connect v with ?(v) for all v # V. This hints at a natural generalization of the f-routing model. We call walk-routing of ? on G a set of walks in G (not necessary of equal length) which are pairwise vertexcontention free and connect v with ?(v) for all v # V. The packets move synchronously on these walks as in the case of f-routings. However, since the walks have different lengths, the packets stop to move at different moments. We say that the packets are swallowed at different moments. A swallowed packet makes its destination vertex a free vertex, that is, a vertex which can be used further as intermediate node by the longer walks. Note that a walk-routing is no longer a product-routing. The main drawback of this routing model is that the composition of two permutations walk-routable on G is not always a permutation walk-routable on G. Therefore, the f-routing model is more suitable for a theoretic study. In addition, an f-routing technic may be useful to describe walk-routings for permutations which are not directly f-routable (see Section 3).
File: DISTL1 148805 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3400 Signs: 2669 . Length: 52 pic 10 pts, 222 mm
ROUTING PERMUTATIONS
167
3. F-ROUTING PERMUTATIONS ON BIPARTITE GRAPHS It is not difficult to show that a bipartite graph is not f-rearrangeable (see Remark 5 given below). Nevertheless, an important permutation class is f-routable on K n, n . We will show that the permutation group of many bipartite graphs is equal to the permutation group of K n, n . We call them optimal bipartite graphs. The optimal bipartite graphs have an interesting property: they are walk-rearrangeable.
3.1. Bipartite Permutations
Definition 4. For disjoint nonempty finite sets A 1 and A 2 , with |A 1 | = |A 2 |, let v P0 (A 1 , A 2 )=[? # S(A 1 _ A 2 ) : ?(A 1 )=A 1 ], v P1 (A 1 , A 2 )=[? # S(A 1 _ A 2 ) : ?(A 1 )=A 2 ]. We call P(A 1 , A 2 )=P0 (A 1 , A 2 ) _ P1 (A 1 , A 2 ) the set of all bipartite permutations on A 1 and A 2 . Note that P0 (A 1 , A 2 )=S(A 1 ) S(A 2 ); thus, P0 (A 1 , A 2 ) is a permutation group. We cannot say the same about P1 (A 1 , A 2 ) because it is not stable at permutation composition. Remark 5. Let B=(V 1 , V 2 , E) be a bipartite graph. 1. If |V 1 | { |V 2 | then 6(B)=[Id] since B has no 1$-factor. 2. If |V 1 | = |V 2 | then 6(B)P(V 1 , V 2 ) since 6 2k (B)P0 (V 1 , V 2 ) and 6 2k+1 (B)P1 (V 1 , V 2 ) for all k0. 3. If B is a complete balanced bipartite graph then 6(B)=P(V 1 , V 2 ) since 6 1 (B)=P1 (V 1 , V 2 ) and 6 2 (B)=P0 (V 1 , V 2 ). For a balanced bipartite graph B=(V 1 , V 2 , E), we can also write 6 even (B) SV1 SV2 . As an immediate consequence of Remark 5(2), a bipartite graph is not f-rearrangeable. Only permutations from P(V 1 , V 2 ) are expected to be f-routable on B=(V 1 , V 2 , E). We give below some f-routing properties of the cycle of length n, C n = [0, 1, ..., n&1.0]. For n even C n is a bipartite graph with V 1 (C n )=[0, 2, ..., n&2] and V 2 (C n )=[1, 3, ..., n&1]. Proposition 6.
(1)
If n is odd then 6(C n )=[(0, 1, ..., n&1) i: 0i
(2) If n is even then 6(C n )=G _ (0, 1, ..., n&1) G, where G=[(0, 2, ..., n&2) i (1, 3, ..., n&1) j: 0i
For every n1, 4(C n )=wn2x. See Appendix A.1.
K
File: DISTL1 148806 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3031 Signs: 1821 . Length: 52 pic 10 pts, 222 mm
168
BARTH AND PANAITE
3.2. Optimal Bipartite Graphs By Remark 5(3), the upper bound for 6(B) is attained if B is a complete balanced bipartite graph. As we will see in this section, it is not the unique graph with such a property. Note also that in this section, we especialy focus on bipartite graphs B(V 1 , V 2 , E) with |V 1 | = |V 2 |. Definition 7. A bipartite graph B=(V 1 , V 2 , E) is said to be optimal if 6(B)=P(V 1 , V 2 ). For every bipartite graph B=(V 1 , V 2 , E), 6 even (B) is a subgroup of P0 (V 1 , V 2 ). By Lemma 3, it follows that: Corollary 8. B is optimal if and only if 6 even (B)=P0 (V 1 , V 2 ). We give below a simple condition for a Hamiltonian bipartite graph which assures its optimality. Let C(n, i), 2in&2, be the graph obtained by adding the chord [0, i] at the n-length cycle C n . The graph C(n, i) is bipartite if and only if n is even and i is odd. In this case, V 1 (C(n, i))=En and V 2 (C(n, i))=On , where En =[0, 2, ..., n&2] and On =[1, 3, ..., n&1]. In the above subsection, we have seen that 6(C n ) is very small compared to P(En , On ). On the contrary, the permutation group of C(n, i) (which has only one more edge) is equal to P(En , On ). This will be obtained from the technical result given below. Lemma 9. If n is even and i odd, 3in&3, then A(En ) A(On ) 6 even (C(n, i)). Proof.
See Appendix A.2.
K
Proposition 10. Let B be a Hamiltonian bipartite graph, different from a cycle; if B contains a cycle C with length a multiple of 4 such that B"C has a 1$-factor then B is optimal. Proof. Let n be the order of B, V 1 =V 1 (B) and V 2 =V 2 (B). Since B is bipartite and Hamiltonian, n is necessarily even. Since B is Hamiltonian and different from a cycle, B contains a spanning subgraph isomorphic to C(n, i) for some i # [3, ..., n&1]. Moreover, i is odd since B is bipartite. Let 6 even (B)=G$ G", where G$S(V 1 ) and G"S(V 2 ). By Lemma 9, G$ G" contains A(V 1 ) A(V 2 ). Since B"C has a 1$-factor F, it follows that we can keep the packet distribution within B"C if we make an even number of f-steps on C (F is directed in two opposite ways, F9 1 and F9 2 , and the packets are moved according to F9 1 at each odd step, and according to F9 2 at each even step). Let l=4k be the length of C and let C=[1$, 1", ..., (2k)$, (2k)", 1$] where [1$, 2$, ..., (2k)$]/V 1 . By Proposition 6, it follows that p=(1$, 2$, ..., (2k)$) belongs to G$. Since A(V 1 )G$ and p is an evenlength cycle (hence, p  A(V 1 )), it follows that G$=S(V 1 ) (we have taken into account that A(A) is the largest proper subgroup of S(A) [17]). Analogously, we can prove that G"=S(V 2 ). Therefore, 6 even (B)=P0 (V 1 , V 2 ) and, by Corollary 8, B is optimal. K
File: DISTL1 148807 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3475 Signs: 2539 . Length: 52 pic 10 pts, 222 mm
ROUTING PERMUTATIONS
169
Note that Proposition 10 gives us only a sufficient condition. There exist optimal bipartite graphs which are not Hamiltonian [4]. Corollary 11. Every Hamiltonian bipartite graph of order n=4k, different from a cycle, is optimal. Due to their Hamiltonicity, it follows immediately from Corollary 11 that many patterns of interconnection networks are optimal bipartite graphs: the kD mesh with at least two even dimensions [7, Ex. 1.5.8], the hypercube [7, Ex. 5.3.5], the 2k-dimensional wrapped butterfly [5], and the 2k-dimensional cube-connectedcycles [19]. The k D mesh with only one dimension even verifies the conditions of Proposition 10. Proposition 10 gives us no information about the routing number of a graph. To obtain upper bounds for such a number, we develop in the next section a general f-routing technic which will be applied to some important families of interconnection networks. 3.3. A Walk-Routing Construction The optimal bipartite graphs have the following property. Proposition 12. If B is an optimal bipartite graph then B is walk-rearrangeable in at most 2 } 4(B) steps. Proof. Let V 1 =V 1(B), V 2 =V 2(B), and ? # SV1 _ V2 . We view ? as the product of two permutations : and ;, where : maps between vertices of the same set V i , and ; maps between vertices in different sets. Clearly, the vertices on which : applies are different from those on which ; applies and vice versa. Notice that : and ; are bipartite permutations. Since B is optimal, : and ; are f-routable on B. Consider now that every vertex v has a packet with the destination address ?(v). If the source and the destination of a packet belongs to the same set V i , i # [1, 2], the the packet is colored white. Otherwise, the packet is colored black. By f-routing the permutation :, the white packets arrive ant their destinations given by ?. These packets are ``swallowed'' and then replaced be dummy packets. Now, by f-routing the permutation ;, the black packets arrive at their destinations given by ?. K As notable consequences of Proposition 12, the meshes, the hypercube, the bipartite wrapped butterfly, and the bipartite cube-connected-cycles are walkrearrangeable. In the case of the 2D mesh and the hypercube, the length of the walks is lineal with respect to the diameter (see Section 5 and 6), which is asymptotically optimal.
4. AN F-ROUTING TECHNIC The hypothesis of continuous moving of the packets makes relatively difficult the routing of a permutation. In this section, we describe a general f-routing technic that we will apply, in the next sections, for some families of graphs. Our method
File: DISTL1 148808 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3289 Signs: 2589 . Length: 52 pic 10 pts, 222 mm
170
BARTH AND PANAITE
could be also considered as an approach to obtain sufficient conditions for a graph to be f-rearrangeable. Let G be a graph and ? a permutation of V(G). Our strategy to f-route ? on G consists in decomposing ? in a product of special permutations, called multitranspositions, and in f-routing these last-ones, one by one. Definition 13. Let A be a nonempty finite set. A multi-transposition of A is a product of pairwise disjoint transpositions of A. For convenience, we also write |=[{ 1 , ..., { k ] if |={ 1 b } } } b { k and { 1 , ..., { k are pairwise disjoint transpositions of A. To decompose the permutation ? into multitranspositions, we use a known technic, that of the routing via matchings (or m-routing) [1]. For our purpose, an m-routing of ? will be considered not directly on the graph G but on a graph G with V(G )=V(G) and, generally, E(G ){E(G). We will further explain why a graph different from G should be considered. An m-step on G is identified to a matching in G, m=[[u 1 , v 1 ], [u 2 , v 2 ], ..., [u k , v k ]]. During this step, the packets are exchanged along the edges of m; in other words, the m-step m realizes the multi-transposition |=[(u 1 , v 1 ), (u 2 , v 2 ), ..., (u k , v k )]. Since V(G )=V(G), | is a multi-transposition of V(G). Therefore, implicitly, any m-routing of ? on G gives us a decomposition of ? into multitranspositions of V(G). Let A be an m-routing algorithm on G. We denote with M(A, G ) the set of all multi-transpositions which could be realized during a routing step of A on G. We denote with P(A, G ) the set of all permutations routable by A on G. Definition 14. For M a set of multi-transpositions of V(G), we say that 1. G supports M if every | # M is f-routable on G; 2. G strongly supports M if there exists a constant c such that every | # M is [t] f -routable on G for some tc; 3. G t-supports M if every | # M is [t] f-routable on G. In the next sections, the set M=M(A, G ) will be a small part of the set of all multi-transpositions of V(G). The special structure of permutations in M will make their f-routing on G easy. Remark 15.
If G supports M(A, G ) then P(A, G )6(G).
ln particular, when P(A, G )=S(V(G )), G supports M(A, G ) implies that G is f-rearrangeable. The choice of a graph G different from G is motivated as follows. Let m be a nonperfect matching of G and | the multi-transposition of V(G) corresponding to m. By Remark 5, if G is bipartite then | is not f-routable on G. Therefore, in general, G does not support M(A, G). On the other hand, Lemma 3 hints us to take as graph G a spanning subgraph of G 2. We denote with G 2 the graph defined by V(G 2 )=V(G) and E(G 2 )=[[u, v] : u, v vertices linked in G by a 2-length walk]. Remark 16.
Let G be a connected graph.
File: DISTL1 148809 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3569 Signs: 2670 . Length: 52 pic 10 pts, 222 mm
ROUTING PERMUTATIONS
171
1. G is nonbipartite iff G 2 is connected. 2. G is bipartite iff G 2 has two connected components. 3. If G is bipartite then 6 even(G)S(C 1 ) S(C 2 ), where C 1 and C 2 are the connected components of G 2. 4. There exists an (even) integer k such that, for every vertices x, y in the same connected component of G 2, there exists a k-length path in G connecting x to y. Remark 16(3) tells us that 6 even(G), a very important class of permutations f-routable on G (see Lemma 3), is m-routable on G 2. According to Remark 16(4), if ? is a permutation m-routable on G 2 then there exists an integer k such that for every x # V(G), x is connected to ?(x) by a k-length path in G. In other words, the permutations m-routable on G 2 are expected to be [k]f-routable on G. Therefore, natural candidates for G are spanning subgraphs of G 2. In the next sections, we will consider spanning subgraphs of G 2 when G is a 2D mesh and a hypercube. Other spanning subgraphs of G 2, when G is a 2D torus and a wrapped butterfly, are given in [4]. To define the graph G, we use the following notation. Definition 17. For a nonempty set A and an injective function f: V(G) Ä A, f [G] denotes the graph whose vertex set is A and whose edge set is [[ f (u), f (v)]: [u, v] # E(G)]. For convenience, we denote [ f (u), f (v)] and ( f (u), f (v)) with f ([u, v]) and f((u, v)), respectively, u, v # V(G). On the other side, to prove that G t-supports a given set M of multi-transpositions, we introduce the notion of covering. Definition 18. Let [G 1 , ..., G k ] be a set of graphs. A graph G can be covered with [G 1 , ..., G k ] if there exists a partition [V 1 , ..., V h , V$] of V(G), called covering, such that 1. for all i # [1, ..., h] there exists j # [1, ..., k] such that G[V i ]$G j ; 2. G[V$] contains a 1$-factor. Recall that, for every t0, the identity permutation is [2t]f-routable on a graph with a 1$-factor. We can state the following result. Remark 19. Let G be covered with [G 1 , ..., G k ] as above. If _ 1 , ..., _ h are multitranspositions [2t]f-routable on G[V 1 ], ..., G[V h ], respectively, then |= hi=1 _ i is a multi-transposition [2t]f-routable on G. To recapitulate, consider the problem of proving that a permutation set PS(V(G)) is f-routable on G. This problem could be studied following the general scheme given in this section: 1. Find an algorithm A which m-routes P on a graph G with V(G )=V(G). 2. Prove that G supports M(A, G ). More exactly, for every | # M(A, G ), prove that | is f-routable on G by using different coverings of G.
File: DISTL1 148810 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3320 Signs: 2444 . Length: 52 pic 10 pts, 222 mm
172
BARTH AND PANAITE
5. THE 2D MESH The 2D mesh with m rows and n columns M m_n is the undirected graph with v V(M m_n )=[0, ..., m&1]_[0, ..., n&1] and v E(M m_n )=[[(i, j), (i $, j $)]: 0i, i $m&1, 0 j, j$n&1, |i&i $| + | j& j $| =1]. In other words, the 2D mesh is the Cartesian product of two paths: M m_n = P m _P n , where P m denotes the m-length path [0, 1, ..., m&1]. In Section 4, we have proved that M m_n is an optimal bipartite graph when m or n is even. In this section, we prove that 4(M m_n )=O(m+n). 5.1. Routing Permutations on the 2D Mesh via Matchings In [2], Annexstein and Baumslag proved that every permutation is m-routable on M p_q in at most 2p+q steps. In fact, they proved that for every permutation ? of V(M p_q ) there exist three permutations ? 1 , ? 2 , and ? 3 such that ?=? 1 b ? 2 b ? 3 , where ? 1 and ? 3 are routable using only column interchanges, and ? 2 is routable using only row interchanges. The routing problem on M p_q can thus be reduced to independent routing problems on linear arrays. Note that such a reduction needs the knowledge of ? in advance and, consequently, the obtained routing is off -line. It is well known that any permutation can be m-routed on a q-length linear array (i.e., M 1_q ) by using the evenodd transposition sort [11, Sect. 1.6.1]. The routing requires at most q steps. At odd steps, we compare the packet's destination from the vertex 2 j with the packet's destination from the vertex 2 j+1, j=0, 1, ..., wq2x&1, interchanging packets if the left packet has its destination greater than the destination of the right packet. At even steps, we perform the same operation for the vertices 2 j+1 and 2 j+2, j=0, 1, ..., w(q&1)2x&1. For a nonempty finite set A, let Power(A) be the power set on A (i.e., the set of all subsets of A). We introduce the following sets of multi-transpositions of V(M p_q ), where ``h'' and ``v'' are used to signify ``horizontal'' and ``vertical,'' respectively, and ``e'' and ``o'' are used to signify ``even'' and ``odd,'' respectively. Mhe( p, q)=Power(A), Mho( p, q)=Power(B), Mh( p, q)=Mhe( p, q) _ Mho( p, q), Mve( p, q)=Power(C), Mvo( p, q)=Power(D), Mv( p, q)=Mve( p, q) _ Mvo( p, q), where A=[((i, 2 j), (i, 2 j+1)) : 0i p&1, 0 jwq2x&1], B=[((i, 2 j+1), (i, 2j+2)) : 0i p&1, 0 jw(q&1)2x&1], C=[((2i, j), (2i+1, j)) : 0iw p2x&1, 0 jq&1], D=[((2i+1, j), (2i+2, j)) : 0iw( p&1)2x&1, 0 jq&1].
File: DISTL1 148811 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3299 Signs: 2270 . Length: 52 pic 10 pts, 222 mm
173
ROUTING PERMUTATIONS
Thus, Mhe( p, q) are matchings between adjacent vertices on the same row, the first vertex being in an even column. Using the notation introduced in Section 4, it follows that there exists an m-routing algorithm A, with P(A, M p_q )= S(V(M p_q )), such that M(A, M p_q )=Mh (p, q) _ Mv (p, q). Thus, we can express the result of Annexstein and Baumslag as follows. Lemma 20. For every permutation ? # S(V(M p_q ), there exist | 1 , ..., | k , |$1 , ..., |$k$ # Mv( p, q) and _ 1 , ..., _ l # Mh( p, q), with k, k$ p and lq, such that ?=| 1 b } } } b | k b _ 1 b } } } b _ l b |$1 b } } } b |$k$ .
5.2. f -Routing Permutations on M m_n For the sake of clarity, we consider only the case m=n; the results we present can be easily extended to the general case. Let En =[(i, j) # V(M n_n ) : i+ j#0 (mod 2)] and On =[(i, j) # V(M n_n ) : i+ j#1 (mod 2)]. One can verify that M n_n is a bipartite graph with V 1 (M n_n )=En and V 2 (M n_n )=On . We give below the main result of this section. Theorem 21. (2)
(1)
If n is odd then 6(M n_n )=[Id Mn_n ].
If n is even than 6(M n_n )=P(En , On ) and 4(M n_n )10n+1.
Our proof for this theorem follows the general method described in Section 4. Since the case n odd is trivial (see Remark 5(1)), we consider below that n is even. It is not difficult to see that M 2n_n contains two connected components with the vertex sets En and On . We show that each of these components contains a subgraph isomorphic to M n_n2 . Let f, g: V(M n_n2 ) Ä V(M n_n ) be defined by f (i, j)=(i, j $) and g(i, j)=(i, j") where
j $=
if i is even if i is odd
2j
{ 2j+1
j "=
and
2 j+1
if i is even if i is odd.
{2 j
The functions f and g are injective with f (V(M n_n2 ))=En and g(V(M n_n2 ))=On . Let M$= f [M n_n2 ] and M"= g[M n_n2 ] (see Fig. 1). Since f and g are injective, it follows that M$$M"$M n_n2 . We define M n_n as M$ _ M". One can verify that M n_n is a spanning subgraph of M 2n_n . Note that if |$ and |" are multi-transpositions of V(M n_n2 ) then |= f (|$) _ g(|") is a multi-transposition of V(M n_n ). Let us consider the following sets of multi-transpositions:
{
n n , |" # M he n, 2 2
\ + \ += n n _ f (|$) _ g(|") : |$ # M n, , |" # M n, { \ 2+ \ 2+=
M h = f (|$) _ g(|") : |$ # Mhe n,
ho
File: DISTL1 148812 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3357 Signs: 2020 . Length: 52 pic 10 pts, 222 mm
ho
174
BARTH AND PANAITE
FIG. 1.
The graph M 8_8 .
and
{
n
n
\ 2+ , |" # M \n, 2+= n n _ f (|$) _ g(|") : |$ # M n, , |" # M n, { \ 2+ \ 2+= .
M v = f (|$) _ g(|") : |$ # Mve n,
vo
ve
vo
By Lemma 20, we can conclude as follows. Remark 22. Every permutation ? # P0 (En , On ) can be written as the product of at most 2n+n2 multi-transpositions of V(M n_n ), where at most 2n multi-transpositions are from M v and at most n2 are from M h . In order to describe how M n_n supports M v and M h , we cover M n_n with [M 2_2 , M 2_3 ]. Let us call square the graph Sq=M 2_2 and domino the graph Do=M 2_3 . We number clockwise the vertices of Sq and Do as in Fig. 2. Lemma 23. 1. The permutations Id Sq , (0, 2), (1, 3), and (0, 2)(1, 3) are [2] f-routable on Sq.
FIG. 2.
Sq and Do.
ROUTING PERMUTATIONS
175
2. The permutations Id Do , (0, 4), (1, 3), and (0, 4)(1, 3) are [2] f-routable on Do. 3. The permutations Id Do , (0, 2), (3, 5), and (0, 2)(3, 5) are [6] f-routable on Do. Proof.
See Appendix A.3.
Lemma 24.
K
1. M n_n 12-supports M h .
2. M n_n 2-supports M v . Proof. 1. Let | # M h ; we can suppose, without loss of generality, that |= f (|$) _ g(|") with |$ # Mhe (n, n2) and |" # Mhe (n, n2). According to the definition of f and g, | can be also written as the union of two multi-transpositions, : and ;, such that :[((i, 4 j), (i, 4 j+2)) : 0in, 0 jwn4x&1] and ;[((i, 4 j+1), (i, 4 j+3)) : 0in, 0 jwn4x&1]. It is sufficient to prove that : and ; are [6]f-routable on M n_n . Let us consider the f-routing of :. It is not difficult to see that there exists a covering of M 8_8 with [Do] such that each pair of vertices [(i, 4j), (i, 4 j+2)] belongs to a copy of Do. See an example in Fig. 3. By Lemma 23(3), within each copy H of Do with the left-upper corner (2i$, 4 j), we can [6]f-route any multitransposition included in [((2i $, 4j), (2i $, 4 j+2)), ((2i $+1, 4 j), (2i $+1, 4 j+2))]. On the other side, : can be partitioned in multi-transpositions of this type. By Remark 19, it follows that : is [6]f-routable on M n_n . Analogously for ;. 2. Let | # M v : we can suppose, without loss of generality, that |= f (|$) _ g(|") with |$ # Mve (n, n2) and |" # Mve (n, n2). By the definition of f and g, we have |[((2i, 2 j), (2i+1, 2 j+1)) : 0i, jn2&1] _ [((2i, 2 j+1), (2i+1, 2 j)) : 0i, jn2&1]. We cover M n_n with [Sq]as in Fig. 4. By Lemma 23(3), within each copy H of Sq with the left-upper corner (2i, 2 j), we can [2]f-route any multi-transposition
FIG. 3.
Covering M 8_8 to f-route a multi-transposition from Mh .
176
BARTH AND PANAITE
FIG. 4.
Covering M 8_8 to f-route | # Mv .
included in [((2i, 2 j), (2i+1, 2 j+1)), ((2i, 2 j+1), (2i+1, 2 j))]. By Remark 19, it follows that | is [2]f-routable on M n_n . K The proof of Theorem 21.
(1)
See Remark 5(1).
(2) Let ? # P0 (En , On ). According to Remark 22 and Lemma 24, ? is froutable on M n_n in at most 2 } 2n+12 } n2=10n steps. By Lemma 3, P(En , On ) is f-routable on M n_n in at most 10n+1 steps. K By Theorem 21(2) and Proposition 12, the corollary below follows. Corollary 25. steps.
If n is even then M n_n is walk-rearrangeable in at most 20n+2
6. THE HYPERCUBE Let X n =[0, 1] n be the set of all n-bit strings. We count the bits of x # X n from left to right starting from 0: x=x 0 x 1 ...x n&1 . For i # [0, 1, ..., n&1], let e(i) denote the n-bit string defined by e(i) i =1 and e(i) j =0 for all j{i. The symbol `` Ä '' denotes both scalar and matrix bitwise exclusive-or-operator. The n-dimensional hypercube is the undirected graph H n with V(H n )=X n and E(H n )=[[x, x Äe(i)]: x # X n , 0in&1]. Hence, the vertices of an edge differ in exactly one bit. The edge [x, x Ä e(i)] is said to lie in the i th dimension. n&1 Let En =[x # X n : n&1 i=0 x i #0 (mod 2)] and On =[x # X n : i=0 x i #1 (mod 2)]. One can verify that H n is a bipartite graph with V 1 (H n )=En and V 2 (H n )=On . In Section 3, we have proved that H n is an optimal bipartite graph. Our goal is now to show that 4(H n )=O(n). We define the following spanning subgraph H n of H 2n . Let f, g: V(H n&1 ) Ä V(H n ) with
f (x)=
{
x0 x1
if x # En&1 if x # On&1
and
g(x)=
{
x1 x0
if x # En&1 if x # On&1 .
ROUTING PERMUTATIONS
177
Note that f and g are bijective. For H$= f [H n&1 ] and H"= g[H n&1 ], we have V(H$)=En , V(H")=On , and H$$H"$H n&1 . We introduce H n as H$ _ H" (see the example given in Fig. 5). It is well known [11, Subsect. 3.2.1] that every permutation of V(H n&1 ) is m-routable on H n&1 in 2(n&1)&1 steps so that every routing step corresponds to a matching with the edges lying in the same dimension i, 0in&2. Moreover, the dimensions of H n&1 are considered in the order 0, ..., n&3, n&2, n&3, ..., 0. This can be also expressed as follows. Let Mi =Power([(x, x Ä e(i)) : x # X n&1 ]), where i # [0, ..., n&2]. Then, for every ? # S(X n&1 ), there exist the multi-transpositions | 0 , ..., | n&2 , |$0 , ..., |$n&3 with | i , |$i # Mi , i # [0, ..., n&3], and | n&2 # Mn&2 , such that ?=| 0 b } } } b | n&3 b | n&2 b |$n&3 b } } } b |$0 . Consequently, noting M =[ f (|$) _ g(|") : |$, |" # Mi , i # [0, ..., n&2], we can state the following result. Remark 26. Every permutation ? # P0 (En , On ) can be written as the product of 2n&3 multi-transpositions from M . Lemma 27.
H n 2-supports M .
Proof. Let | # M . Due to the symmetry of H n , we can suppose that |= f (|$) _ g(|") with |$, |" # M0 . Let u # X n&1 and v=u Ä e(0). Without loss of generality, suppose that u # En&1 and v # On&1 . By the definition of f, we have f ((u, v))=( f (u), f (v))=(u0, v1)= (u0, u0 Ä e(0) Ä e(n&1)): analogously, g((u, v))=(u1, u1 Ä e(0) Ä e(n&1)). It follows that |[(x, x Ä e(0) Ä e(n&1)) : x # X n ]. We can cover H n with [Sq] such that the copies of Sq are the induced subgraphs H n[[0s0, 0s1, 1s0, 1s1]], s # [0, 1] n&2. One can verify that the elements of each transposition in | belong to the same copy of Sq. By Lemma 23(1), for each copy H of Sq, | & V(H) is [2]f-routable on H. Taking into account Remark 19, we can conclude that | is [2]f-routable on H n . K Theorem 28. For every n2, 4(H n )4n&5 (4(H 1 )=1).
FIG. 5.
The graph H 3 .
178
BARTH AND PANAITE
Proof. By Remark 26 and Lemma 27, it follows that P0 (En , On ) is f-routable on H n in 2(2n&3)=4n&6 steps. By Lemma 3, we conclude that P(En , On ) is f-routable on H n in at most 4n&5 steps. K By Theorem 28 and Proposition 12, we obtain the following result. For n2, H n is walk-rearrangeable in at most 8n&10 steps.
Corollary 29.
7. CONCLUSIONS In this paper, we dealt with the routing of permutations on graphs via factors (f-routing). During such a routing on a graph G, at each step, a directed 1-factor H9 is chosen in the symmetric digraph G*. Every vertex sends its current packet to the next vertex in H9 . Thus, all packets move and no temporary storage is needed. In the classical model of routing via matchings (m-routing) [1], every connected graph is rearrangeable. This does not hold for the f-routing model. For example, it is easy to see that any bipartite graph is not f -rearrangeable. An optimal bipartite graph is a balanced bipartite graph for which the set of permutations f-routable on it is equal to the set of permutations f-routable on the complete balanced bipartite graph, of the same order. We proved that any optimal bipartite graph is rearrangeable in a natural extension of the f-routing model. The characterization of the f-rearrangeable graphs seems to be very difficult. In [3], the class of the graphs f-rearrangeable in exactly two steps is studied and it is shown that even this special case involves nontrivial and interesting structure properties. We gave a simple condition for a Hamiltonian bipartite graph which assures its optimality. Many patterns of interconnection networks verify this condition. Since there exist optimal bipartite graphs which are not Hamiltonian, the characterization of the optimal bipartite graphs remains an open problem. TABLE 1 G
G
Number of m-routing on G
Number of f-routing steps on G
M n_n n even
M$ _ M" M$ . M"$M n_n2
2n+
T n_n n odd
C n_n (cylinder)
3n
32n
Hn
H$ _ H" H$ .H"$H n&1
2n&3
4n&5
Hn
H$ _ H" H$ .H"$H n&1
2n&3
4n&5
WBF n n even
M$ _ M" M$ . M"$M 2n_n2
n(n&2) 4
2n 2 +1
WBF n n odd
M2n_n
n(n&1) 2
4n(n 2 &n+1)
n 2
File: DISTL1 148817 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 2949 Signs: 2027 . Length: 52 pic 10 pts, 222 mm
10n+1
ROUTING PERMUTATIONS
179
The hypothesis of continuous moving of the packets makes relatively difficult the permutation routing on a graph G. In this paper, we proposed a general routing technic that we applied to some important families of interconnection networks: the 2D mesh and the hypercube. The routing technic is based on the simulation of an m-routing algorithm on a graph G, with V(G )=V(G). In [4], by using the same technic, it is proved that the nonbipartite instances of the 2D torus T m_n and the wrapped butterfly WBF n are f-rearrangeable. In Table 1, we illustrate the routing technic by giving the graph G for some families of graphs and by pointing the corresponding m-routing and f-routing complexities.
APPENDIX A.1. Proof of Proposition 6 1. If n is odd then 6(C n )=[(0, 1, ..., n&1) i : 0in]. Obviously, since 6 1 (C n )=[(0, 1, ..., n&1), (0, 1, ..., n&1) &1 ]. 2. If n is even then 6(C n )=G _ (0, 1, ..., n&1) G, where G=[(0, 2, ..., n&2) i : (1, 3, ..., n&1) j : 0i
File: DISTL1 148818 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 3086 Signs: 2004 . Length: 52 pic 10 pts, 222 mm
180
BARTH AND PANAITE
Thus, ? is f-routable in 2i+2( j&i)=2 j steps. Generally, we have ? f-routable in 2 max[ |i |, | j | ]2wn4x steps. It results that 4 even (C n )2 wn4x. For n=4k+2, 4 even (C n )2k and hence 4(C n )2k+1=n2 (see Lemma 3). Since the diameter of C n is equal to n2, it follows that 4(C n )=n2. For n=4k, 4 even (C n )=2k=n2. It is not difficult to see that, for every ? # 6(C n )"6 even (C n ), there exists $ # 6 1 (C n ) and ?$ # 6 even (C n ) such that ?=?$ b $ and the distance between x and ?$(x) is at most n2&2, for every x # [0, ..., n&1]. It follows that 4(C n , ?)4(C n , ?$)+12(n4&1)+1n2&1. We conclude that 4(C n )=4 even (C n )=n2. A.2. Proof of Lemma 9 If n is even and i odd, 3in&3, then A(En ) A(On )6(C(n, i)). Let n=2k and i=2h&1. For convenience, we refer the vertices of C(n, i) as follows: with t$ each vertex 2t&2 and with t" each vertex 2t&1, where 1tk (see Fig. 6) Let V$=[1$, 2$, ..., k$] and V"=[1", 2", ..., k"]. Since 6 even (C(n, i)) is a subgroup of S(V$) S(V"), there exist G$ and G" subgroups of S(V$) and S(V"), respectively, such that G$ G"=6 even (C(n, i)). In other words, we must prove that A(V$) A(V")G$ G". Due to the symmetry of C(n, i), it is sufficient to prove that A(V$)G$. Let us consider the three cycles of C(n, i). By an analogous reasoning as in the proof of Proposition 6, we obtain that the permutations (1$, 2$, ..., k$), (1$, 2$, ..., h$) and (1$, h+1)$, ..., k$) belong to 6 even (C(n, i)). Consequently, p=(1$, 2$, ..., k$), q=(1$, 2$, ..., h$), r=(1$, (h+1)$, ..., k$) (considered as permutations of V$) belong to G$. Case 1. h=2 or h=k&1. In this case, q or r is a transposition. Any other transposition of V$ can be generated by q, r, and p. Since every permutation can be written as a product of transpositions, G$=S(V$). In particular, A(V$)G$. Case 2. 3hk&2. In other words, q and r are cycles of length greater or equal to 3. Let A be a finite set, |A| 3, and H a subgroup of S(A). In [20, Lemma 2], it is proved that if H contains a 3-cycle and is transitive on A then A(A)H.
FIG. 6.
The graph C(2k, 2h&1).
ROUTING PERMUTATIONS
FIG. 7.
181
Sq and Do.
One can verify that p &1 b q b r=(1$, h$, k$); hence (1$, h$, k$) # G$. On the other side, G$ is transitive on V$, i.e., for every x, y # V$, there exists s # G$ such that s(x)= y. Indeed, considering without loss in generality that x=1$ and y=t$, we have s(x)= y for s= p t&1 # G$. We conclude that A(V$)G$. A.3. Proof of Lemma 23 1. The permutations Id Sq , (0, 2), (1, 3), and (0, 2)(1, 3) are [2] f-routable on Sq. (See Fig. 7). Id Sq =(0, 3, 2, 1)(0, 1, 2, 3); (0, 2)=[(0, 3)(1, 2)](0, 1, 2, 3); analogously for (1, 3); (0, 2)(1, 3)=(0, 1, 2, 3) 2. 2. The permutations Id Do , (0, 4), (1, 3), and (0, 4)(1, 3) are [2] f-routable on Do. Id Do =(0, 5, 4, 3, 2, 1)(0, 1, 2, 3, 4, 5); (0, 4)=[(0, 5)(1, 4)(2, 3)][(0, 1, 4, 5)(2, 3)]; analogously for (1, 3); (0, 4)(1, 3)=[(0, 5)(1, 4)(2, 3)](0, 1, 2, 3, 4, 5). 3. The permutations Id Do , (0, 2), (3, 5), and (0, 2)(3, 5) are [6] f-routable on Do. Id Do =(0, 5, 4, 3, 2, 1) 3 (0, 1, 2, 3, 4, 5) 3; (0, 2)=(0, 4)(2, 4)(0, 4) where (0, 4), (2, 4) # 6 2 (Do); analogously for (3, 5); The permutation (0, 2)(3, 5) can be expressed as (0, 4)(1, 5) followed by (1, 3)(2, 4) followed by (0, 4)(1, 5). Each of which is [2]f-routable by part 1.
REFERENCES 1. N. Alon, F. R. K. Chung, and R. L. Graham, Routing permutations on graphs via matchings, SIAM J. Discrete Math. 7 (1994), 513530. 2. F. Annexstein and M. Baumslag, A unified approach to off-line permutation routing on parallel networks, in ``Proc. of the 2nd Annual ACM SPAA,'' pp. 398406, 1990. 3. D. Barth and P. Panaite, Undirected graphs rearrangeable by 2-length walks, Networks, in press. 4. D. Barth and P. Panaite, Routing permutations on graphs via factors, Rapport de recherche, No. 1066 L.R.I., Univ. de Paris-Sud, 1996. 5. D. Barth and A. Raspaud, Two-edge-disjoint hamiltonian cycles in butterfly graph, Inform. Process. Lett. 51 (1994), 175179. 6. C. Delorme and P. Panaite, Rubik routing permutations on graphs, in ``Proc. of Euro-Par '96,'' LNCS 1123.
182
BARTH AND PANAITE
7. J. de Rumeur, ``Communications dans les reseaux de processeurs,'' Masson, Paris, 1994. 8. R. J. Douglas, Bounds on the number of Hamiltonian circuits in the n-cube, Discrete Math. 17 (1977), 143146. 9. P. Fraigniaud and E. Lazard, Methods and problems of communication in usual networks, Discrete Appl. Math. 53 (1994), 79133. 10. M. D. Grammatikakis, D. F. Hsu, M. Kraetzl, and J. Sibeyn, Multicomputer routing: a survey, submitted for publication. 11. F. T. Leighton, ``Introduction to Parallel Algorithms and Architectures: Arrays, Trees and Hypercubes,'' Morgan Kaufmann, San Mateo, 1992. 12. I. Newman and A. Schuster, Hot-potato algorithms for permutation routing, IEEE Trans. Parallel Distributed Systems 6, No. 11 (1995), 11681176. 13. F. P. Preparata and J. Vuillemin, The cube-connected cycle: A versatile network for parallel computation, Commun. ACM 24, No. 5 (1981), 300309. 14. C. S. Raghavendra and R. Boppana, On methods for fast and efficient parallel memory access, in ``Proc. of International Conference on Parallel Computing,'' Vol. I, pp. 7683, 1990. 15. M. Ramras, Routing permutations on a graph, Networks 23 (1993), 391398. 16. S. Ranka and S. Sahni, ``Hypercube Algorithms,'' Springer-Verlag, Berlin, 1990. 17. J. J. Rotman, ``An Introduction to the Theory of Groups,'' 3rd ed., Allyn 6 Bacon, Needham Heights, MA, 1984. 18. S. T. Schibell and R. M. Stafford, Processor interconnection networks from Cayley graphs, Discrete Appl. Math. 40 (1992), 33357. 19. A. M. Schwartz and M. C. Loui, Dictionary machines on cube-class networks, IEEE Trans. Computers C-36 (1987), 100105. 20. R. M. Wilson, Graph puzzles, homotopy, and the alternating group, J. Combinatorial Theory (B) 16 (1974), 8696.
File: DISTL1 148821 . By:GC . Date:13:10:98 . Time:11:26 LOP8M. V8.B. Page 01:01 Codes: 5591 Signs: 1737 . Length: 52 pic 10 pts, 222 mm