Next: Implemetation Details
Up: Lottery Scheduling
Previous: Lottery Scheduling
In our implementation of lottery scheduling we have attempted to make
use of the existing linux scheduling infrastructure as much as
possible. That is, rather than creating data structures and support
code specifically to be used for lottery scheduling, we have simply
reinterpreted existing code wherever possible. For example, rather
than defining a new field: number_of_tickets, we store a tasks
tickets in the existing priority field.
The primary advantage of reusing code in this manner is that
development can be accomplished more quickly. There are a number of
possible disadvantages:
- Lottery scheduling cannot coexist with the standard linux scheduler
in the same kernel.
- Existing code may alter scheduling values in unanticipated ways.
- Names are not consistent with the concepts they represent.
Given the time constraints, we felt that these disadvantages were not
serious enough to justify starting from scratch by writing data structures
specifically for lottery scheduling.
Brandon Sanders
12/17/1999