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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
An outlier is a value point that is very distant from regular values.
Synthetic benchmark: specially created program that impose specific workloads on a system as a generalisation of real applications.
References
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
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
Bianchini R, Rajamony R (2004) Power and energy management for server systems. Computer 37(11):68–76
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
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
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
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
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
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
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
Freedman DA et al (1981) Bootstrapping regression models. Ann Stat 9(6):1218–1228
Grosskop K, Visser J (2013) Identification of application-level energy optimizations. In: Proceeding of ICT for sustainability (ICT4S), pp 101–107
Haight FA (1967) Handbook of the Poisson distribution
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
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
Haugen Ø (2012) Common variability language (CVL) OMG revised submission. OMG Doc ad
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
Hirst JM, Miller JR, Kaplan BA., Reed DD (2013) Watts up? Pro AC power meter for automated energy recording
Horcas JM, Pinto M, Fuentes L (2017) Variability models for generating efficient configurations of functional quality attributes. Inf Softw Technol 95:147–164
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
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
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
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
Miranskyy AV, Al-zanbouri Z, Godwin D, Bener AB (2017) Database engines: evolution of greenness. arXiv preprint arXiv:1701.02344
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
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
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
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
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
Pohl K, Böckle G, van Der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, Berlin
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
Sapra V, Hindle A (2016) Web servers energy efficiency under HTTP/2. PeerJ Prepr 4:e2027v1
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
Westin J (2017) Evaluation of energy consumption in virtualization environments: proof of concept using containers
Wijsman T (2015) Introduction to a CVL to Clafer transformation project
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-018-0632-7