The previous section has given an overview of the currentcy framework
and the policy space that can be explored. In the introduction, we
have articulated several energy-related goals that
capture desirable behavior with the goal of achieving a target battery
lifetime. In this section, we translate those goals more precisely in
terms of our currentcy framework.
1. Reducing residual energy capacity.
We have argued that, for certain applications, it is important to
minimize residual energy capacity left when the target battery
lifetime has been reached. Too much residual energy indicates an
overly conservative management of the resource and lost opportunities
for improved performance. We translate this into an allocation that
is currentcy conserving. A currentcy conserving policy provides
service in response to demand for energy as long as unspent currentcy
is available in an epoch.
2. Proportional energy use. Ideally, the energy consumption
of each task will match its assigned share. The energy
consumption can be lower if the requirements of the task are low
enough to be fully satisfied by the available level of energy. Even
when currentcy allocations are appropriately adjusted to reflect
demand, schedulers that gate access to devices may not offer
opportunities to spend in proportion to allocations and may interfere
with adaptations determining future allocations. We translate this
goal of proportional energy use into device scheduling that is aware of currentcy consumption/demand throughout the system.
3. Coordination of multiple devices.
Traditional resource management policies tend to concentrate on a
single component of the system. For example, CPU scheduling
algorithms are typically concerned only with tasks on the ready-to-run
queue and allocation of CPU cycles. Processes blocked for device use
have always posed subtle complications on CPU scheduling. With the
focus on energy, the complications become more explicit since blocked
processes can still be actively consuming energy. Tracking the
consumption of currentcy captures these interactions and allows the
information to be incorporated into the scheduling policies of various
devices in a coherent way.
4. Response time variation. The allocation of energy in
epochs has the potential to cause large variations in response time
and bursty behavior. One of our goals is to reduce the variation in
response times.
This translates into
carefully-paced consumption of currentcy.
5. Energy efficiency. Encouraging the most efficient use of a
device's power saving modes allows performance to be achieved at lower
energy costs. This goal translates here into reducing the average
currentcy cost per disk request by encouraging coalitions of tasks to
share the overheads involved. Creative pricing strategies can reward
such inter-task cooperation.
The challenge of unified global energy management is to explicitly address the kinds of interactions that are often hidden in per-device management.