Search-based energy optimization of some ubiquitous algorithms



Brownlee A, Burles N & Swan J (2017) Search-based energy optimization of some ubiquitous algorithms. IEEE Transactions on Emerging Topics in Computational Intelligence, 1 (3), pp. 188-201.

Reducing computational energy consumption is of growing importance, particularly at the extremes (i.e. mobile devices and datacentres). Despite the ubiquity of the JavaTM Virtual Machine (JVM), very little work has been done to apply Search Based Software Engineering (SBSE) to minimize the energy consumption of programs that run on it. We describe OPACITOR , a tool for measuring the energy consumption of JVM programs using a bytecode level model of energy cost. This has several advantages over time-based energy approximations or hardware measurements. It is: deterministic.  unaffected by the rest of the computational environment.  able to detect small changes in execution profile, making it highly amenable to metaheuristic search which requires locality of representation. We show how generic SBSE approaches coupled with OPACITOR achieve substantial energy savings for three widely-used software components. Multi-Layer Perceptron implementations minimis- ing both energy and error were found, and energy reductions of up to 70% and 39.85% were obtained over the original code for Quicksort and Object-Oriented container classes respectively. These highlight three important considerations for automatically reducing computational energy: tuning software to particular distributions of data; trading off energy use against functional properties; and handling internal dependencies which can exist within software that render simple sweeps over program variants sub-optimal. Against these, global search greatly simplifies the developer’s job, freeing development time for other tasks.

Search based software engineering; Java; energy

IEEE Transactions on Emerging Topics in Computational Intelligence: Volume 1, Issue 3

FundersEngineering and Physical Sciences Research Council
Publication date30/06/2017
Date accepted by journal14/04/2017
Related URLs;

People (1)


Dr Sandy Brownlee

Dr Sandy Brownlee

Senior Lecturer in Computing Science, Computing Science and Mathematics - Division