Overview
Fair Queuing approximates ideal bit-by-bit sharing by assigning virtual finish times and serving the smallest finish time first.
Schedules work so competing flows receive a fair share of service.
Compact metadata for implementation and discovery.
Fair Queuing approximates ideal bit-by-bit sharing by assigning virtual finish times and serving the smallest finish time first.
Quick facts
Runtime and memory behavior at a glance.
Best
O(log n)
Average
O(n log n)
Worst
O(n log n)
Space
O(n)
finish = max(virtual_time, last_finish_flow) + size / weightRanks queued work by when it would finish under ideal fair sharing.
Show packets from several flows interleaved by virtual finish time.
Weighted variants let some flows receive larger shares while preserving fairness.
What each reference supports for this entry.
Reference for fair queueing, virtual finishing times, and packet scheduling across competing flows.
Open sourceGood next jumps from the relationship graph, ranked for useful discovery.
Fair queuing is a broader packet-scheduling model that weighted round robin approximates discretely.