Efficient fair queueing using deficit round-robin
IEEE/ACM Transactions on Networking (TON)
Hierarchical packet fair queueing algorithms
IEEE/ACM Transactions on Networking (TON)
SRR: An O(1) time complexity packet scheduler for flows in multi-service packet networks
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Leap Forward Virtual Clock: A New Fair Queuing Scheme with Guaranteed Delay and Throughput Fairness
INFOCOM '97 Proceedings of the INFOCOM '97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution
General Methodology for Designing Efficient Traffic Scheduling and Shaping Algorithms
INFOCOM '97 Proceedings of the INFOCOM '97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution
Earliest Eligible Virtual Deadline First : A Flexible and Accurate Mechanism for Proportional Share Resource Allocation
Tradeoffs between low complexity, low latency, and fairness with deficit round-robin schedulers
IEEE/ACM Transactions on Networking (TON)
IEEE/ACM Transactions on Networking (TON)
Evaluating the number of active flows in a scheduler realizing fair statistical bandwidth sharing
SIGMETRICS '05 Proceedings of the 2005 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Extending WF^2 Q+ to Support a Dynamic Traffic Mix
AAA-IDEA '05 Proceedings of the First International Workshop on Advanced Architectures and Algorithms for Internet Delivery and Applications
The Stratified Round Robin scheduler: design, analysis and implementation
IEEE/ACM Transactions on Networking (TON)
Exact GPS simulation and optimal fair scheduling with logarithmic complexity
IEEE/ACM Transactions on Networking (TON)
Fair Round-Robin: A Low Complexity Packet Schduler with Proportional and Worst-Case Fairness
IEEE Transactions on Computers
ACM SIGCOMM Computer Communication Review
WF2Q: worst-case fair weighted fair queueing
INFOCOM'96 Proceedings of the Fifteenth annual joint conference of the IEEE computer and communications societies conference on The conference on computer communications - Volume 1
Approximation of generalized processor sharing with interleaved stratified timer wheels
IEEE/ACM Transactions on Networking (TON)
Computer Networks, Fifth Edition: A Systems Approach
Computer Networks, Fifth Edition: A Systems Approach
Revisiting network I/O APIs: the netmap framework
Communications of the ACM
Implementing scheduling algorithms in high-speed networks
IEEE Journal on Selected Areas in Communications
SENIC: scalable NIC for end-host rate limiting
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
Packet scheduling, together with classification, is one of the most expensive processing steps in systems providing tight bandwidth and delay guarantees at high packet rates. Schedulers with near-optimal service guarantees and O(1) time complexity have been proposed in the past, using techniques such as timestamp rounding and flow grouping to keep their execution time small. However, even the two best proposals in this family have a per-packet cost component that is linear either in the number of groups or in the length of the packet being transmitted. Furthermore, no studies are available on the actual execution time of these algorithms. In this paper we make two contributions. First, we present Quick Fair Queueing (QFQ), a new O(1) scheduler that provides near-optimal guarantees and is the first to achieve that goal with a truly constant cost also with respect to the number of groups and the packet length. The QFQ algorithm has no loops and uses very simple instructions and data structures that contribute to its speed of operation. Second, we have developed production-quality implementations of QFQ and of its closest competitors, which we use to present a detailed comparative performance analysis of the various algorithms. Experiments show that QFQ fulfills our expectations, outperforming the other algorithms in the same class. In absolute terms, even on a low-end workstation, QFQ takes about 110 ns for an enqueue()/dequeue() pair (only twice the time of DRR, but with much better service guarantees).