310 likes | 503 Views
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
E N D
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 = 22n 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 Wires joining processors Link
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 42n / 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 • Mixed radix number system • 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: (854) (3,2,1) = 3(54) + 24 + 1 = 60 + 8 +1 = 69 4 69 Decimal to mixed radix 5 17 … 1 69 = (3,2,1) 3 … 2 • Example: (888) (3,2,4) = 382 + 28 + 4 8 212 = 364 + 16 +4 = 212 8 26 … 4 212 = (3,2,4) 3 … 2 • Radix k-number (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: 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
3-ary 2-cube Radix Gray 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