skip to main content
research-article
Free Access

ALEA: A Fine-Grained Energy Profiling Tool

Published:13 March 2017Publication History
Skip Abstract Section

Abstract

Energy efficiency is becoming increasingly important, yet few developers understand how source code changes affect the energy and power consumption of their programs. To enable them to achieve energy savings, we must associate energy consumption with software structures, especially at the fine-grained level of functions and loops. Most research in the field relies on direct power/energy measurements taken from on-board sensors or performance counters. However, this coarse granularity does not directly provide the needed fine-grained measurements. This article presents ALEA, a novel fine-grained energy profiling tool based on probabilistic analysis for fine-grained energy accounting. ALEA overcomes the limitations of coarse-grained power-sensing instruments to associate energy information effectively with source code at a fine-grained level. We demonstrate and validate that ALEA can perform accurate energy profiling at various granularity levels on two different architectures: Intel Sandy Bridge and ARM big.LITTLE. ALEA achieves a worst-case error of only 2% for coarse-grained code structures and 6% for fine-grained ones, with less than 1% runtime overhead. Our use cases demonstrate that ALEA supports energy optimizations, with energy savings of up to 2.87 times for a latency-critical option pricing workload under a given power budget.

References

  1. Ramon Bertran, Alper Buyuktosunoglu, Pradip Bose, Timothy J. Slegel, Gerard Salem, Sean Carey, Richard F. Rizzolo, and Thomas Strach. 2014. Voltage noise in multi-core processors: Empirical characterization and optimization opportunities. In Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-47). IEEE, Los Alamitos, CA, 368--380. DOI:http://dx.doi.org/10.1109/MICRO.2014.12 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ramon Bertran, Marc Gonzalez Tallada, Xavier Martorell, Nacho Navarro, and Eduard Ayguade. 2013. A systematic methodology to generate decomposable and responsive power models for CMPs. IEEE Transactions on Computers 62, 7, 1289--1302. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Niels Brouwers, Marco Zuniga, and Koen Langendoen. 2014. NEAT: A novel energy analysis toolkit for free-roaming smartphones. In Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems (SenSys’14). ACM, New York, NY, 16--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ting Cao, Stephen M. Blackburn, Tiejun Gao, and Kathryn S. McKinley. 2012. The yin and yang of power and performance for asymmetric hardware and managed software. In Proceedings of the 39th Annual International Symposium on Computer Architecture (ISCA’12). IEEE, Los Alamitos, CA, 225--236. Google ScholarGoogle ScholarCross RefCross Ref
  5. Fay Chang, Keith I. Farkas, and Parthasarathy Ranganathan. 2003. Energy-driven statistical sampling: Detecting software hotspots. In Proceedings of the 2nd International Conference on Power-Aware Computer Systems (PACS’02). 110--129. Google ScholarGoogle ScholarCross RefCross Ref
  6. Gilberto Contreras and Margaret Martonosi. 2005. Power prediction for Intel XScale processors using performance monitoring unit events. In Proceedings of the 2005 International Symposium on Low Power Electronics and Design (ISLPED’05). ACM, New York, NY, 221--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Matthew Curtis-Maury, Ankur Shah, Filip Blagojevic, Dimitrios S. Nikolopoulos, Bronis R. de Supinski, and Martin Schulz. 2008. Prediction models for multi-dimensional power-performance optimization on many cores. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (PACT’08). ACM, New York, NY, 250--259. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Das, P. Whatmough, and D. Bull. 2015. Modeling and characterization of the system-level power delivery network for a dual-core ARM Cortex-A57 cluster in 28nm CMOS. In Proceedings of the 2015 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED’15). 146--151. DOI:http://dx.doi.org/10.1109/ISLPED.2015.7273505 Google ScholarGoogle ScholarCross RefCross Ref
  9. J. Flinn and M. Satyanarayanan. 1999. PowerScope: A tool for profiling the energy usage of mobile applications. In Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications. Google ScholarGoogle ScholarCross RefCross Ref
  10. Rong Ge, Xizhou Feng, Shuaiwen Song, Hung-Ching Chang, Dong Li, and Kirk W. Cameron. 2010. PowerPack: Energy profiling and analysis of high-performance systems and applications. IEEE Transactions on Parallel and Distributed Systems 21, 5, 658--671. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Giorgis Georgakoudis, Charles J. Gillan, Ahmed Sayed, Ivor Spence, Richard Faloon, and Dimitrios S. Nikolopoulos. 2016. Methods and metrics for fair server assessment under real-time financial workloads. Concurrency and Computation: Practice and Experience 28, 3, 916--928. DOI:http://dx.doi.org/10.1002/cpe.3704 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Susan L. Graham, Peter B. Kessler, and Marshall K. Mckusick. 1982. Gprof: A call graph execution profiler. ACM SIGPLAN Notices 17, 6, 120--126. DOI:http://dx.doi.org/10.1145/872726.806987 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Grochowski, D. Ayers, and V. Tiwari. 2002. Microarchitectural simulation and control of di/dt-induced power supply voltage variation. In Proceedings of the 8th International Symposium on High-Performance Computer Architecture. 7--16. DOI:http://dx.doi.org/10.1109/HPCA.2002.995694 Google ScholarGoogle ScholarCross RefCross Ref
  14. M. S. Gupta, J. L. Oatley, R. Joseph, G. Y. Wei, and D. M. Brooks. 2007. Understanding voltage variations in chip multiprocessors using a distributed power-delivery network. In Proceedings of the 2007 Design, Automation, and Test in Europe Conference and Exhibition. 1--6. DOI:http://dx.doi.org/10.1109/DATE.2007.364663 Google ScholarGoogle ScholarCross RefCross Ref
  15. Hardkernel. 2016. ODROID-XU+E. Retrieved February 13, 2017, from http://www.webcitation.org/6f2nShdcN.Google ScholarGoogle Scholar
  16. Canturk Isci and Margaret Martonosi. 2003. Runtime power monitoring in high-end processors: Methodology and empirical data. In Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-36). IEEE, Los Alamitos, CA, 93. Google ScholarGoogle ScholarCross RefCross Ref
  17. R. Joseph, D. Brooks, and M. Martonosi. 2003. Control techniques to eliminate voltage emergencies in high performance processors. In Proceedings of the 9th International Symposium on High-Performance Architecture (HPCA-9). 79--90. DOI:http://dx.doi.org/10.1109/HPCA.2003.1183526 Google ScholarGoogle ScholarCross RefCross Ref
  18. Aman Kansal and Feng Zhao. 2008. Fine-grained energy profiling for power-aware application design. SIGMETRICS Performance Evaluation Review 36, 2, 26--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Stratos Keranidis, Giannis Kazdaridis, Virgilios Passas, Giannis Igoumenos, Thanasis Korakis, Iordanis Koutsopoulos, and Leandros Tassiulas. 2014. NITOS mobile monitoring solution: Realistic energy consumption profiling of mobile devices. In Proceedings of the 5th International Conference on Future Energy Systems (e-Energy’14). ACM, New York, NY, 219--220.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dong Li, Bronis R. de Supinski, Martin Schulz, Dimitrios S. Nikolopoulos, and Kirk W. Cameron. 2013. Strategies for energy-efficient resource management of hybrid programming models. IEEE Transactions on Parallel and Distributed Systems 24, 1, 144--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ioannis Manousakis, Foivos S. Zakkak, Polyvios Pratikakis, and Dimitrios S. Nikolopoulos. 2014. TProf: An energy profiler for task-parallel programs. Sustainable Computing: Informatics and Systems 5, 1--13. DOI:http://dx.doi.org/10.1016/j.suscom.2014.07.004 Google ScholarGoogle ScholarCross RefCross Ref
  22. Dustin McIntire, Thanos Stathopoulos, and William Kaiser. 2007. Etop: Sensor network application energy profiling on the LEAP2 platform. In Proceedings of the 6th International Conference on Information Processing in Sensor Networks (IPSN’07). ACM, New York, NY, 576--577. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Lev Mukhanov, Dimitrios S. Nikolopoulos, and Bronis R. de Supinski. 2015. ALEA: Fine-grain energy profiling with basic block sampling. In Proceedings of the 24th International Conference on Parallel Architectures and Compilation Techniques (PACT’15). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Abhinav Pathak, Y. Charlie Hu, and Ming Zhang. 2012. Where is the energy spent inside my app?: Fine grained energy accounting on smartphones with Eprof. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys’12). ACM, New York, NY, 29--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Petoumenos, L. Mukhanov, Z. Wang, H. Leather, and D. S. Nikolopoulos. 2015. Power capping: What works, what does not. In Proceedings of the 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS’15). 525--534. DOI:http://dx.doi.org/10.1109/ICPADS.2015.72 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. E. Rotem, A. Naveh, A. Ananthakrishnan, E. Weissmann, and D. Rajwan. 2012. Power-management architecture of the Intel microarchitecture code-named Sandy Bridge. IEEE Micro 32, 2, 20--27. DOI:http://dx.doi.org/10.1109/MM.2012.12 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Efi Rotem, Alon Naveh, Doron Rajwan, Avinash Ananthakrishnan, and Eli Weissmann. 2011. Power management architecture of the 2nd generation Intel Core microarchitecture, formerly codenamed Sandy Bridge. In Proceedings of the 2011 IEEE Hot Chips 23 Symposium (HCS’11). Google ScholarGoogle ScholarCross RefCross Ref
  28. Simon Schubert, Dejan Kostic, Willy Zwaenepoel, and Kang G. Shin. 2012. Profiling software for energy consumption. Proceedings of the 2012 IEEE International Conference on Green Computing and Communications. 515--522. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Yakun Sophia Shao and David Brooks. 2013. Energy characterization and instruction-level energy model of Intel’s Xeon Phi processor. In Proceedings of the 2013 International Symposium on Low Power Electronics and Design (ISLPED’13). IEEE, Los Alamitos, CA, 389--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao Zhang, and Zhuan Chen. 2013. Power containers: An OS facility for fine-grained power and energy management on multicore servers. ACM SIGPLAN Notices 48, 4, 65--76. DOI:http://dx.doi.org/10.1145/2499368.2451124 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Tomothy Sherwood, Erez Perelman, and Brad Calder. 2001. Basic Block Distribution Analysis to Find Periodic Behavior and Simulation Points in Applications. Technical Report. University of California at San Diego, La Jolla, CA.Google ScholarGoogle Scholar
  32. L. D. Smith, R. E. Anderson, D. W. Forehand, T. J. Pelc, and T. Roy. 1999. Power distribution system design methodology and capacitor selection for modern CMOS technology. IEEE Transactions on Advanced Packaging 22, 3, 284--291. DOI:http://dx.doi.org/10.1109/6040.784476 Google ScholarGoogle ScholarCross RefCross Ref
  33. TI. 2013. High- or Low-Side Measurement, Bidirectional CURRENT/POWER MONITOR with 1.8-V I2CTM Interface.Google ScholarGoogle Scholar
  34. Kuen Hung Tsoi and Wayne Luk. 2011. Power profiling and optimization for heterogeneous multi-core systems. ACM SIGARCH Computer Architecture News 39, 4, 8--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Chia-Heng Tu, Hui-Hsin Hsu, Jen-Hao Chen, Chun-Han Chen, and Shih-Hao Hung. 2014. Performance and power profiling for emulated Android systems. ACM Transactions on Design Automation of Electronic Systems 19, 2, Article No. 10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Claas Wilke, Sebastian Götz, and Sebastian Richly. 2013. JouleUnit: A generic framework for software energy profiling and testing. In Proceedings of the 2013 Workshop on Green in/by Software Engineering (GIBSE’13). ACM, New York, NY, 9--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Q. Wu, M. Martonosi, D. W. Clark, V. J. Reddi, D. Connors, Y. Wu, J. Lee, and D. Brooks. 2005. A dynamic compilation framework for controlling microprocessor energy and performance. In Proceedings of the 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-38). IEEE, Los Alamitos, CA, 271--282. DOI:http://dx.doi.org/10.1109/MICRO.2005.7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Xuan Zhang, Tao Tong, Svilen Kanev, Sae Kyu Lee, Gu-Yeon Wei, and David Brooks. 2013. Characterizing and evaluating voltage noise in multi-core near-threshold processors. In Proceedings of the 2013 International Symposium on Low Power Electronics and Design (ISLPED’13). IEEE, Los Alamitos, CA, 82--87. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. ALEA: A Fine-Grained Energy Profiling Tool

      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 Transactions on Architecture and Code Optimization
        ACM Transactions on Architecture and Code Optimization  Volume 14, Issue 1
        March 2017
        258 pages
        ISSN:1544-3566
        EISSN:1544-3973
        DOI:10.1145/3058793
        Issue’s Table of Contents

        Copyright © 2017 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 the author(s) 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: 13 March 2017
        • Accepted: 1 November 2016
        • Revised: 1 September 2016
        • Received: 1 May 2016
        Published in taco Volume 14, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader