Búsqueda avanzada

Finding Correlations of Features Affecting Energy Consumption and Performance of Web Servers Using the HADAS Eco-Assistant

The impact of energy consumption on the environment andthe economy is raising awareness of «green»software engineering. HADASis an eco-assistant that makes developers aware of the influence oftheir designs and implementations on the energy consumption and performanceof the final product. In this paper, we extend HADAS to bettersupport the requirements of users: researchers, automatically dumpingthe 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-squareddifferentials and Bootstrapping statistics, to automatically check the significanceof correlations of the energy consumption, or the execution time,with any other variable (e.g., the number of users) that can influencethe selection of a particular eco-efficient configuration. We have evaluatedour approach by performing a sustainability analysis of the mostcommon web servers (i.e. PHP servers) using the time and energy datameasured with the Watts Up? Pro tool previously dumped in HADAS.We show how HADAS helps web server providers to make a trade-offbetween energy consumption and execution time, allowing them to selldifferent server configurations with different costs without modifying thehardware.

Variability Models for Generating Efficient Configurations of Functional Quality Attributes

Context: Quality attributes play a critical role in the architecture elicitation phase. Software Sustainability and energy efficiency is becoming a critical quality attribute that can be used as a selection criteria to choose from among different design or implementation alternatives. Energy efficiency usually competes with other non-functional requirements, like for instance, performance.Objective: This paper presents a process that helps developers to automatically generate optimum configurations of functional quality attributes in terms of energy efficiency and performance. Functional quality attributes refer to the behavioral properties that need to be incorporated inside a software architecture to fulfill a particular quality attribute (e.g., encryption and authentication for the security quality attribute, logging for the usability quality attribute).Method: Quality attributes are characterized to identify their design and implementation variants and how the different configurations influence both energy efficiency and performance. A usage model for each characterized quality attribute is defined. The variability of quality attributes, as well as the energy efficiency and performance experiment results, are represented as a constraint satisfaction problem with the goal of formally reasoning about it. Then, a configuration of the selected functional quality attributes is automatically generated, which is optimum with respect to a selected objective function.Results: Software developers can improve the energy efficiency and/or performance of their applications by using our approach to perform a richer analysis of the energy consumption and performance of different alternatives for functional quality attributes. We show quantitative values of the benefits of using our approach and discuss the threats to validity.Conclusions: The process presented in this paper will help software developers to build more energy efficient software, whilst also being aware of how their decisions affect other quality attributes, such as performance.