BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Measuring and Reducing the Environmental Impact of Software

Measuring and Reducing the Environmental Impact of Software

Software applications these days often manage big amounts of data; most of them are internet-based applications, and they incorporate artificial intelligence. According to Coral Calero, these three aspects improve the capabilities and functionalities provided by software but they have also increased the amount of energy needed. It is of prime importance to measure the energy consumption of software if we want to control its environmental impact.

Coral Calero gave a keynote about software sustainability at the International Conference on Computational Science.

Calero mentioned that the most widely used definition of sustainable software comes from Markus Dick and Stefan Naumann:

Sustainable Software is software, whose direct and indirect negative impacts on economy, society, human beings, and environment that result from development, deployment, and usage of the software are minimal and/or which have a positive effect on sustainable development.

The dimensions of Software Sustainability, aligned with the UN’s Brundtland report, are defined as follows:

  • Human sustainability: how software development and maintenance affect the sociological and psychological aspects of the software development community and its individuals. This encompasses topics such as: labor rights, psychological health, social support, social equity and livability.
  • Economic sustainability: how the software lifecycle processes protect stakeholders’ investments, ensure benefits, reduce risks, and maintain assets.
  • Environmental sustainability: how software product development, maintenance and use affect energy consumption and the usage of other resources. It is called Green Software.

Software Sustainability is a concept, related to the impact of software but in a wide manner, considering not only the technical part of the software but also economic and social (human) aspects, Calero concluded.

Software has changed, and today’s software adds three new high-energy consuming aspects to its previous characteristics, Calero mentioned:

  • The amount of data that is generated every day and must be managed by the software applications has grown significantly.
  • Most of the software is internet-based, moving data all over the network with the consequent energy consumption.
  • The incorporation of artificial intelligence as part of the software systems.

Considering the new aspects of software, it is more important than ever to control or reduce the impact of software on the environment, being necessary to reduce its energy consumption, for which it is essential to be able to measure such consumption, Calero said.

The energy measurement methods can be classified, widely speaking, into two main approaches, Calero said. There are software tools that follow a software-based approach to make estimates of energy consumption and analyze the resources used.

Software-based approaches use estimations, which can derive from inaccurate measurements. However, the software-based approach is, in general, cheap and easily adaptable, Calero mentioned.

Software tools can, moreover, sample power readings at low frequencies and different levels of granularity. So, they can be used to have a global interpretation of the consumption of software but it is not advisable to use them as a reliable source of energy consumption data, Calero stated.

On the other hand, we find measurement devices, hardware-based approaches, which provide real and accurate measurements of energy consumption, Calero said. In a hardware-based approach, a hardware device is used to measure the power consumption of a monitored component or an overall system when the software is being run.

Calero mentioned that the software development industry has to work on raising awareness of the impact that software has on the environment and the importance of working on its sustainability:

It is necessary to identify tasks that could be performed to improve sustainability. Include specific actions in their corporate social responsibility, include business policies focused on this, define development processes that take into account energy consumption, and work on the other dimensions (human and economic) but with the prism of software sustainability.

We have a lot of work to do, but every great journey begins with a step, Calero concluded.

About the Author

Rate this Article

Adoption
Style

BT