Skip to main content
Log in

Software Implementation Strategies for Power-Conscious Systems

  • Published:
Mobile Networks and Applications Aims and scope Submit manuscript

Abstract

A variety of systems with possibly embedded computing power, such as small portable robots, hand-held computers, and automated vehicles, have power supply constraints. Their batteries generally last only for a few hours before being replaced or recharged. It is important that all design efforts are made to conserve power in those systems. Energy consumption in a system can be reduced using a number of techniques, such as low-power electronics, architecture-level power reduction, compiler techniques, to name just a few. However, energy conservation at the application software-level has not yet been explored. In this paper, we show the impact of various software implementation techniques on energy saving. Based on the observation that different instructions of a processor cost different amount of energy, we propose three energy saving strategies, namely (i) assigning live variables to registers, (ii) avoiding repetitive address computations, and (iii) minimizing memory accesses. We also study how a variety of algorithm design and implementation techniques affect energy consumption. In particular, we focus on the following aspects: (i) recursive versus iterative (with stacks and without stacks), (ii) different representations of the same algorithm, (iii) different algorithms – with identical asymptotic complexity – for the same problem, and (iv) different input representations. We demonstrate the energy saving capabilities of these approaches by studying a variety of applications related to power-conscious systems, such as sorting, pattern matching, matrix operations, depth-first search, and dynamic programming. From our experimental results, we conclude that by suitably choosing an algorithm for a problem and applying the energy saving techniques, energy savings in excess of 60% can be achieved.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Advanced RISC Machines Ltd., http://www.arm.com

  2. Y. Bai and C. Lai, A bitmap scaling and rotation design for SH1 low power CPU, in: 2nd International Workshop on Modeling, Analysis and Simulation of Wireless and Mobile Systems (1999) pp. 101–106.

  3. H.E. Bal, J.G. Steiner and A.S. Tanenbaum, Programming languages for distributed computing, ACM Computing Surveys 21(3) (September 1989) 261–322.

    Google Scholar 

  4. C.F. Chiasserini and R.R. Rao, Pulsed battery discharge in communication devices, in: Proceedings of MOBICOM (1999) pp. 88–95.

  5. I. Chlamtac, C. Petrioli and J. Redi, Energy-conserving access protocols for identification networks, IEEE/ACM Transactions on Networking 7(1) (February 1999) 51–59.

    Google Scholar 

  6. S.-H. Chow, Y.-C. Ho and T. Hwang, Low power realization of finite state machines - a decompostion approach, ACM Transactions on Design Automation of Electronic Systems 1(3) (July 1996) 315–340.

    Google Scholar 

  7. S. Gary et al., PowerPC 603, amicroprocessor for portable computers, IEEE Design and Test of Computers (Winter 1994) 14–23.

  8. D. Gelernter, Generative communication in Linda, ACM Transactions on Programming Languages and Systems 7(1) (January 1985) 80–112.

    Google Scholar 

  9. K. Govil, E. Chan and H. Wasserman, Comparing algorithms for dynamic speed-setting of a low-power CPU, in: Proceedings of MOBICOM (1995) pp. 13–25.

  10. P.J.M. Havinga and G.J.M. Smit, Octopus embracing the energy efficiency of handheld multimedia computers, in: Proceedings of MOBICOM (1999) pp. 77–87.

  11. E. Horowitz, S. Sahni and S. Anderson-Freed, Fundamentals of Data Structures in C (Computer Science Press, 1993).

  12. C. Hsieh and M. Pedram, Microprocessor power estimation using profile-driven program synthesis, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(11) (November 1998) 1080–1089.

    Google Scholar 

  13. H. Ihara and K. Mori, Autonomous decentralized computer control systems, Computer (August 1984) 57–64.

  14. D.J. Kolson, A. Nicolau and N. Dutt, Optimal register assignment to loops for embedded code generation, ACM Transactions on Design Automation of Electronic Systems 1(2) (April 1996) 251–279.

    Google Scholar 

  15. T. Kondo, M. Inoue and K. Nakai, Application of autonomous decentralized system to the steel production computer control, in: 3rd International Workshop on Future Trends of Distributed Computing Systems (1992) pp. 419–423.

  16. R. Kravets and P. Krishnan, Power management techniques for mobile communication, in: Proceedings of MOBICOM (1998) pp. 157–168.

  17. J.-Y. LeBoudec, The asynchronous transfer mode: A tutorial, Computer Networks and ISDN Systems 24 (1992) 279–309.

    Google Scholar 

  18. M.T. Lee and V. Tiwari, A memory allocation technique for lowenergy embedded DSP software, in: Symposium on Low Power Electronics (1995) pp. 24–25.

  19. M.T. Lee, V. Tiwari, S. Malik and M. Fujita, Power analysis and minimization techniques for embedded DSP software, IEEE Transactions on VLSI Systems 5(1) (March 1997) 123–135.

    Google Scholar 

  20. Z.J. Lemnios and K.J. Gabriel, Low-power electronics, IEEE Design and Test of Computers (Winter 1994) 8–13.

  21. Y.-T.S. Li and S. Malik, Performance analysis of embedded software using implicit path enumeration, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 16(12) (December 1997) 1477–1487.

    Google Scholar 

  22. Y. Lin, H. Wu and F. Lai, Commit protocol for low-powered mobile clients, IEICE Transactions on Information and Systems (Japan) E82-D(8) (August 1999) 1167–1179.

    Google Scholar 

  23. E. Macii, M. Pedram and F. Somenzi, High-level power modeling, estimation, and optimization, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(11) (November 1998) 1061–1079.

    Google Scholar 

  24. K. Mori, Autonomous decentralized systems: Concept, data field architecture and future trends, in: 1st Intl. Symposium on Autonomous Decentralized Systems (1993) pp. 28–34.

  25. K. Naik and D.S.L. Wei, Energy-conserving software design for mobile computers, in: DIMAC Workshop on Mobile Networks and Computing (March 25-27, 1999).

  26. M. Pedram, Power minimization in IC design: Principles and applications, ACM Transactions on Design Automation of Electronic Systems 1(1) (January 1996) 3–56.

    Google Scholar 

  27. Pentium Compiler Group, Frequently asked questions (faq), http://www.goof.com/pcg/

  28. R.A. Powers, Batteries for low power electronics, Proceedings of the IEEE 83(4) (April 1995) 687–693.

    Google Scholar 

  29. Proceedings of the IEEE 83(4), Special Issue on Low Power Electronics (April 1995).

    Google Scholar 

  30. A.K. Salkintzis, C. Chamzas and C. Koukourlis, An energy saving protocol for mobile data networks, in: International Conference on Advances in Communications and Control (COMCON 5) (June 1995) pp. 26–30.

  31. F. Sato, H. Kozuka, K. Miyazaki and H. Fukuoka, NOAH: An environment for distributed autonomous systems, in: 2nd Intl. Symposium on Autonomous Decentralized Systems (1995) pp. 412–418.

  32. M. Satyanarayanan and D. Narayanan, Multi-fidelity algorithms for interactive mobile applications, in: 3rd International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications (DIAL M'99) (1999) pp. 1–6.

  33. R. Sedgewick, Algorithms in C (Addison-Wesley, 1990).

  34. S. Sheng, A. Chandrasekaran and R.B. Broderson, A portable multimedia terminal for personal communications, IEEE Communications Magazine (December 1992) 64–75.

  35. A.H. Sherman, C-Linda User's Guide and Reference Manual (Scientific Computing Associates Inc., New Haven, USA, 1991).

    Google Scholar 

  36. T. Simunic, L. Benini and G. De Micheli, Cycle-accurate simulation of energy consumption in embedded systems, in: Proceedings of Design Automation Conference (1999).

  37. D. Singh et al., Power conscious CAD tools and methodologies: A perspective, Proceedings of the IEEE 83(4) (April 1995) 570–594.

    Google Scholar 

  38. S. Singh, M. Woo and C.S. Raghavendra, Power-aware routing in mobile ad hoc networks, in: Proceedings of MOBICOM (1998) pp. 181–190.

  39. C.-L. Su, C.-Y. Tsui and A.M. Despain, Saving power in the control path of embedded processors, IEEE Design and Test of Computers (Winter 1994) 24–30.

  40. K. Sugawara, Agent-oriented architecture for flexible networks, in: 2nd Intl. Symposium on Autonomous Decentralized Systems (1995) pp. 135–141.

  41. V. Tiwari and M.T.-C. Lee, Power analysis of 32-bit embedded microcontroller, VLSI Design 7(3) (1998) 225–242.

    Google Scholar 

  42. V. Tiwari, S. Malik and P. Ashar, Guarded evaluation: Pushing power management to logic synthesis/design, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(10) (October 1998) 1051–1060.

    Google Scholar 

  43. V. Tiwari, S. Malik and A. Wolfe, Power analysis of the Intel 486DX2, Technical report No. CE-M94-5, EECS Department Princeton University (January 1994).

  44. V. Tiwari, S. Malik and A. Wolfe, Power analysis of embedded software: A first step towards software power estimation, IEEE Transactions on VLSI Systems 2(4) (December 1994) 437–445.

    Google Scholar 

  45. M. Weiser, B. Welch, A. Demers and S. Shenker, Scheduling for reduced CPU energy, in: Proceedings of 1st USENIX Symp. on Operating System Design and Implementation (November 1994) pp. 13–23.

  46. M. Wolfe, The effect of optimizing compilers on architecture and program, IEICE Transactions on Information and Systems (Japan) E80-D(4) (April 1997) 403–408.

    Google Scholar 

  47. S. Wuytack, F.V.M. Catthoor and H.J. De Man, Transforming set data types to power optimal data structures, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 15(6) (June 1996) 619–629.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Naik, K., Wei, D.S. Software Implementation Strategies for Power-Conscious Systems. Mobile Networks and Applications 6, 291–305 (2001). https://doi.org/10.1023/A:1011487018981

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011487018981

Navigation