Check out the new USENIX Web site. next up previous
Next: Evaluation Up: Proportional Energy Use in Previous: Proportional Energy Use in

Energy Centric Scheduler

The base case for our explorations is the default Linux process scheduler, amended with the condition that the resource container of a process to be dispatched must contain available currentcy; otherwise, it is not considered ready to run again until the next epoch (when it receives a new infusion of currentcy). The amount of available currentcy in the task's energy budget is not a factor that influences the scheduling decision in any more substantial way than the ability to pay or not.

One might expect that by adapting a proportional scheduler to tasks' shares, better proportional energy use can be achieved. We consider stride scheduling [19] as representative of a local, CPU-only scheduler using each task's (static) share to determine its stride value.

Finally, we propose an energy-centric scheduler (EC scheduler) that accounts for the task's energy consumption (globally - regardless of where in the system the currentcy has been spent). The next process to be selected is one whose resource container has the lowest amount of currentcy spent relative to its specified share. This can be viewed as a bidding algorithm with the lowest bidder winning. As in traditional stride scheduling, an adjustment is made to ``catch up'' with the current pass when a process temporarily leaves the ready queue (e.g., blocked on synchronization or a synchronous I/O operation) and then rejoins.

To ensure that a process that is intermittently ready and blocked has sufficient opportunities to spend its currentcy, we can weigh the basis against which the energy consumed this epoch is compared by a factor defined to be the task's share divided by the amount of currentcy actually spent in the last epoch. This factor produces a dynamic share used to replace the fixed share value in the calculation of the task's stride. This biases allocation in favor of interactive tasks and helps them consume more of their share of currentcy whenever they are actively competing for the processor. This approach resembles compensation tickets from lottery scheduling and fractional quanta from stride scheduling [19], both of which give an advantage toward earlier scheduling of the next quantum to a task that voluntarily relinquished part of its last quantum. The dynamic share is an adaptation that differs in two respects: it is based on a task's system-wide energy consumption and it applies over a longer period (spanning multiple quanta occurring during the current and previous epochs).

Our EC scheduler also incorporates one final feature called self-pacing (described in Section 7) with the goal of smoothing response times. Thus, there are three aspects of the EC scheduler that can be mixed in various combinations: the consumption-based stride, with or without dynamic shares, and with or without self-pacing. In this section, we consider the energy-centric scheduling with dynamic shares and without self-pacing.


next up previous
Next: Evaluation Up: Proportional Energy Use in Previous: Proportional Energy Use in
Heng Zeng 2003-04-07