QFQ: Efficient Packet Scheduling With Tight Guarantees

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).

[1]  George Varghese,et al.  Efficient fair queueing using deficit round robin , 1995, SIGCOMM '95.

[2]  Bruce S. Davie,et al.  Computer Networks: A Systems Approach , 1996 .

[3]  Fabio Checconi,et al.  QFQ: Efficient Packet Scheduling with Tight Bandwidth Distribution Guarantees , 2009 .

[4]  Martin Karsten Approximation of Generalized Processor Sharing With Interleaved Stratified Timer Wheels , 2010, IEEE/ACM Transactions on Networking.

[5]  Yasir Saleem,et al.  Network Simulator NS-2 , 2015 .

[6]  M. Karsten,et al.  SI-WF2Q: WF2Q Approximation with Small Constant Execution Overhead , 2006, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

[7]  Hui Zhang,et al.  WF/sup 2/Q: worst-case fair weighted fair queueing , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[8]  Ion Stoica,et al.  Earliest Eligible Virtual Deadline First : A Flexible and Accurate Mechanism for Proportional Share Resource Allocation , 1995 .

[9]  George Varghese,et al.  Leap forward virtual clock: a new fair queuing scheme with guaranteed delays and throughput fairness , 1997, PODC '97.

[10]  Abdesselem Kortebi,et al.  Evaluating the number of active flows in a scheduler realizing fair statistical bandwidth sharing , 2005, SIGMETRICS '05.

[11]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1996, SIGCOMM '96.

[12]  P. Valente Exact GPS Simulation and Optimal Fair Scheduling With Logarithmic Complexity , 2007, IEEE/ACM Transactions on Networking.

[13]  Chuanxiong Guo,et al.  SRR: an O(1) time-complexity packet scheduler for flows in multiservice packet networks , 2004, IEEE/ACM Transactions on Networking.

[14]  S. Jamaloddin Golestani,et al.  A self-clocked fair queueing scheme for broadband applications , 1994, Proceedings of INFOCOM '94 Conference on Computer Communications.

[15]  Luigi Rizzo,et al.  Dummynet revisited , 2010, CCRV.

[16]  Chuanxiong Guo,et al.  G-3: An O(1) Time Complexity Packet Scheduler That Provides Bounded End-to-End Delay , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[17]  J. Pasquale,et al.  The Stratified Round Robin Scheduler: Design, Analysis and Implementation , 2006, IEEE/ACM Transactions on Networking.

[18]  Hui Zhang,et al.  Implementing scheduling algorithms in high-speed networks , 1999, IEEE J. Sel. Areas Commun..

[19]  Paolo Valente Extending WF^2 Q+ to Support a Dynamic Traffic Mix , 2005, First International Workshop on Advanced Architectures and Algorithms for Internet Delivery and Applications (AAA-IDEA'05).

[20]  Luigi Rizzo Revisiting Network I/O APIs: The netmap Framework , 2012, ACM Queue.

[21]  Luciano Lenzini,et al.  Tradeoffs between low complexity, low latency, and fairness with deficit round-robin schedulers , 2004, IEEE/ACM Transactions on Networking.

[22]  Guo Chuanxiong SRR: An O(1) time complexity packet scheduler for flows in multi-service packet networks , 2001, SIGCOMM 2001.

[23]  Richard J. Lipton,et al.  On fundamental tradeoffs between delay bounds and computational complexity in packet scheduling algorithms , 2002, IEEE/ACM Transactions on Networking.

[24]  Jun Xu,et al.  On fundamental tradeoffs between delay bounds and computational complexity in packet scheduling algorithms , 2005, TNET.

[25]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1997, TNET.

[26]  QueueingJon,et al.  WF 2 Q : Worst-case Fair Weighted Fair , 1996 .

[27]  Xin Yuan,et al.  Fair Round-Robin: A Low Complexity Packet Schduler with Proportional and Worst-Case Fairness , 2009, IEEE Transactions on Computers.

[28]  Anujan Varma,et al.  A general methodology for designing efficient traffic scheduling and shaping algorithms , 1997, Proceedings of INFOCOM '97.

[29]  G. Chuanxiong SRR: An O(1) time complexity packet scheduler for flows in multi-service packet networks , 2001, SIGCOMM '01.