Kinds of Scheduling
FIFO Scheduling
- Simple, but restrictive
- Example showing it’s: two kinds of traffic
- VoIP needs low delay
- Email is not that sensitive about delay
- With FIFO scheduling, voice traffic might have to wait behind email (not good)
Strict Priority
- Multiple levels of priority
- Always transmit high-priority traffic, when present
- Isolation for the high-priority traffic
- Almost like it has a dedicated link (except for small delay for packet transmission)
- But, lower priority traffic may starve (not good)
Weighted Fair Scheduling
- Assign each queue a fraction of the bandwidth
- Rotate across queues on a small time scale
- Work-conserving: send extra traffic from one queue if others are idle
Implementation Trade-Offs
- FIFO: one queue, trivial scheduler
- Strict priority: one queue per priority level, simple scheduler
- Weighted fair scheduling: one queue per class, more complex scheduler