A Study on the Influence of Software and Hardware Features on Program Energy
- 8 September 2016
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
- p. 37:1-37:10
- https://doi.org/10.1145/2961111.2962593
Abstract
Software energy consumption has emerged as a growing concern in recent years. Managing the energy consumed by a software is, however, a difficult challenge due to the large number of factors affecting it -- namely, features of the processor, memory, cache, and other hardware components, characteristics of the program and the workload running, OS routines, compiler optimisations, among others. In this paper we study the relevance of numerous architectural and program features (static and dynamic) to the energy consumed by software. The motivation behind the study is to gain an understanding of the features affecting software energy and to provide recommendations on features to optimise for energy efficiency. In our study we used 58 subject desktop programs, each with their own workload, and from different application domains. We collected over 100 hardware and software metrics, statically and dynamically, using existing tools for program analysis, instrumentation and run time monitoring. We then performed statistical feature selection to extract the features relevant to energy consumption. We discuss potential optimisations for the selected features. We also examine whether the energy-relevant features are different from those known to affect software performance. The features commonly selected in our experiments were execution time, cache accesses, memory instructions, context switches, CPU migrations, and program length (Halstead metric). All of these features are known to affect software performance, in terms of running time, power consumed and latency.Keywords
Funding Information
- Engineering and Physical Sciences Research Council (EP/L024624/1)
This publication has 32 references indexed in Scilit:
- Optimising Energy Consumption of Design PatternsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2015
- Identifying Compiler Options to Minimize Energy Consumption for Embedded PlatformsThe Computer Journal, 2013
- Calculating source line level energy information for Android applicationsPublished by Association for Computing Machinery (ACM) ,2013
- CPU Scheduling for Power/Energy Management on Multicore Processors Using Cache Miss and Context Switch DataIEEE Transactions on Parallel and Distributed Systems, 2013
- Where is the energy spent inside my app?Published by Association for Computing Machinery (ACM) ,2012
- The WEKA data mining softwareACM SIGKDD Explorations Newsletter, 2009
- Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential ImpactEmpirical Software Engineering, 2005
- PinACM SIGPLAN Notices, 2005
- The design and use of simplepowerPublished by Association for Computing Machinery (ACM) ,2000
- Instruction level power analysis and optimization of softwareJournal of Signal Processing Systems, 1996