skip to main content
10.1145/3286978.3287014acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmobiquitousConference Proceedingsconference-collections
research-article

In-vivo and offline optimisation of energy use in the presence of small energy signals: A case study on a popular Android library

Authors Info & Claims
Published:05 November 2018Publication History

ABSTRACT

Energy demands of applications on mobile platforms are increasing. As a result, there has been a growing interest in optimising their energy efficiency. As mobile platforms are fast-changing, diverse and complex, the optimisation of energy use is a non-trivial task.

To date, most energy optimisation methods either use models or external meters to estimate energy use. Unfortunately, it becomes hard to build widely applicable energy models, and external meters are neither cheap nor easy to set up. To address this issue, we run application variants in-vivo on the phone and use a precise internal battery monitor to measure energy use. We describe a methodology for optimising a target application in-vivo and with application-specific models derived from the device's own internal meter based on jiffies and lines of code. We demonstrate that this process produces a significant improvement in energy efficiency with limited loss of accuracy.

References

  1. Abhijeet Banerjee, Lee Kee Chong, Sudipta Chattopadhyay, and Abhik Roychoudhury. 2014. Detecting energy bugs and hotspots in mobile apps. In 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE). ACM, 588--598. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Bhadra, A. Conrad, C. Hurkes, B. Kirklin, and G. M. Kapfhammer. 2009. An experimental study of methods for executing test suites in memory constrained environments. In Workshop on Automation of Software Test. 27--35.Google ScholarGoogle Scholar
  3. Mahmoud A. Bokhari, Bobby R.Bruce, Brad Alexander, and Markus Wagner. 2017. Deep Parameter Optimisation on Android Smartphones for Energy Minimisation: A Tale of Woe and a Proof-of-concept. In Genetic and Evolutionary Computation Conference (GECCO) Companion (GI Workshop). ACM, 1501--1508. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mahmoud A. Bokhari, Yuanzhong Xia, Bo Zhou, Brad Alexander, and Markus Wagner. 2017. Validation of Internal Meters of Mobile Android Devices. CoRR abs/1701.07095 (2017).Google ScholarGoogle Scholar
  5. A. E. I. Brownlee, N. Burles, and J. Swan. 2017. Search-Based Energy Optimization of Some Ubiquitous Algorithms. IEEE Transactions on Emerging Topics in Computational Intelligence 1, 3 (2017), 188--201.Google ScholarGoogle ScholarCross RefCross Ref
  6. Bobby R. Bruce, Jonathan M. Aitken, and Justyna Petke. 2016. Deep Parameter Optimisation for Face Detection Using the Viola-Jones Algorithm in OpenCV. In Symposium on Search-Based Software Engineering (SSBSE). Springer, 238--243.Google ScholarGoogle Scholar
  7. Bobby R. Bruce, Justyna Petke, and Mark Harman. 2015. Reducing energy consumption using genetic improvement. In Genetic and Evolutionary Computation Conference (GECCO). ACM, 1327--1334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. R. Bruce, J. Petke, M. Harman, and E. T. Barr. 2018. Approximate Oracles and Synergy in Software Energy Search Spaces. IEEE Transactions on Software Engineering (2018), 1--1. Accepted.Google ScholarGoogle Scholar
  9. Nathan Burles, Edward Bowles, Alexander E. I. Brownlee, Zoltan A. Kocsis, Jerry Swan, and Nadarajen Veerapen. 2015. Object-Oriented Genetic Improvement for Improved Energy Consumption in Google Guava. In Search-Based Software Engineering. Springer, 255--261.Google ScholarGoogle Scholar
  10. Shelvin Chand and Markus Wagner. 2015. Evolutionary many-objective optimization: A quick-start guide. Surveys in Operations Research and Management Science 20, 2 (2015), 35--42.Google ScholarGoogle ScholarCross RefCross Ref
  11. Naehyuck Chang, Kwanho Kim, and Hyung Gyu Lee. 2000. Cycle-accurate Energy Consumption Measurement and Analysis: Case Study of ARM7TDMI. In International Symposium on Low Power Electronics and Design. ACM, 185--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Deb and H. Jain. 2014. An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints. IEEE Transactions on Evol. Computation 18, 4 (2014), 577--601.Google ScholarGoogle ScholarCross RefCross Ref
  13. Mian Dong and Lin Zhong. 2011. Self-constructive High-rate System Energy Modeling for Battery-powered Mobile Systems. In Mobile Systems, Applications, and Services. ACM, 335--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jason Flinn and M. Satyanarayanan. 1999. PowerScope: A Tool for Profiling the Energy Usage of Mobile Applications. In 2nd Workshop on Mobile Computer Systems and Applications. IEEE, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Shuai Hao, Ding Li, William G.J. Halfond, and Ramesh Govindan. 2012. Estimating Android Applications' CPU Energy Usage via Bytecode Profiling. In 1st International Workshop on Green and Sustainable Software. IEEE Press, 1--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Shuai Hao, Ding Li, William G.J. Halfond, and Ramesh Govindan. 2013. Estimating Mobile Application Energy Consumption Using Program Analysis. In 2013 International Conference on Software Engineering. IEEE Press, 92--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Abram Hindle, Alex Wilson, Kent Rasmussen, E. Jed Barlow, Joshua Charles Campbell, and Stephen Romansky. 2014. GreenMiner: A Hardware Based Mining Software Repositories Software Energy Consumption Framework. In 11th Working Conference on Mining Software Repositories (MSR). ACM, 12--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ahmed Hussein, Mathias Payer, Antony Hosking, and Christopher A. Vick. 2015. Impact of GC Design on Power and Performance for Android. In 8th ACM International Systems and Storage Conference (SYSTOR). ACM, Article 13, 12 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Android Inc. 2017. Background locationOLD Limits. http://tiny.cc/locoldGoogle ScholarGoogle Scholar
  20. Qualcomm Innovation Center Inc. 2014. Trepn Profiler. https://developer.qualcomm.com/software/trepn-power-profiler/tools Accessed 10 May 2018.Google ScholarGoogle Scholar
  21. Maxim Integrated. 2016. MAX17047/MAX17050 ModelGauge m3 Fuel Gauge. https://datasheets.maximintegrated.com/en/ds/MAX17047-MAX17050.pdf Accessed 10 May 2018.Google ScholarGoogle Scholar
  22. Reyhaneh Jabbarvand, Alireza Sadeghi, Joshua Garcia, Sam Malek, and Paul Ammann. 2015. EcoDroid: An Approach for Energy-based Ranking of Android Apps. In 4th International Workshop on Green and Sustainable Software. IEEE Press, 8--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. William B. Langdon, Justyna Petke, and Bobby R. Bruce. 2016. Optimising Quantisation Noise in Energy Measurement. In Parallel Problem Solving from Nature (PPSN). Springer, 249--259.Google ScholarGoogle Scholar
  24. Bingdong Li, Jinlong Li, Ke Tang, and Xin Yao. 2015. Many-Objective Evolutionary Algorithms: A Survey. Comput. Surveys 48, 1, Article 13 (2015), 35 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Ding Li, Shuai Hao, William G. J. Halfond, and Ramesh Govindan. 2013. Calculating Source Line Level Energy Information for Android Applications. In 2013 International Symposium on Software Testing and Analysis (ISSTA). ACM, 78--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Ding Li, Angelica Huyen Tran, and William GJ Halfond. 2014. Making web applications more energy efficient for OLED smartphones. In 36th International Conference on Software Engineering (ICSE). 527--538. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Mario Linares-Vásquez, Gabriele Bavota, Carlos Eduardo Bernal Cárdenas, Rocco Oliveto, Massimiliano Di Penta, and Denys Poshyvanyk. 2015. Optimizing Energy Consumption of GUIs in Android Apps: A Multi-objective Approach. In 10th Foundations of Software Engineering. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. John C. McCullough, Yuvraj Agarwal, Jaideep Chandrashekar, Sathyanarayan Kuppuswamy, Alex C. Snoeren, and Rajesh K. Gupta. 2011. Evaluating the Effectiveness of Model-based Power Characterization. In USENIX Annual Technical Conference. USENIX Association, 12--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Tyler McDonnell, Baishakhi Ray, and Miryung Kim. 2013. An Empirical Study of API Stability and Adoption in the Android Ecosystem. In 2013 IEEE International Conference on Software Maintenance (ICSM). IEEE Computer Society, 70--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Candy Pang, Abram Hindle, Bram Adams, and Ahmed E. Hassan. 2016. What Do Programmers Know about Software Energy Consumption? IEEE Software 33, 3 (2016), 83--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Abhinav Pathak, Y. Charlie Hu, Ming Zhang, Paramvir Bahl, and Yi-Min Wang. 2011. Fine-grained Power Modeling for Smartphones Using System Call Tracing. In European Conference on Computer Systems. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Fabio Pellacini. 2005. User-configurable automatic shader simplification. ACM Transactions on Graphics 24, 3 (2005), 445. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David R. White, and John R. Woodward. 2017. Genetic Improvement of software: A comprehensive Survey. IEEE Transactions on Evolutionary Computation (2017). To Appear.Google ScholarGoogle Scholar
  34. Eric Schulte, Jonathan Dorn, Stephen Harding, Stephanie Forrest, and Westley Weimer. 2014. Post-compiler Software Optimization for Reducing Energy. In 19th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, 639--652. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. A. Sinha and A. P. Chandrakasan. 2001. JouleTrack-a Web based tool for software energy profiling. In 38th Design Automation Conference (IEEE Cat. No.01CH37232). 220--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Stefan Steinke, Markus Knauer, Lars Wehmeyer, and Peter Marwedel. 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). 10.Google ScholarGoogle Scholar
  37. James Tiongson. 2015. Mobile App: Marketing Insights. http://tiny.cc/twgGoogle ScholarGoogle Scholar
  38. Narseo Vallina-Rodriguez, Pan Hui, Jon Crowcroft, and Andrew Rice. 2010. Exhausting battery statistics: understanding the energy demands on mobile handsets. In Workshop on Networking, systems, and applications on mobile handhelds. ACM, 9--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Karel De Vogeleer, Gérard Memmi, Pierre Jouvelot, and Fabien Coelho. 2014. The Energy/Frequency Convexity Rule: Modeling and Experimental Validation on Mobile Devices. CoRR abs/1401.4655 (2014). arXiv:1401.4655Google ScholarGoogle Scholar
  40. Fan Wu, Westley Weimer, Mark Harman, Yue Jia, and Jens Krinke. 2015. Deep parameter optimisation. In Genetic and Evolutionary Computation Conference (GECCO). ACM, 1375--1382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Chanmin Yoon, Dongwon Kim, Wonwoo Jung, Chulkoo Kang, and Hojung Cha. 2012. AppScope: Application Energy Metering Framework for Android Smartphones Using Kernel Activity Monitoring. In USENIX Conference on Annual Technical Conference. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. In-vivo and offline optimisation of energy use in the presence of small energy signals: A case study on a popular Android library

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          MobiQuitous '18: Proceedings of the 15th EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services
          November 2018
          490 pages
          ISBN:9781450360937
          DOI:10.1145/3286978

          Copyright © 2018 ACM

          Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 November 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate26of87submissions,30%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader