540 likes | 553 Views
Switching Units. Types of switching elements. Telephone switches switch samples Datagram routers switch datagrams ATM switches switch ATM cells. INPUTS. OUTPUTS. Repeaters, bridges, routers, and gateways. Repeaters/Hubs: at physical level (L1) Bridges: at datalink level (L2)
E N D
Types of switching elements • Telephone switches • switch samples • Datagram routers • switch datagrams • ATM switches • switch ATM cells INPUTS OUTPUTS Lecture 5
Repeaters, bridges, routers, and gateways • Repeaters/Hubs: at physical level (L1) • Bridges: at datalink level (L2) • based on MAC addresses • discover attached stations by listening • Routers: at network level (L3) • participate in routing protocols • Application level gateways: at application level (L7) • treat entire network as a single hop • Gain functionality at the expense of forwarding speed • for best performance, push functionality as low as possible Lecture 5
Types of services • Packet vs. circuit switches • packets have headers and samples don’t • Connectionless vs. connection oriented • connection oriented switches need a call setup • setup is handled in control plane by switch controller • connectionless switches deal with self-contained datagrams Lecture 5
Other switching unit functions • Participate in routing algorithms • to build routing tables • Next Lecture! • Resolve contention for output trunks • buffer scheduling • Previous Lecture! • Admission control • to guarantee resources to certain streams Lecture 5
Requirements • Capacity of switch is the maximum rate at which it can move information, assuming all data paths are simultaneously active • Primary goal:maximize capacity • subject to cost and reliability constraints • Circuit switch must reject call if can’t find a path for samples from input to output • goal: minimize call blocking • Packet switch must reject a packet if it can’t find a buffer to store it awaiting access to output trunk • goal: minimize packet loss • Subgoal:Don’t reorder packets Lecture 5
Internal switching • In a circuit switch, path of a sample is determined at time of connection establishment • No need for a sample header--position in frame is enough • In a packet switch, packets carry a destination field • Need to look up destination port on-the-fly • Datagram • lookup based on entire destination address • Cell • lookup based on VCI – used as an index to a table • Other than that, switching units are very similar Lecture 5
Blocking in packet switches • Can have both internal and output blocking • Internal • no path to output • Example: head of line blocking. • Output • output link busy • If packet is blocked, must either buffer or drop it Lecture 5
Dealing with blocking • Overprovisioning • internal links much faster than inputs • Buffers • at input or output • Backpressure • if switch fabric doesn’t have buffers, prevent packet from entering until path is available • Parallel switch fabrics • increases effective switching capacity Lecture 5
Three generations of packet switches • Different trade-offs between cost and performance • Represent evolution in switching capacity, rather than in technology • With same technology, a later generation switch achieves greater capacity, but at greater cost • All three generations are represented in current products Lecture 5
linecard linecard First generation switch • Most Ethernet switches and cheap packet routers • Bottleneck can be CPU, host-adaptor or I/O bus, depending computer CPU queues in memory linecard Lecture 5
Second generation switch • Port mapping intelligence in line cards • Bottleneck is the bus (or ring) computer bus front end processors or line cards Lecture 5
Third generation switches • Third generation switch provides parallel paths (fabric) OLC ILC NxN packet switch fabric OUT OLC IN ILC OLC ILC control Lecture 5
Third generation (contd.) • Features • self-routing fabric • output buffer is a point of contention • unless we arbitrate access to fabric • potential for unlimited scaling, • as long as we can resolve contention for output buffer Lecture 5
Switching: abstract model Number of connections: from few (4 or 8) to huge (100K) Lecture 5
1 2 N 1 2 N De-Mux 1 2 N MUX 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 Lecture 5
D E M U X M U X TSI Time division switching • Key idea: when demultiplexing, position in frame determines output link • Time division switching interchanges sample position within a frame: • Time slot interchange (TSI) Lecture 5
4 3 2 1 Time Slot Interchange (TSI) : example sessions: (1,3) (2,1) (3,4) (4,2) 1 2 3 4 2 1 4 2 3 1 4 2 1 3 3 4 Read and write to shared memory in different order Lecture 5
TSI • Simple to build. • Multicast: easy (why?) • Limit is the time taken to read and write to memory • For 120,000 telephone circuits • Each circuit reads and writes memory once every 125 ms. • Number of operations per second : 120,000 x 8000 x2 • each operation takes around 0.5 ns => impossible with current technology • Need to look to other techniques Lecture 5
i n p u t s outputs Space division switching • Each sample takes a different path through the switch, depending on its destination • Crossbar: Simplest possible space-division switch • Crosspoints can be turned on or off Lecture 5
1 2 3 4 4 1 2 3 Crossbar - example sessions: (1,2) (2,4) (3,1) (4,3) inputs output Lecture 5
Crossbar • Advantages: • simple to implement • simple control • strict sense non-blocking • Multicast • Single source multiple destination ports • Drawbacks • number of crosspoints, N2 • large VLSI space • vulnerable to single faults Lecture 5
MUX 1 2 1 TSI 1 2 2 3 MUX 4 3 4 3 TSI 4 DeMux DeMux 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 Crosspoint: 4 (not 16) memory speed : x2 (not x4) Lecture 5
1 2 1 2 3 4 3 4 Finding the schedule • Build a routing graph • nodes - input links • session connects an input and output nodes. • Feasible schedule • Computing a schedule • compute perfect matching. Lecture 5
time 1 time 2 2 1 2 1 TSI 3 4 4 3 3 1 2 4 Time-Space: Example TSI Internal speed = double link speed Lecture 5
Internal Non-Blocking Types • Re-arrangeable • Can route any permutation from inputs to outputs. • Strict sense non-blocking • Given any current connections through the switch. • Any unused input can be routed to any unused output. • Wide sense non-blocking. • There exists a specific routing algorithm, s.t., • for any sequence of connections and releases, • Any unused input can be routed to any unused output, • assuming all the sequence was served by the routing algorithm. Lecture 5
Circuit switching - Space division • graph representation • transmitter nodes • receiver nodes • internal nodes • Feasible schedule • edge disjoint paths. • cost function • number of crosspoints (complexity of AxB is AB) • internal nodes Lecture 5
Crossbar - example 1 2 3 4 4 1 2 3 Lecture 5
Another Example inputs outputs Lecture 5
Another Example sessions: (1,3) (2,6) (3,1) (4,4) (5,2) (6,5) inputs outputs Lecture 5
2x2 2x2 2x2 Clos Network Clos(N, n , k) : N - inputs/outputs; cross-points: 2 (N/n)nk + k(N/n)2 kxn nxk (N/n)x(N/n) 2x2 3x3 N=6 n=2 k=2 2x2 N 3x3 2x2 k N/n N/n Lecture 5
Clos Network - strict sense non-blocking • Holds for k 2n-1 • Proof Methodology: • Recall: IF [A,B S and |A|+|B| > |S|] then A∩ B≠Ø • S= The k middle switches • A = middle switches reachable from the inputs • B = middle switches reachable from the outputs • Our case: • |S|=k • |A| ≥ k-(n-1) • |B| ≥ k-(n-1) Lecture 5
n-1 k x n n-1 n x k Clos Network - strict sense non-blocking • Holds for k 2n-1 • Proof: • Consider an 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 an ”unused" middle switch good for both. Lecture 5
2x3 4x4 3x2 2x3 4x4 3x2 N=8 n=2 k=3 2x3 3x2 4x4 2x3 3x2 Example Clos(8,2,3) Need to route a new call Lecture 5
kxn nxk (N/n)x(N/n) 2x2 3x3 2x2 N=6 n=2 k=2 2x2 2x2 3x3 2x2 2x2 Clos Network Why is k=n internally blocking? Lecture 5
1 2 1 2 3 4 3 4 Clos Network - re-arrangable • Holds for k n • Proof: • Consider the routing graph. • find a perfect matching. • route the perfect matching through a single middle switch! • remaining network is Clos(N-N/n,n-1,k-1) • summary: • smaller circuit • weaker guarantee • Multicast ? Lecture 5
Recursive Construction: basis The basic element: The dimension: r=0 The two states: Lecture 5
Recursive Construction: Benes Network r-1 dimension N/2 size r-1 dimension N/2 size Lecture 5
Example 16x16 Lecture 5
Benes Networks • Symmetry • Size: • F(N) = 2(N/2)*4 + 2F(N/2) = O(N log N) • Rearrangable • Clos network with k=2 n=2 • Proof I: • Build routing graph. • Find 2 matchings • route one in the upper Benes and the other in the lower. Lecture 5
Greedy permutation routing • Start with an arbitrary node i1 • set i1 to upper. • At the output, o1 , a new constraint, • set o2 to lower. • Continue until no new constraint. • Completing a cycle. • Continue until done. • Solve for the upper and lower Benes recursively. Lecture 5
Example: Benes Network for r=2 I1 1 2 3 4 5 6 7 8 I2 level 0 switches level 2r switches Lecture 5
Example 1 2 3 4 5 6 7 8 1 5 6 8 4 2 3 7 ) ( I1 1 2 3 4 5 6 7 8 I2 level 0 switches level 2r switches Lecture 5
Example 1 2 3 4 5 6 7 8 1 5 6 8 4 2 3 7 ) ( I1 1 2 3 4 5 6 7 8 I2 level 0 switches level 2r switches Lecture 5
Example 1 2 3 4 5 6 7 8 1 5 6 8 4 2 3 7 ) ( I1 1 2 3 4 5 6 7 8 I2 level 0 switches level 2r switches Lecture 5
Example 1 2 3 4 5 6 7 8 1 5 6 8 4 2 3 7 ) ( I1 1 2 3 4 5 6 7 8 I2 level 0 switches level 2r switches Lecture 5
Strict Sense non-Blocking N/2 x N/2 . . . . . . N/2 x N/2 N/2 x N/2 Lecture 5
Properties • Size: • F(N) = 2N*6 + 3F(N/2) = O( N1.58 ) • strict sense non-blocking • Clos network with k=3 n=2 • Better parameters: • n=sqrt{N}, k=2sqrt{N}-1 • recursive size sqrt{N} x sqrt{N} • Circuit size N log2.58 N Lecture 5
Cantor Networks • m copies of Benes network. • For m = log N its strict sense non-blocking • Network size N log2 N • Example Lecture 5