6 min read

TWIL 24/08 - About Software CO₂

TWIL 24/08 - About Software CO₂

Hey there - Toon here. 🌟 Welcome to a new episode of "This Week I Learned." This time, it is about the 3rd dimension of sustainability. Besides economic and societal (~ people) sustainability, there is environmental sustainability. In this episode, I summarise the key concepts that underpin building green(er) software and propose some starting points for reducing the footprint of your software. I hope this inspires you to start thinking about the footprint in your area of influence as well 💪

Happy Reading! 🚀


Almost all human activity leaves a footprint, and we are way beyond what our planet can support. This is also true for digital, which accounts for 2.3 to 3.7 per cent of global CO₂ emissions (+/- the same order of magnitude as aviation).

Recent evolutions (crypto mining, gen AI) create a strong upward trend: energy consumption in these two domains is skyrocketing. Yet, to reach the Net Zero goal, we need to reduce the CO₂ emissions by 50% by 2030…

Energy and Resources Usage

Whatever we consume needs energy and resources to be produced and used; this is not different for digital consumption. The most talked-about is CO₂ (one of the greenhouse gasses, aka carbon). Still, there are other factors like cooling (requiring lots of water) and using rare materials (cobalt, to name one).

There are some interesting insights when we focus on carbon for digital products & services.

Devices like computers and smartphones must be built and (eventually) destroyed, leading to embedded carbon (for production, maintenance, and dismantling) and carbon emissions during actual usage. As you can see from the drawing below, production takes up the bulk of the emissions.

Running software is different. Software often has an “internet” component with components running in data centres. So, when used, it will use energy in a data centre (memory, computing, …) and on the network used to transmit data.

Here we see two things:

  • Datacenters have become much more efficient. Energy per workload is drastically down, mainly due to the optimisations in hyperscale data centres (Amazon, Google, Microsoft, etc.), which manage to get the maximum out of their hardware.
  • Crypto mining has emerged as a new (massive) source of energy consumption. GenAI is likely another new use case, but it is not yet visible in these numbers.

It is clear that devices and software have very different distributions of carbon emission sources and, hence, require different approaches to reducing their footprint.

Green Software

The Green Software Foundation developed a clear-thinking framework for greening software.

The 1st axe is to make software carbon-efficient, which can be split up into energy efficiency (delivering the same business value with less energy) and hardware efficiency (maximising what we do with the hardware, both in intensity and lifetime).

The second axe is making software carbon aware by analysing the energy mix and timing the software's work to match the times of day with low carbon emissions (e.g., on a windy day).

To make this concrete, this screenshot of powki.org shows the energy mix in Belgium on April 18th, 2024.

Reducing Software's CO₂ Emissions

In the book Building Green Software, the authors propose various approaches and practical steps to make software systems more sustainable, reducing carbon emissions:

  1. Improve code efficiency to consume less CPU/GPU to deliver a comparable business value.
  2. Improve operational efficiency by reducing the number of machines and resources needed (high machine utilisation will lead to lower CO₂ emissions).
  3. Add carbon awareness to your applications and do the heavy lifting when the energy's carbon intensity is low—when there is a lot of solar, water, or wind in the mix.
  4. Support longer device lifetime by allowing your software to run on old(er) devices
  5. Optimise the upper layers of the network around the software (the bottom layers have already been optimised heavily): reduce data transmission, use CDNs, and account for the network's lower availability.
  6. If you are considering an AI application, foresee carbon-aware training of your model, optimising the timing to match the carbon-free windows of the energy mix.
  7. Start measuring the carbon consumption of your application (source and reference data are often lacking, so it is not always easy, but all the more important)

The good thing is that these measures all have co-benefits. Efficient code will have better response times; operational efficiency will lead to cost reductions; carbon-aware software will (need to) be more modular, and so forth… So, working towards green(er) software will likely be a reinforcing factor for improvements you want to make anyway.

Where can you start as a software professional?

There is no magic potion to solve all challenges at once, but you can start with small actions in the right direction 😀

  1. Learn about software sustainability and build awareness around you (feel free to forward this mail if you think this could help!)
  2. Start measuring the carbon footprint of your application(s), ask your hoster for information as well
  3. Look at your application's requirements and see if some of them can be loosened up (do all your environments need to be up 24/7? Do you need a daily backup on the other side of the world? …)

Bit by bit, we can help make the energy transition a success!

Just hit reply to this mail if you want to discuss the theme of - I am always interested in talking to likeminded people (or be challenged if you disagree :)

References

What is a digital carbon footprint?
Discover with myclimate how you can contribute to climate protection through knowledge. Learn more about effective measures and take action now for a sustainable future.
Country Overshoot Days 2024 - Earth Overshoot Day
A country’s overshoot day is the date on which Earth Overshoot Day would fall if all of humanity consumed like the people in this country.

https://www.ifi.uzh.ch/dam/jcr:066776d8-d2b0-4c7c-b75d-6b7283cb5791/Study_Digitalization_Climate_Protection_Oct2017.pdf

Growth in water consumption of data centres needs more attention
The water use and management of data centres needs more attention
Building Green Software
Chapter 1. Introduction to Green Software You wouldn’t like me when I’m angry. Dr. Bruce Banner, green scientist We can see why activists might be angry. Few industries have moved … - Selection from Building Green Software [Book]
Going digital – good or bad for the climate?
Whether it’s a conference call with your team at work, posting a selfie on social media or streaming your favourite show, millions of Europeans take part in digital activities every day.
Data centres & networks - IEA
As the world becomes increasingly digitalised, data centres and data transmission networks are emerging as an important source of energy demand.

The carbon footprint of streaming video: fact-checking the headlines – Analysis - IEA
The carbon footprint of streaming video: fact-checking the headlines - A commentary by George Kamiya

s

Making an image with generative AI uses as much energy as charging your phone
This is the first time the carbon emissions caused by using an AI model for different tasks have been calculated.
The Chronic Potentialitis of Digital Enablement
A study on the “climate effects of digitalisation”, written by Accenture for Bitkom (a German association of the ICT industry) was published earlier today (in German). While it does have a number of methodologically sound choices, the study also puts forward several questionable methodological assum