1 / 49

Switching - Fabric

Switching - Fabric. Based on An Engineering Approach to Computer Networking/ Keshav. 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

gsidney
Download Presentation

Switching - Fabric

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Switching - Fabric Based on An Engineering Approach to Computer Networking/ Keshav

  2. Switching Number of connections: from few (4 or 8) to huge (100K) Communication Networks

  3. 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

  4. 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

  5. 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

  6. Example - TSI sessions: (1,2) (2,4) (3,1) (4,3) 2 4 1 3 TSI 4 3 2 1 Communication Networks

  7. 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

  8. Space division switching • Each sample takes a different path through the switch, depending on its destination Communication Networks

  9. Crossbar • Simplest possible space-division switch • Crosspoints can be turned on or off Communication Networks

  10. Crossbar - example sessions: (1,2) (2,4) (3,1) (4,3) 1 2 3 4 4 1 2 3 Communication Networks

  11. 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

  12. 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

  13. 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

  14. 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

  15. Time-space-time (TST) switching • Allowed to flip samples both on input and output trunk • Gives more flexibility => lowers call blocking probability Communication Networks

  16. 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

  17. Example sessions: (1,3) (2,6) (3,1) (4,4) (5,2) (6,5) Communication Networks

  18. 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

  19. 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

  20. Proof Communication Networks

  21. Example Clos(8,2,3) 2x3 4x4 3x2 2x3 4x4 3x2 N=8 n=2 k=3 2x3 3x2 4x4 2x3 3x2 Communication Networks

  22. 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

  23. 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

  24. . . . . . . Recursive constructions 1 1 N/2 x N/2 N/2 x N/2 n n Communication Networks

  25. Algorithm Complexity • N routing steps for each level • Log n levels to do • ===> N log n • Given parallel hardware: O(N) time Communication Networks

  26. 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

  27. Another algorithm – matrix based • Specification matrix: • Rows = input switches (nxm, 1..r) • Columns = middle switches (rxr, N/n = r, 1..m) • Content = output switches (1..r) • 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

  28. Algorithm Principle • For e=0,1,2,… • balance the destination e among the columns • Challenges: • efficiency • termination • We describe an Algorithm by Lee, Hwang, and Carpinelli, T. Comm. 44 (11), Nov. 1996 Communication Networks

  29. The Matrix Meaning 2x3 4x4 3x2 2x3 4x4 3x2 2x3 3x2 4x4 2x3 3x2 Communication Networks

  30. The Matrix Meaning 2x3 4x4 3x2 1 3 4 0 7 5 6 2 2x3 4x4 3x2 2x3 3x2 4x4 2x3 3x2 Communication Networks

  31. The Matrix Meaning 2x3 4x4 3x2 0 1 2 0 3 2 3 1 2x3 4x4 3x2 2x3 3x2 4x4 2x3 3x2 Communication Networks

  32. Illegal example 2x2 2x2 0 1 2 0 3 2 3 1 2x2 4x4 2x2 2x2 2x2 4x4 2x2 2x2 Communication Networks

  33. Legal example 2x2 2x2 0 1 2 0 3 2 3 1 2x2 4x4 2x2 2x2 2x2 4x4 2x2 2x2 Communication Networks

  34. Notation N=nxr j nxm rxr mxn nxm rxr mxn i r rows nxm mxn rxr nxm mxn m columns Communication Networks

  35. Data Structures • (j,e), j=0,1,…n-1, e=0,1,…,r-1 :- the set of rows {i} such that sij=e • All the input switches routed to e thru j • 0(e), e=0,1,r-1 :- the set of columns {j} such that Si does not contain e • All middle switches that are not routing to e • 2(e), e=0,1,r-1 :- the set of columns {j} such that Si contains e at least twice • All middle switches that have contention routing to e Communication Networks

  36. Init: e=0 If 2(e) empty ee+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 of(j,e) repeat step 3 on i’ if e> si’k goto step 5 (Successive Swap) u  e; remove k from 0(u) 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 uv i element in (j,u) goto step 5B Algorithm Communication Networks

  37. 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

  38. Clos network size • Number of switching elements is given by • for k=n (rearrangeable non-blocking) • Optimal value for n is n=sqrt{N/2}, which yields Communication Networks

  39. 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

  40. 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

  41. . . . . . . Recursive constructions - Benes Network 1 1 N/2 x N/2 N/2 x N/2 n n Communication Networks

  42. Example 16x16 Communication Networks

  43. Strict Sense non-Blocking N/2 x N/2 . . . . . . N/2 x N/2 N/2 x N/2 Communication Networks

  44. Cantor Networks • m copies of Benes network. • For m >= log N it is strict sense non-blocking • Network size N log2 N • Example: m=4 Communication Networks

  45. 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

  46. 110 Banyan 111 Communication Networks

  47. Other Banyans Omega or shuffle exchange Communication Networks

  48. How do deal with internal blocking in Banyan • speed – up • internal buffers • Batcher bitonic sorter Communication Networks

  49. Batcher sorter size • n=log N sorters with 1,2,3,.. Columns • Each column has N/2 switches Communication Networks

More Related