skip to main content
10.1145/2901739.2901763acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

GreenOracle: estimating software energy consumption with energy measurement corpora

Published:14 May 2016Publication History

ABSTRACT

Software energy consumption is a relatively new concern for mobile application developers. Poor energy performance can harm adoption and sales of applications. Unfortunately for the developers, the measurement of software energy consumption is expensive in terms of hardware and difficult in terms of expertise. Many prior models of software energy consumption assume that developers can use hardware instrumentation and thus cannot evaluate software running within emulators or virtual machines. Some prior models require actual energy measurements from the previous versions of applications in order to model the energy consumption of later versions of the same application.

In this paper, we take a big-data approach to software energy consumption and present a model that can estimate software energy consumption mostly within 10% error (in joules) and does not require the developer to train on energy measurements of their own applications. This model leverages a big-data approach whereby a collection of prior applications' energy measurements allows us to train, transmit, and apply the model to estimate any foreign application's energy consumption for a test run. Our model is based on the dynamic traces of system calls and CPU utilization.

References

  1. Chromeshell apks. http://commondatastorage. googleapis.com/chromium-browser-continuous/index.html?prefix=Android/. (last accessed: 2015-May-22).Google ScholarGoogle Scholar
  2. Dalvikexplorer apks. https://code.google.com/archive/p/enh/downloads. (last accessed: 2015-Aug-22).Google ScholarGoogle Scholar
  3. F-droid: Free and open source android app repository. https://f-droid.org/. (last accessed: 2015-May-22).Google ScholarGoogle Scholar
  4. Firefox apks. https://ftp.mozilla.org/pub/mobile/nightly/. (last accessed: 2015-May-22).Google ScholarGoogle Scholar
  5. GreenOracle dataset. https://github.com/shaifulcse/GreenOracle-Data. (created on: 2016-Jan-29).Google ScholarGoogle Scholar
  6. Intro Linux Man Page. http://linux.die.net/man/2/intro. (last accessed: 2014-May-22).Google ScholarGoogle Scholar
  7. /proc/stat explained. http://www.linuxhowtos.org/System/procstat.htm. (last accessed: 2014-May-22).Google ScholarGoogle Scholar
  8. THE /proc FILES YSTEM. https://www.kernel.org/doc/Documentation/filesystems/proc.txt. (last accessed: 2014-May-22).Google ScholarGoogle Scholar
  9. VLC apks. http://nightlies.videolan.org/build/android-armv7/backup/. (last accessed: 2015-Aug-22).Google ScholarGoogle Scholar
  10. Why are synchronize expensive in Java? http://stackoverflow.com/questions/1671089/why-are-synchronize-expensive-in-java. (last accessed: 2014-May-22).Google ScholarGoogle Scholar
  11. K. Aggarwal, A. Hindle, and E. Stroulia. Greenadvisor: A tool for analyzing the impact of software evolution on energy consumption. In Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on, pages 311--320, Bremen, Germany, Sept 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Aggarwal, C. Zhang, J. C. Campbell, A. Hindle, and E. Stroulia. The Power of System Call Traces: Predicting the Software Energy Consumption Impact of Changes. In CASCON '14, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. J. Alam, P. Ouellet, P. Kenny, and D. O'Shaughnessy. Comparative evaluation of feature normalization techniques for speaker verification. In Proceedings of the 5th International Conference on Advances in Nonlinear Speech Processing, NOLISP'11, pages 246--253, Berlin, Heidelberg, 2011. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Alpaydin. Combining multiple learners. In Introduction to Machine Learning (Second Edition). MIT Press.Google ScholarGoogle Scholar
  15. Banerjee, Abhijeet and Chong, Lee Kee and Chattopadhyay, Sudipta and Roychoudhury, Abhik. Detecting Energy Bugs and Hotspots in Mobile Apps. In FSE 2014, pages 588--598, Hong Kong, China, Novemeber 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Carroll and G. Heiser. An Analysis of Power Consumption in a Smartphone. In Proceedings of the USENIXATC'10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Chowdhury, K. Luke, J. Toukir, Imam Mohomed, S. Varun, K. Aggarwal, A. Hindle, and G. Russell. A System-call based Model of Software Energy Consumption without Hardware Instrumentation. In IGSC '15, Las Vegas, US, December 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Chowdhury, S. Varun, and A. Hindle. Client-side Energy Efficiency of HTTP/2 for Web and Mobile App Developers. In SANER '16 (to appear), Osaka, Japan, March 2016.Google ScholarGoogle ScholarCross RefCross Ref
  19. Cisco. Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2014-2019. Technical report, Cisco, February 2015.Google ScholarGoogle Scholar
  20. M. Dong and L. Zhong. Self-constructive High-rate System Energy Modeling for Battery-powered Mobile Systems. In Proceedings of the MobiSys '11, pages 335--348, June 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. eMarketer. 2 billion consumers worldwide to get smart(phones) by 2016. http://www.emarketer.com/Article/2-Billion-Consumers-Worldwide-Smartphones-by-2016/1011694. (last accessed: 2016-Jan-07).Google ScholarGoogle Scholar
  22. J. Flinn and M. Satyanarayanan. PowerScope: A Tool for Profiling the Energy Usage of Mobile Applications. In WMCSA '99, pages 2--10, New Orleans, Louisiana, USA, February 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. N. Gautam, H. Petander, and J. Noel. A Comparison of the Cost and Energy Efficiency of Prefetching and Streaming of Mobile Video. In Proceedings of the 5th Workshop on Mobile Video, MoVid '13, pages 7--12, Oslo, Norway, February 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Gurumurthi, A. Sivasubramaniam, M. J. Irwin, N. Vijaykrishnan, M. Kandemir, T. Li, and L. K. John. Using Complete Machine Simulation for Software Power Estimation: The SoftWatt Approach. In Proceedings of the 8th International Symposium on High-Performance Computer Architecture, HPCA '02, pages 141--150, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Hao, D. Li, W. G. J. Halfond, and R. Govindan. Estimating Mobile Application Energy Consumption Using Program Analysis. In ICSE '13, pages 92--101, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Hastie, R. Tibshirani, and J. Friedman. Linear methods for regression. In The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer Series in Statistics.Google ScholarGoogle Scholar
  27. T. Hastie, R. Tibshirani, and J. Friedman. Support vector machines and flexible discriminants. In The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer Series in Statistics.Google ScholarGoogle Scholar
  28. A. Hindle. Green Mining: Investigating Power Consumption Across Versions. In ICSE '12, pages 1301--1304, June 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Hindle, A. Wilson, K. Rasmussen, E. J. Barlow, J. C. Campbell, and S. Romansky. GreenMiner: A Hardware Based Mining Software Repositories Software Energy Consumption Framework. In MSR 2014, pages 12--21, Hyderabad, India, May 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Joachims. Making large-scale support vector machine learning practical. In B. Schölkopf, C. J. C. Burges, and A. J. Smola, editors, Advances in Kernel Methods, pages 169--184. MIT Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. Karagiannopoulos, D. Anyfantis, S. B. Kotsiantis, and P. E. Pintelas. Feature Selection for Regression Problems. http://www.math.upatras.gr/~dany/Downloads/hercma07.pdf. (last accessed: 2015-Oct-22).Google ScholarGoogle Scholar
  32. D. Li, A. H. Tran, and W. G. J. Halfond. Making Web Applications More Energy Efficient for OLED Smartphones. In ICSE 2014, pages 527--538, Hyderabad, India, June 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Meier, M.-c. Ostendorp, J. Jelschen, and A. Winter. Certifying energy efficiency of android applications. In 4th Workshop on Energy Aware Software-Engineering and Development, 2014.Google ScholarGoogle Scholar
  34. A. P. Miettinen and J. K. Nurminen. Energy Efficiency of Mobile Clients in Cloud Computing. In Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing, HotCloud'10, pages 4--4, Boston, MA, USA, June 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. I. Moura, G. Pinto, F. Ebert, and F. Castor. Mining Energy-Aware Commits. In MSR 2015, Florence, Italy, May 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M. Othman and S. Hailes. Power Conservation Strategy for Mobile Computers Using Load Sharing. SIGMOBILE Mob. Comput. Commun. Rev., 2(1):44--51, January 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. Pang, A. Hindle, B. Adams, and A. E. Hassan. What do programmers know about the energy consumption of software? Peer J PrePrints, 3:e1094, 2015.Google ScholarGoogle Scholar
  38. A. Pathak, Y. C. Hu, and M. Zhang. Where is the Energy Spent Inside My App?: Fine Grained Energy Accounting on Smartphones with Eprof. In EuroSys '12, pages 29--42, Bern, Switzerland, April 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. A. Pathak, Y. C. Hu, M. Zhang, P. Bahl, and Y.-M. Wang. Fine-grained Power Modeling for Smartphones Using System Call Tracing. In EuroSys '11, pages 153--168, Salzburg, Austria, April 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. G. Pinto, F. Castor, and Y. D. Liu. Mining Questions About Software Energy Consumption. In MSR 2014, pages 22--31, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. P. Poole. Half of Us Have Computers in Our Pockets, Though You'd Hardly Know it. http://www.huffingtonpost.com/pamela-poole/smartphone-technology_b_2573671.html. (last accessed: 2014-Dec-22).Google ScholarGoogle Scholar
  42. K. Rasmussen, A. Wilson, and A. Hindle. Green Mining: Energy Consumption of Advertisement Blocking Methods. In GREENS 2014, pages 38--45, Hyderabad, India, June 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. C. Seo, S. Malek, and N. Medvidovic. Component-level energy consumption estimation for distributed java-based software systems. volume 5282 of Lecture Notes in Computer Science, pages 97--113. Springer Berlin Heidelberg, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. A. Shye, B. Scholbrock, and G. Memik. Into the Wild: Studying Real User Activity Patterns to Guide Power Optimizations for Mobile Architectures. In IEEE/ACM MICRO 42, pages 168--178, New York, NY, USA, December 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. V. Vapnik. The nature of statistical learning theory. Springer, 2000. Google ScholarGoogle ScholarCross RefCross Ref
  46. C. Zhang, A. Hindle, and D. German. The impact of user choice on energy consumption. Software, IEEE, 31(3):69--75, May 2014.Google ScholarGoogle ScholarCross RefCross Ref
  47. L. Zhang, B. Tiwana, Z. Qian, Z. Wang, R. P. Dick, Z. M. Mao, and L. Yang. Accurate Online Power Estimation and Automatic Battery Behavior Based Power Model Generation for Smartphones. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. H. Zou and T. Hastie. Regularization and Variable Selection via the Elastic Net. http://people.ee.duke.edu/~lcarin/Minhua11.7.08.pdf. (last accessed: 2015-Oct-22).Google ScholarGoogle Scholar

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 Conferences
    MSR '16: Proceedings of the 13th International Conference on Mining Software Repositories
    May 2016
    544 pages
    ISBN:9781450341868
    DOI:10.1145/2901739

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 14 May 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader