Lottery Scheduling: Flexible Proportional-Share Resource Management

C. A. Waldspurger and W. E. Weihl, OSDI 1994

This paper presents Lottery Scheduling: a lottery-based, general, proportional-share scheduling algorithm.

Motivations

Traditional schedulers are weak at supporting flexible, responsive control over service rates. Priority-based schemes are often ad hoc, and suffers from the problem of priority inversion (high-priority jobs can be blocked behind low-priority jobs). Existing fair share schedulers and microeconomic schedulers successfully address some of the problems with absolute priority schemes, but are complex and difficult to control.

Solution

This paper presents Lottery Scheduling:

The explicit representation of resource rights as lottery tickets further provides a convenient substrate for modular resource management:

Evaluation

The scheduling policy was implemented on Mach 3.0 microkernel and tested in experiments against various benchmarks. It is shown that the lottery scheduler could control the relative execution rates of computations with high accuracy in the long run. However, for the multimedia experiment, the control of the relative execution rates of computations is distorted due to the round-robin processing of client requests by the single-threaded server. A particularly interesting experiment is on Flexible Control for the Monte-Carlo algorithm. Scientists frequently execute several separate Monte-Carlo experiments to explore various hypotheses. It is often desirable to obtain approximate results quickly whenever a new experiment is started, while allowing older experiments to continue reducing their error at a slower rate. By dynamically adjusting an experiment’s ticket value as a function of its current relative error, lottery scheduling can easily implement this feature.

Flaws