Attention to the issues of energy and power management is gaining momentum within both industry and academics.
Work by Flinn and Satyanarayanan on energy-aware adaptation using Odyssey [7] is closely related to our effort in several ways. Their fundamental technique differs in that it relies on the cooperation of applications to change the fidelity of data objects accessed in response to changes in resource availability. In contrast, our work focuses on managing global system resources in a unified manner. Unmodified applications and those that are not necessarily able to change ``fidelity'' benefit from our approach. Overall, we view our efforts as complementary: the operating system should manage global system devices in response to application requirements and the application should adapt its behavior when appropriate to reduce energy consumption.
Explicit energy management has also been designed for the Nemesis operating system [13]. This proposal describes how to extend the Nemesis resource accounting mechanisms, based on a calibration of device power consumption, to account for energy use by applications. Resource management is similar to Odyssey in that it is based on collaboration with applications. In Nemesis, this takes the form of an economic model for providing feedback to processes that allow them to adapt to shortages in energy availability.
Most of the literature on power/energy management has been dominated by consideration of individual components, in isolation, rather than taking a system-wide approach. Thus, there have been contributions addressing CPU frequency/voltage scheduling [6,8,14,15,20], disk spindown policies [3,9,11], memory page allocation [2,12], and wireless networking protocols [10,16]. The emphasis in much of this work has been on dynamically managing the range of power states offered by the devices. A recent paper [21] describes techniques involving buffer management policies and an API allowing application cooperation for shaping the disk request pattern to increase the effectiveness of disk spindown. This body of work is complementary to our currentcy model, as illustrated by our incorporation of spindown policies, and will impact the debiting policies for such devices in our framework.
ECOSystem incorporates several ideas from previous work. The idea of currentcy borrows from the tickets abstraction of lottery scheduling [18,19] with the value of a currentcy unit tied to energy. The key insight that distinguishes our work is that energy normalizes resource management across the diverse set of devices that consume it. We adopt the resource container abstraction [1] as our accounting entity in order to allow more complete accounting of activity and lazy receiver processing [4] in accounting for packet processing overhead.