1 Interconnection Networks Direct Indirect Shared Memory Distributed Memory (Message passing)
2 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 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 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 = 2 2n bisection width = 2 2n-1 channel width = w h bisection bandwidth = 2 2n-1 w h 2-D Torus: N = 2 2n bisection width = 2 2 n channel width = w d bisection bandwidth = 2 n+1 w d 2 n+1 w d = 2 2n-1 w h w d / w h = 2 2n-1 / 2 n+1 = 2 n-2 = 2 n /4 = N /4 3-D Torus: w 3d / w h = (N) 1/3 /4
6 Network Topology Graph Model: ProcessorsNodes Wires joining processorsLink
7 Linear Array 1 # 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/n 2 d ij 32n.....
8 Hypercube Hamming Distance D H (x, y) = # of positions in which x & y differ x & y are binary vectors D H (1100, 0111) = 3 Nodes are labeled as n-bit binary Two nodes, x & y, are adjacent if D H (x, y) =
9 Product of graphs G 1 = (V 1, E 1 ) & G 2 = (V 2, E 2 ) G 1 G 2 = G = (V, E)= (V 1 V 2, E) Two nodes in G, ((v 1, v 2 ), (v 3, v 4 )) are adjacent 1) if v 1 = v 3 and (v 2, v 4 ) E 2 or 2) if v 2 = v 4 and (v 1, v 3 ) E 1 Q 2 Q n-1 = Q n or Q k Q n-k = Q k
10 Routing: A B A=(a n-1, a n-2, …, a 1, a 0 ) B =(b n-1, b n-2, …, b 1, b 0 ) a n-1, a n-2, …, a 2, a 1, a 0 a n-1, a n-2, …, a 2, a 1, b 0 a n-1, a n-2, …, a 2, b 1, b 0 a n-1, a n-2, …, b 2, b 1, b 0 a n-1, b n-2, …, b 2, b 1, b 0 b n-1, b n-2, …, b 2, b 1, b 0 # of steps required = D H (A, B) Diameter of the network = n = log 2 N Average comm. delay = 1/N (( )+2( ) … n( )) = n2 n-1 /N = n2 n-1 /2 n = n/2 n1n1 n2n2n
11 Connectivity Let D H (x, y) = d n : node disjoint paths between x & y d : paths have length d n-d : paths have length d+2 Example: , d(110000,111111)=4
Fault Diameter = n+1
13 De Bruijn Network # of nodes, N = 2 n Node A=(a n-1, a n-2, …, a 0 ) is adjacent to 1. a n-2, a n-3, …, a 1, a 0, 0 2. a n-2, a n-3, …, a 1, a 0, a n-1, a n-2, …, a a n-1, a n-2, …, a 1
14 De Bruijn Network N=2 3 = 8 2 n - 4 nodes have degree 4 2 nodes have degree 3 2 nodes have degree 2 # of links 4 2 n / 2 = 2 n
15 Routing: A B A=(a n-1, a n-2, …, a 1, a 0 ) B =(b n-1, b n-2, …, b 1, b 0 ) a n-1, a n-2, …, a 2, a 1, a 0 a n-2, a n-3, …, a 1, a 0, b n-1 a n-3, a n-4, …, a 0, b n-1, b n-2 a n-4, a n-5, …, b n-1, b n-2, b n-3 b n-1, b n-2, …, b 2, b 1, b 0 log 2 N Example A = 1010 B =
16 a n-1, a n-2, …, a 1, a 0 a n-2, …, a 1, a 0, 0 a n-3, …, a 0, 0, 0 … 0, 0, 0, …, 0, 0 b 0, 0, 0, …, 0, 0 b 1, b 0, 0, …, 0, 0 … b n-2, b n-3, …, b 0, 0 a n-2, …, a 1, a 0, 1 a n-3, …, a 0, 1, 1 … 1, 1, 1, …, 1, 1 b 0, 1, 1, …, 1, 1 b 1, b 0, 1, …, 1, 1 … b n-2, b n-3, …, b 0, 1 b n-1, b n-2, …, b 1, b 0 2-disjoint paths
17 k-ary n-cube Multidimensional torus
18 k-ary n-cube Given a node (a n-1, a n-2, …, a 1, a 0 ) adjacent to 2n nodes given by (a n-1, a n-2, …, a 1, a 0 ±1) (a n-1, a n-2, …, a 1 ±1, a 0 ) : (a n-1 ±1, a n-2, …, a 1, a 0 ) k=8, n=3node (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 = k n
k=4, n=2 k=2, n=3 Hypercube
20 0 k=8 Lee Distance D L ((a 3, a 2, a 1, a 0 ), (b 3, b 2, b 1, b 0 )) = min (a i - b i, b i - a i ) mod k D L (1 2 3, 3 2 1) = min (1-3, 3-1) + min (2-2, 2-2) + min (3-1, 1-3) = =
21 Routing: A B A=(a n-1, a n-2, …, a 1, a 0 ) B =(b n-1, b n-2, …, b 1, b 0 ) a n-1, a n-2, …, a 2, a 1, a 0 ±1 a n-1, a n-2, …, a 2, a 1, a 0 ±2 : a n-1, a n-2, …, a 2, a 1, b 0 a n-1, a n-2, …, b 2, a 1 ±1, b 0 : a n-1, a n-2, …, a 2, b 1, b 0 : b n-1, b n-2, …, b 2, b 1, b 0 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 = D L (A, B)
22 Torus of size k n-1, k n-2, …, k 1, k 0 Mixed radix number system Processor (a n-1, a n-2, …, a 1, a 0 ) 0 a i < k i-1 i = 0, 1, 2, … n-1 Decimal value = a n-1 (k n-2 k n-3, …, k 0 ) + a n-2 (k n-3 k n-4, …, k 0 ) + …+ a 0 Two nodes, A=(a n-1, a n-2, …, a 1, a 0 ) & B =(b n-1, b n-2, …, b 1, b 0 ) are adjacent if D L (A, B) = 1
23 Torus of size k n-1, k n-2, …, k 1, k 0 Example: (8 5 4) (3,2,1) = 3 (5 4) + 2 = = Decimal to mixed radix5 17 … 1 69 = (3,2,1) 3… 2 Example: (8 8 8) (3,2,4) = 3 = 3 = … = (3,2,4) 3… 2 Radix k-number (a n-1, a n-2, …, a 1, a 0 )= a n-1 k n-1 + a n-2 k n-2 + … + a 0
24 Embedding Cycles Hypercube- Gray codes …
25 Mapping (Binary to Gray) 000 100 f(x n-1 x n-2 … x 0 ) = (g n-1 g n-2 … g 0 ) where g n-1 = x n-1 g i = x i x i+1 i= n-2, n-3, …, 11101
26 k-ary n-cube f: Radix Gray f(x n-1 x n-2 … x 0 ) = (g n-1 g n-2 … g 0 ) g n-1 = x n-1 g i = x i - x i+1 mod k for i= n-2, n-3, …,0
27 3-ary 2-cube RadixGray 0 00 22k=
28 De Bruijn Network node s j+3 + s j+1 + s j = 0s j+3 = s j+1 + s j mod 2 Initial conditionss 0 =1, s 1 = 0 and s 2 = 1 s 0 s 1 s 2 s 3 s 4 s 5 s 6 s 7 s 8 s
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 x 2 +x+1 x 7 +x 3 +1 x 3 +x+1 x 8 +x 4 + x 3 +x 2 +1 x 4 +x+1 x 9 +x 4 +1 x 5 +x 2 +1 x 10 +x 3 +1 x 6 +x 2 +1 s j+5 = s j+2 + s j
30 Disjoint Cycle s j+3 = s j+1 + s j +1 Initial conditionss 0 =1, s 1 = 0 and s 2 = 1 s 0 s 1 s 2 s 3 s 4 s 5 s 6 s 7 s 8 s