Deep parameter optimisation on Android smartphones for energy minimisation: a tale of woe and a proof-of-concept

With power demands of mobile devices rising, it is becoming increasingly important to make mobile software applications more energy efficient. Unfortunately, mobile platforms are diverse and very complex which makes energy behaviours difficult to model. This complexity presents challenges to the effectiveness of off-line optimisation of mobile applications. In this paper, we demonstrate that it is possible to automatically optimise an application for energy on a mobile device by evaluating energy consumption in-vivo. In contrast to previous work, we use only the device's own internal meter. Our approach involves many technical challenges but represents a realistic path toward learning hardware specific energy models for program code features.

[1]  Abram Hindle,et al.  GreenMiner: a hardware based mining software repositories software energy consumption framework , 2014, MSR 2014.

[2]  Lori L. Pollock,et al.  SEEDS: a software engineer's energy-optimization decision support framework , 2014, ICSE.

[3]  Jácome Cunha,et al.  The Influence of the Java Collection Framework on Overall Energy Consumption , 2016, 2016 IEEE/ACM 5th International Workshop on Green and Sustainable Software (GREENS).

[4]  Fan Wu,et al.  Deep Parameter Optimisation , 2015, GECCO.

[5]  John R. Woodward,et al.  Genetic Improvement of Energy Usage is only as Reliable as the Measurements are Accurate , 2015, GECCO.

[6]  Fabio Pellacini User-configurable automatic shader simplification , 2005, SIGGRAPH 2005.

[7]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[8]  Ahmed E. Hassan,et al.  What Do Mobile App Users Complain About? , 2015, IEEE Software.

[9]  Markus Wagner,et al.  Optimising Energy Consumption Heuristically on Android Mobile Phones , 2016, GECCO.

[10]  Ding Li,et al.  Making web applications more energy efficient for OLED smartphones , 2014, ICSE.

[11]  Adel Noureddine,et al.  Optimising Energy Consumption of Design Patterns , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[12]  Markus Wagner,et al.  Validation of Internal Meters of Mobile Android Devices , 2017, ArXiv.

[13]  Abram Hindle,et al.  What Do Programmers Know about Software Energy Consumption? , 2016, IEEE Software.

[14]  Abhik Roychoudhury,et al.  Detecting energy bugs and hotspots in mobile apps , 2014, SIGSOFT FSE.

[15]  Ding Li,et al.  Optimizing energy of HTTP requests in Android applications , 2015, DeMobile@SIGSOFT FSE.

[16]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[17]  Jason Lawrence,et al.  Genetic programming for shader simplification , 2011, ACM Trans. Graph..

[18]  Dominic P. Searson,et al.  GPTIPS: An Open Source Genetic Programming Toolbox For Multigene Symbolic Regression , 2010 .

[19]  Justyna Petke,et al.  Reducing Energy Consumption Using Genetic Improvement , 2015, GECCO.

[20]  Rui Zhang,et al.  An Empirical Study of Practitioners' Perspectives on Green Software Engineering , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[21]  Lalit M. Patnaik,et al.  Genetic algorithms: a survey , 1994, Computer.

[22]  Mark Harman,et al.  Approximate Oracles and Synergy in Software Energy Search Spaces , 2019, IEEE Transactions on Software Engineering.

[23]  Justyna Petke,et al.  Deep Parameter Optimisation for Face Detection Using the Viola-Jones Algorithm in OpenCV , 2016, SSBSE.

[24]  Mark Harman,et al.  Genetic Improvement of Software: A Comprehensive Survey , 2018, IEEE Transactions on Evolutionary Computation.

[25]  Jie Han,et al.  Approximate computing: An emerging paradigm for energy-efficient design , 2013, 2013 18th IEEE European Test Symposium (ETS).