Nick McKeown
CS244 Lecture 6
Packet Switches
What you saidThe very premise of the paper was a bit of an eye-opener for me, for previously I had never even considered the role of switching technology in overall network throughput. I had assumed that link throughput was the key determinant, so reading this paper made me realize how high-level improvements in network performance can be contingent upon advancements in several different areas of the networking stack.
2
Output Queued Packet SwitchLookupAddress
UpdateHeader
ForwardingTable
ForwardingTable
LookupAddress
UpdateHeader
ForwardingTable
ForwardingTable
LookupAddress
UpdateHeader
ForwardingTable
ForwardingTable
QueuePacket
BufferMemory
BufferMemory
QueuePacket
BufferMemory
BufferMemory
QueuePacket
BufferMemory
BufferMemory
Data H
Data H
Data H
LookupAddress
UpdateHeader
ForwardingTable
ForwardingTable
QueuePacket
BufferMemory
BufferMemory
LookupAddress
UpdateHeader
ForwardingTable
ForwardingTable
QueuePacket
BufferMemory
BufferMemory
LookupAddress
UpdateHeader
ForwardingTable
ForwardingTable
QueuePacket
BufferMemory
BufferMemory
Input Queued Packet SwitchData H
Data H
Data H
Head of Line Blocking
Virtual Output Queues
7
0% 20% 40% 60% 80% 100%Load
Delay
Output Queued Packet Switch
The best that any queueing system
can achieve.
Properties of OQ switches
1. They are “work conserving”.
2. Throughput is maximized.
3. Expected delay is minimized.
4. We can control packet delay.
Broadly speaking: When possible, use an OQ design.
8
9
0% 20% 40% 60% 80% 100%Load
Delay
Input Queued Packet SwitchHead of Line Blocking
OQ Switch
2 2 58%
Input Queued Packet SwitchWith Virtual Output Queues
OQ Switch
VOQs
What you said
"... It seems like the paper assumes that, outside of overflowing buffers, no packets will ever be lost. I'd like to know where this assumption comes from. I feel like there are always random drops or packet corruption, so I have a hard time believing that these delay guarantees are 100% valid.”
- Anonymous
11
Properties of OQ switches
1. They are “work conserving”.
2. Throughput is maximized.
3. Expected delay is minimized.
4. We can control packet delay.
Broadly speaking: When possible, use an OQ design.
12
Practical Goal
Problem: Memory bandwidth
Therefore: Try to approximate OQ.
In this paper, we are just looking at those switches that attempt to match “Property 2: Maximize throughput”
13
Questions
1. What is a virtual output queue (VOQ)?
2. How does a VOQ help?
3. What does the scheduler/arbiter do?
14
Parallel Iterative Matching
1
2
3
4
1
2
3
4
Request
1
2
3
4
1
2
3
4Grant
1
2
3
4
1
2
3
4Accept
uar selection
1
2
3
4
1
2
3
4
uar selection
1
2
3
4
1
2
3
4
#1
#2
Itera
tion:
1
2
3
4
1
2
3
4
PIM Properties
1. Guaranteed to find a maximal match in at most N iterations.
2. Inputs and outputs make decisions independently and in parallel.
3. In general, will converge to a maximal match in < N iterations.
4. How many iterations should we run?
Parallel Iterative Matching
Simulation16-port switch
Uniform iid traffic
FIFO
MaximumSize
OutputQueued
Parallel Iterative MatchingPIM with
one iteration
Simulation16-port switch
Uniform iid traffic
FIFO
MaximumSize
OutputQueued
Parallel Iterative MatchingPIM with
one iteration
Simulation16-port switch
Uniform iid traffic
PIM with four iterations
Parallel Iterative MatchingNumber of iterations
Consider the n requests to output j
Requesting inputs
receiving no other grants
Requesting inputs
receiving other grants
k
n-kj
Virtual Output Queues
Throughput
“Maximize throughput” is equivalent to “queues don’t grow without bound for all non-oversubscribing traffic matrices”i.e. ≤for every queue in the system.
Observations: 1. Burstiness of arrivals does not affect
throughput
2. When traffic is uniform, solution is trivial
22
Uniform traffic
23
= 1/N1 1 … 11 1 … 1… … …1 1 … 1
Throughput for uniform traffic
100% throughput is easy for uniform traffic:1.Serve every queue at rate 1/N in fixed round-robin schedule
2.Pick a permutation each time uniformly and at random from all possible N! permutations
3.Or, from among N round-robin permutations
4.Wait until all VOQs are non-empty, then pick any algorithm above.
24
With non-uniform traffic
100% throughput is now known to be theoretically possible with:- Input queued switch, with VOQs, and- An arbiter to pick a permutation to maximize
the total matching weight (e.g. weight is VOQ occupancy or packet waiting time)
It is practically possible with:- IQ switch, VOQs, all running twice as fast- An arbiter running a maximal match (e.g. PIM)
25
Questions
1. Why does the PIM paper talk about TDM scheduled traffic?
2. What about multicast?
3. Multiple priorities?
26
Question
What else does a router need to do apart from switching packets?
27