Our recent development of a framework for an energy centric operating
system  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.