Skip to main content

Advertisement

Log in

Finding correlations of features affecting energy consumption and performance of web servers using the HADAS eco-assistant

  • Published:
Computing Aims and scope Submit manuscript

Abstract

The impact of energy consumption on the environment and the economy is raising awareness of “green” software engineering. HADAS is an eco-assistant that makes developers aware of the influence of their designs and implementations on the energy consumption and performance of the final product. In this paper, we extend HADAS to better support the requirements of users: researchers, automatically dumping the energy-consumption of different software solutions; and developers, who want to perform a sustainability analysis of different software solutions. This analysis has been extended by adding Pearson’s chi-squared differentials and Bootstrapping statistics, to automatically check the significance of correlations of the energy consumption, or the execution time, with any other variable (e.g., the number of users) that can influence the selection of a particular eco-efficient configuration. We have evaluated our approach by performing a sustainability analysis of the most common web servers (i.e. PHP servers) using the time and energy data measured with the Watts Up? Pro tool previously dumped in HADAS. We show how HADAS helps web server providers to make a trade-off between energy consumption and execution time, allowing them to sell different server configurations with different costs without modifying the hardware.

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

Similar content being viewed by others

Notes

  1. https://hadas.caosd.lcc.uma.es/.

  2. An outlier is a value point that is very distant from regular values.

  3. https://w3techs.com/technologies/details/os-linux/all/all.

  4. Synthetic benchmark: specially created program that impose specific workloads on a system as a generalisation of real applications.

  5. https://github.com/rusoft/php-simple-benchmark-script.

References

  1. Antkiewicz M, Bąk K, Murashkin A, Olaechea R, Liang JHJ, Czarnecki K (2013) Clafer tools for product line engineering. In: Proceedings of the 17th international software product line conference co-located workshops, pp 130–135. ACM

  2. Bertini L, Leite JC, Mosse D (2007) Statistical QoS guarantee and energy-efficiency in web server clusters. In: 19th Euromicro conference on real-time systems, 2007. ECRTS’07, pp 83–92. IEEE

  3. Bianchini R, Rajamony R (2004) Power and energy management for server systems. Computer 37(11):68–76

    Article  Google Scholar 

  4. Brunnert A, Vögele C, Krcmar H (2013) Automatic performance model generation for java enterprise edition (ee) applications. In: European workshop on performance engineering, pp 74–88. Springer

  5. Cabeza LF, Palacios A, Serrano S, Ürge-Vorsatz D, Barreneche C (2018) Comparison of past projections of global and regional primary and final energy consumption with historical data. Renew Sustain Energy Rev 82:681–688

    Article  Google Scholar 

  6. Chowdhury SA, Hindle A (2016) Greenoracle: Estimating software energy consumption with energy measurement corpora. In: Proceedings of the 13th international conference on mining software repositories, pp 49–60. ACM

  7. Chowdhury SA, Sapra V, Hindle A (2016) Client-side energy efficiency of HTTP/2 for web and mobile app developers. In: 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), vol 1, pp 529–540. IEEE

  8. Djemame K, Armstrong D, Kavanagh R, Juan Ferrer A, Garcia Perez D, Antona D, Deprez JC, Ponsard C, Ortiz D, Macías Lloret M, et al. (2014) Energy efficiency embedded service lifecycle: towards an energy efficient cloud computing architecture. In: Joint workshop proceedings of the 2nd international conference on ICT for sustainability 2014, pp 1–6. CEUR-WS. org

  9. Feng F, Tuomi M, Jones HR (2017) Agatha: disentangling periodic signals from correlated noise in a periodogram framework. Mon Not R Astron Soc 470:4794–4814

    Article  Google Scholar 

  10. Ferreira MA, Hoekstra E, Merkus B, Visser B, Visser J (2013) Seflab: a lab for measuring software energy footprints. In: 2013 2nd International workshop on green and sustainable software (GREENS), pp 30–37. IEEE

  11. Freedman DA et al (1981) Bootstrapping regression models. Ann Stat 9(6):1218–1228

    Article  MathSciNet  Google Scholar 

  12. Grosskop K, Visser J (2013) Identification of application-level energy optimizations. In: Proceeding of ICT for sustainability (ICT4S), pp 101–107

  13. Haight FA (1967) Handbook of the Poisson distribution

  14. Hao S, Li D, Halfond WG, Govindan R (2012) Estimating android applications’ CPU energy usage via bytecode profiling. In: 2012 First international workshop on green and sustainable software (GREENS), pp 1–7. IEEE

  15. Hasan S, King Z, Hafiz M, Sayagh M, Adams B, Hindle A (2016) Energy profiles of java collections classes. In: 2016 IEEE/ACM 38th international conference on software engineering (ICSE), pp 225–236. IEEE

  16. Haugen Ø (2012) Common variability language (CVL) OMG revised submission. OMG Doc ad

  17. Hindle A, Wilson A, Rasmussen K, Barlow EJ, Campbell JC, Romansky S (2014) Greenminer: a hardware based mining software repositories software energy consumption framework. In: Proceedings of the 11th working conference on mining software repositories, pp 12–21. ACM

  18. Hirst JM, Miller JR, Kaplan BA., Reed DD (2013) Watts up? Pro AC power meter for automated energy recording

    Article  Google Scholar 

  19. Horcas JM, Pinto M, Fuentes L (2017) Variability models for generating efficient configurations of functional quality attributes. Inf Softw Technol 95:147–164

    Article  Google Scholar 

  20. Horcas JM, Pinto M, Fuentes L, Gámez N (2017) Self-adaptive energy-efficent applications: the hadas developing approach. In: 2017 IEEE 15th International conference on dependable, autonomic and secure computing, 15th International conference on pervasive intelligence and computing, 3rd International conference on big data intelligence and computing and cyber science and technology congress (DASC/PiCom/DataCom/CyberSciTech), pp 828–835. https://doi.org/10.1109/DASC-PICom-DataCom-CyberSciTec.2017.140

  21. Kalic G, Bojic I, Kusek M (2012) Energy consumption in android phones when using wireless communication technologies. In: MIPRO, 2012 Proceedings of the 35th international convention, pp 754–759. IEEE

  22. Kim D, Choi JY, Hong JE (2017) Evaluating energy efficiency of internet of things software architecture based on reusable software components. Int J Distrib Sens Netw 13(1):1550147716682738

    Google Scholar 

  23. Manotas I, Pollock L, Clause J (2014) Seeds: a software engineer’s energy-optimization decision support framework. In: Proceedings of the 36th international conference on software engineering, pp 503–514. ACM

  24. Miranskyy AV, Al-zanbouri Z, Godwin D, Bener AB (2017) Database engines: evolution of greenness. arXiv preprint arXiv:1701.02344

  25. Montenegro JA, Pinto M, Fuentes L (2017) What do software developers need to know to build secure energy-efficient android applications? IEEE Access PP(99):1–1. https://doi.org/10.1109/ACCESS.2017.2779131

    Article  Google Scholar 

  26. Munoz DJ (2017) Achieving energy efficiency using a software product line approach. In: Proceedings of the 21st international systems and software product line conference, vol B, pp 131–138. ACM

  27. Munoz DJ, Pinto M, Fuentes L (2017) Green software development and research with the HADAS toolkit. In: Proceedings of the 11th European conference on software architecture: companion proceedings, pp 205–211. ACM

  28. Murwantara I, Bordbar B, Minku LL (2014) Measuring energy consumption for web service product configuration. In: Proceedings of the 16th international conference on information integration and web-based applications and services, pp 224–228. ACM

  29. Pattinson C, Olaoluwa PO, Kor AL (2015) A comparative study on the energy consumption of PHP single and double quotes. In: 2015 IEEE international conference on data science and data intensive systems (DSDIS), pp 232–239. IEEE

  30. Pohl K, Böckle G, van Der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, Berlin

    Book  Google Scholar 

  31. Rao JN, Scott AJ (1981) The analysis of categorical data from complex sample surveys: chi-squared tests for goodness of fit and independence in two-way tables. J Am Stat Assoc 76(374):221–230

    Article  MathSciNet  Google Scholar 

  32. Sapra V, Hindle A (2016) Web servers energy efficiency under HTTP/2. PeerJ Prepr 4:e2027v1

    Google Scholar 

  33. Stier C, Koziolek A, Groenda H, Reussner R (2015) Model-based energy efficiency analysis of software architectures. In: European conference on software architecture, pp 221–238. Springer

  34. Westin J (2017) Evaluation of energy consumption in virtualization environments: proof of concept using containers

  35. Wijsman T (2015) Introduction to a CVL to Clafer transformation project

Download references

Acknowledgements

Work funded by the projects MAGIC P12-TIC1814 and HADAS TIN2015-64841-R, and by the University of Malaga.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel-Jesus Munoz.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Munoz, DJ., Pinto, M. & Fuentes, L. Finding correlations of features affecting energy consumption and performance of web servers using the HADAS eco-assistant. Computing 100, 1155–1173 (2018). https://doi.org/10.1007/s00607-018-0632-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-018-0632-7

Keywords

Mathematics Subject Classification

Navigation