Check out the new USENIX Web site. next up previous
Next: Clock Scheduling Algorithms Up: Background Previous: Background

Energy

The energy E, measured in Joules (J), consumed by a computer over T seconds is equal to the integral of the instantaneous power, measured in Watts (W). The instantaneous power consumed by components implemented in CMOS, such as microprocessors and DRAM, is proportional to $V^2 \times F$, where $V$ is the voltage supplying the component, and $F$ is the frequency of the clock driving the component. Thus, the power consumed by a computer to, say, search an electronic phone book, may be reduced by reducing $V$, $F$, or both. However, for tasks that require a fixed amount of work, reducing the frequency may result in the system taking more time to complete the work. Thus, little or no energy will be saved. There are techniques that can result in energy savings when the processor is idle, typically through clock gating, which avoids powering unused devices.

In normal usage pocket computers run on batteries, which contain a limited supply of energy. However, as discussed in [3], in practice, the amount of energy a battery can deliver (i.e., its capacity) is reduced with increased power consumption. As an illustration of this effect, consider the Itsy pocket computer that was used in this study (described in Section 2.3). When the system is idle, the integrated power manager disables the processor core but the devices remain active. If the system clock is 206 MHz, a typical pair of alkaline batteries will power the system for about 2 hours; if the system clock is set to 59 MHz, those same batteries will last for about 18 hours. Although the battery lifetime increased by a factor of 9, the processor speed was only decreased by a factor of 3.5. The capacity of the battery can also be increased by interspacing periods of high power demand with much longer periods of low power demand resulting in a ``pulsed power'' system [4]. The extent to which these two non-ideal properties can be exploited is highly dependent on the chemical properties and the construction of a battery as well as the conditions under which the battery is used. In general, the former effect (minimizing peak demand) is more important than the latter for the domain of pocket computers because pulsed power systems need a significant period of time to recharge the battery, and most computer applications place a more constant demand on the battery.

If a system allows the voltage to be reduced when clock speed is reduced (i.e. it supports voltage scaling), it is better to reduce the clock speed to the minimum needed rather than running at peak speed and then being idle. For example, consider a computation that normally takes 600 million instructions to complete. That application would take one second on a StrongARM SA-2 at 600MHz and would consume 500 mJoules. At 150MHz, the application would take four seconds to complete, but would only consume 160 mJoules, a four-fold savings assuming that an idle computer consumes no energy. There is obviously a significant benefit to running slower when the application can tolerate additional delay. Pering [5] used the term voltage scheduling to mean scheduling policies that seek to adjust both clock speed and energy. The goal of voltage scheduling is to reduce the clock speed such that all work on the processor can be completed ``on time'' and then reduce the voltage to the minimum needed to insure stability at that frequency.


next up previous
Next: Clock Scheduling Algorithms Up: Background Previous: Background
NEUFELD 2000-09-12