Our recent development of a framework for an energy centric operating
system [22] proposes currentcy
as a unifying abstraction for the management of
a broad variety of system devices that consume energy. This work
demonstrates the use of the currentcy model for expressing our overall
battery lifetime goal and capturing the impact of individual system
devices on battery lifetime.
However, just as there is no single performance metric for all
workloads, there is no single energy goal that satisfies all
mobile/wireless scenarios. Thus, for this work, we set out to
determine whether currentcy is general enough to express additional
complex system behavior.
Specifically, this paper makes the following contributions:
1. For some applications, it is important not just to achieve a
target battery lifetime but to perform more work
during that lifetime. Since characterizing ``work'' in
general-purpose workloads is difficult, we look at fully utilizing the
available energy within the specified time. Consider a sensor node
running on rechargeable solar cells. The goal here might be to
minimize residual energy remaining at sunrise after operating through
the night (when it becomes possible to recharge - assuming reliable
weather forecasts) to deliver maximum system utility. Any residual
capacity at the end of the designated lifetime suggests overly
conservative management and lost opportunities. Experience shows that
this situation can result from a mismatch of the user specifications
and actual demand. Thus, we
translate this goal into the currentcy model and
develop a currentcy conserving energy
allocation policy to reclaim unspent energy by adapting to observed
energy consumption patterns.
2. Experience with the ECOSystem prototype also indicates that
there can be subtle interactions between energy allocation and CPU
scheduling policy. Scheduling that is oblivious to energy consumption
may not provide adequate opportunity to spend currentcy allocations.
Returning to our sensor example, suppose there is
an important task that consumes most
of its energy in the wireless network interface, communicating sensor
readings, rather than on processing within the CPU.
Such a task may experience a form of
priority inversion. Thus, we develop a currentcy-based scheduling
policy that recognizes the global relevance of energy consumption
anywhere in the system on the scheduling decision. The result is more
robust proportional sharing of energy regardless of which resources
are favored by tasks.
3. Response time variability is disruptive in many applications.
Whenever energy availability is constrained - which in ECOSystem
means currentcy allocations are limited - it becomes important to
have a steady rate of consumption.
Thus, we develop a currentcy-based scheduling policy that
achieves well-paced energy consumption, reducing response time
variation.
4. For devices that have nontrivial transition costs between power states,
such as a disk with spindown capability,
there is potential for increased energy efficiency.
We demonstrate how to
shape disk access patterns to amortize the
energy costs of spinup/spindown across multiple requests and thereby reduce
the average energy used per request.
We further
show the energy and performance benefits of aggressive prefetching
while the disk is spinning.
In summary, our experimental results show that the currentcy framework is successful in achieving more mature energy goals than previously pursued. These include: reducing residual energy, dynamically balancing per-task energy supply and demand, lowering response time variation, correcting energy-related scheduling inversions for improved energy sharing, and increased efficiency for disk accesses.
The rest of this paper is organized as follows. Section 2 describes the currentcy model and its implementation in ECOSystem, a Linux-based prototype, followed by a discussion of related work. Next, in Section 3, we outline several methods for manipulating currentcy to implement energy-related goals. Sections 4 through 8 describe the formulation of several energy goals, beyond simple battery lifetime, built upon the currentcy management framework. We propose and evaluate solutions for each of these problems. Section 9 concludes this paper.