Download presentation
Presentation is loading. Please wait.
1
scheduling for local-area networks”
CS244 Packet Switch Design Tom Anderson et al. “High-speed switch scheduling for local-area networks” Sachin Katti
2
Context Tom Anderson, Professor of CS, University of Washington
Susan Owicki, Susan: Was on Stanford CS faculty. Went to DEC SRC (where this work was done). Now a Family Therapist in Palo Alto.
3
Throughput 1 1 l 1 1 Q: If l < 1 what happens to the queue? l/2 l/2
If the packets are all the same length, then at most one complete packet buffered at a time (plus one being drained). If packets are of different length, then how much (max) data can be in the queue at a time? (Ans: 1 max packet being drained, plus 1 max packet waiting = 2 max packets) The second queue shows that if two packets arrive at the same time, or if there is a collision of several packets for a while, then the queue will build up. In a switch, there are N such inputs. 1 l/2 1 l/2 Q: If l < 1 what happens to the queue?
4
Output Queued Packet Switch
Lookup Address Update Header Forwarding Table Data H Queue Packet Buffer Memory Lookup Address Update Header Forwarding Table Data H Lookup Address Update Header Forwarding Table Data H
5
Input Queued Packet Switch
Lookup Address Update Header Forwarding Table Queue Packet Buffer Memory Data H Data H Lookup Address Update Header Forwarding Table Queue Packet Buffer Memory Data H Lookup Address Update Header Forwarding Table Queue Packet Buffer Memory
6
Head of Line Blocking
7
Virtual Output Queues
8
Output Queued Packet Switch
The best that any queueing system can achieve. 8
9
Properties of OQ switches
They are “work conserving”. Throughput is maximized. Expected delay is minimized. We can control packet delay. Broadly speaking: When possible, use an OQ design.
10
Input Queued Packet Switch Head of Line Blocking
OQ Switch 10
11
Input Queued Packet Switch With Virtual Output Queues
VOQs OQ Switch
12
Properties of OQ switches
They are “work conserving”. Throughput is maximized. Expected delay is minimized. We can control packet delay. Broadly speaking: When possible, use an OQ design.
13
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”
14
Questions What is a virtual output queue (VOQ)? How does a VOQ help?
What does the scheduler/arbiter do?
15
Parallel Iterative Matching
1 2 3 4 #1 #2 Iteration: uar selection uar selection 1 2 3 4 1 2 3 4 Grant 1 2 3 4 Accept Request 1 2 3 4 1 2 3 4
16
PIM Properties Guaranteed to find a maximal match in at most N iterations. Inputs and outputs make decisions independently and in parallel. In general, will converge to a maximal match in < N iterations. How many iterations should we run?
17
Parallel Iterative Matching
FIFO Maximum Size Output Queued Simulation 16-port switch Uniform iid traffic
18
Parallel Iterative Matching
PIM with one iteration FIFO Maximum Size Output Queued Simulation 16-port switch Uniform iid traffic
19
Parallel Iterative Matching
PIM with one iteration PIM with four iterations Simulation 16-port switch Uniform iid traffic
20
Parallel Iterative Matching Number of iterations
Consider the n requests to output j k Requesting inputs receiving no other grants j n-k Requesting inputs receiving other grants
21
Virtual Output Queues l 1
22
Throughput “Maximize throughput” is equivalent to “queues don’t grow without bound for all non-oversubscribing traffic matrices” i.e. l ≤ 1 for every queue in the system. Observations: Burstiness of arrivals does not affect throughput When traffic is uniform, solution is trivial
23
Uniform traffic l = 1/3 1 1 1 1/3 1
24
Throughput for uniform traffic
100% throughput is easy for uniform traffic: Serve every queue at rate 1/N in fixed round-robin schedule Pick a permutation each time uniformly and at random from all possible N! permutations Or, from among N round-robin permutations Wait until all VOQs are non-empty, then pick any algorithm above.
25
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.