Improved compressions of cube-connected cycles networks

  • Published on
    10-Feb-2017

  • View
    213

  • Download
    1

Embed Size (px)

Transcript

<ul><li><p>IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 9, NO. 8, AUGUST 1998 803</p><p>Improved Compressions ofCube-Connected Cycles Networks</p><p>Ralf Klasing</p><p>AbstractWe present a new technique for the embedding of large cube-connected cycles networks (CCC) into smaller ones, aproblem that arises when algorithms designed for an architecture of an ideal size are to be executed on an existing architecture of afixed size. Using the new embedding strategy, we show that the CCC of dimension l can be embedded into the CCC of dimension kwith dilation 1 and optimum load for any k, l N, k 8, such 53</p><p>4 3</p><p>3 22, 2 3+ &lt; =</p><p>+</p><p>c ck k klk</p><p>k , thus improving known results. Our</p><p>embedding technique also leads to improved dilation-1 embeddings in the case 3253&lt; +</p><p>lk ck .</p><p>Index TermsParallel computations, parallel architectures, interconnection networks, graph embedding, network simulation, cube-connected cycles network.</p><p>F</p><p>1 INTRODUCTIONVER the past few years, a lot of research has been donein the field of interconnection networks for parallel</p><p>computer architectures (for an overview, cf. [19]). Much ofthe work has been focused on the capability of certain net-works to simulate other network or algorithm structures inorder to execute parallel algorithms of a special structureefficiently on different processor networks (see, e.g., [5],[17], [25]). One problem that is of specific interest in thiscontext is that many existing algorithms are designed forarbitrarily large networks (see, e.g., [19]), whereas, in prac-tice, the processor network will be fixed and of smaller size.Thus, the larger network must be simulated in an efficientway on the smaller target network. There is an enormousamount of literature on this problem (see, e.g., [3], [8], [14],[15], [21], [23], [24], [26], [30]).</p><p>Customarily, the simulation problem is formalized as theembedding problem of one graph in another (for a formaldefinition of the embedding problem, see Section 2). Thequality of an embedding is measured by the parametersload, dilation, and congestion. The importance of the differentparameters becomes apparent through the following result.</p><p>PROPOSITION 1 [20]. If there is an embedding of G into H withload ,, dilation d, and congestion c, then there is a simula-tion of G by H with slowdown O(, + d+ c).</p><p>As a consequence, the load ,, dilation d, and congestion chave been investigated for embeddings between manycommon network structures like hypercubes, binary trees,meshes, shuffle-exchange networks, deBruijn networks,cube-connected cycles, butterfly networks, etc. Most ofthe work was done on one-to-one embeddings (for anoverview, see, e.g., [25], [29]), but results on many-to-one</p><p>embeddings can also be found (see, e.g., [2], [6], [7], [9],[12], [13], [16], [18], [22], [26], [27]). In this paper, we focuson many-to-one embeddings of the cube-connected cyclesnetwork (CCC). The CCC was introduced as a network forparallel processing in [28]. It has fixed degree, small di-ameter, and good routing capabilities [19]. It can executethe important class of normal hypercube algorithms veryefficiently (see, e.g., [19]). In addition, there is also a strongstructural relationship to the deBruijn, shuffle-exchange,and butterfly networks [1], [10]. Hence, the efficient imple-mentation of algorithms on CCC networks (of fixed size) isof importance. According to Proposition 1, one way of exe-cuting algorithms designed for a CCC network of arbitrarysize efficiently on a CCC network of realistic (fixed) size, is tofind embeddings of large CCCs into small CCCs minimizingthe parameters load, dilation, and congestion. In this paper, wefocus on load and dilation. Using our embedding strategy,many important algorithms for large CCCs can be imple-mented very efficiently on a CCC network of realistic size.</p><p>Many-to-one embeddings of the CCC network have beeninvestigated in [2], [6], [12], [16], [27]. In [6], [12], [27], em-beddings with optimum dilation and load are presented inthe case of embedding CCCs of dimension l into k wherek|l. The authors also restrict themselves to special kinds ofembeddings of a very regular structure, like coverings [6],homogeneous emulations [12], and homomorphisms [27].Because of the very restricted nature, Bodlaender [6] andPeine [27] are also able to classify their embeddings com-pletely. In [2], a general procedure is described for mappingparallel algorithms into parallel architectures. This proce-dure is applied to the CCC network achieving dilation 1,but very high load. Also, only special kinds of embeddings,so-called contractions, are considered. In [16], the embed-ding problem for CCCs is investigated, taking into accountgeneral embedding functions and any possible networkdimension. More precisely, it is proved that the cube-connected cycles network of dimension l, CCC(l), can be em-bedded into CCC(k), l &gt; k, with</p><p>1045-9219/98/$10.00 1998 IEEE</p><p> The author is with the Department of Computer Science, University ofWarwick, Coventry CV4 7AL, England.E-mail: rak@dcs.warwick.ac.uk.</p><p>Manuscript received 20 May 1997.For information on obtaining reprints of this article, please send e-mail to:tpds@computer.org, and reference IEEECS Log Number 105085.</p><p>O</p></li><li><p>804 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 9, NO. 8, AUGUST 1998</p><p>1)dilation 2 and optimum load lkl k 2 ,</p><p>2)dilation 1 and load</p><p>lk</p><p>lk</p><p>pp p</p><p>pp</p><p>lk</p><p>pp</p><p>l k</p><p>l k</p><p>"## </p><p>"## </p><p> &lt; </p><p>%&amp;KK</p><p>'KK</p><p>2 2</p><p>2 12 2 3</p><p>2 31</p><p>2 1</p><p>for </p><p>for such that </p><p>,</p><p>, , .K&lt; A</p><p>In this paper, we present a new technique for the em-bedding of large cube-connected cycles networks intosmaller ones. Using the new embedding strategy, we show:</p><p>Let k, l N, k 8, such that 53 2+ &lt; cklk , ck</p><p>kk=</p><p>+4 3</p><p>3 22 3.</p><p>Then, there is a dilation 1 embedding of CCC(l) into CCC(k)</p><p>with load lkl k 2 .</p><p>This is optimal, and improves the results from [16]. Ourembedding technique also leads to improved dilation 1embeddings in the case 32</p><p>53&lt; +</p><p>lk kc .</p><p>The general strategy of the embeddings is the same as in[16], namely to map 2l-k cycles in CCC(l) of length l ontoone cycle in CCC(k) of length k and to allocate the nodes ofthe guest cycles in as balanced a manner as possible on thehost cycle. But, in order to improve the results from [16], acompletely different way of allocating the guest nodes onthe host cycle is introduced.</p><p>The paper is organized as follows. Section 2 contains thedefinitions of the terms used in the paper. Section 3 pres-ents the new embedding strategy. Section 4 presents thederived results. The conclusion gives an outlook on furtherconsequences of the new embedding technique.</p><p>2 DEFINITIONS(Most of the terminology is taken from [19], [25].) For anygraph G = (V, E), let V(G) = V denote the set of vertices of G,and E(G) = E denote the set of edges of G. Let a denote the</p><p>binary complement of a {0, 1}. For a = a0a1...am-1 {0, 1}m,</p><p>let ( )i a a a a ai i i m= + 0 1 1 1K K .</p><p>2.1 Cube-Connected Cycles NetworkThe (wrapped) cube-connected cycles network of dimension m,denoted by CCC(m), has vertex-set Vm = {0, 1, ..., m - 1} {0, 1}m, where {0, 1}m denotes the set of length-m binarystrings. For each vertex v = (i, a) Vm, i {0, 1, ..., m - 1},a {0, 1}m, we call i the level and a the position-within-level(PWL) string of v. The edges of CCC(m) are of two types: For</p><p>each i {0, 1, ..., m - 1} and each a = a0a1...am-1 {0, 1}m, the</p><p>vertex (i, a) on level i of CCC(m) is connected</p><p> by a cycle-edge with vertex ((i + 1) mod m, a) on level(i + 1) mod m and</p><p> by a cross-edge with vertex (i, a(i)) on level i.</p><p>For each a {0, 1}m, the cycle</p><p>(0, a) (1, a) (m - 1, a) (0, a)</p><p>of length m will be denoted by Ca(m) or Ca.</p><p>CCC(m) has m2m nodes, 3m2m-1 edges, and degree 3. Anillustration of CCC(3) is shown in Fig. 1.</p><p>2.2 Graph EmbeddingsLet G and H be finite undirected graphs. An embedding of Ginto H is a mapping f from the nodes of G to the nodes of H.G is called the guest graph and H is called the host graph ofthe embedding f. The load of the embedding f is the maxi-mum number of vertices of the guest graph G that aremapped to the same host graph vertex. (The optimum loadachievable is the ratio |V(G)|/|V(H)| of the number ofnodes in G and H.) The dilation of the embedding f is themaximum distance in the host between the images of adja-cent guest nodes. A routing is a mapping r of Gs edges topaths in H, r(v1, v2) = a path from f(v1) to f(v2) in H. The con-gestion of the embedding f is the maximum number ofedges that are routed through a single edge of H.</p><p>2.3 Lexicographic OrderingsLet Lex : {0, , m - 1} {0, 1}n N0, Lex(i, a0 an-1) = i2</p><p>n +a02</p><p>n-1 + a12n-2 + + an-12</p><p>0. Then, the lexicographic order on{0, 1, , m - 1} {0, 1}n is defined by</p><p>i j i j, , , , 0 5 1 6 0 5 1 6&lt; </p></li><li><p>KLASING: IMPROVED COMPRESSIONS OF CUBE-CONNECTED CYCLES NETWORKS 805</p><p>(i, b) according to the lexicographic order on {a1, ,b1} {0, 1}</p><p>r),</p><p> b ab ar b a</p><p>b ard j1 1</p><p>2 2</p><p>1 1</p><p>2 2</p><p>11</p><p>1 112 1 2</p><p> + +</p><p> + + ( ) for all j {a2,</p><p>, b2}.</p><p>(Note that such an allocation function d can always be con-structed for the parameters a1, b1, a2, b2, r as above.)</p><p>3 THE GENERAL EMBEDDING STRATEGYThe basic idea of the embeddings presented here is to map</p><p>2l-k cycles C C Cl k 1 2 2</p><p>, , ,K</p><p> in CCC(l) of length l onto one</p><p>cycle Cb of length k in CCC(k) and to allocate the l 2l-k nodes</p><p>of C Cl k 1 2</p><p>, ,K</p><p> appropriately among the k nodes of Cb .</p><p>FORMAL CONSTRUCTION:</p><p>Consider numbers p(0), p(1), , p(k - 1), where each p(i) {0, 1, , l - 1}, and each p(i) &lt; p(i + 1). Let</p><p>0 1 1 0 1 1</p><p>0 1 1</p><p>0 5 0 5 1 6 &lt; A0 5 0 5 1 6&lt; A</p><p>, , , , , , \</p><p>, , ,</p><p>K K</p><p>K</p><p>l k l</p><p>k</p><p>such that ( ) ( ) ( )0 1 1&lt; &lt; &lt; K l k . (Note that 0 1 1 0 1 10 5 0 5 1 6&lt; A 0 5 0 5 1 6&lt; A, , , &amp; , , ,K Kk l k </p><p>= 0 1 1, , ,K l&lt; A .)Let ap(0), ap(1), , ap(k-1) {0, 1}. The cycles</p><p>C a a aa a a l kl0 1 1 0 1 1 0 1K K 0 5 0 5 1 5 &lt; AJ L, , , ,of CCC(l) are mapped onto the cycle Ca a a k 0 1 10 5 0 5 1 6K </p><p> in</p><p>CCC(k) such that the nodes 0, 1, , l - 1 of each Ca a al0 1 1K are allocated appropriately among the nodes of Ca a a k ( ) ( ) ( )0 1 1K .</p><p>The exact allocation of the nodes of</p><p>C a a aa a a l kl0 1 1 0 1 1 0 1K K 0 5 0 5 1 5 &lt; AJ L, , , ,on Ca a a k ( ) ( ) ( )0 1 1K is determined by an allocation function</p><p>d : {0, 1, , l - 1} {0, 1}l-k {0, 1, , k - 1}</p><p>which specifies, for each node number {0, 1, , l - 1} onthe guest cycle Ca a al0 1 1K and each cycle index</p><p>a a a l k 0 1 10 5 0 5 1 5K ,</p><p>the position on the host cycle Ca a a k ( ) ( )0 1 10 5K . (On each host</p><p>cycle Ca a a k 0 1 10 5 0 5 1 6K , a a a k 0 1 1 0 10 5 0 5 1 5, , , { , }K , the same</p><p>allocation function is used.) Formally, the embedding f :V(CCC(l)) V(CCC(k)) is of the form</p><p>f i a a a d i a a a a</p><p>i l a a a</p><p>l l k k</p><p>ll</p><p>, : , ,</p><p>, , .</p><p>0 1 1 0 1 0 1</p><p>0 1 10 1 0 1</p><p>K K K</p><p>K</p><p>= </p><p>2 7 4 9&lt; A</p><p>0 5 1 5 0 5 1 5 </p><p>for all </p><p>The load of f is determined by the allocation function d.Therefore, d should allocate the guest nodes in as balanceda manner as possible on each host cycle. In the sequel, dwill be chosen such that</p><p> d(p(i), b) = i for all 0 i k - 1, b {0, 1}l-k.</p><p>This guarantees that all the cross-edges</p><p>(i, a) (i, a(i)), i {p(0), p(1), , p(k - 1)}</p><p>of CCC(l) are mapped onto a corresponding cross-edge inCCC(k). All the other edges of CCC(l) are mapped onto a</p><p>path on a single cycle Cb in CCC(k). So, in this case, the di-lation is directly dependent on the allocation d of the guestnodes on the host cycle and stands partly in contrast to thedesired balancedness of the allocation as explained above.</p><p>For low dilation, the values of p(0), p(1), , p(k - 1)should be allocated in a relatively balanced manner among</p><p>0, 1, , l - 1, and the nodes (i, a0a1 al-1) and (j, b0b1 bl-1)of the cycles C C C</p><p>l k 1 2 2, , ,K</p><p> of CCC(l) with a small</p><p>lexicographical distance between ( , )i a a l k 0 10 5 1 5K and( , )j b b l k 0 10 5 1 5K should be mapped close together on the</p><p>cycle Cb in CCC(k).In [16], for 1 &lt; l/k 2, it was shown that the values of</p><p>p(0), p(1), , p(k - 1) can be specified such that the followingholds:</p><p>1)p(i + 1) - p(i) 2 for all 0 i &lt; k - 1.2)The nodes</p><p> i a a a a a al l k0 52 7 &lt; AJ L0 5 0 5 1 5, , , , ,0 1 1 0 1 1 0 1K K are mapped onto (i, ap(0)ap(1)ap(k-1)) for 0 i k - 1,ap(0), ap(1), , ap(k-1) {0, 1}.</p><p>3)The nodes</p><p> i a a a i l k a a al l k0 52 7J&lt; AB</p><p>0 5 0 5 1 5, , , , ,</p><p>,</p><p>0 1 1 0 1 10 1</p><p>0 1</p><p>K K </p><p>can be allocated in a balanced manner in certain sec-tions of the host cycle</p><p>C a a aa a a kk 0 1 1 0 1 1 0 10 5 0 5 1 6 0 5 0 5 1 5 &lt; AK K , , , , , ,while maintaining dilation 1 at the same time.</p><p>Here, for 534 3</p><p>3 22 2 3+ &lt; =</p><p>+</p><p>c cklk k</p><p>kk, , we show that p(0),</p><p>p(1), , p(k - 1) can be specified such that the followingholds:</p><p>1)p(i + 1) - p(i) 3 for all 0 i &lt; k - 1.2)The nodes</p><p> i a a a a a al l k0 52 7 &lt; AJ L0 5 0 5 1 5, , , , ,0 1 1 0 1 1 0 1K K are mapped onto (i, ap(0)ap(1)ap(k-1)) for 0 i k - 1,ap(0), ap(1), , ap(k-1) {0, 1}.</p><p>3)The nodes</p><p> i a a a i l k a a al l k0 52 7J&lt; AB</p><p>0 5 0 5 1 5, , , , ,</p><p>,</p><p>0 1 1 0 1 10 1</p><p>0 1</p><p>K K </p><p>can be allocated in a balanced manner on the com-plete host cycle</p><p>C a a aa a a kk 0 1 1 0 1 1 0 10 5 0 5 1 6 0 5 0 5 1 5 &lt; AK K , , , , , ,while maintaining dilation 1 at the same time.</p></li><li><p>806 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 9, NO. 8, AUGUST 1998</p><p>The main new technical contribution will be to show thatthe guest nodes</p><p>i a a a i a a a</p><p>a a a</p><p>l l</p><p>l k</p><p>0 52 7 0 52 7&gt;&lt; AL0 5 0 5 1 5</p><p>+ +</p><p>1 2</p><p>0 1</p><p>0 1 1 0 1 1</p><p>0 1 1</p><p>, , ,</p><p>, , , ,</p><p>K K</p><p>K</p><p>can be allocated in an appropriate way among the hostnodes {(j, ap(0)ap(1)ap(k-1)) | j {i - 1, i, i + 1, i + 2}} for 0 i&lt; k - 1 such that p(i + 1) - p(i) = 3, while maintaining dila-tion 1 at the same time.</p><p>4 IMPROVED DILATION 1 EMBEDDING OF THE CCCTHEOREM 1. Let k, l N, k 8, such that 53 2+ &lt; ck</p><p>lk ,</p><p>ckk</p><p>k=+</p><p>4 3</p><p>3 22 3. Then, there is a dilation 1 embedding of</p><p>CCC(l) into CCC(k) with load lkl k 2 .</p><p>PROOF. (A) l - k evenWe show that the construction of Section 3 can be</p><p>adapted to yield an embedding of CCC(l) into CCC(k)</p><p>with dilation 1 and load lkl k 2 .</p><p>For this, we specify the allocation d and the indicesp(i) for the embedding f in the construction of Section 3.</p><p>For 0 12 i l k , let</p><p>h ii ll k</p><p>kl k0 5 : =</p><p>"## +</p><p>2 3</p><p>21.</p><p>(Then, h h ll k( ) ,0 1 1 32= = 3 8 ,.) For 0 i l - k - 1,</p><p>let</p><p> ih</p><p>ii</p><p>hi</p><p>i0 5 : =</p><p> ! </p><p>#$#</p><p> +</p><p>%&amp;KK</p><p>'KK</p><p>2</p><p>2 1</p><p>if is even,</p><p>if is odd.</p><p>Let</p><p> ( ), ( ), , ( ) { , , , } \ { ( ), ( ), , ( )}0 1 1 0 1 1 0 1 1K K Kk l l k </p><p>such that p(0) &lt; p(1) &lt; &lt; p(k - 1). (Note that</p><p> 0 1 1 0 1 10 5 0 5 1 6&lt; A 0 5 0 5 1 6&lt; A, , , &amp; , , ,K Kk l k = 0 1 1, , ,K l&lt; A .)</p><p>For the time being, we only construct the allocationd : {0, 1, , l - 1} {0, 1}l-k {0, 1, , k - 1} partially,namely we specify d(i, b) for i {p(0), p(1), , p(k - 1)}.Let</p><p>d(p(i), b) := i for all 0 i k - 1, b {0, 1}l-k. (*)</p><p>(Later on, d(i, b) is specified fori l k { , , , } 0 1 10 5 0 5 1 6K .</p><p>For the moment, d(i, b) may have an arbitrary valuefor i l k { , , , } 0 1 10 5 0 5 1 6K .)</p><p>Now, the embedding f of CCC(l) into CCC(k) is de-fined as in the construction of...</p></li></ul>

Recommended

View more >