Background. Energy efficiency is an increasingly important property of software. A large number of empirical studies have been conducted on the topic. However, current state-of-the-Art does not provide empiricallyvalidated guidelines for developing energy-efficient software. Aim. This study aims at assessing the impact, in terms of energy savings, of best practices for achieving software energy efficiency, elicited from previous work. By doing so, it identifies which resources are affected by the practices and the possible trade-offs with energy consumption. Method. We performed an empirical experiment in a controlled environment, where we applied two different Green Software practices to two software applications, namely query optimization in MySQL Server and usage of "sleep" instruction in the Apache web server. We then performed a comparison of the energy consumption at system-level and at resource-level, before and after applying the practice. Results. Our results show that both practices are effective in improving software energy efficiency, reducing consumption up to 25%. We observe that after applying the practices, resource usage is more energy-proportional i.e. increasing CPU usage increases energy consumption in an almost linear way. We also provide our reflections on empirical experimentation in software energy efficiency. Conclusions. Our contribution shows that significant improvements in software energy efficiency can be gained by applying best practices during design * Corresponding author Email addresses: g.procaccianti@vu.nl (Giuseppe Procaccianti), hector.fernandez@vu.nl (Hector Fernandez), p.lago@vu.nl (Patricia Lago) Preprint accepted for publication in Journal of Systems and Software February 24, 2016 and development. Future work will be devoted to further validate best practices, and to improve their reusability.
In a previous empirical study REF we already found a significant impact of database-related practices on the energy efficiency of software applications.
Empirical evaluation of two best practices for energy-efficient software development
J. Syst. Softw.
J. Syst. Softw.
Computer Science