Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interconnection Networks

Similar presentations


Presentation on theme: "Interconnection Networks"— Presentation transcript:

1 Interconnection Networks
Direct Indirect Shared Memory Distributed Memory (Message passing)

2 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.

3 Topology Fault diameter Bisection width Cost
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.

4 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

5 Hypercube: N = 22n 2-D Torus: N = 22n 3-D Torus: w3d / wh = (N)1/3/4
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

6 Network Topology Graph Model: Processors Nodes
Wires joining processors Link

7 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

8 Hypercube Hamming Distance Nodes are labeled as n-bit binary
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

9 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

10 Routing: A  B A=(an-1, an-2, … , a1, a0) # of steps required
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 n1 n2 nn

11 Connectivity Let DH(x, y) = d Example:
n : node disjoint paths between x & y d : paths have length d n-d : paths have length d+2 Example:  , d(110000,111111)=4

12 11000 111111 Fault Diameter = n+1

13 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 an-1, an-2, … , a1 an-1, an-2, … , a1

14 De Bruijn Network N=23 = 8 2n - 4 nodes have degree 4
# of links  42n / 2 = 2n+1 001 011 111 000 010 101 100 110

15 Routing: A  B A=(an-1, an-2, … , a1, a0) Example
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

16 bn-1, bn-2, … , b1, b0 2-disjoint paths
an-1, an-2, … , a1, a0 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-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 bn-1, bn-2, … , b1, b0 2-disjoint paths

17 k-ary n-cube Multidimensional torus 00 01 02 03 10 11 12 13 20 21 22
23 30 31 32 33

18 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

19 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

20 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) = = 4 1 7 2 6 5 3 4

21 Routing: A  B A=(an-1, an-2, … , a1, a0) Example (k=5)
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)

22 Torus of size kn-1, kn-2, … , k1, k0
Mixed radix number system Processor (an-1, an-2, … , a1, a0 ) 0  ai < ki-1 i = 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

23 Torus of size kn-1, kn-2, … , k1, k0
Example: (854) (3,2,1) = 3(54) + 24 + 1 = = Decimal to mixed radix … 1 69 = (3,2,1) … 2 Example: (888) (3,2,4) = 382 + 2 = 3 = … 4 212 = (3,2,4) … 2 Radix k-number (an-1, an-2, … , a1, a0)= an-1 kn-1 + an-2 kn-2 + … + a0

24 Embedding Cycles Hypercube - Gray codes 0 00 000 0000 1 01 001 0001
1100 1101 1111

25 Mapping (Binary to Gray)
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

26 k-ary n-cube f: Radix  Gray 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

27 3-ary 2-cube Radix Gray 0 00  00 1 01  01 2 02  02 3 10  12
 00  01  02  12  10  11  21  k=5   2243 00 01 02 10 11 12 20 21 22

28 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 s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 101 011 111 110 100 000 001 010 001 011 111 000 010 101 100 110

29 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 x7+x3+1 x3+x x8+x4+ x3+x2+1 x4+x x9+x4+1 x5+x x10+x3+1 x6+x sj+5 = sj+2 + sj

30 Disjoint Cycle sj+3 = sj+1 + sj+1
Initial conditions s0 =1, s1 = 0 and s2 = 1 s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 101 010 100 000 001 011 110


Download ppt "Interconnection Networks"

Similar presentations


Ads by Google