ALCOMFT-TR-03-48

ALCOM-FT
 

M. Adler, P. Berenbrink, T. Friedetzky, L. A. Goldberg, P. Goldberg and M. Paterson
A Proportionate Fair Scheduling Rule with Good Worst-case Performance
Warwick. Work package 4. September 2003.
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 jobs, 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 proportional fairness. 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.

Postscript file: ALCOMFT-TR-03-48.ps.gz (139 kb).

System maintainer Gerth Stølting Brodal <gerth@cs.au.dk>