Title: Scheduling
1Scheduling
- Source S. Keshav, An engineering approach to
computer networking.
2Outline
- What is scheduling
- Requirements of a scheduling discipline
- Fundamental choices
- Scheduling best effort connections
- Scheduling guaranteed-service connections
- Packet drop strategies
3Scheduling
- Sharing always results in contention
- A scheduling discipline resolves contention
- whos next?
- Key to sharing resources
- Example
- on application level, consider queries awaiting
web server - on transport level, consider packets waiting to
be put on a link at output queues of a switch
(will be studied in the rest of the chapter)
4What can scheduling disciplines do?
- Give different users different qualities of
service - Scheduling disciplines can allocate
- bandwidth
- delay
- loss
- They also determine how fair the network is
5Outline
- What is scheduling
- Requirements of a scheduling discipline
- Fundamental choices
- Scheduling best effort connections
- Scheduling guaranteed-service connections
- Packet drop strategies
6Requirements
- An ideal scheduling discipline
- is easy to implement
- is fair
- What does it means for packets scheduling at the
output of switches?
7Requirements 1. Ease of implementation
- Scheduling discipline has to make a decision once
every few microseconds! - Should be implementable
- for hardware VLSI critical constraint is size of
the scheduling state (pointer to packet queues,
memory about services already received by
connections, ) - Work per packet should scale less than linearly
with number of active connections
8Requirements 2. Fairness
- Scheduling discipline must allocate a resource
fairly - Intuitively
- each connection gets no more than what it wants
- the excess, if any, is equally (weighted) shared
- Fairness also provides protection
Transfer half of excess
Unsatisfied demand
A
B
A
B
C
C
9Outline
- What is scheduling
- Requirements of a scheduling discipline
- Fundamental choices
- Scheduling best effort connections
- Scheduling guaranteed-service connections
- Packet drop strategies
10Fundamental choices
- 1. Degree of aggregation ( number of classes of
traffic) - Within a class of traffic
- 2. Work-conserving vs. non-work-conserving
- If more than a single class of traffic
- 3. Number of priority levels
- 4. Service order
11Choices 1. Degree of aggregation
- More traffic aggregation
- less state
- cheaper
- smaller VLSI
- less to advertise
- BUT less individualization, no protection within
a class - Single class in current Internet!
12Choices 2. Work conserving vs.
non-work-conserving
- Work conserving discipline is never idle when
packets await service - Non-work conserving key conceptual idea delay
packet till eligible - Why bother with non-work conserving?
- Reduces delay-jitter gt fewer buffers in network
FCFS
13Choices 3. Priority
- Packet is served from a given priority level only
if no packets exist at higher levels (multilevel
priority with exhaustive service) - Highest level gets lowest delay
- Watch out for starvation!
- Usually priority levels correspond to delay
classes - Low bandwidth urgent messages
- Realtime
- Non-realtime
Priority
14Choices 4. Service order of classes with same
priority
- In each aggregation class, packets are served in
order of arrival (First Come First Served) - If one single class,
- bandwidth hogs win (no protection)
- If several classes, scheduling scheme decides
which class to serve next - protection
15Outline
- What is scheduling
- Requirements of a scheduling discipline
- Fundamental choices
- Scheduling best effort connections
- Scheduling guaranteed-service connections
- Packet drop strategies
16Scheduling single class best-effort connection
(Internet)
- Single class -gt no priority and no real
scheduling packet are served to the output link
in their order of arrival - Implementation Single FIFO (First In First Out)
queue - Very simple
- Unfair (Fairness will require cooperation between
users. So, Internet will rely on trust and
respect)
17Scheduling best-effort connections More than one
class in a priority level
- Main requirement is fairness
- Achievable using Generalized processor sharing
(GPS) - Visit each non-empty queue in turn
- Serve infinitesimal from each (impossible in
practice!) - Why is this fair?
- How can we give weights to connections?
18Simple GPS emulation Weighted round robin
- Serve a packet from each non-empty queue in turn
- Unfair if packets are of different length or
weights are not equal - Different weights, fixed packet size
- serve more than one packet per visit, after
normalizing to obtain integer weights - Different weights, variable size packets
- normalize weights by mean packet size
- e.g. weights 0.5, 0.75, 1.0, mean packet sizes
50, 500, 1500 - normalize weights 0.5/50, 0.75/500, 1.0/1500
0.01, 0.0015, 0.000666, normalize again 60,
9, 4 - More complex in practice (average size of packets
is unknown, variable weights, ...)
19Outline
- What is scheduling
- Why we need it
- Requirements of a scheduling discipline
- Fundamental choices
- Scheduling best effort connections
- Scheduling guaranteed-service connections
- Packet drop strategies
20Scheduling guaranteed-service connections
- With best-effort connections, goal is fairness
- With guarantee-service, there is admission
control of connections and goal is to provide
sufficient bandwidth or delay to admitted
connections - We now present two scheduling discipline examples
that provide performance guarantee
21Example 1 Weighted Round Robin
- The highest the weight of a connection, the more
it will be served and the higher its bandwidth
and the smaller its delay - But, no possibility to guarantee the delay
without plying on bandwidth ( coupling)
22Example 2 Rate-controlled scheduling
- A class of disciplines
- two components regulator and scheduler
- incoming packets are placed in regulator where
they wait to become eligible ( admission
control) - then they are put in the scheduler
- Regulator shapes the traffic (bandwidth),
scheduler provides performance (delay, jitter, )
guarantees - Decoupling between delay and bandwidth Can give
a low-bandwidth connection a low delay without
overbooking
23Summary
- Two sorts of applications best effort and
guaranteed service - Best effort connections require fair service
- provided by GPS, which is unimplementable
- emulated by WRR and its variants
- Guaranteed service connections require
performance guarantees - provided by WRR, but this is not flexible enough
- may be better to use rate-controlled schedulers
24Outline
- What is scheduling
- Why we need it
- Requirements of a scheduling discipline
- Fundamental choices
- Scheduling best effort connections
- Scheduling guaranteed-service connections
- Packet drop strategies
25Packet dropping
- Packets that cannot be served immediately are
buffered - Full buffers gt packet drop strategy
- Packet losses happen almost always from
best-effort connections (why?) - Shouldnt drop packets unless imperative
- packet drop wastes resources (why?)
26Early or late drop?
- Early drop gt drop as buffer is filling
- signals endpoints to reduce rate
- Late drop
- drop only when buffer is full (lots of losses in
short time, rather unstable)
27Drop position
- Can drop a packet from head or tail position in
the queue - Tail
- easy
- default approach
- Head
- harder
- lets source detect loss earlier