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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- Hardkernel. 2016. ODROID-XU+E. Retrieved February 13, 2017, from http://www.webcitation.org/6f2nShdcN.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- Aman Kansal and Feng Zhao. 2008. Fine-grained energy profiling for power-aware application design. SIGMETRICS Performance Evaluation Review 36, 2, 26--31. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- TI. 2013. High- or Low-Side Measurement, Bidirectional CURRENT/POWER MONITOR with 1.8-V I2CTM Interface.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
Index Terms
- ALEA: A Fine-Grained Energy Profiling Tool
Recommendations
Software Development Lifecycle for Energy Efficiency: Techniques and Tools
Motivation: In modern it systems, the increasing demand for computational power is tightly coupled with ever higher energy consumption. Traditionally, energy efficiency research has focused on reducing energy consumption at the hardware level. ...
ALEA: Fine-Grain Energy Profiling with Basic Block Sampling
PACT '15: Proceedings of the 2015 International Conference on Parallel Architecture and Compilation (PACT)Energy efficiency is an essential requirement for all contemporary computing systems. We thus need tools to measure the energy consumption of computing systems and to understand how workloads affect it. Significant recent research effort has targeted ...
Profiling Software for Energy Consumption
GREENCOM '12: Proceedings of the 2012 IEEE International Conference on Green Computing and CommunicationsThe amount of energy consumed by computer systems can be lowered through the use of more efficient algorithms and software. Unfortunately, software developers lack the tools to pinpoint energy-hungry sections in their code and therefore have to rely on ...
Comments