Group Ratio Round-Robin: An O(1) Proportional Share Scheduler

Proportional share resource management provides a flexible and useful abstraction for multiplexing time-shared resources. We present Group Ratio Round-Robin (GR), a proportional share scheduler that combines accurate proportional fairness scheduling behavior with O(1) scheduling overhead. GR uses a novel client grouping strategy to organize clients into groups of similar processor allocations which can be more easily scheduled. Using this grouping strategy, GR combines the benefits of low overhead round-robin execution with a novel ratio-based scheduling algorithm. We analyze the behavior of GR and show that it can provide fairness within a constant factor of the ideal generalized processor sharing model for client weights with a fixed upper bound. GR can be easily implemented using simple data structures. We have implemented GR in Linux and measured its performance against other schedulers commonly used in research and practice, including the standard Linux scheduler, Weighted Fair Queueing, Virtual-Time Round-Robin, and Smoothed Round-Robin. Our experimental results demonstrate that GR can provide much lower scheduling overhead and much better scheduling accuracy in practice than these other approaches.

[1]  Eli Gafni,et al.  Dynamic Control of Session Input Rates in Communication Networks , 1982, MILCOM 1982 - IEEE Military Communications Conference - Progress in Spread Spectrum Communications.

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

[3]  E. L. Hahne,et al.  Round robin scheduling for fair flow control in data communication networks , 1986, ICC.

[4]  S. Wittevrongel,et al.  Queueing Systems , 2019, Introduction to Stochastic Processes and Simulation.

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

[6]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[7]  Anujan Varma,et al.  Efficient fair queueing algorithms for packet-switched networks , 1998, TNET.

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

[9]  Lixia Zhang,et al.  VirtualClock: a new traffic control algorithm for packet-switched networks , 1991, TOCS.

[10]  G. J. A. Stern,et al.  Queueing Systems, Volume 2: Computer Applications , 1976 .

[11]  Mohamed G. Gouda,et al.  Time-shift scheduling—fair scheduling of flows in high-speed networks , 1998, TNET.

[12]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM '96.

[13]  Joseph Pasquale,et al.  Stratified round Robin: a low complexity packet scheduler with bandwidth fairness and bounded delay , 2003, SIGCOMM '03.

[14]  Rudolf Schneider,et al.  On the chairman assignment problem , 1996, Discret. Math..

[15]  Jason Nieh,et al.  Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler , 2001, USENIX Annual Technical Conference, General Track.

[16]  R. Bryant Java Technology, Threads, and Scheduling in Linux , 2000 .

[17]  Judy Kay,et al.  A fair share scheduler , 1988, CACM.

[18]  Carl A. Waldspurger,et al.  Lottery and stride scheduling: flexible proportional-share resource management , 1995 .

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

[20]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM '89.

[21]  Abhay Parekh,et al.  A generalized processor sharing approach to flow control in integrated services networks-the single node case , 1992, [Proceedings] IEEE INFOCOM '92: The Conference on Computer Communications.