Green Software intro...
GREEN SOFTWARE
#INTRODUCTION
#SOFTWARE POWER CONSUMPTION MODELS
#DEVELOPING GREEN SOFTWARE
#A FRAMEWORK FOR ENERGY-EFFICIENT SOFTWARE STRATEGIES
#SOFTWARE EXAMPLES
#CONCLUSIONS
#REFERENCES
INTRODUCTION
IT energy consumption represents an increasingly relevant concern. Traditionally, it has only been addressed by hardware designers. However, as hardware got more and more powerful, the influence of software behaviour on energy consumption grew significantly. During the last few years, the authors have explored several facets of IT energy consumption from a software engineering perspective. What was once purely anecdotal evidence about the pivotal role of software on energy consumption is now supported by sound empirical data collected though a series of experiments on different hardware platforms: servers, desktop PCs, and mobile phones. Concerning servers, we analysed the power consumption of three servers performing different tasks, and we observed that power consumption can increase up to 40% depending on the entity of the task . We analysed desktop computers from different technological generations, in distinct software usage scenarios, and found out that, depending on the software applications used, power consumption can increase up to 20% . Finally, we profiled the power consumption of mobile devices, making a comparison between two generations of Android OS-based smartphones. Our results show how different execution profiles of the same application can significantly affect the power consumption of a mobile device . Although the actual figures may vary depending on the specific hardware platform, the impact of software over energy consumption is definitely relevant. Realizing this implies a change of mindset for the software engineering community. Firstly, determining the responsibility of software means increasing the awareness of developers over the energy consumption caused by their applications. Secondly, a new perspective of software as hardware driver arises. In this paper we aim at providing a conceptual framework to support the new mindset by focusing on existing techniques and providing useful unit of measurement, in order to estimate the energy consumption of software.