Mukhanov, Lev and Petoumenos, Pavlos and Wang, Zheng and Parasyris, Nikos and Nikolopoulos, Dimitrios S. and R. de Supinski, Bronis and Leather, Hugh (2017) ALEA : a fine-grained energy profiling tool. ACM Transactions on Architecture and Code Optimization, 14 (1): 1. ISSN 1544-3566
alea_taco.pdf - Accepted Version
Available under License Creative Commons Attribution.
Download (979kB)
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.