skip to main content
research-article

An experimental survey of energy management across the stack

Published:15 October 2014Publication History
Skip Abstract Section

Abstract

Modern demand for energy-efficient computation has spurred research at all levels of the stack, from devices to microarchitecture, operating systems, compilers, and languages. Unfortunately, this breadth has resulted in a disjointed space, with technologies at different levels of the system stack rarely compared, let alone coordinated.

This work begins to remedy the problem, conducting an experimental survey of the present state of energy management across the stack. Focusing on settings that are exposed to software, we measure the total energy, average power, and execution time of 41 benchmark applications in 220 configurations, across a total of 200,000 program executions.

Some of the more important findings of the survey include that effective parallelization and compiler optimizations have the potential to save far more energy than Linux's frequency tuning algorithms; that certain non-complementary energy strategies can undercut each other's savings by half when combined; and that while the power impacts of most strategies remain constant across applications, the runtime impacts vary, resulting in inconsistent energy impacts.

References

  1. The intenternational technlogy roadmap for semiconductors, 2009. http:public.itrs.net/.Google ScholarGoogle Scholar
  2. AMD. AMD Phenom™ II key architectural features. http://www.amd.com/us/products/desktop/processors/phenom-ii/Pages/phenom-ii-key-architectural-features.aspx.Google ScholarGoogle Scholar
  3. J. Ayala, A. Veidenbaum, and M. Lpez-Vallejo. Power-aware compilation for register file energy reduction. International Journal of Parallel Programming, 31(6), 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. Banerjee, A. Rahmati, M. D. Corner, S. Rollins, and L. Zhong. Ubiquitous Computing. Lecture Notes in Computer Science, 4717, 2007.Google ScholarGoogle Scholar
  5. M. Banikazemi, D. Poff, and B. Abali. PAM: A novel performance/power aware meta-scheduler for multi-core systems. In International Conference on Supercomputing (SC), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. A. Barroso and U. Hölzle. The case for energy-proportional computing. Computer, 40(12), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. Benini, D. Bruni, A. Macii, and E. Macii. Hardware assisted data compression for energy minimization in systems with embedded processors. In Design, Automation, and Test in Europe (DATE), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Bhattacharya, K. Rajamani, K. Gopinath, and M. Gupta. Does lean imply green?: A study of the power performance implications of java runtime bloat. In ACM SIGMETRICS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Bienia. Benchmarking Modern Multiprocessors. PhD thesis, Princeton University, January 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Bienia, S. Kumar, and K. Li. PARSEC vs. SPLASH-2: A quantitative comparison of two multithreaded benchmark suites on chip-multiprocessors. In International Symposium on Workload Characterization (IISWC), 2008.Google ScholarGoogle ScholarCross RefCross Ref
  11. S. Blackburn, M. Hirzel, R. Garner, and D. Stefanovic. pjbb2005, 2006. http://users.cecs.anu.edu.au/~steveb/research/research-infrastructure/pjbb2005.Google ScholarGoogle Scholar
  12. S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In Annual Conference on Object-Oriented Programing, Systems, Languages, and Applications (OOPSLA), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Brodowski and N. Golde. CPU frequency and voltage scaling code in the Linux kernel: CPUFreq governors. http://www.kernel.org/doc/Documentation/cpu-freq/governors.txt.Google ScholarGoogle Scholar
  14. T. Cao, S. M. Blackburn, T. Gao, and K. S. McKinley. The yin and yang of power and performance for asymmetric hardware and managed software. In International Symposium on Computer Architecture (ISCA), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Capra, C. Francalanci, and S. A. Slaughter. Is software "green"? application development environments and energy efficiency in open source applications. Information and Software Technology, 54(1), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Chon, E. Talipov, H. Shin, and H. Cha. Mobility prediction based smartphone energy optimization for everyday location monitoring. In Conference on Embedded Networked Sensor Systems (SenSys), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Cochran, C. Hankendi, A. K. Coskun, and S. Reda. Pack & cap: Adaptive dvfs and thread packing under power caps. In Annual International Symposium on Microarchitecture (MICRO), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. DaCapo Project. The DaCapo benchmark suite usage documentation, 2009. http://www.dacapobench.org/.Google ScholarGoogle Scholar
  19. V. Dalal and C. P. Ravikumar. Software power optimizations in an embedded system. In International Conference on VLSI Design, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Esmaeilzadeh, T. Cao, Y. Xi, S. M. Blackburn, and K. S. McKinley. Looking back on the language and hardware revolutions: Measured power, performance, and scaling. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. F. Fakhar, B. Javed, R. ur Rasool, O. Malik, and K. Zulfiqar. Software level green computing for large scale systems. Journal of Cloud Computing, 1(1), 2012.Google ScholarGoogle Scholar
  22. P. J. Fleming and J. J. Wallace. How not to lie with statistics: the correct way to summarize benchmark results. Communications of the ACM, 29(3), 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. V. Govindaraju, C.-H. Ho, and K. Sankaralingam. Dynamically specialized datapaths for energy efficient computing. In Symposium on High Performance Computer Architecture (HPCA), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. Griffin, W. Srisa-an, and J. M. Chang. An energy efficient garbage collector for java embedded devices. In Languages, Compilers, and Tools for Embedded Systems (LCTES), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Hayes. Controlling processor CState usage in Linux, 2013. http://en.community.dell.com/cfs-file.ashx/__key/telligent-evolution-components-attachments/13-4491-00-00-20-22-77-64/Controlling_5F00_Processor_5F00_C_2D00_State_5F00_Usage_5F00_in_5F00_Linux_5F00_v1.1_5F00_Nov2013.pdf.Google ScholarGoogle Scholar
  26. J. L. Henning. SPEC CPU2006 benchmark descriptions. ACM SIGARCH Computer Architecture News, 34(4), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. U. Hölzle. Brawny cores still beat wimpy cores, most of the time. IEEE Micro, 30(4), 2010.Google ScholarGoogle Scholar
  28. S. Hong and H. Kim. An integrated GPU power and performance model. In International Symposium on Computer Architecture (ISCA), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Intel Corporation. Intel 64® and IA-32 architectures software developer's manual. http://download.intel.com/products/processor/manual/253669.pdf.Google ScholarGoogle Scholar
  30. Intel Corporation. Intel® Turbo Boost Technology 2.0, 2014. http://www.intel.com/technology/turboboost/.Google ScholarGoogle Scholar
  31. C. Isci, A. Buyuktosunoglu, C. Cher, P. Bose, and M. Martonosi. An analysis of efficient multi-core global power management policies: Maximizing performance for a given power budget. In International Symposium on Computer Architecture (ISCA), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Y. Ishitobi, T. Ishihara, and H. Yasuura. Code and data placement for embedded processors with scratchpad and cache memories. Journal of Signal Processing Systems, 60(2), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Jaiantilal. i7z, 2013. http://code.google.com/p/i7z/.Google ScholarGoogle Scholar
  34. R. Jain, D. Molnar, and Z. Ramzan. Towards understanding algorithmic factors affecting energy consumption: Switching complexity, randomness, and preliminary experiments. In Joint Workshop on Foundations of Mobile Computing, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Kambadur, T. Moseley, R. Hank, and M. A. Kim. Measuring interference between live datacenter applications. In International Conference on Supercomputing (SC), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. T. Karkhanis, J. E. Smith, and P. Bose. Saving energy with just in time instruction delivery. In International Symposium on Low Power Electronics and Design (ISLPED), 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. Kin, M. Gupta, and W. H. Mangione-Smith. The filter cache: An energy efficient memory structure. In Annual International Symposium on Microarchitecture (MICRO), 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. N. Kirman and J. F. Martínez. A power-efficient all-optical on-chip interconnect using wavelength-based oblivious routing. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. M. Larabel. Benchmarking the Intel P-State, CPUfreq changes. Phoronix Media, 2013. http://www.phoronix.com/scan.php?page=news_item&px=MTM3NTI.Google ScholarGoogle Scholar
  40. E. Le Sueur and G. Heiser. Dynamic voltage and frequency scaling: The laws of diminishing returns. In Conference on Power-Aware Computing and Systems (HotPower), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. J. Levi. Dalvik vs. ART: Android virtual machines and the battle for better performance, 2013. http://pocketnow.com/2013/11/13/dalvik-vs-art.Google ScholarGoogle Scholar
  42. Z. Li, C. Wang, and R. Xu. Computation offloading to save energy on handheld devices: a partition scheme. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. A. Marowka. Back to thin-core massively parallel processors. Computer, 44(12), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. H. Mehta, R. Owens, M. Irwin, R. Chen, and D. Ghosh. Techniques for low energy software. In Low Power Electronics and Design, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. K. Naik and D. S. L.Wei. Software implementation strategies for power-conscious systems. Mobile Networks and Applications, 6(3), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. R. Neugebauer and D. McAuley. Energy is just another resource: Energy accounting and energy pricing in the nemesis os. In Workshop on Hot Topics in Operating Systems (HOTOS), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. V. Pallipadi and A. Starikovskiy. The on demand governor. In Linux Symposium, volume 2, 2006.Google ScholarGoogle Scholar
  48. V. Pallipadi, S. Li, and A. Belay. cpuidle: Do nothing, efficiently. In Linux Symposium, volume 2, 2007.Google ScholarGoogle Scholar
  49. J. Pallister, S. J. Hollis, and J. Bennett. Identifying compiler options to minimize energy consumption for embedded platforms. The Computer Journal, 2013.Google ScholarGoogle Scholar
  50. T. Patki, D. K. Lowenthal, B. Rountree, M. Schulz, and B. R. de Supinski. Exploring hardware overprovisioning in power-constrained, high performance computing. In International Conference on Supercomputing (ICS), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. M. Patterson. The effect of data center temperature on energy efficiency. In Intersociety Conference on Thermal and Thermomechanical Phenomena in Electronic Systems (ITHERM), 2008.Google ScholarGoogle ScholarCross RefCross Ref
  52. A. Raghavan, Y. Luo, A. Chandawalla, M. Papaefthymiou, K. P. Pipe, T. F. Wenisch, and M. M. Martin. Computational sprinting. In Symposium on High Performance Computer Architecture (HPCA), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. K. Rangan, G. Wei, and D. Brooks. Thread motion: Fine-grained power management for multi-core systems. In International Symposium on Computer Architecture (ISCA), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. P. Ranganathan. Recipe for efficiency: principles of power-aware computing. Communications of the ACM (CACM), 53:60--67, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. EnerJ: approximate data types for safe and general low-power computation. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. H. Sasaki, S. Imamura, and K. Inoue. Coordinated power-performance optimization in manycores. In International Conference on Parallel Architectures and Compilation Techniques (PACT), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. R. Schöne, D. Hackenberg, and D. Molka. Memory performance at reduced CPU clock speeds: An analysis of current x86 64 processors. In Conference on Power-Aware Computing and Systems (HotPower), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. J. S. Seng and D. M. Tullsen. The effect of compiler optimizations on Pentium 4 power consumption. In Workshop on Interaction Between Compilers and Computer Architectures, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. D. She, Y. He, B. Mesman, and H. Corporaal. Scheduling for register file energy minimization in explicit datapath architectures. In Design, Automation, and Test in Europe (DATE), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. D. Shin, J. Kim, and S. Lee. Low-energy intra-task voltage scheduling using static timing analysis. In Design Automation Conference (DAC), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. E. Slivka. Apple's A8 chip production for iPhone 6 underway at TSMC, 2014. http://www.macrumors.com/2014/03/05/a8-chip-underway-tsmc/.Google ScholarGoogle Scholar
  62. S. W. Son, G. Chen, O. Ozturk, M. Kandemir, and A. Choudhary. Compiler-directed energy optimization for parallel disk based systems. Parallel and Distributed Systems, 18(9), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: A language and runtime system for perpetual systems. In Conference on Embedded Networked Sensor Systems (SenSys), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Standard Performance Evaluation Corporation. SPECjbb2005, 2013. http://www.spec.org/jbb2005/.Google ScholarGoogle Scholar
  65. N. Sturcken, M. Petracca, S. Warren, P. Mantovani, L. Carloni, A. Peterchev, and K. Shepard. A 2.5D integrated voltage regulator using coupled magnetic core inductors on silicon interposer delivering 10.8A/mm2. In International Solid-State Circuits Conference (ISSCC), 2012.Google ScholarGoogle Scholar
  66. B. Subramaniam and W.-c. Feng. Towards energy-proportional computing for enterprise-class server workloads. In International Conference on Performance Engineering (ICPE), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. V. Tiwari, S.Malik, and A.Wolfe. Compilation techniques for low energy: An overview. In Low Power Electronics, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  68. M. Ton, B. Fortenbery, and W. Tschudi. DC power for improved data center efficiency. 2008.Google ScholarGoogle Scholar
  69. G. Torres. Everything you need to know about the CPU c-states power saving modes, 2008. http://www.hardwaresecrets.com/article/611.Google ScholarGoogle Scholar
  70. A. Vahdat, A. Lebeck, and C. S. Ellis. Every joule is precious: the case for revisiting operating system design for energy efficiency. In ACM SIGOPS European Workshop: Beyond the PC: New Challenges for the Operating System, EW 9, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. N. Vallina-Rodriguez and J. Crowcroft. ErdOS: achieving energy savings in mobile OS. In International Workshop on MobiArch, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. N. Vallina-Rodriguez and J. Crowcroft. Energy management techniques in modern mobile handsets. Communications Surveys Tutorials, IEEE, PP(99), 2012.Google ScholarGoogle Scholar
  73. V. Venkatachalam and M. Franz. Power reduction techniques for microprocessor systems. ACM Computing Surveys, 37(3), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. J. von Neumann. First draft of a report on EDVAC. Technical report, Univ. of Pennsylvania, 1945. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. G. F. Welch. A survey of power management techniques in mobile computing operating systems. SIGOPS Operating Systems Review, 29(4), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. S. C. Woo, M. Oharat, E. Torriet, J. P. Singh, and A. Gupta. The SPLASH-2 programs: characterization and methodological considerations. In International Symposium on Computer Architecture (ISCA), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Q. Wu, M. Martonosi, D. W. Clark, V. J. Reddi, D. Connors, Y. Wu, J. Lee, and D. Brooks. A dynamic compilation framework for controlling microprocessor energy and performance. In Annual International Symposium on Microarchitecture (MICRO), 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An experimental survey of energy management across the stack

        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

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 49, Issue 10
          OOPSLA '14
          October 2014
          907 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2714064
          • Editor:
          • Andy Gill
          Issue’s Table of Contents
          • cover image ACM Conferences
            OOPSLA '14: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications
            October 2014
            946 pages
            ISBN:9781450325851
            DOI:10.1145/2660193

          Copyright © 2014 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 15 October 2014

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!