Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Software implementation strategies for power-conscious systems

Published: 01 June 2001 Publication History

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.

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.]]
[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.]]
[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.]]
[7]
S. Gary et al., PowerPC 603, a microprocessor 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.]]
[9]
K. Govil, E. Chan and H. Wasserman, Comparing algorithms for dynamic speed-setting of a low-power CPU, in: Proceedings of MOBI- COM (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 MOBI- COM (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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[29]
Proceedings of the IEEE 83(4), Special Issue on Low Power Electronics (April 1995).]]
[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).]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]
[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.]]

Cited By

View all
  • (2018)Investigating relationships between functional coupling and the energy efficiency of embedded softwareSoftware Quality Journal10.1007/s11219-016-9346-226:2(491-519)Online publication date: 1-Jun-2018
  • (2017)Optimization of the Security-Performance Tradeoff in RC4 Encryption AlgorithmWireless Personal Communications: An International Journal10.1007/s11277-016-3603-392:3(1221-1250)Online publication date: 1-Feb-2017
  • (2015)Using Dependent Types to Define Energy Augmented Semantics of Programs4th International Workshop on Foundational and Practical Aspects of Resource Analysis - Volume 996410.1007/978-3-319-46559-3_2(20-39)Online publication date: 11-Apr-2015
  • Show More Cited By

Index Terms

  1. Software implementation strategies for power-conscious systems

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Mobile Networks and Applications
    Mobile Networks and Applications  Volume 6, Issue 3
    June 2001
    96 pages

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 01 June 2001

    Author Tags

    1. energy saving
    2. low power system
    3. software design and implementation

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)33
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 19 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2018)Investigating relationships between functional coupling and the energy efficiency of embedded softwareSoftware Quality Journal10.1007/s11219-016-9346-226:2(491-519)Online publication date: 1-Jun-2018
    • (2017)Optimization of the Security-Performance Tradeoff in RC4 Encryption AlgorithmWireless Personal Communications: An International Journal10.1007/s11277-016-3603-392:3(1221-1250)Online publication date: 1-Feb-2017
    • (2015)Using Dependent Types to Define Energy Augmented Semantics of Programs4th International Workshop on Foundational and Practical Aspects of Resource Analysis - Volume 996410.1007/978-3-319-46559-3_2(20-39)Online publication date: 11-Apr-2015
    • (2014)An experimental survey of energy management across the stackACM SIGPLAN Notices10.1145/2714064.266019649:10(329-344)Online publication date: 15-Oct-2014
    • (2014)An experimental survey of energy management across the stackProceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications10.1145/2660193.2660196(329-344)Online publication date: 15-Oct-2014
    • (2008)Modeling the energy cost of applications on portable wireless devicesProceedings of the 11th international symposium on Modeling, analysis and simulation of wireless and mobile systems10.1145/1454503.1454562(346-353)Online publication date: 27-Oct-2008
    • (2007)An efficient implementation of RC4 cipher for encrypting multimedia files on mobile devicesProceedings of the 2007 ACM symposium on Applied computing10.1145/1244002.1244256(1171-1175)Online publication date: 11-Mar-2007
    • (2006)Energy conscious factory method design pattern for mobile devices with C# and intermediate languageProceedings of the 3rd international conference on Mobile technology, applications & systems10.1145/1292331.1292364(29-es)Online publication date: 25-Oct-2006
    • (2005)Other issuesEmbedded Systems Design10.5555/2137690.2137719(352-372)Online publication date: 1-Jan-2005
    • (2005)Towards understanding algorithmic factors affecting energy consumptionProceedings of the 2005 joint workshop on Foundations of mobile computing10.1145/1080810.1080823(70-79)Online publication date: 2-Sep-2005
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media