next up previous
Next: Implemetation Details Up: Lottery Scheduling Previous: Lottery Scheduling

Basic Approach to Implementation

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:

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