Lottery Scheduling: Flexible Proportional-Share Resource Management

by Carl Waldspurger and William Weihl

Notes by Daniel Switkin switkin@cs.cornell.edu

The Basics

The key idea is to allocate resources in a random drawing, where each competing thread holds a number of lottery tickets proportional to its priority. This has the following nice properties:

Modular Resource Management

Implementation Details

The authors essentially did a rough hack which had about the same overhead as the default scheduling algorithm in Mach 3.0. The following notes apply:

Conclusion