Post on 26-Feb-2016
description
EE384M Switch Design
Tom Edsall
Bus Architecture
MAC MAC MAC MAC MAC MAC
FWD
MACMACMAC
Bus Architecture
MAC MACMACMACMACMACMAC MACMAC
MACMACMACMAC MACMAC
FWD
Bus ArchitectureMACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
FWD
Cross-bar ArchitectureMACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
FWD
Cross-Bar Model
FWD
FWD
FWD
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
Performance Issue with Cross-Bars
Source: M. J. Karol, M.G. Hluchyj, S. P. Morgan, “Input Versus Output Queueing [sic] on a Space-Division Packet Switch”, IEEE Transactions on Communications, Vol COM-35, No 12, December 1987, page 1353
58.6%
3X Speed-up in cross-bar
ClassicCross-Bar2.16Tbps
FIFO 1
FIFO 2
FIFO 3
FIFO 18
20 GbpsEach
60 GbpsEach
FIFO 1
FIFO 2
FIFO 3
FIFO 18
60 GbpsEach
20 GbpsEach
Cross-Bar Model
FWD
FWD
FWD
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
MACMACMAC
Data Path
Head of Line Blocking
Stadium
Beer/Soda/Chips
Kwiky Mart
Stadium
Output Queuing
Beer/Soda/Chips
Kwiky Mart
Head of Line Blocking
BCACB
A
B
C
Head of Line Blocking
BCACBCAB
A
B
C
Head of Line Blocking
CB CBCABCB A
A
B
C
A
B
C
VOQ—Virtual Output Queues
BCACB
ARB
VOQ—Virtual Output Queues
BC
AA
A
B
C
ARB
CBCAB
VOQ—Virtual Output Queues
BC
ABACCB
AAA
A
B
C
ARB
Model—Was This
Becomes This
ARB
Completing the Swtich
FWD
FWD
FWD
ARB
Completing the Swtich
ARBFWDMAC
FWDMAC
FWDMAC
MAC
MAC
MAC
Completing the Swtich
Port
ARBFWDMAC
FWDMAC
FWDMAC
MAC
MAC
MAC
Re-Draw
MAC MAC MAC
ARB
FWD FWD FWD
MDS 9500 ImplementationEthFlash
Card Console
Cross-Bar
Supervisor/Fabric
Back Plane
Arb
I/F uP
M M M
F
Q
F
Q
F
Q
I/F uP
M M M
F
Q
F
Q
F
Q
I/F uP
M M M
F
Q
F
Q
F
Q
I/F uP
M M M
F
Q
F
Q
F
Q
uP
ARBFWDMAC
FWDMAC
FWDMAC
MAC
MAC
MAC
ARBREQ
GNT
Credit
Packet
Failures
• Arbitration– Arbiter logic• duplicate arbiters
– Message failure• Cross-bar– duplicate x-bars– load-balance
Scaling further
Linecard Linecard Linecard Linecard Linecard
ARB ARB
Scaling further
Linecard Linecard Linecard Linecard Linecard
ARB ARB
ARBREQ
GNT
Credit
Packet
Packet Spraying
Other Algorithms
• Table lookups• Forwarding• Output Interface (OIF) Lists• Packet Buffering/Queuing• Arbitration between queues• Load balancing• Parsing• Link aggregation