• 沒有找到結果。

An efficient tag-based routing algorithm for the backward network of a bidirectional general shuffle-exchange network

N/A
N/A
Protected

Academic year: 2021

Share "An efficient tag-based routing algorithm for the backward network of a bidirectional general shuffle-exchange network"

Copied!
3
0
0

加載中.... (立即查看全文)

全文

(1)

296 IEEE COMMUNICATIONS LETTERS, VOL. 10, NO. 4, APRIL 2006

An Efficient Tag-Based Routing Algorithm for the

Backward Network of a Bidirectional General

Shuffle-Exchange Network

in Honor of Frank K. Hwang’s 65th Birthday

Chiuyuan Chen and Jing-Kai Lou

Abstract— This letter considers the problem of designing efficient routing algorithms for the backward network of a bidirectional general shuffle-exchange network (BNBGSEN for short); switch elements in the network are of sizek × k. It has been shown in [1] that the algorithm in [5] can be used to obtain (as many ask) backward control tags for a source j to get to a destination i in a BNBGSEN. In this letter, we show that a BNBGSEN has a wonderful property: for each destination i, there are two backward control tags associated with it such that every sourcej can get to i by using one of the two tags. We use this property to derive an efficient tag-based routing algorithm.

Index Terms— Multistage interconnection network, Omega network, shuffle-exchange, tag-based routing algorithm.

I. INTRODUCTION

T

HE purpose of this letter is to derive an efficient tag-based routing algorithm for the backward network of a bidirectional general shuffle-exchange network. Throughout this letter, N denotes the number of inputs and outputs of the network and all the switch elements are of size k× k.

Shuffle-exchange networks have been proposed as a popular architecture for interconnection networks; see [2], [3], [4], [5], [6]. The general shuffle-exchange operation on N terminals (k| N) is the permutation π defined by

π(i) = (ki + ki

N



) mod N, 0 ≤ i ≤ N− 1.

A shuffle-exchange network is a network with N= kd inputs and outputs and each stage consists of the general shuffle on N terminals followed by N/k switch elements.

In a multistage interconnection network, a path from a source to a destination can be described by a sequence of labels that label the successive links on this path. Such a sequence is called a control tag [5] or tag [1]. The control tag may be used as a header for routing a message: each suc-cessive switch element uses the first element of the sequence to route the message, and then discards it.

When N is a power of k and when the number of stages is exactly logkN, the shuffle-exchange network is the Omega

Manuscript received November 3, 2005. The associate editor coordinating the review of this letter and approving it for publication was Aleksander Kolarov. This research was partially supported by the National Science Council of the Republic of China under the grant NSC94-2115-M-009-006.

The authors are with the Department of Applied Mathematics, National Chiao Tung University, Hsinchu 300, Taiwan (e-mail: cy-chen@mail.nctu.edu.tw).

Digital Object Identifier 10.1109/LCOMM.2006.04007.

network (see [4]) and its control tags depend only on the destination. In [5], Padmanbhan proposed the general shuffle-exchange network (GSEN), which allows N = kd and contains exactly logkN stages. Padmanbhan proposed an elegant tag-based routing algorithm for a GSEN and showed that the control tags depend on both the source and the destination when N = kd.

In [1], Chen, Liu and Qiu enhanced the GSEN with bidirec-tional links. Their reason for the enhancement is that although unidirectional links are widely used, bidirectional links also have many applications as suggested in [2]. A bidirectional GSEN can be divided into two dependent networks: the forward network and the backward network. The forward (backward) network is from the left-hand (right-hand) side of the network to the right-hand (left-hand) side of the network; thus a request in it is sent from left (right) to right (left). The control tags used in the forward (backward) network are called the forward (backward) control tags.

Since a forward network is a GSEN, Padmanbhan’s tag-based routing algorithm can be used in it. As for the backward network, Chen et al. [1] implemented a tag-based routing algorithm (call it CLQ-algorithm for convenience) by using the forward tag inversely. More precisely, CLQ-algorithm first runs Padmanbhan’s tag-based routing algorithm to derive the forward control tag; then, it runs another procedure to convert the forward control tag into the backward control tag. If the number of stages is n+ 1, then CLQ-algorithm takes O(n) time to derive the tag for a source j to get to a destination i and takes O(N2n) time to construct the routing table (a

table that contains the backward control tags for routing the N× N pairs of nodes in the backward network).

In this letter, we show that the backward network has a wonderful property: for each destination i, there are two backward control tags associated with it such that every source j can get to i by using one of the two tags. We show that the two tags can be derived in O(n) time. Therefore, it is possible to derive in O(n) time not only a tag for a j to get to i but also the tags for every j to get to i. So, constructing the routing table can be done in O(Nn) time. We summarize below.

time required to CLQ-algo. our algo.

find a tag for aj to get to i O(n) O(n)

find the tags for everyj to get to i O(Nn) O(n) construct the routing table O(N2n) O(Nn)

(2)

CHEN and LOU: AN EFFICIENT TAG-BASED ROUTING ALGORITHM FOR THE BACKWARD NETWORK 297

stage 0

stage 0 stage 1stage 1 stage 2stage 2 stage 3stage 3 stage 4stage 4

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Fig. 1. GSEN(2,11,5). The switch elements that can get to i = 6 are highlighted; ifj ≥ 16, then j can get to i = 6 using the tag 0 0 0 1 0.

II. BIDIRECTIONALGSENANDCONVENTIONS

The following definition was given in [1]. A bidirectional general shuffle-exchange network GSEN(k, r, n+1) is a GSEN with bidirectional links. The switch elements are aligned in n+ 1 stages, labelled 0, 1, · · · , n. Each stage consists of r switch elements, labelled0, 1, · · · , r − 1. And each switch element is a k× k bidirectional crossbar. For example, the network in Figure 1 is GSEN(2,11,5).

Note that in GSEN(k, r, n + 1), there are a total of N = k × r ports on each side of a stage, labelled 0, 1, · · · , N− 1.

The parameters k, r and n satisfy the following equation: logk(k · r) = logkN = n + 1.

Throughout this letter, in a stage, the switch element la-belled 0 is considered to be the successive switch element of the switch element labelled r− 1. Also, terminal i (j) is assumed on the left-hand (right-hand) side of the network.

III. OURALGORITHM

In this section, we will propose an algorithm to compute the two backward control tags sn sn−1 · · · s0, sn sn−1 · · · s0 and a critical value v(i) associated with a given i. We will prove that if j < v(i), then j can get to i by using the tag sn sn−1 · · · s0 and if j≥ v(i), then j can get to i by using

the tag sn sn−1 · · · s0.

The following observations are crucial to our algorithm: At stage 0, only one switch element can get to i. At stage 1, ex-actly k switch elements can get to i and these switch elements are consecutive. At stage 2, exactly k2 switch elements can get to i and these switch elements are consecutive. In general, at stage , 0 ≤  ≤ n − 1, exactly k switch elements can get to i and these switch elements are consecutive. Clearly, at stage n (the last stage), all the r switch elements can get to i. Since at stage  the switch elements that can get to i are consecutive, we only need to store the label of the first one. Let C denote this label. Clearly, we have C= i × k (mod r). A critical value v(i) associated with i is defined to be v(i) = Cn× k. The following is our algorithm.

BACKWARD-CONTROL-TAGS.

Input: i on the left-hand side of a bidirectional GSEN(k, r, n + 1).

Output:The critical value v(i) and the two backward control tags sn sn−1 · · · s0and sn sn−1 · · · s0 associated with i.

1. /* Compute C0, C1, · · · , Cn. */ for = 0 to n do

C← i × k (mod r);

2. /* Compute the critical value v(i). */ v(i) ← Cn× k; 3. /* Compute F0, F1, · · · , Fn. */ if (r − Cn−1) × k ≥ r then begin for = 0 to n − 1 do F← 0; Fn← 1; end else for = 0 to n do if C+ k> r then F← 1 else F← 0; 4. /* Compute the tag sn sn−1 · · · s0. */

s 0 i r  ; for = 1 to n do s  k×C−1 r  ; 5. /* Compute the tag sn sn−1 · · · s0. */

for = 0 to n do s← s+ F (mod k);

END-of-BACKWARD-CONTROL-TAGS.

Again, take Figure 1 as an example. Suppose i= 6. Then C0 = 6, C1 = 1, C2 = 2, C3 = 4, C4 = 8, v(i) = 16, F0= 0, F1= 0, F2= 0, F3= 0, F4= 1. Thus

s4 s3 s2 s1 s0= 1 0 0 1 0, s

4 s3 s2s1s0= 0 0 0 1 0.

It is not difficult to verify that: if j <16, then j can get to 6 by using the tag 1 0 0 1 0; if j≥ 16, then j can get to 6 by using the tag 0 0 0 1 0.

Recall that there are a total of N ports on each side of a stage, labelled 0, 1, · · · , N− 1. A port R consists of two parts: the number y of the switch element where R is located, and the sub port number z in the switch element where R is located; see [1]. R and y and z satisfy R = k · y + z. The following result was proved in [1].

Lemma 1: [1] Suppose port u of stage − 1 and port v of stage  are connected by a link, where u = k · y1+ z1 and v = k · y2+ z2. Then z2=k·uN

 . Thus we have

Lemma 2: Let u, v, y1, z1, y2, z2 be defined as in Lemma 1 and consider the switch elements labelled y1 and y2. Then the backward control tag for y2 to get to y1 (or for y2 to get to u) is z2; moreover, z2=ur.

Proof: Clearly, the tag is z2. Since N = k×r, by Lemma 1, z2=ur.

We now prove that

Lemma 3: If j= v(i), then j can get to i by using the tag s

n sn−1 · · · s0.

Proof: If j= v(i), then j can get to i via switch elements labelled Cn, Cn−1, · · · , C0. For each , 1 ≤  ≤ n, C is linked to C−1via sub port 0 of C−1. Sub port 0 of C−1 is

(3)

298 IEEE COMMUNICATIONS LETTERS, VOL. 10, NO. 4, APRIL 2006

port u of C−1, where u= k × C−1. Thus by Lemma 2, the tag for C to get to C−1 is



k×C−1 r



. Also by Lemma 2, the tag for C0 to get to i isri. In Step 3, we set s0=ir and s=



k×C−1 r



, for = 1, 2, · · · , n. Hence the lemma. Lemma 4: If j > v(i), then j can get to i by using the tag s

n sn−1 · · · s0.

Proof: Note that kn < N ≤ kn+1. Set d= j − v(i) for easy writing. Then 0 < d ≤ N− 1. Thus 0 < kn−+1d N−1 kn+1 k N−1 N k < k and therefore 0 ≤  d kn−+1  < k.

Note that j can get to i via switch elements labelled Cn+ d k  , Cn−1+kd2  , Cn−2+kd3  , · · ·, C+kn−+1d  , · · ·, C1+ d kn  , C0+kn+1d 

. The connection of a GSEN ensures that if C, 1 ≤  ≤ n, is connected to C−1 via sub port z2, then C+kn−+1d



is connected to C−1+kn−+2d

 via sub port z2. By Lemma 2, the tag for C+kn−+1d

 to get to C−1+kn−+2d



is z2; by Lemma 3, z2 = s. Note that

0 < d kn+1 N −1 N < 1. Thus C0+  d kn+1  = C0. By Lemma 3, the tag for C0 to get to i is s0. Hence the lemma.

Lemma 5: If j < v(i) and (r − Cn−1) × k ≥ r, then j can get to i by using the tag sn sn−1 · · · s0.

Proof: Set d= j−v(i)+Nfor easy writing. Then j can get to i via switch elements labelled Cn+dk− r, Cn−1+kd2

 , Cn−2+d k3  ,· · ·, C+kn−+1d  ,· · ·, C1+kdn  , C0+kn+1d  . The connection of a GSEN ensures that if Cn is connected to Cn−1 via sub port z2, then Cn+dk− r is connected to Cn−1+d

k2



via sub port z2+1 (mod k). By Lemma 2, the

tag for Cn+dk−r to get to Cn−1+kd2



is z2+1 (mod k). By Lemma 3, z2= sn. In our algorithm, we set Fn= 1 and set sn = sn+ Fn (mod k). Thus sn = z2+ 1 (mod k). Again, the connection of a GSEN ensures that if C,1 ≤  ≤ n−1, is connected to C−1via sub port z2, then C+kn−+1d

 is connected to C−1+kn−+2d



via sub port z2. By Lemma 2, the tag for C+kn−+1d



to get to C−1+kn−+2d

 is z2. By Lemma 3, z2 = s. In our algorithm, we set F = 0

and set s = s+ F (mod k). Thus s = z2. Note that 0 < d kn+1 N −1 N < 1. Thus C0+  d kn+1  = C0. By Lemma

3, the tag for C0 to get to i is s0. In our algorithm, we set F = 0 and set s0 = s0+ F0 (mod k). Thus s0 = s0. We

now have this lemma.

Lemma 6: If j < v(i) and (r − Cn−1) × k < r, then j can get to i by using the tag sn sn−1 · · · s0.

Proof: Set d= j −v(i)+N for easy writing. Then j can get to i via switch elements labelled Ln, Ln−1,· · ·, L,· · ·, L1, L0, where Ln= Cn+ d k  − r and for = n − 1, n − 2, · · · , 0, L=  C+ d kn−+1  if C+ k≤ r, C+ d kn−+1  − r if C+ k> r.

The connection of a GSEN ensures that if Cn is connected to Cn−1 via sub port z2, then Ln is connected to Ln−1 via sub port z2+ 1 (mod k). By Lemma 2, the tag for Ln to get to Ln−1 is z2+ 1 (mod k). By Lemma 3, z2 = sn.

Note that Cn + kn > r. Thus our algorithm sets Fn = 1. Since our algorithm sets sn = sn+ Fn (mod k), clearly sn = z2+ 1 (mod k). Again, the connection of a GSEN

ensures that if C, 1 ≤  ≤ n − 1, is connected to C−1 via sub port z2, then L is connected to L−1 via sub port z2 if L= C+kn−+1d



and via sub port z2+1 (mod k) if L= C+ d

kn−+1



−r. Thus by Lemma 2, the tag for Lto get to L−1 is z2 if L= C+kn−+1d



and is z2+ 1 (mod k) if L= C+kn−+1d



−r. By Lemma 3, z2= sn. Our algorithm

sets F= 0 if C+ k≤ r (i.e., if L= C+kn−+1d  ), sets F= 1 if C+k> r (i.e., if L= C+kn−+1d  −r) and sets s= s +F (mod k). Thus s= z2if L= C+kn−+1d  and s= z2+ 1 (mod k) if L= C+kn−+1d  − r. Note that 0 < kn+1d N −1 N < 1. Thus L0 = C0. By Lemma 3,

the tag for L0 to get to i is s0. Note that C0+ k0≤ r. Thus our algorithm sets F0 = 0 and set s0 = s0+ F0 (mod k). Thus s0= s0. We now have this lemma.

The following is our main result:

Theorem 7: If j < v(i), then j can get to i by using the tag sn sn−1 · · · s0; if j≥ v(i), then j can get to i by using the

tag sn sn−1 · · · s0. Moreover, it takes O(n) time to compute v(i) and the two tags.

Proof: Since k can be computed from k−1 by k = k · k−1, it takes O(1) time to compute k. So, it takes O(n)

time to compute v(i) and the two tags. This theorem now follows from Lemma 3, Lemma 4, Lemma 5 and Lemma 6.

The following is the routing table for GSEN(2, 11, 5), which is generated by a computer program implemented from our algorithm. i v(i) s4...s0 s4...s0 i v(i) s4...s0 s4...s0 0 0 10000 00000 11 0 10001 00001 1 10 01000 10000 12 10 01001 10001 2 20 11000 01000 13 20 11001 01001 3 8 10100 00100 14 8 10101 00101 4 18 01100 10100 15 18 01101 10101 5 6 00010 11100 16 6 00011 11101 6 16 10010 00010 17 16 10011 00011 7 4 11010 01010 18 4 11011 01011 8 14 00110 11010 19 14 00111 11011 9 2 01110 10110 20 2 01111 10111 10 12 11110 01110 21 12 11111 01111 REFERENCES

[1] Z. Chen, Z. Liu and Z. Qiu, “Bidirectional shuffle-exchange network and tag-based routing algorithm,” IEEE Commun. Lett., vol. 7, no. 3, pp. 121-123, Mar. 2003.

[2] M. Gerla, E. Leonardi, F. Neri, and P. Palnati, “Routing in the bidi-rectional shufflenet,” IEEE/ACM Trans. Networking, vol. 9, no. 1, pp. 91-103, Feb. 2001.

[3] F. K. Hwang, “The mathmatical theory of nonblocking switching net-works,” Series on Applied Mathematics, vol. 15, ch. 1, pp. 12-22, 2004. [4] D. H. Lawrie, “Access and alignment of data in an array processor,” IEEE

Trans. Comput., vol. 24, no. 12, pp. 1145-1155, Dec. 1975.

[5] K. Padmanabham, “Design and analysis of even-sized binary shuffle-exchange networks for multiprocessors,” IEEE Trans. Parallel and Dis-trib. Syst., vol. 2, no. 4, pp. 385-397, Oct. 1991.

[6] R. Ramaswami, “Multi-wavelength lightwave networks for computer communication,” IEEE Commun. Mag., vol. 31, no. 2, pp. 78-88, Feb. 1993.

數據

table that contains the backward control tags for routing the N  × N  pairs of nodes in the backward network).
Fig. 1. GSEN(2,11,5). The switch elements that can get to i = 6 are highlighted; if j ≥ 16, then j can get to i = 6 using the tag 0 0 0 1 0.

參考文獻

相關文件

Then, based on these systematically generated smoothing functions, a unified neural network model is pro- posed for solving absolute value equationB. The issues regarding

„ An adaptation layer is used to support specific primitives as required by a particular signaling application. „ The standard SS7 applications (e.g., ISUP) do not realize that

Is end-to-end congestion control sufficient for fair and efficient network usage. If not, what should we do

Responsible for providing reliable data transmission Data Link Layer from one node to another. Concerned with routing data from one network node Network Layer

Given a graph and a set of p sources, the problem of finding the minimum routing cost spanning tree (MRCT) is NP-hard for any constant p &gt; 1 [9].. When p = 1, i.e., there is only

The MTMH problem is divided into three subproblems which are separately solved in the following three stages: (1) find a minimum set of tag SNPs based on pairwise perfect LD

This study proposed the Minimum Risk Neural Network (MRNN), which is based on back-propagation network (BPN) and combined with the concept of maximization of classification margin

To solve this problem, this study proposed a novel neural network model, Ecological Succession Neural Network (ESNN), which is inspired by the concept of ecological succession