Scheduling - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Scheduling

Description:

Weighted round robin. Serve a packet from each non-empty ... Example 1: Weighted Round Robin ... Example 2: Rate-controlled scheduling. A class of disciplines ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 28
Provided by: skes98
Category:

less

Transcript and Presenter's Notes

Title: Scheduling


1
Scheduling
  • Source S. Keshav, An engineering approach to
    computer networking.

2
Outline
  • What is scheduling
  • Requirements of a scheduling discipline
  • Fundamental choices
  • Scheduling best effort connections
  • Scheduling guaranteed-service connections
  • Packet drop strategies

3
Scheduling
  • 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)

4
What 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

5
Outline
  • What is scheduling
  • Requirements of a scheduling discipline
  • Fundamental choices
  • Scheduling best effort connections
  • Scheduling guaranteed-service connections
  • Packet drop strategies

6
Requirements
  • An ideal scheduling discipline
  • is easy to implement
  • is fair
  • What does it means for packets scheduling at the
    output of switches?

7
Requirements 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

8
Requirements 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
9
Outline
  • What is scheduling
  • Requirements of a scheduling discipline
  • Fundamental choices
  • Scheduling best effort connections
  • Scheduling guaranteed-service connections
  • Packet drop strategies

10
Fundamental 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

11
Choices 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!

12
Choices 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
13
Choices 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
14
Choices 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

15
Outline
  • What is scheduling
  • Requirements of a scheduling discipline
  • Fundamental choices
  • Scheduling best effort connections
  • Scheduling guaranteed-service connections
  • Packet drop strategies

16
Scheduling 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)

17
Scheduling 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?

18
Simple 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, ...)

19
Outline
  • 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

20
Scheduling 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

21
Example 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)

22
Example 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

23
Summary
  • 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

24
Outline
  • 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

25
Packet 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?)

26
Early 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)

27
Drop position
  • Can drop a packet from head or tail position in
    the queue
  • Tail
  • easy
  • default approach
  • Head
  • harder
  • lets source detect loss earlier
Write a Comment
User Comments (0)
About PowerShow.com