Download - Switching Units
![Page 1: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/1.jpg)
Switching Units
![Page 2: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/2.jpg)
#2
Types of switching elements
Telephone switches switch samples
Datagram routers switch datagrams
ATM switches switch ATM cells
INPUTS
OUTPUTS
![Page 3: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/3.jpg)
#33
Look Inside a Router
Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) switching datagrams from incoming to outgoing ports
![Page 4: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/4.jpg)
#4
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
![Page 5: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/5.jpg)
#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 Connectionless (router)
Connection-oriented (switching system)
Packet switch
Internet router ATM switching system
Circuit switch
?? Telephone switching system
![Page 6: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/6.jpg)
#6
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
![Page 7: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/7.jpg)
#7
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
![Page 8: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/8.jpg)
#8
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
![Page 9: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/9.jpg)
#9
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
![Page 10: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/10.jpg)
#10
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
![Page 11: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/11.jpg)
#11
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
![Page 12: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/12.jpg)
#12
First generation switch
Most Ethernet switches and cheap packet routers
Bottleneck can be CPU, host-adaptor or I/O bus, depending
computer
queues in memory
CPU
linecard linecard linecard
![Page 13: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/13.jpg)
#13
Second generation switch
Port mapping intelligence in line cards Bottleneck is the bus (or ring)
bus
computer
front end processorsor line cards
![Page 14: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/14.jpg)
#14
Third generation switches
Third generation switch provides parallel paths (fabric)
NxNpacketswitchfabric
OLC
OLC
OLC
IN
ILC
ILC
ILC
OUT
control
![Page 15: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/15.jpg)
#15
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
![Page 16: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/16.jpg)
#16
Line Cards (for CRS-1)
![Page 17: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/17.jpg)
#17
CRS-1 routers
![Page 18: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/18.jpg)
Switching - Fabric
![Page 19: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/19.jpg)
#19
Switching: abstract model
Number of connections: from few (4 or 8) to huge (100K)
![Page 20: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/20.jpg)
#20
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
De-Mux
12
N
12
N
1 2 NMUX
![Page 21: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/21.jpg)
#21
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)
MUX
DEMUX
TSI
![Page 22: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/22.jpg)
#22
Time Slot Interchange (TSI) : example
sessions: (1,3) (2,1) (3,4) (4,2)
4 3 2 1 3 1 4 2
1234
Read and write to shared memory in different order
1
2
3
4
2
4
1
3
![Page 23: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/23.jpg)
#23
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
![Page 24: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/24.jpg)
#24
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
inputs
outputs
![Page 25: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/25.jpg)
#25
Crossbar - example
1
2
3
4
1 2 3 4
sessions: (1,2) (2,4) (3,1) (4,3)
inpu
ts
output
![Page 26: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/26.jpg)
#26
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
![Page 27: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/27.jpg)
#27
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)
2 1
4 3
MUX
MUX
1
2
3
4
TSI
TSI
1 2
4 3
DeMux DeMux
![Page 28: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/28.jpg)
#28
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.12
34
12
34
![Page 29: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/29.jpg)
#29
Time-Space: Example
2 1
4 3TSI
2 1
3 4
31
24
Internal speed = double link speed
time 1
time 2
TSI
![Page 30: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/30.jpg)
#31
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.
![Page 31: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/31.jpg)
#32
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
![Page 32: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/32.jpg)
#33
Crossbar - example
1
2
3
4
1 2 3 4
![Page 33: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/33.jpg)
#34
Another Examplein
pu
tsou
tputs
![Page 34: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/34.jpg)
#35
Another Example
sessions: (1,3) (2,6) (3,1) (4,4) (5,2) (6,5)
inpu
tsou
tputs
![Page 35: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/35.jpg)
#36
Clos Network
Clos(N, n , k) : N - inputs/outputs; cross-points: 2 (N/n)nk + k(N/n)2
nxk (N/n)x(N/n) kxn
N=6n=2k=2
3x3
3x3
2x2
2x2
2x2
2x2
2x2
2x2N
k N/nN/n
![Page 36: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/36.jpg)
#37
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)
![Page 37: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/37.jpg)
#38
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.
n x k
k x n
n-1
n-1
![Page 38: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/38.jpg)
#39
Example
Clos(8,2,3)
N=8n=2k=3
4x4
4x4
3x2
3x2
3x2
2x3
2x3
2x3
2x3 4x4 3x2
Need to route a new call
![Page 39: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/39.jpg)
#40
Clos Network
nxk (N/n)x(N/n) kxn
N=6n=2k=2
3x3
3x3
2x2
2x2
2x2
2x2
2x2
2x2
Why is k=n internally blocking?
![Page 40: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/40.jpg)
#41
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
12
34
12
34
![Page 41: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/41.jpg)
#42
Recursive Construction: basis
The basic element:
The two states:
The dimension: r=0
![Page 42: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/42.jpg)
#43
Recursive Construction: Benes Network
r-1 dimension N/2 size
r-1 dimension N/2 size
![Page 43: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/43.jpg)
#44
Example 16x16
![Page 44: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/44.jpg)
#45
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.
![Page 45: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/45.jpg)
#46
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.
![Page 46: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/46.jpg)
#47
Example: Benes Network for r=2
level 0 switches level 2r switches
I1
I2
12
34
56
78
![Page 47: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/47.jpg)
#48
Example
level 0 switches level 2r switches
I1
I2
12
34
56
78
1 2 3 4 5 6 7 81 5 6 8 4 2 3 7
( )
![Page 48: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/48.jpg)
#49
Example
level 0 switches level 2r switches
I1
I2
12
34
56
78
1 2 3 4 5 6 7 81 5 6 8 4 2 3 7
( )
![Page 49: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/49.jpg)
#50
Example
level 0 switches level 2r switches
I1
I2
12
34
56
78
1 2 3 4 5 6 7 81 5 6 8 4 2 3 7
( )
![Page 50: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/50.jpg)
#51
Example
level 0 switches level 2r switches
I1
I2
12
34
56
78
1 2 3 4 5 6 7 81 5 6 8 4 2 3 7
( )
![Page 51: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/51.jpg)
#52
CRS-1 Switch Fabric Overview
1 of 8
2 of 8
8 of 8
1
2
8
1
2
16
40 Gbps
Line Card Line Card
50 Gbps136 Bytes cells Fabric
Chassis
100 Gbps/LC(2)(2.5X Speedup)
1296 x 1296 buffered non-blocking switchMulti-stage Interconnect—3 Stage Benes topology
S1 S2 S3
S1 S2 S3
S1 S2 S3
2 LEVELS OF PRIORITY
HP Low latency traffic
LP Best effort traffic
MULTICAST SUPPORT
1M multicast groups
![Page 52: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/52.jpg)
#53
Basic Router Architecture3 Main components: Line cards,Switching mechanism,
Route Processor(s), Routing Applications
Control Components
Forwarding Component
Interconnect
![Page 53: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/53.jpg)
#54
Strict Sense non-Blocking
N/2 x N/2
N/2 x N/2
.
.
.
.
.
.N/2 x N/2
![Page 54: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/54.jpg)
#55
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 O(N log2.58 N)
![Page 55: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/55.jpg)
#56
Cantor Networks
m copies of Benes network. For m = log N its strict sense non-
blocking Network size N log2 N Example
![Page 56: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/56.jpg)
#57
Cantor Network
m=4
![Page 57: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/57.jpg)
#58
Proof Sketch:
Benes network: • 2 log N -1 layers, • N/2 nodes in layer.• Middle layer= layer log N -1
Consider the middle layer of the Benes Networks. There are Nm/2 nodes in in all of them combined. Bound (from below) the number of nodes
reachable from an input and output. If the sum is more than Nm/2:
There is an intersection there has to be a route.
![Page 58: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/58.jpg)
#59
Proof Sketch:
Let A(k) = number of nodes reachable at level k.
A(0)=m A(1)= 2A(0)-1 A(2)=2A(1)-2 A(k)=2A(k-1) - 2k-1 = 2k A(0) - k 2k-1
A(log N -1) = Nm/2 - (log N -1) N/4 Need that: 2A(log N -1) > Nm/2.
2[Nm/2 - (log N -1) N/4] > Nm/2. Hold for m> log N-1.
![Page 59: Switching Units](https://reader035.vdocument.in/reader035/viewer/2022062517/56812d75550346895d928a0d/html5/thumbnails/59.jpg)
#60
Advanced constructions
There are networks of size O(N log N). the constants are huge!
Basic paradigm also applies to large packet switches.