Skip to main content

Advertisement

Log in

A Hybrid Distributed EA Approach for Energy Optimisation on Smartphones

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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%.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. Rebound Spring Animations for Android: https://github.com/facebookarchive/rebound-js, Accessed April 2021.

  2. Our results can be retrieved from https://github.com/mahmoud-bokhari/distributed_GI

  3. The optimisation framework that runs on the PC can be found at https://github.com/mahmoud-bokhari/SmartDevicesEnergyOptimiser

  4. 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mahmoud A. Bokhari.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-022-10188-5

Keywords

Navigation