Surplus fair scheduling: A proportional-share CPU scheduling algorithm for symmetric multiprocessors

Abhishek Chandra, Micah Adler, Pawan Goyalf, Prashant Shenoy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

75 Scopus citations

Abstract

In this paper, we present surplus fair scheduling (SFS), a proportional-share CPU scheduler designed for symmetric multiprocessors. We first show that the infeasibil-ity of certain weight assignments in multiprocessor environments results in unfairness or starvation in many existing proportional-share schedulers. We present a novel weight readjustment algorithm to translate infeasible weight assignments to a set of feasible weights. We show that weight readjustment enables existing proportional-share schedulers to significantly reduce, but not eliminate, the unfairness in their allocations. We then present surplus fair scheduling, a proportional-share scheduler that is designed explicitly for multiprocessor environments. We implement our scheduler in the Linux kernel and demonstrate its efficacy through an experimental evaluation. Our results show that SFS can achieve proportionate allocation, application isolation and good interactive performance, albeit at a slight increase in scheduling overhead. We conclude from our results that a proportional-share scheduler such as SFS is not only practical but also desirable for server operating systems.

Original languageEnglish (US)
Title of host publicationProceedings of the 4th Conference on Symposium on Operating System Design and Implementation, OSDI 2000
PublisherAssociation for Computing Machinery, Inc
StatePublished - Oct 22 2000
Event4th Symposium on Operating System Design and Implementation, OSDI 2000 - San Diego, United States
Duration: Oct 23 2000Oct 25 2000

Conference

Conference4th Symposium on Operating System Design and Implementation, OSDI 2000
Country/TerritoryUnited States
CitySan Diego
Period10/23/0010/25/00

Fingerprint

Dive into the research topics of 'Surplus fair scheduling: A proportional-share CPU scheduling algorithm for symmetric multiprocessors'. Together they form a unique fingerprint.

Cite this