Group ratio round-robin: O(1) proportional share scheduling for uniprocessor and multiprocessor systems

  • Authors:
  • Bogdan Caprita;Wong Chun Chan;Jason Nieh;Clifford Stein;Haoqiang Zheng

  • Affiliations:
  • Department of Computer Science, Columbia University;Department of Computer Science, Columbia University;Department of Computer Science, Columbia University;Department of Computer Science, Columbia University;Department of Computer Science, Columbia University

  • Venue:
  • ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present Group Ratio Round-Robin (GR3), the first proportional share scheduler that combines accurate proportional fairness scheduling behavior with O(1) scheduling overhead on both uniprocessor and multiprocessor systems. GR3 uses a simple grouping strategy to organize clients into groups of similar processor allocations which can be more easily scheduled. Using this strategy, GR3 combines the benefits of low overhead round-robin execution with a novel ratio-based scheduling algorithm. GR3 introduces a novel frontlog mechanism and weight readjustment algorithm to operate effectively on multiprocessors. GR3 provides fairness within a constant factor of the ideal generalized processor sharing model for client weights with a fixed upper bound and preserves its fairness properties on multiprocessor systems. We have implemented GR3 in Linux and measured its performance. Our experimental results show that GR3 provides much lower scheduling overhead and much better scheduling accuracy than other schedulers commonly used in research and practice.