skip to main content
10.1145/2422436.2422470acmconferencesArticle/Chapter ViewAbstractPublication PagesitcsConference Proceedingsconference-collections
research-article

An energy complexity model for algorithms

Authors Info & Claims
Published:09 January 2013Publication History

ABSTRACT

Energy consumption has emerged as a first class computing resource for both server systems and personal computing devices. The growing importance of energy has led to rethink in hardware design, hypervisors, operating systems and compilers. Algorithm design is still relatively untouched by the importance of energy and algorithmic complexity models do not capture the energy consumed by an algorithm. In this paper, we propose a new complexity model to account for the energy used by an algorithm. Based on an abstract memory model (which was inspired by the popular DDR3 memory model and is similar to the parallel disk I/O model of Vitter and Shriver), we present a simple energy model that is a (weighted) sum of the time complexity of the algorithm and the number of 'parallel' I/O accesses made by the algorithm. We derive this simple model from a more complicated model that better models the ground truth and present some experimental justification for our model. We believe that the simplicity (and applicability) of this energy model is the main contribution of the paper. We present some sufficient conditions on algorithm behavior that allows us to bound the energy complexity of the algorithm in terms of its time complexity (in the RAM model) and its I/O complexity (in the I/O model). As corollaries, we obtain energy optimal algorithms for sorting (and its special cases like permutation), matrix transpose and (sparse) matrix vector multiplication.

Skip Supplemental Material Section

Supplemental Material

References

  1. Calculating memory system power for DDR3. http://download.micron.com/pdf/technotes/ddr3/TN41_01DDRPower.pdf.Google ScholarGoogle Scholar
  2. Data center energy consumption trends. http://www1.eere.energy.gov/femp/program/dc_energy_consumption.html.Google ScholarGoogle Scholar
  3. Hardware monitor. http://www.bresink.de/osx/HardwareMonitor.html.Google ScholarGoogle Scholar
  4. Joulemeter: Computational energy measurement and optimization. http://research.microsoft.com/en-us/projects/joulemeter/http://research.microsoft.com/en-us/projects/joulemeter/.Google ScholarGoogle Scholar
  5. A. Aggarwal and J. Vitter. The input/output complexity of sorting and related problems. In Communications of the ACM. Volume 31, Number 9, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Albers. Energy-efficient algorithms. Commun. ACM, 53:86--96, May 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. Bansal, T. Kimbrel, and K. Pruhs. Speed scaling to manage energy and temperature. J. ACM, 54(1), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. D. Barve, E. F. Grove, and J. S. Vitter. Simple randomized mergesort on parallel disks. Parallel Computing, 23(4--5):601--631, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. Bellosa. The benefits of event-driven enery accounting in power-sensitive systems. In Proc. SIGOPS European Workshop, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. A. Bender, G. S. Brodal, R. Fagerberg, R. Jacob, and E. Vicari. Optimal sparse matrix dense vector multiplication in the i/o-model. Theory Comput. Syst., 47(4):934--962, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Chase, D. Anderson, P. Thakar, A. Vahdat, and R. Doyle. Managing energy and server resources in hosting centers. In Proc. ACM SOSP, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In Proceedings of the 40th Annual Symposium on Foundations of Computer Science, FOCS '99, pages 285--297, Washington, DC, USA, 1999. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Goodrich. Data-oblivious external-memory algorithms for the compaction, selection, and sorting of outsourced data. In Proceedings of SPAA, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Gupta. Balls and bins and the power of 2 choices, Spring 2009. http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/\\15859m-s11/www/lectures/lect0202.pdf.Google ScholarGoogle Scholar
  15. T. Horvath, T. Abdelzaher, K. Skadron, and X. Liu. Dynamic voltage scaling in multitier web servers with end-to-end delay control. IEEE Trans. Comput., 56(4):444--458, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Irani, G. Singh, S. K. Shukla, and R. K. Gupta. An overview of the competitive and adversarial approaches to designing dynamic power management strategies. IEEE Trans. Very Large Scale Integr. Syst., 13:1349--1361, December 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. Kaplan, M. Naor, and O. Reingold. Derandomized constructions of k-wise (almost) independent permutations. Algorithmica, 55(1):113--133, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. S. Kedlaya and C. Umans. Fast polynomial factorization and modular composition. SIAM Journal on Computing, 40(6):1767--1802, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. W. Kim, M. S. Gupta, G.-Y. Wei, , and D. Brooks. System level analysis of fast, per-core dvfs using on-chip switching regulators. In Proc. HPCA, 2008.Google ScholarGoogle Scholar
  20. D. E. Knuth. The Art of Computer Programming, Volume II: Seminumerical Algorithms. Addison-Wesley, 1969.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Koller, A. Verma, and A. Neogi. Wattapp: An application aware power meter for shared data centers. In ICAC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. V. A. Korthikanti and G. Agha. Towards optimizing energy costs of algorithms for shared memory architectures. In Proc. SPAA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. V. A. Korthikanti, G. Agha, and M. Greenstreet. On the energy complexity of parallel algorithms. In Proc. ICPP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Mehlhorn and P. Sanders. Scanning multiple sequences via cache memory. In Algorithmica, 2003.Google ScholarGoogle Scholar
  25. M. Mitzenmacher, A. W. Richa, and R. Sitaraman. The power of two random choices: A survey of techniques and results. In in Handbook of Randomized Computing, pages 255--312. Kluwer, 2000.Google ScholarGoogle Scholar
  26. S. Muthukrishnan. Data streams: Algorithms and applications. Foundations and Trends in Theoretical Computer Science, 1(2), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. Nathuji and K. Schwan. Virtualpower: coordinated power management in virtualized enterprise systems. In Proc. ACM SOSP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. Ranganathan, P. Leech, D. Irwin, and J. Chase. Ensemble-level power management for dense blade servers. In Proc. ISCA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Thorup. Integer priority queues with decrease key in constant time and the single source shortest paths problem. J. Comput. Syst. Sci., 69(3):330--353, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Vahdat, A. Lebeck, and C. S. Ellis. Every joule is precious: the case for revisiting operating system design for energy efficiency. In Proc. of ACM SIGOPS European workshop, New York, NY, USA, 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Verma, G. Dasgupta, T. Nayak, P. De, and R. Kothari. Server workload analysis for power minimization using consolidation. In Proc. Usenix ATC, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. Verma, R. Koller, L. Useche, and R. Rangaswami. Srcmap: energy proportional storage using dynamic consolidation. In Proc. of Usenix FAST, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. S. Vitter. Algorithms and data structures for external memory, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory I: Two-level memories. Algorithmica, 12(2/3):110--147, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory II: Hierarchical multilevel memories. Algorithmica, 12(2/3):148--169, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. F. F. Yao, A. J. Demers, and S. Shenker. A scheduling model for reduced cpu energy. In FOCS, pages 374--382, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. H. Zeng, C. Ellis, A. Lebeck, and A. Vahdat. Ecosystem: Managing energy as a first class operating system resource. In ASPLOS, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An energy complexity model for algorithms

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ITCS '13: Proceedings of the 4th conference on Innovations in Theoretical Computer Science
      January 2013
      594 pages
      ISBN:9781450318594
      DOI:10.1145/2422436

      Copyright © 2013 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 January 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate172of513submissions,34%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader