Title: Guaranteed Smooth Scheduling in Packet Switches
1Guaranteed Smooth Scheduling in Packet Switches
Isaac Keslassy, Murali Kodialam, T.V. Lakshman,
Dimitri Stiliadis
2Outline
- Short History of Packet Switching
- Smooth Scheduling
- GLJD Algorithm
- GLJD Guarantees
- Simulations
- Bursty Scheduling
- Jitter-Insensitive Scheduling
3Input Queueing
Input 1
Scheduler
?
?
Input N
Output 1
Output N
4Input QueueingHead of Line Blocking
5Virtual Output Queueing
Scheduling ? finding matchings
6Other applications
- Packets scheduled using matchings in
- Routers (best-effort) as well as SONET TDM
switches (periodic) - Optics Broadcast-and-select WDM TTFR
- Wireless N-to-N FDMA
7Frame-Based Scheduling
8Birkhoff-von Neumann (BvN) Theorem
- Theorem if R is an NxN doubly-stochastic matrix,
we can decompose it as a sum of K weighted
permutations, with K lt N2
9Problems in BvN Decomposition
- Scalability
- Too many permutations for an SRAM chip
- N512 gt Nlog2N4,608bits/permutation gt
N3log2N150Mbytes total - Speed
- Time complexity in O(N4.5)
- Jitter (variable delay)
10Outline
- Short History of Packet Switching
- Smooth Scheduling
- GLJD Algorithm
- GLJD Guarantees
- Simulations
- Bursty Scheduling
- Jitter-Insensitive Scheduling
11What is smooth scheduling?
12Why smooth scheduling?
- Low-jitter guaranteed-bandwidth traffic
- For instance Expedited Forwarding in Diffserv
- Typically, 10 of the traffic
- Less burstiness
- Bursty TCP traffic results in multiple losses
- Increased short-term fairness
- Less buffering (or delay lines) for smoothly
arriving flows (buffer of 1 instead of 25)
13Smooth scheduling idea
- Decomposition find a decomposition of R into
matchings such that each entry of R appears in at
most one matching. - Scheduling use a scheduling algorithm to
smoothly schedule the matchings (matchings are
independent).
Our algorithm
Known method
14Smooth scheduling example
15Optimal Smooth Decomposition
- Theorem Optimal decomposition is NP-hard
- ? Need to find an approximation algorithm
16Smooth Decomposition Example
- Idea group together close coefficients
17GLJD (Greedy Low-Jitter Decomposition)
- Algorithm at each iteration, pick biggest
coefficient left, then biggest non-conflicting,
etc., until convergence
18Outline
- Short History of Packet Switching
- Smooth Scheduling
- GLJD Algorithm
- GLJD Guarantees
- Simulations
- Bursty Scheduling
- Jitter-Insensitive Scheduling
19GLJD guarantees
- Theorem 1 (matrices)
- GLJD needs at most K2N-1 matrices
- Theorem 2 (upper bound)
- Assume R of sum 1. Both D and GLJD need a
bandwidth ? 2HN-1, i.e. O(ln N) - Theorem 3 (lower bound)
- Both D and GLJD need a bandwidth of ?(ln N)
- Theorem 4 (approximation ratio)
- GLJD is a (2-1/N) bandwidth approximation
algorithm to D
20Outline
- Short History of Packet Switching
- Smooth Scheduling
- GLJD Algorithm
- GLJD Guarantees
- Simulations
- Bursty Scheduling
- Jitter-Insensitive Scheduling
21Simulations jitter
22Simulations complexity
- Simulations typically show that
- GLJD needs 10 times less matrices than BvN
- GLJD is 100 times faster than BvN
23Simulations bandwidth efficiency
- GLJD vs. BvN
- Guarantee ?(log N).
- Simulation 1.55
(N64)
24Outline
- Short History of Packet Switching
- Smooth Scheduling
- GLJD Algorithm
- GLJD Guarantees
- Simulations
- Bursty Scheduling
- Jitter-Insensitive Scheduling
25Bursty scheduling
- Assume optical transmissions with slow tuning
times
- Then we prefer a very bursty scheduling
26Bursty scheduling
- Objective find a decomposition that
- Minimizes the number of permutations
- Minimizes the bandwidth needed
- We can use again GLJD!
- Compared with GLJD smooth scheduling same
decomposition, different scheduling - Guarantees
- K?2N-1,
- BW ?(ln N)
27Outline
- Short History of Packet Switching
- Smooth Scheduling
- GLJD Algorithm
- GLJD Guarantees
- Simulations
- Bursty Scheduling
- Jitter-Insensitive Scheduling
28Problems in BvN Decomposition
- Scalability
- ?(N2) permutations, problem for SRAM chip
- Speed
- Time complexity in O(N4.5)
- Jitter
29Pigeonhole Scheduling
- 1) Assume some decomposition already exists for R
integer of sum ?M, with at most 2M-1 matrices.
30Pigeonhole Scheduling
- 2) Assume a new request. There is always a slot
to schedule it without moving the other requests.
31Pigeonhole Scheduling Results
- For R with integer coefficients of sum M
- 2M-1 matrices
- 2-1/M BW-approximation ratio to BvN
- (Similar to Clos network)
- For R with real coefficients
- 2dN-1 matrices
- 2(N-1)/d BW-approximation ratio
- (d is some parameter).
- Example d4N gt 10N matrices, 2.25 BW
32Conclusion
- BvN decomposition is an optimal but impractical
result - Practical smooth decomposition with ?(ln N)
bandwidth approximation ratio - Practical bursty decomposition with ?(ln N)
bandwidth approximation ratio - Practical pigeonhole decomposition with 2?
bandwidth approximation ratio, trade-off with
number of matrices