Interconnection Networks

1 / 30

# Interconnection Networks - PowerPoint PPT Presentation

Interconnection Networks. Direct Indirect Shared Memory Distributed Memory (Message passing). Topology. Diameter: Longest path length between two processors d = max { d min ( v i , v j ) | for all v i , v j  V } Node connectivity

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## Interconnection Networks

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Interconnection Networks
• Direct
• Indirect
• Shared Memory
• Distributed Memory (Message passing)
Topology
• Diameter: Longest path length between two processors

d = max {dmin(vi, vj) | for all vi, vj V}

• Node connectivity

min. # of nodes to be removed for the network to be disconnected

node connectivity r There are r disjoint paths between every pair of nodes.

Topology
• Fault diameter

Suppose the node connectivity = r, diameter of the network with at most r-1 faulty nodes

• Bisection width

The # of edges to be removed to separate the graph into two equal parts.

• Cost

1) # of nodes & # of edges

2) Bisection width.

cw (Channel width): # of wires connecting two nodes.
• cr (Channel rate): # of bits/sec/wire.
• Channel bandwidth = cw cr
• Bisection bandwidth

= bisection width  channel bandwidth

• Cost  Bisection bandwidth

bisection bandwidth is constant

Hypercube: N = 22n

bisection width = 22n-1

channel width = wh

bisection bandwidth = 22n-1 wh

• 2-D Torus: N = 22n

bisection width = 22n

channel width = wd

bisection bandwidth = 2n+1 wd

2n+1 wd = 22n-1 wh

wd / wh = 22n-1 / 2n+1 = 2n-2 = 2n/4 =  N /4

• 3-D Torus: w3d / wh = (N)1/3/4
Network Topology
• Graph Model:

Processors Nodes

Linear Array
• # of processors = n
• # of links = n-1
• Connection (i, i+1) for i=1,2, … , n-1
• Diameter(Longest Path Length)= n-1
• Communication delay

worst case: diameter

Average case: 1/n2 dij

. . . . .

1

2

3

n

Hypercube
• Hamming Distance

DH(x, y) = # of positions in which x & y differ

x & y are binary vectors

DH(1100, 0111) = 3

• Nodes are labeled as n-bit binary
• Two nodes, x & y, are adjacent if DH(x, y) =1

101

111

001

011

110

100

000

010

Product of graphs
• G1 = (V1, E1) & G2 = (V2, E2)

G1 G2 = G = (V, E)= (V1 V2 , E)

Two nodes in G, ((v1, v2), (v3, v4)) are adjacent

1) if v1= v3 and (v2, v4)  E2 or

2) if v2= v4 and (v1, v3)  E1

Q2 Qn-1= Qn or Qk Qn-k = Qk

101

111

001

011

110

100

000

010

A=(an-1, an-2, … , a1, a0)

B =(bn-1, bn-2, … , b1, b0)

an-1, an-2, … , a2, a1, a0

an-1, an-2, … , a2, a1, b0

an-1, an-2, … , a2, b1, b0

an-1, an-2, … , b2, b1, b0

an-1, bn-2, … , b2, b1, b0

bn-1, bn-2, … , b2, b1, b0

# of steps required

= DH(A, B)

Diameter of the network

= n = log2N

Average comm. delay

= 1/N (()+2( ) … n( ))

= n2n-1/N = n2n-1/2n

= n/2

Routing: A  B

n1

n2

nn

Connectivity

Let DH(x, y) = d

n : node disjoint paths between x & y

d : paths have length d

n-d : paths have length d+2

Example:

110000  111111, d(110000,111111)=4

11000

010000 100000 110001 110010 110100 111000

010001 100001 110011 110110 111100 111001

010011 100011 110111 111110 111101 111011

010111 100111

011111 101111

111111

Fault Diameter = n+1

De Bruijn Network
• # of nodes, N = 2n
• Node A=(an-1, an-2, …, a0 ) is adjacent to

1. an-2, an-3, … , a1, a0, 0

2. an-2, an-3, … , a1, a0, 1

3. 0 an-1, an-2, … , a1

4. 1 an-1, an-2, … , a1

De Bruijn Network

001

011

N=23 = 8

2n - 4 nodes have degree 4

2 nodes have degree 3

2 nodes have degree 2

# of links  42n / 2 = 2n+1

111

000

010

101

100

110

A=(an-1, an-2, … , a1, a0)

B =(bn-1, bn-2, … , b1, b0)

an-1, an-2, … , a2, a1, a0

an-2, an-3, … , a1, a0, bn-1

an-3, an-4, … , a0, bn-1, bn-2

an-4, an-5, … , bn-1, bn-2, bn-3

bn-1, bn-2, … , b2, b1, b0

 log2N

Example

A = 1010

B = 1101

1010

0101

1011

0110

1101

Routing: A  B
an-2, … , a1,a0, 0

an-3, … , a0, 0, 0

0, 0, 0, … , 0, 0

b0, 0, 0, … , 0, 0

b1, b0, 0, … , 0, 0

bn-2, bn-3, … , b0, 0

an-2, … , a1,a0, 1

an-3, … , a0, 1, 1

1, 1, 1, … , 1, 1

b0, 1, 1, … , 1, 1

b1, b0, 1, … , 1, 1

bn-2, bn-3, … , b0, 1

an-1, an-2, … , a1, a0

bn-1, bn-2, … , b1, b02-disjoint paths

k-ary n-cube
• Multidimensional torus

00

01

02

03

10

11

12

13

20

21

22

23

30

31

32

33

k-ary n-cube
• Given a node (an-1, an-2, … , a1, a0) adjacent to 2n nodes given by

(an-1, an-2, … , a1, a0±1)

(an-1, an-2, … , a1 ±1, a0)

:

(an-1 ±1, an-2, … , a1, a0)

• k=8, n=3 node (3 2 4) is adjacent to

(3, 2, 5), (3, 2, 3)

(3, 3, 4), (3, 1, 4)

(4, 2, 4), (2, 2, 4)

• N = # of nodes in k-ary n-cube = kn

00

01

02

03

101

111

10

11

12

13

001

011

20

21

22

23

110

100

000

010

30

31

32

33

k=2, n=3

Hypercube

k=4, n=2

0

1

7

• k=8
• Lee Distance

DL ((a3, a2, a1, a0 ), (b3, b2, b1, b0 ))

=  min (ai - bi, bi - ai ) mod k

DL (1 2 3, 3 2 1) = min (1-3, 3-1) + min (2-2, 2-2) + min (3-1, 1-3) = 2 + 0 + 2 = 4

2

6

5

3

4

A=(an-1, an-2, … , a1, a0)

B =(bn-1, bn-2, … , b1, b0)

an-1, an-2, … , a2, a1, a0 ±1

an-1, an-2, … , a2, a1, a0 ±2

:

an-1, an-2, … , a2, a1, b0

an-1, an-2, … , b2, a1 ±1, b0

:

an-1, an-2, … , a2, b1, b0

:

bn-1, bn-2, … , b2, b1, b0

Example (k=5)

(4,4,2,1) (2,1,4,4)

(4,4,2,1)

(4,4,2,0)

(4,4,2,4)

(4,4,3,4)

(4,4,4,4,)

(4,0,4,4)

(4,1,4,4)

(3,1,4,4)

(2,1,4,4)

# of steps = DL (A, B)

Routing: A  B
Torus of size kn-1, kn-2, … , k1, k0
• Processor (an-1, an-2, … , a1, a0)

0  ai < ki-1i = 0, 1, 2, … n-1

Decimal value

= an-1 (kn-2 kn-3, … , k0) + an-2 (kn-3 kn-4, … , k0) + … + a0

• Two nodes, A=(an-1, an-2, … , a1, a0) &

B =(bn-1, bn-2, … , b1, b0)

are adjacent if DL (A, B) = 1

Torus of size kn-1, kn-2, … , k1, k0
• Example: (854)

(3,2,1) = 3(54) + 24 + 1

= 60 + 8 +1 = 69 4 69

Decimal to mixed radix 5 17 … 1

69 = (3,2,1) 3 … 2

• Example: (888)

(3,2,4) = 382 + 28 + 4 8 212

= 364 + 16 +4 = 212 8 26 … 4

212 = (3,2,4) 3 … 2

(an-1, an-2, … , a1, a0)= an-1 kn-1 + an-2 kn-2 + … +a0

Embedding Cycles
• Hypercube - Gray codes

0 00 000 0000

1 01 001 0001

11 011 0011

10 010 0100

110 0110

111 0111

101 0101

100 0100

1100

1101

1111

000  000

001  001

010  011

011  010

100  110

101  111

110  101

111  100

f(xn-1xn-2 … x0)

= (gn-1gn-2 … g0)

where

gn-1 = xn-1

gi = xi xi+1

i= n-2, n-3, … ,0

10110  11101

Mapping (Binary to Gray)
k-ary n-cube

f(xn-1xn-2 … x0) = (gn-1gn-2 … g0)

gn-1 = xn-1

gi = xi - xi+1 mod k

for i= n-2, n-3, … ,0

3-ary 2-cube

0 00  00

1 01  01

2 02  02

3 10  12

4 11  10

5 12  11

6 20  21

7 21  22 k=5

8 22  20 2431  2243

00

01

02

10

11

12

20

21

22

De Bruijn Network

23 - node

sj+3 + sj+1 + sj= 0 sj+3 = sj+1 + sj mod 2

Initial conditions s0 =1, s1 = 0 and s2 = 1

s0s1s2s3s4s5s6s7s8 s9

1 0 1 1 1 0 0 1 0 1

101

011

111

110

100

000

001

010

101

001

011

111

000

010

101

100

110

How to choose this different equation?
• Take an n-r order difference equation whose characteristic equation is a primitive polynomial of degree r.

Primitive Polynomial

x2+x+1 x7+x3+1

x3+x+1 x8+x4+ x3+x2+1

x4+x+1 x9+x4+1

x5+x2+1 x10+x3+1

x6+x2+1 sj+5 = sj+2 + sj

Disjoint Cycle
• sj+3 = sj+1 + sj+1

Initial conditions s0 =1, s1 = 0 and s2 = 1

s0s1s2s3s4s5s6s7s8 s9

1 0 1 0 0 0 1 1 0 1

101

010

100

000

001

011

110