Concepedia

TLDR

Such control is beyond the capabilities of conventional schedulers and is desirable in systems that service requests of varying importance, such as databases, media-based applications, and networks. This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling uses a currency abstraction to flexibly name, share, and protect resource rights, enabling randomized allocation of resources. Lottery scheduling provides efficient, responsive control over relative execution rates, supports modular resource management, generalizes to diverse resources such as I/O bandwidth, memory, and locks, and in a prototype implementation for Mach 3.0 shows overhead comparable to the standard Mach timesharing policy.

Abstract

This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations. Such control is beyond the capabilities of conventional schedulers, and is desirable in systems that service requests of varying importance, such as databases, media-based applications, and networks. Lottery scheduling also supports modular resource management by enabling concurrent modules to insulate their resource allocation policies from one another. A currency abstraction is introduced to flexibly name, share, and protect resource rights. We also show that lottery scheduling can be generalized to manage many diverse resources, such as I/O bandwidth, memory, and access to locks. We have implemented a prototype lottery scheduler for the Mach 3.0 microkernel, and found that it provides flexible and responsive control over the relative execution rates of a wide range of applications. The overhead imposed by our unoptimized prototype is comparable to that of the standard Mach timesharing policy.

References

YearCitations

Page 1