A Compilation Framework for Power and Energy Management on Mobile Computers
- 380 Downloads
Power and energy management is crucial for mobile devices that rely on battery power. In addition to voice recognition, image understanding is an important class of applications for mobile environments. We propose a new compilation strategy for remote task mapping, and report experimental results for a face detection and recognition system.
Our compilation strategy generates two versions of the input program, one to be executed on the mobile device (client), and the other on a machine connected to the mobile device via a wireless network (server). Compiler supported check-pointing is used to allow the client to monitor program progress on the server, and to request checkpoint data in case of anticipated server and/or network failure. The reported results have been obtained by actual power measurements, not simulation. Experiments show energy savings of up to one order of magnitude on the mobile machine. A prototype implementation of the discussed compilation framework is underway, and preliminary results are reported.
KeywordsEnergy Management Task Graph Remote Server Mobile Client Mobile Computer
Unable to display preview. Download preview PDF.
- National Compiler Infrastructure (NCI) project. Overview available online at http://www-suif.stanford.edu/suif/nci/index.html., Co-funded by NSF/DARPA, 1998.
- V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer. A static performance estimator to guide data partitioning decisions. In ACMSIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 213–223, Williamsburg, VA, April 1991.Google Scholar
- R. Chatterjee, B. Ryder, and W. Landi. Relevant context inference. In ACM SIGPLAN Symposium on the Principles of Programming Languages (POPL), pages 133–146, January 1999.Google Scholar
- T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, MA, 1990.Google Scholar
- K. Farkas, J. Flinn, G. Back, D. Grunwald, and J. Anderson. Quantifying the energy consumption of a pocket computer and a Java virtual machine. In ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), Santa Clara, CA, June 2000.Google Scholar
- J. Flinn, D. Narayanan, and M. Satyanarayanan. Self-tuned remote execution for pervasive computing. In Hot Topics on Operating Systems (HotOS-VIII), Schloss Elmau, Germany, May 2001.Google Scholar
- J. Flinn and M. Satyanarayanan. Energy-aware adaptation for mobile applications. In ACM Symposium on Operating Systems Principles (SOSP), December 1999.Google Scholar
- J. Hicks and U. Kremer. Skiff — a platform for pervasive computing. Technical Report 2000-3, Compaq Cambridge Research Laboratory (CRL), 2000.Google Scholar
- C-H. Hsu, U. Kremer, and M. Hsiao. Compiler-directed dynamic frequency and voltage scheduling. In Workshop on Power-Aware Computer Systems (PACS’00), Cambridge, MA, November 2000.Google Scholar
- C.-H. Hsu, U. Kremer, and M. Hsiao. Compiler-directed dynamic voltage/frequency scheduling for energy reduction in microprocessors. In Proceedings of the International Symposium on Low-Power Electronics and Design (ISLPED’01), August 2001.Google Scholar
- M. Kandemir, N. Vijaykrishnan, M.J. Irwin, and H.S. Kim. Experimental evaluation of energy behavior of iteration space tiling. In International Workshop on Languages and Compilers for Parallel Computing (LCPC), August 2000.Google Scholar
- R. Kravets and P. Krishnan. Power management techniques for mobile communication. In Proceedings of the Annual International Conference on Mobile Computing and Networking (MOBICOM), Dallas, TX, 1999.Google Scholar
- J. Lorch and A. Smith. Software strategies for portable computer energy management. IEEE Personal Communications Magazine, 5(3), June 1998.Google Scholar
- Y. Park and B. Goldberg. Escape analysis on lists. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’92), pages 116–127, June 1992.Google Scholar
- A. Rudenko, P. Reiher, G. Popek, and G. Kuenning. The remote processing framework for portable computer power saving. In Proceedings of the ACM Symposium on Applied Computing (SAC99), San Antonio, TX, February 1999.Google Scholar
- R. Saavedra-Barrera. CPU Performance Evaluation and Execution Time Prediction Using Narrow Spectrum Benchmarking. PhD thesis, U.C. Berkeley, February 1992. UCB/CSD-92-684.Google Scholar
- T. Sim, R. Sukthankar, M. Mullin, and S. Baluja. High-performance memory-based face recognition for visitor identification. Technical report, Just Research, 1999.Google Scholar
- T. Sim, R. Sukthankar, M. Mullin, and S. Baluja. Memory-based face recognition for visitor identification. In Proc. 4th Intl. Conf. on Face and Gesture Recognition, pages 214–220, Grenoble, France, March 2000.Google Scholar
- T. Simunic, L. Benini, P. Glynn, and G. De Micheli. Dynamic power management for portable systems. In Proceedings of the Sixth Annual International Conference on Mobile Computing and Networking (MobiCom), Boston, MA, August 2000.Google Scholar
- V. Tiwari, S. Malik, A. Wolfe, and M. Lee. Instruction level power analysis and optimization of software. Journal of VLSI Signal Processing, 13(2/3):1–18, 1996.Google Scholar
- M. Valluri and L. John. Is compiling for performance == compiling for power? In The 5th Annual Workshop on Interaction between Compilers and Computer Architectures (INTERACT-5), January 2001.Google Scholar