-- CSC2228 Project --
Dynamic Voltage Scaling in Mobile Devices


Overview

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.

People

Documents

Source Code

Rough Timeline

Related Works

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.

Related Works -- Suggested by Eyal de Lara

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.

User/Support Web Sites

Related Research Web Sites

PDA processors

Useful Sites

Linux CPUFreq API

Help Received

Current Direction


David Tam
Last modified: Wed Apr 7 19:09:08 EDT 2004