Abstract
For many people, mobile platforms are now an essential part of everyday life. A defining feature of mobile platforms is their reliance on battery performance. Due to this reliance, there is a pressing need for mobile applications that minimise their own impact on batteries. While mobile platforms are improving their capabilities in terms of policing the energy use of applications and rationing energy-hungry devices, mobile application developers still lack knowledge in how to write energy efficient programs. Recent work in automatic program improvement using heuristic search over randomly generated program variants has shown some promise in terms of producing reductions in programs’ energy-use. A challenge in this work is accurately measuring the energy-use of program variants. One approach to measurement is to use each platform’s internal meter to assess variants on the device itself. This approach has advantages in terms of measuring actual energy-use on each platform but is not ideal for the search for program variants that perform well across multiple platforms. The work in this paper addresses this problem by using an island-like evolutionary search mode to simultaneously evolve variants on multiple platforms. Island models of evolutionary search conduct search on multiple platforms in parallel and share promising variants. The results show that this approach has advantages over isolated evolution in terms of speeding up evolution on each platform and improving the efficiency of search. Validation results show that the island-inspired model is able to evolve variants with good cross-platform performance. In addition, it evolves a solution that outperforms best found solutions using a sequential evolutionary algorithm on it is native platform with an effect size greater than 90%.
Similar content being viewed by others
Notes
Rebound Spring Animations for Android: https://github.com/facebookarchive/rebound-js, Accessed April 2021.
Our results can be retrieved from https://github.com/mahmoud-bokhari/distributed_GI
The optimisation framework that runs on the PC can be found at https://github.com/mahmoud-bokhari/SmartDevicesEnergyOptimiser
The smart devices and logger can be found at https://github.cs.adelaide.edu.au/a1600329/BatteryMonitor
References
Alameldeen A. R., Wood D. A. (2003) Variability in architectural simulations of multi-threaded workloads. In: 9th International Symposium on High-Performance Computer Architecture (HPCA), IEEE
Bee Wah Y., Mohd Razali N. (2011) Power comparisons of Shapiro-Wilk, Kolmogorov-Smirnov, Lilliefors and Anderson-Darling tests
Bhadra S., Conrad A., Hurkes C., Kirklin B., Kapfhammer G. M. (2009) An experimental study of methods for executing test suites in memory constrained environments. In: Workshop on Automation of Software Test
Blackburn S. M., Garner R., Hoffmann C., Khang A. M., McKinley K. S., Bentzur R., Diwan A., Feinberg D., Frampton D., Guyer S. Z., et al. (2006) The dacapo benchmarks: Java benchmarking development and analysis. In: ACM SIGPLAN Notices, vol 41, ACM
Bokhari M., Wagner M. (2016) Optimising energy consumption heuristically on android mobile phones. In: Genetic and Evolutionary Computation Conference Companion (GECCO). ACM
Bokhari M. A., Alexander B., Wagner M. (2018) In-vivo and offline optimisation of energy use in the presence of small energy signals: A case study on a popular android library. In: 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (MobiQuitous). ACM
Bokhari M. A., Alexander B., Wagner M. (2020a) Towards rigorous validation of energy optimisation experiments. In: Genetic and Evolutionary Computation Conference (GECCO)
Bokhari M. A., Bruce B. R., Alexander B., Wagner M. (2017a) Deep Parameter Optimisation on Android Smartphones for Energy Minimisation: A Tale of Woe and a Proof-of-concept. In: Genetic and Evolutionary Computation Conference Companion (GECCO). ACM
Bokhari M. A., Wagner M., Alexander B. (2019) The quest for non-functional property optimisation in heterogeneous and fragmented ecosystems: A distributed approach. In: the Genetic and Evolutionary Computation Conference Companion (GECCO). Association for Computing Machinery
Bokhari M. A., Wagner M., Alexander B. (2020b) Genetic improvement of software efficiency: The curse of fitness estimation. In: Genetic and Evolutionary Computation Conference Companion (GECCO)
Bokhari M. A., Weng L., Wagner M., Alexander B. (2019) Mind the gap–a distributed framework for enabling energy optimisation on modern smart-phones in the presence of noise, drift, and statistical insignificance. In: IEEE Congress on Evolutionary Computation (CEC), IEEE
Bokhari M. A., Xia Y., Zhou B., Alexander B., Wagner M. (2017b) Validation of internal meters of mobile android devices, vol abs/1701.07095
Brownlee A. E. I., Burles N., Swan J. (2017) Search-Based energy optimization of some ubiquitous algorithms, vol 1
Bruce B. R., Petke J., Harman M., Barr E. T. (2019) Approximate oracles and synergy in software energy search spaces, vol 45
Bruce B. R., Aitken J. M., Petke J. (2016) Deep parameter optimisation for face detection using the Viola-Jones algorithm in OpenCV. In: Symposium on Search-Based Software Engineering (SSBSE). Springer
Bruce B. R., Petke J., Harman M. (2015) Reducing energy consumption using genetic improvement. In: Genetic and Evolutionary Computation Conference (GECCO), ACM
Burles N., Bowles E., Brownlee A. E. I., Kocsis Z. A., Swan J., Veerapen N., Labiche Y. (2015) Object-oriented genetic improvement for improved energy consumption in Google Guava. In: Symposium on Search-Based Software Engineering (SSBSE). Springer
Couto M., Saraiva J., Fernandes J. P. (2020) Energy refactorings for android in the large and in the wild. In: 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp 217–228, DOI https://doi.org/10.1109/SANER48275.2020.9054858., (to appear in print)
Cruz L., Abreu R. (2021) On the energy footprint of mobile testing frameworks. IEEE Trans Softw Eng 47(10):2260–2271. https://doi.org/10.1109/TSE.2019.2946163
Dong M., Zhong L. (2011) Self-constructive high-rate system energy modeling for battery-powered mobile systems. In: Mobile Systems, Applications, and Services (MobiSys). ACM
Ferreira D., Dey A. K., Kostakos V. (2011) Understanding human-smartphone concerns: a study of battery life. In: International Conference on Pervasive Computing (PerCom), Springer
Georges A., Eeckhout L., Buytaert D. (2008) Java performance evaluation through rigorous replay compilation. In: ACM SIGPLAN Notices, vol 43, ACM
Gong Y. -J., Chen W. -N., Zhan Z. -H., Zhang J., Li Y., Zhang Q., Li J. -J. (2015) Distributed evolutionary algorithms and their models: A survey of the state-of-the-art, vol 34
Hao S., Li D., Halfond W. G. J., Govindan R. (2013) Estimating mobile application energy consumption using program analysis. In: International Conference on Software Engineering (ICSE). IEEE Press
Hecht G., Moha N., Rouvoy R. (2016) An empirical study of the performance impacts of android code smells. In: IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft). IEEE
Hindle A. (2016) Green software engineering: The curse of methodology. In: IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol 5
Hoque M. A., Siekkinen M., Khan K. N., Xiao Y., Tarkoma S. (2016) Modeling, profiling, and debugging the energy consumption of mobile devices, vol 48
Hort M., Kechagia M., Sarro F., Harman M. (2021) A survey of performance optimization for mobile applications
Huang X., Blackburn S. M., McKinley K. S., Moss J. E. B., Wang Z., Cheng P. (2004) The garbage collection advantage: improving program locality, vol 39
Hussein A., Payer M., Hosking A., Vick C. A. (2015) Impact of gc design on power and performance for android. In: 8th ACM International Systems and Storage Conference (SYSTOR). ACM
Kalibera T., Bulej L., Tuma P. (2005) Benchmark precision and random initial state. In: International Symposium on Performance Evaluation of Computer and Telecommunications Systems (SPECTS). SCS
Keskin S. (2006) Comparison of several univariate normality tests regarding type i error rate and power of the test in simulation based small samples, vol 2
Langdon W. B., Petke J., Bruce B. R., Hart E., Lewis P. R., López-Ibáñez M., Ochoa G., Paechter B. (2016) Optimising quantisation noise in energy measurement. In: Parallel Problem Solving from Nature (PPSN). Springer
Li D., Hao S., Halfond W. G. J., Govindan R. (2013) Calculating source line level energy information for android applications. In: International Symposium on Software Testing and Analysis (ISSTA). ACM
Linares-Vásquez M., Bavota G., Cárdenas C. E. B., Oliveto R., Di Penta M., Poshyvanyk D. (2015) Optimizing energy consumption of guis in android apps: A multi-objective approach. In: 10th Joint Meeting on Foundations of Software Engineering (FSE). ACM
Maxim Integrated (2016) MAX17047/MAX17050 ModelGauge m3 Fuel Gauge. Accessed 2 February 2020, https://datasheets.maximintegrated.com/en/ds/MAX17047-MAX17050.pdf
McDonnell T., Ray B., Kim M. (2013) An empirical study of api stability and adoption in the android ecosystem. In: IEEE International Conference on Software Maintenance (ICSM). IEEE Press
Mendes M., Pala A. (2003) Type i error rate and power of three normality tests, vol 2
Morales R., Saborido R., Khomh F., Chicano F., Antoniol G. (2018) Earmo: An energy-aware refactoring approach for mobile apps
Murmuria R., Medsger J., Stavrou A., Voas J. M. (2012) Mobile application and device power usage measurements. In: Software Security and Reliability. IEEE
Mytkowicz T., Diwan A., Hauswirth M., Sweeney P. F. (2009) Producing wrong data without doing anything obviously wrong!, vol 37
Pascual G. G., Pinto M., Fuentes L. (2015) Self-adaptation of mobile systems driven by the common variability language, vol 47
Pathak A., Hu Y. C., Zhang M., Bahl P., Wang Y. -M. (2011) Fine-grained power modeling for smartphones using system call tracing. In: European Conference on Computer Systems (EuroSys). ACM
Peltonen E., Lagerspetz E., Nurmi P., Tarkoma S. (2015) Energy modeling of system settings: A crowdsourced approach. In: 2015 IEEE International Conference on Pervasive Computing and Communications (PerCom), pp 37–45, DOI https://doi.org/10.1109/PERCOM.2015.7146507, (to appear in print)
Petke J., Alexander B., Barr E. T., Brownlee A. E. I., Wagner M., White D. R. (2019) A survey of genetic improvement search spaces. In: Genetic and Evolutionary Computation Conference Companion (GECCO)
Pressman R. S. (2005) Software engineering: a practitioner’s approach, Palgrave Macmillan
Pusukuri K. K., Gupta R., Bhuyan L. N. (2012) Thread tranquilizer: Dynamically reducing performance variation, vol 8
Sachindran N., Moss J. E. B. (2003) Mark-copy: Fast copying gc with less space overhead. In: ACM SIGPLAN Notices, vol 38, ACM
Schulte E., Dorn J., Harding S., Forrest S., Weimer W. (2014) Post-compiler software optimization for reducing energy. In: 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM
Schwefel H. -P. (1977) Numerische optimierung von computer-modellen mittels der evolutionsstrategie.(teil 1, kap. 1-5), Birkhäuser
Shapiro S. S., Wilk M. B. (1965) An analysis of variance test for normality (complete samples), vol 52
Shye A., Scholbrock B., Memik G. (2009) Into the wild: Studying real user activity patterns to guide power optimizations for mobile architectures. In: Symposium on Microarchitecture. ACM
Sillars D. (2015) High performance android apps: Improve ratings with speed, optimizations, and testing, O’Reilly Media, Inc.
Sinha A., Chandrakasan A. P. (2001) Jouletrack-a web based tool for software energy profiling. In: 38th Design Automation Conference (DAC)
Skolicki Z., De Jong K. (2005) The influence of migration sizes and intervals on island models. In: 7th Annual Workshop on Genetic and Evolutionary Computation
Spearman C. (1987) The proof and measurement of association between two things. The American Journal of Psychology 100(3/4):441–471. ISSN 00029556. http://www.jstor.org/stable/1422689
Steinke S., Knauer M., Wehmeyer L., Marwedel P. (2001) An accurate and fine grain instruction-level energy model supporting software optimizations. In: International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS)
Vargha A., Delaney H. D. (2000) A critique and improvement of the cl common language effect size statistics of mcgraw and wong, vol 25
Wilcoxon F. (1992) Individual comparisons by ranking methods. In: Breakthroughs in statistics. Springer
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Aldeida Aleti, Annibale Panichella and Shin Yoo
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article belongs to the Topical Collection: Advances in Search-Based Software Engineering (SSBSE)
Rights and permissions
About this article
Cite this article
Bokhari, M.A., Alexander, B. A Hybrid Distributed EA Approach for Energy Optimisation on Smartphones. Empir Software Eng 27, 155 (2022). https://doi.org/10.1007/s10664-022-10188-5
Accepted:
Published:
DOI: https://doi.org/10.1007/s10664-022-10188-5