A proportionate fair scheduling rule with good worst-case performance

  • Authors:
  • Micah Adler;Petra Berenbrink;Tom Friedetzky;Leslie Ann Goldberg;Paul Goldberg;Mike Paterson

  • Affiliations:
  • University of Massachusetts, Amherst;Simon Fraser University, Burnaby, Canada;Simon Fraser University, Burnaby, Canada;University of Warwick, Coventry, UK;University of Warwick, Coventry, UK;University of Warwick, Coventry, UK

  • Venue:
  • Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we consider the following scenario. A set of n jobs with different threads is being run concurrently. Each job has an associated weight, which gives the proportion of processor time that it should be allocated. In a single time quantum, p threads of (not necessarily distinct) jobs receive one unit of service, and we require a rule that selects those p threads, at each quantum. Proportionate fairness means that over time, each job will have received an amount of service that is proportional to its weight. That aim cannot be achieved exactly due to the discretisation of service provision, but we can still hope to bound the extent to which service allocation deviates from its target. It is important that any scheduling rule be simple since the rule will be used frequently.We consider a variant of the Surplus Fair Scheduling (SFS) algorithm of Chandra, Adler, Goyal, and Shenoy. Our variant, which is appropriate for scenarios where jobs consist of multiple threads, retains the properties that make SFS empirically attractive but allows the first proof of proportionate fairness in a multiprocessor context. We show that when the variant is run, no job lags more than p H(n)-p+1 steps below its target number of services, where H(n) is the Harmonic function. Also, no job is over-supplied by more than O(1) extra services. This analysis is tight and it also extends to an adversarial setting, which models some situations in which the relative weights of jobs change over time.