420 likes | 655 Views
Indirect (dynamic) Networks. Communication between any two nodes has to be carried through some switches . Classified into: Crossbar network Multistage interconnection networks (MIN) Nonblocking networks Rearrangeable nonblocking networks Blocking networks
E N D
Indirect (dynamic) Networks • Communication between any two nodes has to be carried through some switches. • Classified into: • Crossbar network • Multistage interconnection networks (MIN) • Nonblocking networks • Rearrangeable nonblocking networks • Blocking networks • Single-stage interconnection networks NC論2 (No.2)
Crossbar (nonblocking, 1-hop) Switch point (crosspoint) N inputs M outputs N:1 multiplexer An N x M crossbar The cost increases as N x M. NC論2 (No.2)
A large crossbar 0 1 2 3 NC論2 (No.2)
MINs first stage second stage third stage N inputs M outputs Three-stage MIN NC論2 (No.2)
Nonblocking MIN • Any input port can be connected to any free output port without affecting the existing connections. • Same functionality as a crossbar. • The Clos network is proposed to reduce the cost of crossbar by decreasing the number of switches (1953). NC論2 (No.2)
History (telephone net.) • Early telephone networks were built from elector-mechanical crossbars. • Key developments in telephone switching include the Clos network in 1953 and the Benes network in 1962. • Many large telephone switches today are still built from Clos or Clos-like networks. NC論2 (No.2)
3-stage Clos network (m,n,r) n×m r×r m×n 1 1 1 1 1 n n 1 1 N inputs 2 2 2 N outputs n n 1 1 r m r n n Nonblocking: m >= 2n-1 Rearrangeable: 2n-1 > m >= n NC論2 (No.2)
Rearrangeable nonblocking MIN • Any input port can be connected to any free output port with rearrangement of paths for the existing connections. • Less stages or smaller switches than a nonblocking networks. • The best known example is the Benes network. NC論2 (No.2)
(2,4,2) Clos Benesnetwork σ3-1 σ2-1 σ2 σ3 0 0 1 001 1 (2,2,2) clos 2 010 2 3 3 4 4 5 5 (2,2,2) clos 6 6 7 7 An 8x8 Benes network (Eσ3-1E σ2-1Eσ2Eσ3E) N(2log2N - 1) / 2 switches, 2log2N - 1 hops, E: stage NC論2 (No.2)
2x2 switch (radix: 2) straight exchange lower broadcast upper broadcast NC論2 (No.2)
Permutation • Permutations are traffic patterns in which all traffic from each source is directed to one destination. • It can be compactly represented by a permutation function that maps source to destination. • Bit (digit) permutation are those in which each bit (digit) of the destination address is a function of one bit (digit) of the source address. • di = sj or dx = f(sx) NC論2 (No.2)
Permutation functions (1/2) Communication from node address x(an,an-1,an-2,…, a1) to • Perfect shuffle: σ(x)=(an-1,an-2,…, a1,an) • k sub-shuffule: σk(x)=(an,an-1,…, ak+1,ak-1, … , a1,ak) • k supershuffule: σk(x)=(an-1,an-2,…, an-k+1, an, an-k, … , a1) • Inverse perfect shuffle: σ-1(x)=(a1 ,an ,an-1,an-2,…, a2) • k sub-inverse shuffule: σk-1(x)=(an ,…, ak+1 , a1,ak,…, a2) • Butterfly: β(x)=(a1 ,an-1,an-2,…, a2 ,an) • k sub-butterfly: βk (x)=(an,…, ak+1 , a1,ak-1, … , a2,ak) • k superbutterfly: βk (x)=(an-k+1, an-1,…, an-k+2 , an,an-k, … , a1) NC論2 (No.2)
Permutation functions (2/2) Communication from node address x(an,an-1,an-2,…, a1) to • Bit reversal: ρ(x)=(a1,a2,…, an-1, an) • k sub-bit reversal : ρk(x)=(an,an-1,…, ak+1,a1, a2,… , ak-1,ak) • k super-bit reversal: ρk(x)=(an-k+1,an-k+2,…, an-1,an, an-k, … , a1) • shift: α(x)= | x+1| (2n), where modulo by 2n • k sub-shift: αk(x)= | x+1| (2n) +floor(x/2k)2k • k super-shift: αk (x)= | x+ 2n-k | (2n) • Exchange: Ei(x)=(an,an-1, …, ~ai,…, a1) NC論2 (No.2)
Perfect shuffle (1/2) 000 000 000 000 001 001 001 001 010 010 010 010 011 011 011 011 100 100 100 100 101 101 101 101 110 110 110 110 111 111 111 111 Perfect shuffle σ(x)=(an-1,an-2,…, a1,an) Inverse perfect shuffle σ-1(x)=(a1,an an-1,an-2,…, a2) NC論2 (No.2)
Perfect shuffle (2/2) 000 000 000 000 001 001 001 001 010 010 010 010 011 011 011 011 100 100 100 100 101 101 101 101 110 110 110 110 111 111 111 111 3 sub-inverse shuffule σ3-1(x)=(a1,a3 , a2) 2 sub-inverse shuffle σ2-1(x)=(a3, a1, a2) NC論2 (No.2)
Butterfly 000 000 000 000 001 001 001 001 010 010 010 010 011 011 011 011 100 100 100 100 101 101 101 101 110 110 110 110 111 111 111 111 butterfly (bit reversal) β3(x)=(a1,a2 , a3) = ρ3(x) 2 sub-butterfly β2(x)=(a3, a1, a2) NC論2 (No.2)
shift 000 000 000 000 001 001 001 001 010 010 010 010 011 011 011 011 100 100 100 100 101 101 101 101 110 110 110 110 111 111 111 111 shift α(x)= | x+1 | (23) 2 sub-shift α 2(x)=| x+1 | (22)+floor(x/ 22)22 NC論2 (No.2)
exchange 000 000 000 000 001 001 001 001 010 010 010 010 011 011 011 011 100 100 100 100 101 101 101 101 110 110 110 110 111 111 111 111 E3(x) = (~a3, a2, a1) E2(x) = (a3, ~a2, a1) NC論2 (No.2)
Blocking MIN • A free input/output pair is not always possible because of conflicts with the existing connections. • Minimizing the number of switches and stages. • Unidirectional MIN (Cenju-3, IBM PR3) • Bidirectional MIN (IBM SP, TMC CM5) NC論2 (No.2)
Unidirectional MINs • Channels and switches are unidirectional. • At least ceiling(logkN) stages are required for a MIN of N input and output ports with k×k switches. • Every path through the MIN crosses all the stages (same length). • Examples: baseline, butterfly, indirect cube logN stages for N inputs/outputs with 2x2 switches ( binary logN-fly in the form of k-ary n-fly) the number of communication patterns are (√N)N NC論2 (No.2)
Baseline networks (1/2)(B = Eσn-1Eσn-1-1E・・・Eσ2-1 E) 000 000 001 001 001 (UUL) 010 010(ULU) 011 011 100 100 101 101 110 110 111 111 σ3-1 σ2-1 abc cab cba NC論2 (No.2)
Baseline networks (2/2) • To route (an,an-1,an-2,…, a1) to (bn,bn-1,bn-2,…, b1), select upper link when bi=0, otherwise select lower link on (n-i+1) stage (MSB to LSB). (path is determined only by the destination address) upper link inputs lower link switch NC論2 (No.2)
Omega networks (1/2) Ω= (σE)n 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 σ σ σ abc abc bca cab NC論2 (No.2)
Omega networks (2/2) • To route (an,an-1,an-2,…, a1) to (bn,bn-1,bn-2,…, b1), set the switch as straight when ai^bi=0, otherwise set it as exchange on (n-i+1) stage (MSB to LSB). straight exchange NC論2 (No.2)
Indirect binary n-cube (1/2)(C = Eβ2Eβ3 ・・・ E βnEσ-1) 000 000 000 001 001 001 010 010 010 011 011 011 100 100 100 101 101 101 110 110 110 111 111 111 β2 β3 σ-1 abc acb abc bca NC論2 (No.2)
Indirect binary n-cube (2/2) • To route (an,an-1,an-2,…, a1) to (bn,bn-1,bn-2,…, b1), set the switch as straight when ai^bi=0, otherwise set it as exchange on i-th stage (LSB to MSB). • A k-ary n-fly network consists of kn source/destination terminals, n stages of kn-1k×k crossbar switches. • Degree of the switches: 2k • Diameter: n+1 or logkN +1 where N = kn NC論2 (No.2)
Relation among blocking networks • For omega, indirect n-cube and Banyan(Y): Ω-1=C=Yσ So they are almost functionally equal (isomorphic). • The communication patterns are different, but same number of combinations ((√N)N). • Smaller number of communication patterns than nonblocking networks (N!). NC論2 (No.2)
Bitonic sort A L B H 2 inputs sorter 4 inputs sorter 8 inputs sorter NC論2 (No.2)
Batcher-banyan network receiver Ordered addresses 1 3 5 ∞ ∞ ・ ・ ∞ 5 ∞ 3 1 ∞ ・ ・ ∞ 1 3 5 Ω (banyan stage) Non-blocking Bitonic Sorter (Batcher stage) NC論2 (No.2)
Tree saturation (e.g. on Omega) 000 000 001 001 hotspot 010 010 011 011 100 100 101 101 110 110 111 111 Combining: combine two messages NC論2 (No.2)
Fault-tolerant MINs • Blocking MINs provide a single path between any input/output pair. • If a link becomes congested or fails, the unique path property can easily disrupt the communication (no path diversity). • A solution is to provide multiple routing paths by adding extra stages or channels. NC論2 (No.2)
Fault-tolerant MINs (Omega’s case) 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 σ σ σ Additional stage NC論2 (No.2)
Fault-tolerant MINs (Baseline’s case) 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 σ3-1 σ2-1 NC論2 (No.2)
Bidirectional MINs (BMINs) • Channels and switches are bidirectional. • Information can be transmitted simultaneously in opposite directions between neighboring switches. • Paths are established in BMINs by crossing stages in forward, then turnaround, and finally backward. • Several paths are possible in forward direction, but a single path is available in backward direction. NC論2 (No.2)
Bidirectional Banyan networks 000 000 000 001 001 001 forward 010 010 010 011 011 turnaround 011 100 backward 100 100 101 101 101 110 110 110 111 111 111 β2 β3 NC論2 (No.2)
A fat tree BMIN forward backward NC論2 (No.2)
Hybrid networks • Combine mechanisms from shared-medium networks and direct or indirect networks. • Increase bandwidth and reduce the distance between nodes. • Examples: • Multiple backplane buses • Hierarchical buses • Cluster-based networks NC論2 (No.2)
Multiple backplane buses bus bus bus device device device NC論2 (No.2)
Hierarchical buses Global bus bridge Cluster bus NC論2 (No.2)
Cluster-based networks Cluster Cluster Cluster router Cluster bus Cluster Cluster Cluster NC論2 (No.2)
History (Clos networks, etc.) • Clos introduced non-blocking networks in1953. • Benes discovered rearrangeable non-blocking networks in 1965. • Bachter introduced the bitonic sort and the Batcher sorting network in 1968. • Knuth’s book in 1998 treats sorting networks in detail. • Multicast in Clos networks was first considered by Masson and Jordan(1972), and has since been studied by many researchers. NC論2 (No.2)
History (indirect networks) • Processor-memory networks emerged in the late 1960s in the form of indirect netwoks. • The smallest machine employed crossbar, whereas larger sytems used butterfly, etc.. • Since the early 1990s, a variant of the Clos and Benes networks of telephony has emerged in SMP (MPP) networks in the form of the fat tree. • Today, the high pin bandwidth of router chips relative to message length motivates the use of networks of higher node degree, such as Clos and fat free. NC論2 (No.2)