460 likes | 712 Views
Switching - Fabric. An Engineering Approach to Computer Networking. Switching. Number of connections: from few (4 or 8) to huge (100K). Switching - Basic Assumptions. continuous streams telephone connections no bursts no buffers connections change multicast Blocking external internal
E N D
Switching - Fabric An Engineering Approach to Computer Networking
Switching Number of connections: from few (4 or 8) to huge (100K) Communication Networks
Switching - Basic Assumptions • continuous streams • telephone connections • no bursts • no buffers • connections change • multicast • Blocking • external • internal • re-arrangeable • strict sense non-blocking • wide sense non-blocking Communication Networks
Multiplexors and demultiplexors • Multiplexor: aggregates sessions • N input lines • Output runs N times as fast as input • Demultiplexor: distributes sessions • one input line and N outputs that run N times slower • Can cascade multiplexors Communication Networks
Time division switching • Key idea: when demultiplexing, position in frame determines output limk • Time division switching interchanges sample position within a frame: time slot interchange (TSI) Communication Networks
Example - TSI sessions: (1,2) (2,4) (3,1) (4,3) 2 4 1 3 TSI 4 3 2 1 Communication Networks
TSI • Simple to build. • Multicast • Limit is the time taken to read and write to memory • For 120,000 circuits • need to read and write memory once every 125 microseconds • each operation takes around 0.5 ns => impossible with current technology • Need to look to other techniques Communication Networks
Space division switching • Each sample takes a different path through the switch, depending on its destination Communication Networks
Crossbar • Simplest possible space-division switch • Crosspoints can be turned on or off Communication Networks
Crossbar - example sessions: (1,2) (2,4) (3,1) (4,3) 1 2 3 4 4 1 2 3 Communication Networks
Crossbar • Advantages: • simple to implement • simple control • strict sense non-blocking • Drawbacks • number of crosspoints, N2 • large VLSI space • vulnerable to single faults Communication Networks
Time-space switching • Precede each input trunk in a crossbar with a TSI • Delay samples so that they arrive at the right time for the space division switch’s schedule MUX 1 2 1 2 3 MUX 4 3 4 Communication Networks
Time-Space: Example time 1 time 2 2 1 2 1 TSI 3 4 4 3 3 1 2 4 Internal speed = double link speed Communication Networks
Finding the schedule • Build a graph • nodes - input links • session connects an input and output nodes. • Feasible schedule • Computing a schedule • compute perfect matching. Communication Networks
Time-space-time (TST) switching • Allowed to flip samples both on input and output trunk • Gives more flexibility => lowers call blocking probability Communication Networks
Circuit switching - Space division • graph representation • transmitter nodes • receiver nodes • internal nodes • Feasible schedule • edge disjoint paths. • cost function • number of crosspoints • internal nodes Communication Networks
Example sessions: (1,3) (2,6) (3,1) (4,4) (5,2) (6,5) Communication Networks
2x2 2x2 2x2 Clos Network Clos(N, n , k) N - inputs/outputs; kxn nxk (N/n)x(N/n) 2x2 3x3 N=6 n=2 k=2 2x2 3x3 2x2 Communication Networks
Clos Network - strict sense non-blocking • Holds for k >= 2n-1 • Proof: • Consider and idle input and output • Input box connected to at most n-1 middle layer switches • output box connected to at most n-1 middle layer switches • There exists a "free" middle switch. Communication Networks
Proof Communication Networks
Example Clos(8,2,3) 2x3 4x4 3x2 2x3 4x4 3x2 N=8 n=2 k=3 2x3 3x2 4x4 2x3 3x2 Communication Networks
Clos Network - rearrangable • Holds for k >= n • Proof: • Consider all input and output • find a perfect matching. • route the perfect matching • remaining network is Clos(N-n,n-1,k-1) • summary: • smaller circuit • weaker guarantee • Mulicast ? Communication Networks
Rearrangable Clos Network – routing algorithm • Start at some arbitrary 2x2 input switch, and route it to its destination through the upper switch. • Route the other output port of the 2x2 switch you reached to its input port through the lower switch. • If the other port in the input switched you reached has not been routed yet, route it through the upper middle switch. • Otherwise, select an arbitrary input port switch that was not yet used, and repeat the procedure. Communication Networks
. . . . . . Recursive constructions 1 1 N/2 x N/2 N/2 x N/2 n n Communication Networks
Algorithm Complexity • N routing steps for each level • Log n levels to do • ===> N log n • Given parallel hardware: O(N) time Communication Networks
Alternative View of the problem • A graph coloring problem: • Input/output switches = nodes • A match = link • Middle stage switches = colors • This is the well known “Coloring of bi-partite graph” problem. • Heuristics fail miserably!!! Communication Networks
Another algorithm – matrix based • Specification matrix: • Rows = input switches (n) • Columns = middle switches (N/n = r) • Content = output switches (1..n) • We need an algorithms that will fill up the matrix with a feasible routing: • Same number cannot appear in the same column • Works also for CLOS with redundancy Communication Networks
Algorithm Principle • For j=0,1,2,… • balance the destination j among the columns • Challenges: • efficiency • termination • We describe an Algorithm by Lee, Hwang, and Carpinelli, T.COM. 44 (11), Nov 1996 Communication Networks
The Matrix Meaning 2x3 4x4 3x2 2x3 4x4 3x2 2x3 3x2 4x4 2x3 3x2 Communication Networks
Data Structures • (j,e), j=0,1,…n-1, e=0,1,…,r-1 :- the set of rows {i} such that sij=e • 0(e), e=0,1,r-1 :- the set of columns {j} such that Si does not contain e • 2(e), e=0,1,r-1 :- the set of columns {j} such that Si contains e at least twice Communication Networks
Init: e=0 If 2(e) empty ee+1 if e=r stop; else goto 1 if 2(e) j 1st element of 2(e) k 1st element of 0(e) (simple swap) i 1st element of (j,e) if e< sik swap sij with sik e’ sik remove i from (j,e) and (k,e’) add i to (j,e’) and (k,e) if |(j,e)|=1 remove j from 2(e) if |(j,e’)|=1 remove j from 0(e’) if |(j,e’)|=2 add j to 2(e’) if |(k,e’)|=0 add k to 0(e’) if |(k,e’)|=1 remove k from 2(e’) remove k from 0(e) goto step 1 (Next Simple Swap) If e> sik i’ 2nd element ofsik repeat step 3 on i’ if e> si’k goto step 5 (Successive Swap) u e; remove k from 0(u) if if |(j,u)|=2 remove j from 2(u) v sik swap sij withsik remove i from (j,u) and (k,v) add i to (j,v) and (k,u) if e<v if |(k,v)|=0 add k to 0(v) if |(k,v)|=1 remove k from 2(v) if |(j,v)|=1 remove j from 0(v) if |(j,v)|=2 add j to 2(v) goto step 1 if e>v uv goto step 5B Algorithm Communication Networks
Algorithm Complexity • adding an element to a set, choosing/removing the 1st/2nd element from a set take O(1) • steps 5A 5B and 5D each take O(1) time • removing a generally positioned element from an r-set takes O(r) time step 5C time complexity is in O(r) [ 2(v)-{k}, 0(v)-{j} ] • the looping in step 5 does not contain step 5C, only 5B and 5D • the time complexity for step 5 is O(r) Algorithm time complexity O(nr2) Communication Networks
. . . . . . Recursive constructions - Benes Network 1 1 N/2 x N/2 N/2 x N/2 n n Communication Networks
Clos network size • Number of switching elements is given by • for k=n (rearrangeable non-blocking) • Optimal value for n is n=sqrt{2}N, which yields Communication Networks
a lower bound for the number of switching elements? • Assume we have 2x2 switching units. • We have N! switching permutation • Can we achieve this bound? Communication Networks
Example 16x16 Communication Networks
Benes Networks • Size: • 2 log N –1 stages • N/2 switches in each stage • N log2 N –N/2 • Rearrangeable • Clos network with k=2 n=2 • Symmetry • Example. • proof Communication Networks
Strict Sense non-Blocking N/2 x N/2 . . . . . . N/2 x N/2 N/2 x N/2 Communication Networks
Cantor Networks • m copies of Benes network. • For m >= log N its strict sense non-blocking • Network size N log2 N • Example • Proof. Communication Networks
Banyan • Self routing! • Size: • log2N stages • N/2 switches in each stage • 0.5N log2 N elements • This is less than the lower bound! Communication Networks
110 Banyan 111 Communication Networks
Other Banyans Omega or shuffle exchange Communication Networks
How do deal with internal blocking in Banyan • speed – up • internal buffers • Batcher bitonic sorter Communication Networks