Project YADDA -- Yet Another Dumb DVS Algorithm =)
The experiments conducted by Weiser et al. offer a good framework for addressing energy issues in mobile devices. However, the experiments conducted are not realistic since they were taken from a multi-user Unix server and conducted on a simulator.
For our project, we plan to implement several (approximately 4) DVS algorithms on a modern PDA device and compare our results with simulated or laptop device studies done in past papers. With a PDA capable of fine-grain voltage scaling, we will execute representative workloads and quantify achieved energy savings. DVS can be implemented at various levels, such as (1) in the processor, (2) in the operating system scheduler, (3) in the compiler, and (4) in the application. Our approach is to implement DVS at the operating system scheduler level.
Previous research done by [Grunwald et al.] is closely related to our proposed work. They investigated DVS algorithms on a PDA device and obtained negative results using only two DVS algorithms. We, however, plan to implement these along with other more sophisticated DVS algorithms, such as [Sinh and Chandrakasan] [Lorch and Smith] [Flautner and Mudge].
We will first install the LINUX operating system onto the PDA and familiarize ourselves with the OS scheduler. Next, we will implement various adaptive DVS algorithms into the OS scheduler and determine realistic, possible savings. Then, we will run appropriate, measurable workloads for the PDA such as playing mpeg video streams or mp3 audio streams. Finally, we will evaluate the efficiency of the system for comparing the power savings between with and without DVS support, and the ideal maximum energy savings possible.
Mark Weiser, Brent Welch, Alan J. Demers, Scott Shenker,"Scheduling
for Reduced CPU Energy", Operating Systems Design and
Implementation 1994, pages 13-23. This paper is cited everywhere when presenting DVS algorithms and power savings. This seminal work demonstrates that power savings is achievable. Simulation work. |
Kinshuk Govil, Edwin Chan, Hal Wasserman, "Comparing
Algorithms for Dynamic Speed-Setting of a Low-Power CPU", In
Proceedings of 1st ACM International Conference on Mobile Computing
and Networking, 1995.
The authors continue the work of Weiser et al. using the same traces, concluding that smoothing is a more important property in DVS than sophisticated workload prediction schemes. Simulation work. |
Trevor Pering, Tom Burd, Robert Brodersen, "The Simulation and
Evaluation of Dynamic Voltage Scaling Algorithms", ISLPED'98,
August 10-12, Monterey, California.
The target device of this paper is a PDA-class device with respect to system configuration, workloads, and metrics. Four different "interval" DVS algorithms are compared in this paper. Simulation work. |
Jason Flinn, M. Satyanarayanan, "Energy-aware
Adaptation for Mobile Applications," in Proceedings of the 17th
ACM Symposium on Operating Systems Principles, December, 1999.
The authors explore the synergistic benefits of application and operating system awareness and adaptation in saving energy. Experiments conducted on a laptop. |
Dirk Grunwald, Philip Levis, Keith I. Farkas, Charles B. Morrey
III, Michael Neufeld, "Policies
for dynamic clock scheduling", In Proceedings of the Forth
Symposium on Operating System Design and Implementation OSDI'2000,
October 2000.
This paper investigates scaling algorithms on a PDA running Linux, concluding that interactive behaviour suffers under current available algorithms. Experiments conducted on the Compaq Itsy Pocket Computer. |
Amit Sinha, Anantha P. Chandrakasan, "Dynamic
Voltage Scheduling Using Adaptive Filtering of Workload
Traces", Proceedings of the 14th International Conference on
VLSI Design, Bangalore, India, January 2001.
Several adaptive filtering DVS algorithms are explored. These algorithms proved to be effective reducing processor energy consumption without causing significant performance degradation. Offline analysis based on three 1 minute real-world traces. |
Jacob R. Lorch, Alan Jay Smith, "Improving
Dynamic Voltage Scaling Algorithms with PACE", ACM SIGMETRICS
2001, June, Cambridge, Massachusetts.
The authors demonstrate a technique to modify existing DVS algorithms to obtain further reductions in energy usage (up to an additional 50%). Simulation work. Lorch, J. and Smith, A. J.,"Using user interface event information in dynamic voltage scaling algorithms", Proceedings of the 11th IEEE/ACM International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS), Orlando, FL, 46-55, October 2003. Lorch, J. and Smith, A. J., "Operating system modifications for task-based speed and voltage scheduling", Proceedings of the First International Conference on Mobile Systems, Applications, and Services (MobiSys), San Francisco, CA, 215-229, May 2003. |
Padmanabhan Pillai, Kang G. Shin, "Real-Time
Dynamic Voltage Scaling for Low-Power Embedded Operating
Systems", ACM Symposium on Operating Systems Principles,
October, 2001.
This paper demonstrates a technique in applying DVS to real-time portable, embedded systems. Simulation as well as laptop used to run experiments. |
Krisztián Flautner, Trevor Mudge, "Vertigo: Automatic Performance-Setting for Linux", Operating Systems Design and Implementation 2002, pages 105-116. Krisztian Flautner, Steve Reinhardt, and Trevor Mudge, "Automatic performance-setting for dynamic voltage scaling", In Proceedings of the 7th Conference on Mobile Computing and Networking MOBICOM'01, 2001. Vertigo is a power management extension to Linux that performs DVS. The experiments were conducted using a set of multimedia benchmarks on a laptop. |
J.A. Pouwelse, K. Langendoen, H. Sips, "Dynamic Voltage Scaling on a Low-Power Microprocessor", Mobicom 2001. J.A. Pouwelse, K. Langendoen, H. Sips, "Energy priority scheduling for variable voltage processors", International Symposium on Low-Power Electronics and Design (ISLPED), Aug 2001. Part of the LART Project. Although the voltage of the StrongArm SA-11x0 is supposed to be fixed at 1.5 V, they were able to lower it down to 0.8 V to save energy. |
Wanghong Yuan, Klara Nahrstedt, "Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems", SOSP 2003. Energy-efficient soft real-time CPU scheduler for mobile devices that primarily run multimedia applications. Implements dynamic voltage scaling algorithm for a laptop. |
Power Evaluation of a Handheld Computer: A Case Study by Marc Viredaz and Deborah Wallach, Research Report, Compaq Western Research Lab, May 2001. |
Sukjae Cho, "Power
Management of iPAQ", University of Southern California,
Information Sciences Institute, slides.
Based on Arm Linux kernel 2.4. No voltage scaling on CPU, only frequency scaling. |