Title: Packet Scheduling
1Packet Scheduling
- Survey and Tutorial
- Guansong Zhang
EL938 Report
2What is Packet Scheduling ?
- Multiple packets exist in a buffer and they share
a common outgoing link - What is the policy to choose a packet for service
? - How does this policy affect the performance ?
- A popular topic in 1990s
- Output buffered and shared memory switches
(routers) dominate - Transmission links (especially long haul links)
are scare resources
3Where is Packet Scheduling ?
- Inside a network Switches Routers
- Inside a switch or a router
- Input buffer
- Output buffer
- Shared memory
- Packet scheduling is necessary when multiple
packets compete for a common outgoing link
4Why Packet Scheduling
- Required by both IntServ DiffServ model
- Quality of Service (QoS) control
- Delay
- Delay jitter
- Bandwidth
- Fairness
5A General Structure Inside a Router
1
1
Switch Fabric
N
N
Speedup factor 1N
6Basic Model of Packet Scheduler
- Output Buffered Switches
- Multiple flows (sessions, connections)
- Single server
- Service discipline
- Different packet scheduling algorithms
7Classification of Packet Schedulers
- A general classification
- Work-conserving
- The server is never idle when a packet is
buffered in the system - non-work-conserving
- The server could be idle even there are buffered
packet in the system - Based on internal architecture
- Sorted-priority
- Frame-based
8Classification of Packet Schedulers
- Sorted-priority
- A system potential (a global variable) is updated
each time a packet arrives or departs - A timestamp is computed as a function of the
system potential for each packet - Packets are sorted and transmitted based on their
timestamps - Frame-based
- Time is split into frames of fixed or variable
length - Each session makes a reservation in terms of
maximum traffic it is allowed to transmit during
a frame period - The reservation is made according to a sessions
allocated rate
9Several Well-known Schedulers
- Round-robin
- Weighted round-robin
- Deficit round-robin
- Generalized processor sharing (GPS)
- Weighted fair queueing (P-GPS)
- Virtual clock
- Self-clocked fair queueing
10Round-robin Schedulers
- Basic scheme serve all backlogged sessions in a
round-robin fashion - Weighted round-robin (fixed-length packets)
- Time is divided into frames
- Each sessions is assigned a weight in terms of
number of packets that could be served during a
frame - A counter is maintained for each session to
record the number of packets that have been
served during the current frame - Deficit round-robin (variable-length packets)
- Each session is assigned a weight in terms of
number of bits (or bytes)
11Generalized Processor Sharing
- GPS is an ideal scheduling discipline with
respect to a fluid-model
- The minimum service that a connection can receive
in any interval of time is
12Weighed Fair Queueing (P-GPS)
- WFQ is the Packetized version of GPS defined in
terms of a system potential (virtual time) V(t)
- Maintaining V(t) requires a GPS system is
simulated in parallel with the WFQ scheduler - The timestamp TSi associated with the k-th packet
arriving at t of flow i is calculated as
13Virtual Clock Scheduler
- VC is proposed before GPS but can be looked as an
approximation of GPS - Virtual time V(t) is define as real time t
- Thus, the timestamp of a packet is defined as
- VC achieves worst-case delay for a leaky-bucket
controlled session comparable to WFQ - However, VC can not bound short-term unfairness
14Self-clocked Fair Queueing
- SCFQ is another packetized approximation of GPS
scheduler with low implementation complexity - V(t) is defined as the timestamp TScur of the
packet currently in service - The timestamp of an arrival packet is calculated
as
- SCFQ achieves short-term fairness better than WFQ
- However, the worst-case delay is proportional to
the number of sessions in the scheduler
15Latency-Rate Servers
- LR-server defines a general class of schedulers
- Each specific scheduler S that belongs to
LR-server is only characterized by a parameter
?S, named latency - LR-server provides a convenient way to analyze
the worst-case behaviors, such as delay, buffer
requirement, and internal burstiness in an
arbitrary topology network where a broad range of
schedulers are employed.
16Example A Network of LR-Servers
E
C
A
Session i
B
D
?i
F
17Definition of LR-Servers
- Assumption
- Non-cut-through server
- Ai(?, t) and Wi(?, t) are increased only when the
last bit of a packet arrives/leaves the server - System busy period a maximal interval of time
during which the server is never idle - Backlogged period for session i any period of
time during which packets belonging to that
session are continuously queued in the system - Define Qi(t) Ai(0, t) Wi(0,t)
18Definition of LR-Servers
- Session i busy period a maximal interval of time
(?1,?2 such that for any time t?(?1,?2,
Ai(?1,t) ? ?i(t- ?1) - Note that a session busy period is only related
to the arrival traffic and allocated rate - This definition facilitates LR-servers to be able
to analyze a broad range of schedulers
19Definition of LR-Servers
- A server S belongs in the class LR if and only if
all times t after time ? that the jth busy period
of session i started and until the packets that
arrived during this period are serviced,
- is the minimum non-negative number that
satisfies the above inequality - The right-hand side of the above equation defines
an envelope to bound the minimum service offered
to session i during a busy period
20An example of the behavior of an LR server
21Analysis of a Single LR Server
- Assumption
- Input traffic of session I is leaky-bucket
smoothed, Ai(?,t) ? ?i?i(t-?) - Allocated rate is at least equal to the average
arrival rate - If S is an LR server, the following bounds must
hold - Backlog Qi(t) ? ?i ?i?i
- Delay Di ? ?i/?i ?i
- Output traffic conforms to (?i ?i?i , ?i)
22Analysis of a network of LR Servers
- Session i passes through a chain of LR servers in
the network - Result I The output traffic of the kth server
conforms to a leaky bucket process with
parameters
- Result II The maximum backlog in the kth node of
a session is bounded as
23Analysis of a network of LR Servers
- Result III The maximum delay of a session I in a
network of LR servers, consisting of K servers in
series, is bounded as
- It is interesting to notice that the results from
a series of LR servers is the same as that from a
single LR server with a latency that equals to
the sum of the formers
24Fairness of LR Servers
- Normalized service Wi(?,t)/?i
- A scheduler is perfectly fair if,
- Wi(?,t)/?i - Wj(?,t)/?j 0
- E.g. GPS is perfectly fair
- For a packetized scheduler, it is close to fair
if, - Wi(?,t)/?i - Wj(?,t)/?j ? FS
- FS is a constant, named fairness of server S
- This definition originated from SCFQ paper
25Example Unfairness of VirtualClock Scheduler
- Two sessions and each one is allocated half of
bandwidth - Each packet is unity length
- Service rate is unity
- VirtualClock cannot bound fairness, if the
traffic burstiness is unbounded
26Characteristic of Several Schedulers
27Design Objectives of a Fair Queueing Algorithm
- Delay (latency) and burstiness comparable to WFQ
- Simple timestamp computation
- The complexity of WFQ is O(V), not good
- Bounded fairness (comparable to SCFQ)
- Introduce another class of schedulers, named Rate
Proportional Server (RPS) - Latency comparable to WFQ
28RPS Potential Function
- A function represents the state of each
connection in a scheduler, named potential, Pi(t) - The potential of a connection is a non-decreasing
function of time during a system-busy period - All potentials can be initialized to zero at the
beginning of a system-busy period - Pi(t) increases exactly by the normalized service
session i received when it is backlogged - Pi(t) Pi(?) Wi(t, ?) / ?i
29Why Potential Functions ?
- A fair algorithm must attempt to increase the
potentials of all backlogged connections at the
same rate, in another word, equalize the
potential of each connection - E.g. all sorted-priority schedulers (GPS, WFQ,
VirtualClock, SCFQ)
30How About Potentials of Idle Sessions ?
- Ideally, the Pi(t) of an idle session must
increase in the same way as it were backlogged - Introduce system potential, P(t), that keeps
track of the total work done by the scheduler - Update Pi(t) with P(t) when session I becomes
backlogged to account for the service it missed - Generally, P(t) can be defined as a
non-decreasing function of Pi(t-) and t, - P(t) f(Pi(t-), t), i1..V
- GPS P(t) Pi(t)
- VirtualClock P(t) t
31An Interesting Illustration
32RPS Definition (Fluid Model)
- A rate proportional server has the following
properties - Sum of ?i ? r
- Properties of Pi(t)
- Remain constant when not backlogged
- Pi(t) max( Pi(t-), P(t) ), when become
backlogged - Pi(t) Pi(?) Wi(?,t) / ?i
- Conditions for P(t)
- P(t2) P(t1) ? t2 t1
- P(t) ? min (Pj(t)), where j?B(t)
33RPS Definition (contd)
- Service discipline
- Among the backlogged connections, only the set of
connections with the minimum potential at time t
is served - Each connection in this set is served with an
instantaneous rate proportional to its
reservation, so as to increase the potentials of
the connections in this set at the same rate - It is proved that RPS is LR with zero latency
34Illustration of the Evolution of Potential
Functions in RPS
35Packetized RPS (PRPS)
- A PRPS is defined in terms of the fluid-model as
one that transmits packets in increasing order of
their finishing potential - Finishing potential of a packet of session i
equals to Pi(t), where t is time when the packet
finishes service in the fluid server - Finishing potential is used to timestamp the
arrival packet
36Difference Bound Between PRPS RPS
37Delay Analysis of PRPS
- A PRPS is an LR server with latency
- The latency of PRPS is the same as that of WFQ
38Fairness Analysis of PRPS
- The choice of system potential function has a
significant influence on the fairness of service
provided to the sessions - PRPS guarantee the average service offered to
each session, implying it is a long term concept - However, if the system potential lags far behind
the potential of backlogged sessions, PRPS may
penalized sessions for service received in excess
of their reservation at an earlier time (e.g.
VirtualClock Scheduler)
39Fairness Analysis of PRPS (contd)
- If the system potential function in a RPS never
lags behind more than a finite amount ?P from the
potential of the connections that are served in
the system, the difference in normalized service
offered to any two connections during any
interval of time that they are continuously
backlogged is also bounded by ?P, that is,
40Fairness Analysis of PRPS (contd)
- Extend the above result to PRPS,
41Fair RPS (FRPS)
- It can be seen from above that the fairness of an
RPS is determined by the choice of the system
potential function - The definition of fair RPS
- A finite constant ?P can be found such that P(t)
? Pi(t) ?P, for any i?B(t) - The above constraint can be satisfied by the use
of a re-calibration mechanism periodically to
bound the maximum difference between P(t) and
Pi(t)
42Base Potential Function
- A base potential function SP(t) is a
non-decreasing function with the following
properties
- Any RPS server can achieve bounded fairness by
periodically re-calibrating the system potential
using the base potential function, if the
interval between re-calibration is bounded
43Construction of FRPS
- During a system-busy period, the function P(t) is
a piecewise linear function of time t - At time ?0lt ?1lt lt ?k, the system potential is
updated as - P(?j) max( P(?j-), SP(?j) )
- At any time t between update,
- P(t) P(?j) (t- ?j), ?jlttlt?j1
- The interval between updates is bounded,
- ?j1 - ?j? ?T
44Two examples of FRPS
- Frame-based fair queueing (FFQ)
- SP(t) k x T
- Starting potential fair queueing (SPFQ)
- SP(t) minSi(t)
- i?B(t)
45Properties of SPFQ
- Fairness of SPFQ, comparable to WFQ
- According to the definition of SSPFQ(t), the
complexity for system potential updating is
O(logV), which is fine since at least O(logV) is
necessary to do departure selection
46Topics Remained to be Discussed
- How to achieve better fairness ?
- Worst-case fair Weighted Fair Queuing (WF2Q) and
WF2Q - Introduce another fairness measurement, named
worst-case fair index (WFI) - Shaped RPS
- E.g. shaped VirtualClock shaped SPFQ
- How to support difference class of service
simultaneously ? - Hierarchical packet fair queueing (H-PFQ)
47Reference
- 1 D. Stiliadis and A. Varma, "Latency-Rate
Servers A General Model for Analysis of Traffic
Scheduling Algorithms" in IEEE/ACM Transactions
on Networking, October 1998 - 2 D. Stiliadis and A. Varma, Rate Proportional
Servers A Design Methodology for Fair Queueing
Algorithms," in IEEE/ACM Transactions on
Networking, April 1998 - 3 D. Stiliadis and A. Varma, Efficient Fair
Queueing Algorithms for Packet Switched
Networks," in IEEE/ACM Transactions on
Networking, April 1998 - 4 A. K. Parekh and R. G. Gallager A
generalized processor sharing approach to flow
control the single node case, in Proc. of IEEE
INFOCOM, May 1992 - 5 L. Zhang, Virtual clock a new traffic
control algorithm for packet switching networks,
in Proc. ACM SIGCOMM, Sep 1990
48Reference (contd)
- S. Golestani A selfclocked fair queueing scheme
for broadband applications, in Proceedings of
IEEE INFOCOM, April 1994 - M. Shreedhar and G. Varghese Ecient fair
queueing using deficit round robin, in
Proceedings of ACM SIGCOMM, Sep 1995 - J. C. R. Bennett and H. Zhang, WF2Q worst-case
fair weighted fair queueing, in Proceeding of
IEEE INFOCOM, Mar, 1996 - J. C. R. Bennett and H. Zhang, Hierarchical
packet fair queueing algorithms, in IEEE/ACM
Tran. on Networking, Oct 1997 - D. Stiliadis and A. Varma, A general methodology
for design efficient traffic scheduling and
shaping algorithms, in Proc. IEEE INFOCOM, Apr
1997 - F. M. Chiussi and A. Francini, A distributed
scheduling architecture for scalable packet
switches, in IEEE JSAC, Dec 2000
49Questions Comments ?