Scheduling1
- Outline
- Scheduling
- Components:
Decides Server order
manage queue
- Why do we need one?
- What can scheduling disciplines do?
- Requirements of a scheduling discipline
- Ease of implementation
- Fairness
Fairness is global, scheduling(congestion avoidance) is local.
- Notion of Fairness
- Fundamental choices
Work-conserving and non-work-conserving
Degree of aggregation
- Scheduling disciplines
FIFO & other disciplines(SPT, SRPT), the performance among them
(SRPT process the remaining time, which means if I’m processing a package which still needs 5 min, then comes a package which only need 1 min, then I go to process the new package)
- The Conservation Law
scheduling is independent of the packet service time
[latex]\sum ρ_iq_i=constant[/latex]
[latex]ρ_i[/latex] mean utilization of connection i and [latex]q_i[/latex] mean waiting time of connection i
The average delay with FIFO is a tight lower bound for
work conserving and service time independent scheduling
disciplines
- Fairness
Jain’s index use equal share as the
objective:
[latex]f=\frac{(\sum_{i=1}^{N}x_i)^2}{(n\sum_{i=1}^{N}x_i^2)}[/latex]
- Max-Min Fairness
- General Process Sharing (GPS)
Conceptually, GPS serves packets as if they are
in separate logical queues, visiting each nonempty
queues in turn.
Generalized processor sharing assumes that traffic is fluid (infinitesimal packet sizes), and can be arbitrarily split.
How to emulate GPS as fair as possible, also efficient
- (Weighted) round robin
Different weights, fixed packet size
Different weights, variable size packets:normalize weights by mean packet size
Problems:
- With variable size packets and different weights,
need to know mean packet size in advance - Can be unfair for long periods of time