Recently, mobile, battery-powered embedded devices such as personal digital assistants (PDAs), smartphones, and cellular devices, have become ubiquitous and increasingly capable. Worldwide, approximately 42 million smartphones and PDAs are shipped in the ﬁrst half of 2006, and the predictions indicate that their sales will increase more than 57 percent by 2007. Given the proliferation and importance of these devices, users demand more capability from, and execution of increasingly complex applications on, these devices.
A key limitation on the utility of these devices is the battery. Since it is extremely difﬁcult to increase battery supply, the best option for extending battery life is to use software techniques and systems that are power aware. The two most important techniques that reduce energy consumption are computation offloading and dynamic voltage scaling. In our work, we extend these techniques and investigate novel software solutions to enable power-awareness for real devices and real software.
The goal of both ofﬂoading and DVS systems is to extend battery life without impacting negatively the user’s perception of program performance. Unfortunately, extant approaches to both of these systems fall short in doing so. The primary reason for this is due to inaccuracies both in the measurement of past energy consumption and in the prediction of future program and workload behavior and resource availability. Thus, it is the goal of our work to devise novel techniques and infrastructures to improve the efficacy of these two power-aware optimizations.
In our work, we ﬁrst develop techniques that measure energy consumption of tasks accurately. Our approach provides task energy estimations with a very low error margin (3.8% to 4.6%) Second, we present a set of prediction tools and strategies that make accurate forecasts of future application and resource behavior. Finally, we show how these techniques can be used to enable more effective ofﬂoading (27% to 56% less wasted energy when compared to its competitors, and DVS (31% to 49% savings of that has been previously possible). In all of our work, we consider real devices in use today and popular software systems and workloads.