250 likes | 281 Views
Learn about multi-stage networks, Omega and Benes networks, with examples and routing algorithms. Understand concepts like scalability, bisection width, and fault tolerance.
E N D
Lecture on NetworksMoon Jung Chung CSE838 Lecture notes copy right: Moon Jung Chung
Network Multi-stage network Direct Network CSE838 Lecture notes copy right: Moon Jung Chung
Multi-Stage Network Overview Major Types Banyan and Banyan-Like • Omega, Butterfly • Self routing • May not realize all permutations • Clos and Benes • Batcher Sorter • Miscellaneous Butterfly network 1 2 3 4 5 6 7 8 Omega network CSE838 Lecture notes copy right: Moon Jung Chung
Omega Network Self Routing 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 001 000 001 010 101 110 111 110 111 011 110 010 101 001 100 000 011 001 111 101 010 000 110 100 111 110 101 100 011 010 001 000 At each stage, adjust corresponding bit in the highest order Cannot realize all permutation CSE838 Lecture notes copy right: Moon Jung Chung
Clos and Benes • Cost more than Banyans • Difficult to route • Can support all permutation connection assignments • Types: • Blocking: Benes -- If a permutation changes, a new routing start an assignment all over again. • Non Blocking: Clos -- Adjust the routing only for pairs of the permutation that change their value CSE838 Lecture notes copy right: Moon Jung Chung
r-1 dim Benes r-1 dim Benes Benes Network Recursive construction of r-dimension Benes-network r=0 dimension Two state of switch CSE838 Lecture notes copy right: Moon Jung Chung
Benes Network Can realize any permutation Theorem: Given any permutation of 2r+1 inputs to 2r+1 on an r-dimensional Benes Network, there is a set of edge-disjoint path from the input to the output connecting input i to output (i) for all i. Proof: By induction on r. Basis (r=1) Trivial (Inductive step) Let us prove the claim for r. It is suffice to show that inputs can be divided into two parts I1 and I2 such that for each level 0 switch, either (2i-1)I1 and 2i I2 or (2i-1)I2 and 2i I1 for each level 2r switch, either -1(2i-1)I1 and -1(2i) I2 or -1(2i-1)I2 and -1(2i) I1 CSE838 Lecture notes copy right: Moon Jung Chung
Example: Benes Network for r=2 I1 1 2 3 4 5 6 7 8 I2 level 2r switches level 0 switches CSE838 Lecture notes copy right: Moon Jung Chung
Example ( ) 1 2 3 4 5 6 7 8 4 5 6 8 1 2 3 7 I1 1 2 3 4 5 6 7 8 I2 level 2r switches level 0 switches CSE838 Lecture notes copy right: Moon Jung Chung
Greedy Partitioning for Routing on Benes Network How to partition to I1 and I2? Assign 1 -> (1) using upper. Each line has an mate. (x1’s mate is x2, x3 has mates x4) Suppose that we are doing xi -> yj, and using the upper box (I1). Then the mate of yj must use lower box (I2). This in turn limit which box to use for the mate of xk, where (xk -> yj) Repeat until you have completed. After you obtain I1 and I2, apply the algorithm recursively CSE838 Lecture notes copy right: Moon Jung Chung
Example ( ) 1 2 3 4 5 6 7 8 4 5 6 8 1 2 3 7 I1 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 I2 level 2r switches level 0 switches CSE838 Lecture notes copy right: Moon Jung Chung
Network Graph Properties • Diameter: the longest path from one node to another node • Bisection width min |E(V1; V2)| E(V1, V2): # of edges crossing between V1 and V2 # of nodes V1 and V2 have n/2 vertices each • Cost: # of edges in the network • Scalability: amount of resources necessary to add/drop nodes • mesh: scalable • Butterfly scalable • Hypercube • Fault Tolerance CSE838 Lecture notes copy right: Moon Jung Chung
Bisection Algorithm on a Tree Simple Divide and Conquer Algorithm Let Select (T,k) be a function which select k nodes from a tree T Bi-partition of T is: Select(T, |T|/2), where |T| is the number of nodes of T Select(T, k) { if (k = 0 ) return (); // need not to select any nodes // Let LT be the left subtree of T and RT be the right subtree of T if ( |LT| <= k ) then return (Select(LT, k)) ; if ( |RT| <= k ) then return (Select(RT, k)) ; // else we must select all nodes of LT and root of T and (k-|LT|-1) from RT return (LT {R} Select(RT, k -|LT|-1) ) // R is the root of T ; Depth of recursion: log2n CSE838 Lecture notes copy right: Moon Jung Chung
Topologically Equivalent • G1 and G2 are topologically equivalent iff there is an graph isomorphism between them. Note that input and out put pins can be re-ordered. • Example Butterfly network, Omega Network, Shuffle Exchange network, Baseline Network are all topologically equivalent CSE838 Lecture notes copy right: Moon Jung Chung
Bisection Partition of a Tree Example Select (9) 1 Select (9) Edges crossing between two bi-partitions 2 14 Select (9) 16 Nodes selected 15 3 Select (2) 10 4 17 Select (2) 8 12 5 11 13 9 7 6 CSE838 Lecture notes copy right: Moon Jung Chung
Examples Hypercube of dimension n. (N=2n) • d = n = log2N • BW: N/2 • Cost/node: log n • Scalability: no • reliability: yes • There are many redundant paths but may not be easy to use Cube Connected Cycles • d: log n • BW: N/2 • Cost: 3 • Scalability: medium • Reliability : low CSE838 Lecture notes copy right: Moon Jung Chung
Graph Embedding Source Graph G and Target Graph H Mapping G H (VG, EG) (VH, EH) • f: VG VH • g: EG path of H • (u, v) (x1, x2,... xk) • x1=f(u), xk = f(v) • (xi, xi+1) EH • Expansion factor |VH|/|VG| • Load factor maxx|{f(v)=x| v VG}| • dilation max{l(g(e))| e LG} • l:path length of g(e) • congestion: • congestion (e): maximum number of edges in G that go through e • Congestion : max congestion (e) = Max eEH |{e;|e’ EG, and e g(e’)}| CSE838 Lecture notes copy right: Moon Jung Chung
Drawing (embedding) of a graph on a mesh Embedding on a mesh Tree: O(N) Area Complete binary tree: use H-tree layout General tree: Still O(N) area Hypercube:O(N2) Shuffle exchange: O(N2/log2 N) CCC: Same as S.E. MNXN Hn : Use Gray Code (x,y) Gray (x) Gray(y) where : bit concatenations dilation: 1 load factor: 1 congestion: 1 expansion: 1 CSE838 Lecture notes copy right: Moon Jung Chung
Embedding a complete binary tree into a hypercube 2n -1 nodes into 2n nodes hypercube dilation : almost 1 load factor: 1 congestion: 1 expansion: 1 Is expansion 1, dilation 1 possible? ==> Not possible Even Parity 1 Odd Parity 2 Even Parity 3 Odd Parity 4 Even parity nodes are connected to odd parity nodes in a hypercube. Even parity nodes in a hypercube: 2n-1 Suppose root has even parity, and leaves are even parity, total nodes mapped to even parity = 1 + 4 + ... + 2n-1 > 2n-1 If leaves are odd parity: odd parity = 2 + 8 + ... + 2n-1 > 2n-1 Both cases: contradiction! CSE838 Lecture notes copy right: Moon Jung Chung
Embedding 2N-1 nodes tree into N nodes Hypercube 000 • load factor : log n • Dilation: 1 • Congestion : 1 000 100 000 010 100 110 100 111 010 011 101 001 110 000 CSE838 Lecture notes copy right: Moon Jung Chung
Double Rooted Complete Binary Tree CSE838 Lecture notes copy right: Moon Jung Chung
Embedding a double rooted complete binary tree onto a hypercube Approach: Induction 100 000 Possible 10 00 101 010 11 01 111 001 110 011 Basis N = 4 110 N = 8 CSE838 Lecture notes copy right: Moon Jung Chung
Inductive Step one copy another copy (reflection) • Suppose that embedding N node is done. • How to embed 2N nodes into a hypercube? 100 000 000 100 C1 010 010 exchange 1st, 2nd bit 000 010 100 CSE838 Lecture notes copy right: Moon Jung Chung
Inductive Step (continue) 1010 0100 1000 0000 0010 1100 C1 with leading 0 C2 (after exchanging bits)with leading 1 CSE838 Lecture notes copy right: Moon Jung Chung
0100 0000 1000 1010 0010 1100 CSE838 Lecture notes copy right: Moon Jung Chung