A Compilation Framework for Power and Energy Management on Mobile Computers

  • Ulrich Kremer
  • Jamey Hicks
  • James Rehg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2624)


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.


Energy Management Task Graph Remote Server Mobile Client Mobile Computer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    National Compiler Infrastructure (NCI) project. Overview available online at, Co-funded by NSF/DARPA, 1998.
  2. [2]
    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
  3. [3]
    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
  4. [4]
    T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, MA, 1990.Google Scholar
  5. [5]
    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
  6. [6]
    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
  7. [7]
    J. Flinn and M. Satyanarayanan. Energy-aware adaptation for mobile applications. In ACM Symposium on Operating Systems Principles (SOSP), December 1999.Google Scholar
  8. [8]
    J. Hicks and U. Kremer. Skiff — a platform for pervasive computing. Technical Report 2000-3, Compaq Cambridge Research Laboratory (CRL), 2000.Google Scholar
  9. [9]
    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
  10. [10]
    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
  11. [11]
    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
  12. [12]
    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
  13. [13]
    J. Lorch and A. Smith. Software strategies for portable computer energy management. IEEE Personal Communications Magazine, 5(3), June 1998.Google Scholar
  14. [14]
    B. Noble. System support for mobile, adaptive applications. IEEE Personal Communications, 7(1): 44–49, February 2000.CrossRefMathSciNetGoogle Scholar
  15. [15]
    M. Othman and S. Hailes. Power conservation strategy for mobile computers using load sharing. Mobile Computing and Communications Review, 2(1):44–50, 1998.CrossRefGoogle Scholar
  16. [16]
    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
  17. [17]
    H.A. Rowley, S. Baluja, and T. Kanade. Neural network-based face detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(1):23–38, 1998.CrossRefGoogle Scholar
  18. [18]
    A. Rudenko, P. Reiher, G. Popek, and G. Kuenning. Saving portable computer battery power through remote process execution. Mobile Computing and Communications Review, 2(1):19–26, 1998.CrossRefGoogle Scholar
  19. [19]
    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
  20. [20]
    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
  21. [21]
    M. Satyanarayanan. Mobile information access. IEEE Personal Communications, 3(1):26–33, February 1996.CrossRefGoogle Scholar
  22. [22]
    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
  23. [23]
    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
  24. [24]
    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
  25. [25]
    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
  26. [26]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Ulrich Kremer
    • 1
  • Jamey Hicks
    • 2
  • James Rehg
    • 2
  1. 1.Department of Computer ScienceRutgers UniversityPiscatawayUSA
  2. 2.Compaq Computer CorporationCambridge Research LabCambridgeUSA

Personalised recommendations