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

skip to main content
10.1145/1080810.1080823acmconferencesArticle/Chapter ViewAbstractPublication PagesdialmConference Proceedingsconference-collections
Article

Towards understanding algorithmic factors affecting energy consumption: switching complexity, randomness, and preliminary experiments

Published: 02 September 2005 Publication History

Abstract

Mobile devices consider energy to be a limiting resource. Over the past decade significant research has gone into how one can reduce energy consumption at the hardware level, network protocol level, operating system level, and compiler level. In almost all algorithm analysis, a single resource such as time or communication is often taken as a proxy for energy. We address this problem by defining an algorithmic model for energy, designing algorithm variants that reduce energy cost in this model, and then performing preliminary experiments to test the model.Our starting point is an algorithmic energy model inspired by work from the compilers community [26]. Augmenting and simplifying this model motivates the need to consider an algorithm's "switching" complexity; this measure captures the extent to which one switches between different functional units during execution. We carry out preliminary experiments on the Itsy pocket computer, which contains a StrongARM SA-1100 processor running Linux, to compare "high-switch" versions of bubble sort and other algorithms to optimized "low-switch" versions. Our preliminary results show that switching does not appear to affect energy consumption at the algorithmic level.We then look at a factor that does not appear to have been studied, namely the cost of generating (pseudo)random bits. Derandomization is a goal in cryptography and complexity theory. To our knowledge the energy cost of randomness itself has not been studied. Nonetheless, many mobile protocols and algorithms might utilize randomness, for example to handle contention resolution, generate cryptographic keys, or to accomplish efficient sorting. We consider three common mechanisms for generating randomness: the standard C library random number generator, and the Linux /dev/random, and /dev/urandom generators. We perform tests that compare the energy consumed by these generators compared to thecost of performing basic arithmetic instructions. We use Quicksort as an example of a classic basic application-level algorithm to understand the energy cost of randomness, and compare the energy consumed by randomized Quicksort to standard Quicksort. Our preliminary results show that generating randomness does in fact incur a significant energy cost, and /dev/random is the most expensive of the three mechanisms.We conclude that understanding energy consumption at the algorithmic level is an important but overlooked area of investigation, and discuss the implications of our results. We end with directions for for further work.

References

[1]
A. Abnous and J. Rabaey. "Ultra-low-power domain specific multimedia processors," Proc. VLSI Signal Processing IX, Nov 1996.]]
[2]
B. Alpern, L. Carter, E. Feig, and T. Selker. "The Uniform Memory Hierarchy Model of Computation." Algorithmica, 12(2/3):72--109. Aug-Sep 1994.]]
[3]
A. Vahdat, C. Ellis, and A. Lebeck. "Every Joule is Precious: The Case for Revisiting Operating System Design for Energy Efficiency." In Proc. 9th ACM SIGOPS European Workshop, Sep 2000.]]
[4]
K. Barr and K. Asanovic, "Energy Aware Lossless Data Compression", Proc. MobiSys 2003.]]
[5]
W. R. Hamburgen, D. A. Wallach, M. A. Viredaz, L. S. Brakmo, J. F. Bartlett, C. A. Waldspurger, T. Mann, and K. I. Farkas. "Itsy: Stretching the Bounds of Mobile Computing." Computer, 34(4), Apr 2001.]]
[6]
C. F. Chiasserini, P. Nuggehalli, V. Srinivasan and R. R. Rao, "Energy-Efficient Communication Protocols," (Invited), Proc. Design Automation Conf, Jun 2002.]]
[7]
K. Naik and D.S.L. Wei, "Software implementation strategies for power-conscious systems." Mobile Networks and Applications, Volume 6, Issue 3 (June 2001). Pages 291--305. 2001.]]
[8]
M. Dietzfelbinger. "Primality Testing in Polynomial Time From Randomized Algorithms to "PRIMES Is in P."" LNCS Vol. 3000. Springer Verlag, 2004.]]
[9]
F. Douglis, F. Kaashoek, B. Marsh, R. Caceres, K. Li, and J. Tauber. "Storage Alternatives for Mobile Computers," Proc. OSDI 1994.]]
[10]
F. Douglis, P. Krishnan, and B. Bershad, "Adaptive Disk Spindown Policies for Mobile Computers," Proc. USENIX Symposium on Mobile and Location Independent Computing, 1995.]]
[11]
M. P. Frank. "Reversibility for Efficient Computing," Manuscript based on MIT Ph.D. Thesis. Dec 1999.]]
[12]
P. J. M. Havinga. "Mobile Multimedia Systems" Ph.D. thesis, University of Twente, Feb 2000.]]
[13]
P.J.M. Havinga and G.J.M. Smit. "Design Techniques for Lower Power Systems," Journal of Systems Architecture, Volume 46, Number 1, 2000.]]
[14]
IEEE Standard for Wireless LAN-Medium Access Control and Physical Layer Specification, P802.11, 1999.]]
[15]
R. Jain, D. Molnar, and Z. Ramzan "Towards A Model of Energy Complexity for Algorithms." WCNC 2005.]]
[16]
C. E. Jones, K. M. Sivalingam, P. Agrawal and J. C. Chen, "A Survey of Energy Efficent Network Protocols for Wireless Networks," Wireless Networks, vol. 7, no. 4, 343-358, July 2001.]]
[17]
H. Karloff and P. Raghavan. "Randomized algorithms and pseudorandom numbers." Proc. STOC 1998.]]
[18]
M. Koegst, G. Franke, S. Ruelke, and K. Feske. "Lower power design of FSMs by state assignment and disabling self-loops," Proc. Euromicro 1997. Pages 323--330, September 1997.]]
[19]
B. List, M. Maucher, U. Schöning, R. Schuler. "Randomized Quicksort and the Entropy of the Random Number Generator." Electronic Colloquium on Computational Complexity Rept 59, 2004.]]
[20]
A. J. Martin. "Towards an Energy Complexity of Computation," Information Processing Letters, 77 (2001) 181--187.]]
[21]
R. Motwani and P. Raghavan. "Randomized Algorithms." Cambridge University Press, 1995.]]
[22]
C. Papadimitriou. "Computational Complexity," Addison-Wesley Publishing Company, Reprinted with corrections, 1995.]]
[23]
Rambus, Inc. http://www.rambus.com.]]
[24]
E. Shriver and M. Nodine. "An introduction to parallel I/O models and algorithms," in R. Jain, J. Werth and J. C. Browne, Input/Output in Parallel and Distributed Computer Systems, Kluwer, 1996.]]
[25]
M.R. Stan and W.P. Burleson. "Bus-Invert Coding for Lower-Power I/O." IEEE Trans. on VLSI Systems, Volume 3, Number 1, pp 49--58, 1995.]]
[26]
S. Steinke, M. Knauer, L. Wehmeyer, and P. Marwedel. "An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations," Proc. PATMOS 2001.]]
[27]
V. Tiwari, S. Malik, and A. Wolfe. "Power Analysis of Embedded Software: A First Step Towards Software Power Minimization," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Volume 2, Number 4, December 1994.]]
[28]
J. Subramanian, M. Bs and S. R. Murthy, "On Using Battery State for Medium Access Control in Ad hoc Wireless Networks," Proc. Mobicom, 2004.]]
[29]
J. Flinn and M. Satyanarayanan. "Energy-aware adaptation for mobile applications." Proc. SOSP 1999.]]
[30]
H. Zeng, C. Ellis, A. Lebeck, and A. Vahdat. "ECOSystem: Managing Energy as a First-Class Operating System Resource," Proc. Architectural Support for Porgramming Languages and Operating Systems (ASPLOS), 2002.]]
[31]
J. Lorch and A. J. Smith. "Software strategies for portable computer energy management," IEEE Personal Communications Magazine, 5(3):60-73, June 1998.]]
[32]
X. Wang, D. Feng, X. Lai, and H. Yu. "Collisions for Hash Functions MD4, MD5, HAVAL 128, and RIPEMD," Cryptology E-print Archive, report 199-2004. Available from http://eprint.iacr.org.]]
[33]
X. Wang, H. Yu. "How To Break MD5 and Other Hash Functions," EUROCRYPT 2005.]]

Cited By

View all
  • (2021)Prospective on Technical Considerations for Edge–Cloud Cooperation Using Software-Defined NetworkingSoftware Defined Internet of Everything10.1007/978-3-030-89328-6_9(147-176)Online publication date: 8-Oct-2021
  • (2019)Energy Consumption in Compact Integer Vectors: A Study CaseIEEE Access10.1109/ACCESS.2019.29496557(155625-155636)Online publication date: 2019
  • (2017)Investigating the effect of design patterns on energy consumptionJournal of Software: Evolution and Process10.1002/smr.185129:2Online publication date: 31-Jan-2017
  • Show More Cited By

Index Terms

  1. Towards understanding algorithmic factors affecting energy consumption: switching complexity, randomness, and preliminary experiments

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    DIALM-POMC '05: Proceedings of the 2005 joint workshop on Foundations of mobile computing
    September 2005
    120 pages
    ISBN:1595930922
    DOI:10.1145/1080810
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 September 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. energy measurement
    2. randomness cost
    3. switching cost

    Qualifiers

    • Article

    Conference

    Dial M - POMC 05
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 21 of 68 submissions, 31%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Prospective on Technical Considerations for Edge–Cloud Cooperation Using Software-Defined NetworkingSoftware Defined Internet of Everything10.1007/978-3-030-89328-6_9(147-176)Online publication date: 8-Oct-2021
    • (2019)Energy Consumption in Compact Integer Vectors: A Study CaseIEEE Access10.1109/ACCESS.2019.29496557(155625-155636)Online publication date: 2019
    • (2017)Investigating the effect of design patterns on energy consumptionJournal of Software: Evolution and Process10.1002/smr.185129:2Online publication date: 31-Jan-2017
    • (2016)Data Center Energy Consumption Modeling: A SurveyIEEE Communications Surveys & Tutorials10.1109/COMST.2015.248118318:1(732-794)Online publication date: Sep-2017
    • (2015)Energy Consumption Analysis of Algorithms Implementations2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1109/ESEM.2015.7321198(1-4)Online publication date: Oct-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
    • (2010)Energy aware data management on AVR micro controller based systemsACM SIGSOFT Software Engineering Notes10.1145/1764810.176482035:3(1-8)Online publication date: 11-May-2010
    • (2009)Analyzing and optimizing energy efficiency of algorithms on DVS systems a first step towards algorithmic energy minimizationProceedings of the 2009 Asia and South Pacific Design Automation Conference10.5555/1509633.1509797(727-732)Online publication date: 19-Jan-2009
    • (2009)Exploring the Energy Consumption of Data Sorting Algorithms in Embedded and Mobile EnvironmentsProceedings of the 2009 Tenth International Conference on Mobile Data Management: Systems, Services and Middleware10.1109/MDM.2009.103(600-607)Online publication date: 18-May-2009
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media