Content from Introduction
Last updated on 2024-12-23 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- What is green software and what does it mean for me as a user of HPC
Objectives
- Define green software
What is green software?
Green software is an emerging discipline at the intersection of climate science, software design, electricity markets, hardware, and data center design.
Green software is carbon-efficient software, meaning it emits the least carbon possible. Only three activities reduce the carbon emissions of software; energy efficiency, carbon awareness, and hardware efficiency. This training will explain all of these concepts, how to apply them to your processes and how to measure them, as well as some of the international guidelines and organizations that guide and monitor this space.
Who should read this?
Anyone involved in the process of building, deploying, or managing software. By studying these principles, a green software practitioner can make decisions that have a meaningful impact on the carbon pollution of their applications.
History
In 2019 the original eight principles of green software engineering were released. This 2022 update of the principles took on feedback received over the years, merging some principles and adding a new one regarding understanding climate commitments.
How to be a green software practitioner
The following training covers 6 key areas that a green software practitioner should know:
- Carbon Efficiency: Emit the least amount of carbon possible.
- Energy Efficiency: Use the least amount of energy possible.
- Carbon Awareness: Do more when the electricity is cleaner and do less when the electricity is dirtier.
- Hardware Efficiency: Use the least amount of embodied carbon possible.
- Measurement: What you can’t measure, you can’t improve.
- Climate Commitments: Understand the exact mechanism of carbon reduction.
Each of these chapters will introduce some new concepts and explain in detail why they are important in terms of the climate, and how you can apply them to your green software practices.
Principles, Patterns, and Practices.
This course’s key areas and content describe the principles of green software, a core set of competencies needed to define, build and run green software.
A green software pattern is a specific example of how to apply one or more principles in a real-world example. Whereas principles describe the theory that underpins green software, patterns are the practical advice software practitioners can use in their software applications today. Patterns are vendor-neutral.
A green software practice is a pattern applied to a specific vendor’s product and informs practitioners about how to use that product in a more sustainable way.
Practices should refer to patterns that should refer to principles.
The green software foundation also publishes a catalog of vendor-neutral green software patterns across various categories.
Key Points
- Green software adheres to…
Content from Carbon Efficiency
Last updated on 2024-12-23 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- What is the difference between global warming and climate change?
- What is the difference between climate and weather?
- What are greenhouse gases (GHGs)?
- What does the term carbon equivalence (CO2e) mean?
- How is climate change monitored and reported?
Objectives
- Understand key terms in environmental sustainability.
- Understand what CO2e means.
- Understand how changes in the climate are monitored.
Introduction
Understanding the impact of greenhouse gases on our environment is key to understanding software’s own carbon footprint. You will learn about the different kinds of greenhouse gases present in the environment, how they are emitted and measured, and what is being done by different organizations around the world to control and reduce these emissions.
You will find out about the GHG protocol and what it means for green software practitioners.
Key concepts
Global warming vs climate change
Global warming is the long-term heating of Earth’s climate system observed since the pre-industrial period (between 1850 and 1900) due to human activities, primarily fossil fuel burning. Climate change is long-term shifts in temperatures and weather patterns. These shifts may be natural, but since the 1800s, human activities have been the main driver of climate change.
Climate vs weather
Weather refers to the conditions of the atmosphere in a short period of time. Climate refers to the conditions of the atmosphere over long periods of time. Any changes to the long-term condition of the atmosphere will also cause changes to the short-term conditions. An obvious comparison is that if the average temperature of the atmosphere increases, the average temperature of the weather in any given season will also increase. Some examples of measurable changes to weather conditions due to climate change are:
- Changes to the water cycle, including rainfall
- Melting of ice
- Heating of the land, air, and ocean
- Changes in ocean currents, acidity, and salinity
These changes can lead to flooding - both in coastal areas and due to increased rainfall - drought, wildfires and more frequent extreme weather conditions.
Greenhouse gases and the greenhouse effect
Greenhouse gases are a group of gases that trap heat from solar radiation in the Earth’s atmosphere. These gases act as a blanket, increasing the temperature on the surface of the Earth. This is a natural phenomenon which has been accelerated due to man-made carbon emissions. Now the global climate is changing at a faster rate than that at which animals and plants can adapt.
Greenhouse gases and the greenhouse effect are crucial to all life on Earth and often come from natural sources like animals, volcanoes, and other geological activity. The greenhouse effect allows the Earth to maintain a higher temperature than it would without them by capturing more heat from solar radiation. Like many other natural processes of the Earth, the greenhouse effect is a finely tuned balance that can be upset by multiple factors.
Carbon and CO2eq
Carbon is often used as a broad term to refer to the impact of all types of emissions and activities on global warming. CO2eq/CO2-eq/ CO2e, which stands for carbon equivalence, is a measurement term used to measure this impact. For example, 1 ton of methane has the same warming effect as about 84 tons of CO2 over 20 years, so we normalize it to 84 tons CO2eq. We may shorten even further to just carbon, which is a term often used to refer to all GHGs.
Monitoring climate change
As a result of the effects of climate change and an ever-increasing number of destructive weather events, efforts have been made by the global community to address these issues and take steps to control and limit global warming in order to mitigate and reverse the effects of climate change.
The Paris Climate Agreement is an international treaty agreed in 2015 by 196 parties and the UN to reduce the Earth’s temperature increase. The agreement is to keep the rise in global mean temperature to 2°C compared to pre-industrial levels, with a preferable lower limit of 1.5°C. The agreement is reviewed every five years and mobilizes finance to developing nations to mitigate the impacts of climate change and prepare for and adapt to the environmental effects caused by climate change. In addition, each party is expected to update its progress through a Nationally Determined Contribution (NDC). As of October 2024, 195 parties, including the European Union, have joined the agreement.
The United Nations Framework Convention on Climate Change (UNFCCC) is a group created to achieve the stabilization of greenhouse gas concentrations in the atmosphere at a level that would prevent dangerous interference with the climate system.
The COP (Conference of the Parties) is an annual event involving all parties in the United Nations Framework Convention on Climate Change. At the conference, each party member’s progress on tackling global warming, as agreed as part of the Paris Climate Agreement, is reviewed and assessed. The COP is also a chance for parties to come together and make decisions that will reduce the effects of global warming. Common topics include strategies to reduce carbon, financing low carbon strategies and preservation of natural habitats.
The IPCC (Intergovernmental Panel on Climate Change), created by the UN in 1988, aims to provide governments at all levels with scientific information that they can use to develop climate policies. IPCC reports are also a key input into international climate change negotiations. The IPCC is an organization of governments that are members of the United Nations or the World Meteorological Organization (WMO). The IPCC currently has 195 members.
We will always emit carbon through our activities but being carbon efficient means minimizing the amount of carbon emitted per unit of work. We aim to ensure that for each gram of carbon we emit into the atmosphere, we extract the most value possible.
In the software space, the part we play in the climate solution is building carbon-efficient applications. Being carbon efficient is about building applications that add the same value for you or your users but which emit less carbon.
Summary
- Greenhouse gases are a group of gases contributing to global warming. Carbon is often used as a broad term to refer to the impact of all types of emissions and activities on global warming. CO2eq is a measurement term used to measure this impact.
- The international community, in groups such as the UNFCCC, has come together to limit the impact of global warming by reducing emissions, aiming for a ‘preferable’ lower limit of 1.5°C. This was agreed through the UN IPCC in 2015 in the Paris Climate Agreement and is monitored at the regular COP event.
- Everything we do emits carbon into the atmosphere, and our goal is to emit the least amount of carbon possible. This constitutes the first principle of green software: carbon efficiency, emitting the least amount of carbon possible per unit of work.
Key Points
- Emit the least amount of carbon possible.
Content from Energy Efficiency
Last updated on 2024-12-23 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- TBC
Objectives
- TBC
Introduction
Energy is the ability to do work. There are many different forms of energy, such as heat, electrical and chemical, and one type of energy can be converted to another. For example, we convert chemical energy from coal to electrical energy. In other words, electricity is secondary energy converted from another energy type. In this way, we can think of energy as a measure of the electricity used.
All software, from the applications running on mobile phones to the training of Machine Learning models running in data centers, consumes electricity. One of the best ways to reduce electricity consumption and the subsequent carbon emissions made by software is to make applications more energy efficient. However, that’s not where our responsibility ends.
Green software practitioners take responsibility for the energy consumed by their products and design them to consume as little as possible. We should make sure that, at every step in the process, there is as little waste as possible and that most of the energy goes to the next step.
The final step in this chain is represented by the end user of your product, not the finished product itself. This means our goal is not simply to make the most energy efficient code or the “greenest” software, but to think about the end user and how to make sure they are not creating unnecessary emissions.
This might mean batching jobs together to take advantage of energy proportionality or changing how a user uses your software. Let’s take a look at some of these concepts and some ways that you can become more energy efficient at every stage of the chain, right up to the final consumer.
Key concepts
Fossil fuels and high-carbon sources of energy
Most electricity is produced through burning fossil fuels, usually coal. Fossil fuels are made from decomposing plants and animals. These fuels are found in the Earth’s crust and contain carbon and hydrogen, which can be burned for energy. Coal, oil, and natural gas are examples of fossil fuels.
Most people think electricity is clean. Our hands don’t get dirty when we plug something into a wall, and our laptops don’t need exhaust pipes. However, since most electricity comes from burning fossil fuels and energy supply is the single most significant cause of carbon emissions, we can draw a direct line from electricity to carbon emissions. In these terms, electricity can be considered a proxy for carbon.
If our goal is to be carbon efficient, then it means our goal is also to be energy efficient since energy is a proxy for carbon. This means using the least amount of energy possible per unit of work.
Low-carbon sources of energy
Clean energy comes from renewable, zero-emission sources that do not pollute the atmosphere when used and save energy through energy-efficient practices. There are overlaps between clean, green, and renewable energy. Here’s how we can differentiate between them:
- Clean energy - doesn’t produce carbon emissions e.g. nuclear.
- Green energy - sources from nature
- Renewable energy - sources will not expire e.g. solar, wind
Energy measurement
- Energy is measured in joules (J), the SI unit of energy.
- Power is measured in watts, where 1 watt (W) is a rate corresponding to one joule per second.
- A kilowatt (kW) is, therefore, also a rate corresponding to 1000 joules per second.
- A kilowatt-hour (kWh) is a measure of energy (J) corresponding to one kilowatt of power sustained for one hour.
How to improve energy efficiency
Now that we know how energy is produced and the associated cost in terms of emissions, based on whether low- or high-carbon energy sources are used, let’s take a look at some of the ways green software practitioners can improve energy efficiency. Understanding power usage effectiveness and energy proportionality means you can make better decisions in terms of how to use energy in the most efficient way possible and waste less.
Power usage effectiveness
The data center industry uses the power usage effectiveness (PUE) metric, developed by Green Grid in 2006, to measure data center energy efficiency. Specifically, this relates to how much energy the computing equipment uses as compared to cooling and other overheads supporting the equipment. When a data center’s PUE is close to 1.0, computing is using nearly all energy. When the PUE is 2.0, this means an additional watt of IT power is required to cool and distribute power to the IT equipment for every watt of IT power it uses.
Another way to think of PUE is as a multiplier to your application’s energy consumption. So, for example, if your application consumed 10 kWh and the PUE of the data center where it is running is 1.5, then the actual consumption from the grid is 15 kWh: 5kWh goes towards the operational overhead of the data center, and 10 kWh goes to the servers that are running your application.
Energy proportionality
Energy proportionality, first proposed in 2007 by engineers at Google, measures the relationship between power consumed by a computer and the rate at which useful work is done (its utilization).
Utilization measures how much of a computer’s resources are used, usually given as a percentage. A fully utilized computer running at its maximum capacity has a high percentage, while an idle computer with no utilization has a lower percentage.
The relationship between power and utilization is not proportional. Mathematically speaking, proportionality between two variables means their ratios are equivalent. For example, at 0% utilization, a computer can draw 100W; at 50%, it draws 180W; and at 100%, it draws 200W. The relationship between power consumption and utilization is not linear and does not cross the origin.
Because of this, the more we utilize a computer, the more efficient it becomes at converting electricity to practical computing operations. One way to improve hardware efficiency is to run the workload on as few servers as possible, with the servers running at the highest utilization rate, maximizing energy efficiency.
Static power draw
The static power draw of a computer is how much electricity is drawn when in an idle state. The static power draw varies by configuration and hardware components, but all parts have some static power draw. This is one of the reasons that PCs, laptops, and end-user devices have power-saving modes. If the device is idle, it will eventually trigger a hibernation mode and put the disk and screen to sleep or even change the CPU’s frequency. These power-saving modes save on electricity, but they have other trade-offs, such as a slower restart when the device wakes up.
Servers are usually not configured for aggressive or even minimal power saving. Many use cases running on servers demand total capacity as quickly as possible because the server needs to respond to rapidly changing demands, which leads to many servers in idle modes during low-demand periods. An idle server has a carbon cost from both the embedded carbon as well as its inefficient utilization.
Key Points
- Electricity is a proxy for carbon, so building an application that is energy efficient is equivalent to building an application that is carbon efficient.
- Green software takes responsibility for its electricity consumption and is designed to consume as little as possible.
- Quantifying the energy consumption of an application is a step in the right direction to start thinking about how an application can operate more efficiently. However, understanding your application’s energy consumption is not the only story. The hardware your software is running on uses some of the electricity for operational overhead. This is called power usage efficiency (PUE) in the cloud space.
- The concept of energy proportionality adds another layer of complexity since hardware becomes more efficient at turning electricity into useful operations the more it’s used.
- Understanding this gives green software practitioners a better insight into how their application behaves with respect to energy consumption in the real world.
Content from Carbon Awareness
Last updated on 2025-01-07 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- TBC
Objectives
- TBC
Introduction
Not all electricity is produced in the same way. In different locations and times, electricity is generated using a variety of sources with varying carbon emissions. Some sources, such as wind, solar, or hydroelectric, are clean, renewable sources that emit little carbon. On the other hand, fossil fuel sources emit carbon at varying degrees to produce electricity. For example, both gas and coal emit more carbon than renewable sources, but gas-burning power plants emit less carbon than coal-burning power plants.
Carbon awareness is the idea of doing more when more energy comes from low carbon sources and doing less when more energy comes from high carbon sources.
Key concepts
Carbon intensity
Carbon intensity measures how much carbon (CO2e) is emitted per kilowatt-hour (KWh) of electricity consumed. The standard unit of carbon intensity is gCO2eq/kWh, or grams of carbon per kilowatt hour.
If your computer is plugged directly into a wind farm, its electricity would have a carbon intensity of 0 gCO2eq/kWh since a wind farm emits no carbon to produce that electricity. However, most people can’t plug directly into wind farms; instead, they plug into power grids supplied with electricity from various sources.
Once on a grid, you can’t control which sources supply the electricity you are using; you simply get a mix of everything. So, your carbon intensity will be a mix of all the current power sources in a grid, both the lower- and the higher-carbon sources.
Variability of carbon intensity
Carbon intensity varies by location since some regions have an energy mix containing more clean energy sources than others.
Carbon intensity also changes over time due to the inherent variability of renewable energy caused by the unpredictability of weather conditions. For example, when it’s cloudy or the wind isn’t blowing, carbon intensity increases since more of the electricity in your mix comes from sources that emit carbon.
Dispatchability & curtailment
Electricity demand varies during the day, and supply always needs to be able to meet that demand. A brownout (a dip in the voltage level of the power line) occurs if a utility doesn’t produce enough electricity to meet demand. Conversely, if a utility produces more electricity than is required, then to stop infrastructure burning out, breakers trip and we have blackouts.
There needs to be a balance between the demand and supply of electricity at all times and the responsibility for this usually falls to the utility provider.
In the case of fossil fuels such as coal, it is easier to control the power produced for this supply; this is called dispatchability. However, in the case of renewable power sources such as wind farms, the power produced cannot easily be controlled (we can’t control how much the wind blows). If the power source produces more electricity than is needed, that electricity is thrown away; this is called curtailment.
Marginal carbon intensity
If you suddenly need to access more power - for example, you need to turn on a light - that energy comes from the marginal power plant. The marginal power plant is dispatchable, which means marginal power plants are often powered by fossil fuels.
Marginal carbon intensity is the carbon intensity of the power plant that would have to be employed to meet any new demand.
Fossil-fueled power plants rarely scale down to 0. They have a minimum functioning threshold, and some don’t scale; they are considered a consistent, always-on baseload. Because of this, we sometimes have the scenario where we curtail (throw away) renewable energy while still consuming energy from fossil fuel power plants.
In these situations, the marginal carbon intensity will be 0 gCO2eq/kWh since we know that any new demand will match the renewable energy we are curtailing.
Energy markets
The exact market model varies around the world but broadly follows the same model.
When the demand for electricity goes down, utilities need to reduce the supply to balance supply and demand. They can do this in one of two ways:
- Buy less energy from fossil fuel plants.
Energy from fossil fuel plants is usually the most expensive so this is the preferred method. This directly translates to burning fewer fossil fuels.
- Buy less energy from renewable sources. Renewable sources are the cheapest, so they prefer not to do this. If a renewable source doesn’t manage to sell all of its electricity, it has to throw the rest away.
Reducing the amount of electricity consumed in your applications can help decrease the energy’s carbon intensity seeing as the first thing to be scaled back are fossil fuels.
When the demand for electricity goes up, utilities need to increase the supply to balance supply and demand. They can do this in one of two ways:
- Buy more energy from renewable sources that are currently being curtailed
If you are curtailing, it means you have excess energy you could dispatch. Renewable energy is already the cheapest, so curtailed renewable energy will be the cheapest dispatchable energy source. Renewable plants will then sell the energy they would have had to curtail.
- Buy more energy from fossil fuel plants.
Fossil fuels are inherently dispatchable; they can quickly increase energy production by burning more. However, coal costs money, so this is the least preferred solution.
Energy markets are some of the most complex markets in the world so the above explanation is a simplification. But what’s important to understand is that our goal is to increase investment into lower carbon energy sources, like renewables, and decrease investment into higher carbon sources, like coal. The best way to ensure money flows in the right direction is to make sure you use electricity with the least carbon intensity.
How to be more carbon aware
Using electricity when the carbon intensity is low is the best way to ensure investment flows towards low-carbon emitting plants and away from high-carbon emitting plants.
There is a global transformation happening right now. All around the world, electricity grids are changing from primarily burning fossil fuels to sourcing energy from lower carbon sources like wind and solar. This is one of our best hopes for meeting our global reduction targets. As green software practitioners, let’s see some of the ways we can help accelerate that transition.
The primary driver for the transition is economic rather than any sustainability target. Renewables are winning because they are cheaper and getting even more affordable over time. So, to help accelerate the transition, we need to make renewable plants more profitable and fossil fuel plants less profitable. The best way to do that is to use more electricity when it’s coming from lower-carbon sources like renewables and less electricity when it’s coming from higher-carbon sources.
Carbon intensity is lower when more energy comes from lower-carbon sources and higher when it comes from higher-carbon sources.
Demand shifting
Being carbon aware means responding to shifts in carbon intensity by increasing or decreasing your demand. If your work allows you to be flexible with when and where you run workloads, you can shift accordingly - consuming electricity when the carbon intensity is lower and pausing production when it is higher. For example, training a Machine Learning model at a different time or region with much lower carbon intensity.
Studies show these actions can result in 45% to 99% carbon reductions depending on the number of renewables powering the grid.
Demand shifting can be further broken down into spatial and temporal shifting.
Spatial shifting
Spatial shifting means moving your computation to another physical location where the current carbon intensity is lower. It might be a region that naturally has lower carbon sources of energy. For example, moving to different hemispheres depending on the season for more sunlight hours.
Temporal shifting
If you can’t shift your computation spatially to another region, another option you have is to shift to another time. Perhaps later in the day or night when it’s sunnier or windier and, therefore, the carbon intensity is lower. This is called temporal demand shifting. We can predict future carbon intensity reasonably well through advances in weather forecasting.
Some of the biggest technology companies have recognised the importance of carbon awareness and are using advanced modeling techniques to implement demand shifting.
- Google Carbon Aware Data Centers - Google launched a project to make some of the cloud workloads carbon aware. They created models to predict tomorrow’s carbon intensity and workload. They then shaped large-scale workloads so more would happen when and where the carbon intensity is lowest, but in such a way that they could still handle the expected load.
- Microsoft Carbon Aware Windows - Microsoft announced a project to make Windows 11 more sustainable. Initially, this means running Windows updates when the carbon intensity is lower.
Demand shaping
Demand shifting is the strategy of moving computation to regions or times when the carbon intensity is lowest. Demand shaping is a similar strategy. However, instead of moving demand to a different region or time, we shape our computation to match the existing supply.
- If carbon intensity is low, increase the demand; do more in your applications.
- If carbon intensity is high, decrease demand; do less in your applications.
Demand shaping for carbon-aware applications is all about the supply of carbon. When the carbon cost of running your application becomes high, shape the demand to match the supply of carbon. This can happen automatically, or the user can make a choice.
Eco mode is an example of demand shaping. Eco modes are found in everyday appliances like cars or washing machines. When activated, some amount of performance is sacrificed in order to consume fewer resources (gas or electricity). Because there is this trade-off with performance, eco modes are always presented to a user as a choice.
Software applications can also have eco modes that can - either automatically or with user consent - make decisions to reduce carbon emissions.
One example of this is video conferencing software that adjusts streaming quality automatically. Rather than streaming at the highest quality possible at all times, it reduces the video quality to prioritize audio when the bandwidth is low.
Another example is TCP/IP. The transfer speed increases in response to how much data is broadcast over the wire.
A third example is progressive enhancement with the web. The web experience improves depending on the resources and bandwidth available on the end user’s device.
Demand shaping is related to a broader concept in sustainability, which is to reduce consumption. We can achieve a lot by becoming more efficient with resources, but we also need to consume less at some point.
As Green Software practitioners, we would consider canceling a process when the carbon intensity is high instead of demand shifting - reducing the demands of our application and the expectations of our end users.
Key Points
- Carbon awareness means understanding that the energy you consume does not always have the same impact in terms of carbon intensity.
- Carbon intensity varies depending on the time and place it is consumed.
- The nature of fossil fuels and renewable energy sources means that consuming energy when carbon intensity is low increases the demand for renewable energy sources and increases the percentage of renewable energy in the supply.
- Demand shifting means moving your energy consumption to different locations or times of days where the carbon intensity is lower.
- Demand shaping means adapting your energy consumption around carbon intensity variability in order to consume more in periods of low intensity and less in periods of high intensity.
Content from Hardware Efficiency
Last updated on 2025-01-07 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- TBC
Objectives
- TBC
Introduction
The hardware used in the process of creating your software is an important element to consider for a Green Software practitioner.
You will see how embodied carbon is a hidden cost when it comes to hardware and the different measures you can take to reduce the impact that the creation, destruction and running of this hardware involves. For example, extending its lifetime or switching to cloud servers.
Key concepts
Embodied carbon
The device you are using to read this on produced carbon when it was manufactured and, once it reaches the end of life, disposing of it may release more. Embodied carbon (also referred to as “embedded carbon”) is the amount of carbon pollution emitted during the creation and disposal of a device.
When calculating the total carbon pollution for computers running software, both the carbon pollution associated with running the computer as well as the embodied carbon of the computer must be accounted for.
Embodied carbon varies significantly between end-user devices. For some devices, the carbon emitted during manufacturing is much higher than that emitted during usage, as illustrated by a study from University of Zurich. As a result, the embodied carbon cost can sometimes be much higher than the carbon cost of the electricity powering it.
By thinking in terms of embodied carbon, any device, even one not consuming electricity, is responsible for the release of carbon over its lifetime.
How to improve hardware efficiency
If we take into account the embodied carbon, it is clear that by the time we come to buy a computer, it’s already emitted a good deal of carbon. Computers also have a limited lifespan, which means they eventually are unable to handle modern workloads and need to be replaced. In these terms, hardware is a proxy for carbon, and since our goal is to be carbon efficient, we must also be hardware efficient.
There are two main approaches to hardware efficiency:
- For end-user devices, it’s extending the lifespan of the hardware.
- For cloud computing, it’s increasing the utilization of the device.
Extending the lifespan of hardware
In the example we saw previously, if we can add just one more year to the lifespan of our server, then the amortized carbon drops from 1000kg CO2eq/year to 800kg CO2eq/year.
Hardware is retired when it breaks down or struggles to handle modern workloads. Of course, hardware will always break down eventually but, as developers, we can use software to build applications that run on older hardware and extend their lifetime.
Increasing device utilization
In the cloud space, hardware efficiency most often translates to an increase in the utilization of servers. It’s better to use one server at 100% utilization than 5 servers at 20% utilization because of the cost of embodied carbon. In the same way that owning one car and using it every day of the week is much better than owning five and using a different one each day of the week, it is much more efficient to use servers at their full capacity rather than employing several at below capacity. Although emissions are the same, the embodied carbon that is used is much lower.
The most common reason for having under-utilized servers is so that peak capacity is accounted for. Running servers at 20% means that you know you will be able to handle peaks in demand without impacting performance. However, in the meantime, all that spare capacity just sitting there idle represents wasted embodied carbon. Being hardware efficient means making sure that every hardware device is being utilized as much as possible for as long as possible.
This is one of the main advantages of the public cloud; you know that when you do need to scale up, the space will be there to take up the slack. With multiple organizations making use of the public cloud, spare capacity can always be made available to whoever needs it, so that no servers are sitting idle.
It’s important to note that simply moving operations to the public cloud will not automatically reduce your emissions. It simply gives you the space to be able to re-architect your software so that a reduction is possible.
Key Points
- Embodied carbon is the amount of carbon pollution emitted during the creation and disposal of a device.
- When calculating your total carbon pollution, you must consider both that which is emitted when running the computer as well as the embodied carbon associated with its creation and disposal.
- Extending the lifetime of a device has the effect of amortizing the carbon emitted so that its CO2eq/year is reduced.
Content from Measurement
Last updated on 2025-01-07 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- TBC
Objectives
- TBC
Introduction
The Greenhouse Gas (GHG) protocol is the most commonly-used method for organizations to measure their total carbon emissions. Understanding GHG scopes and how to measure your software against industry standards will help you see to what extent you are applying Green Software principles and how far you have to go to improve.
To complement the GHG protocol, you can also use the Software Carbon Intensity (SCI) specification. While the GHG is a more generic measurement suitable for all types of organizations, the SCI is specifically for measuring a rate of software emissions and designed to incentivize the elimination of those emissions.
The GHG is a protocol to measure total emissions, the SCI is a tool to enable the elimination of software driven emissions.
We will look at each of the measurement methodologies and explain how to calculate in either case.
The GHG protocol
The Greenhouse Gas protocol is the most widely used and internationally recognized greenhouse gas accounting standard. 92% of Fortune 500 companies use the GHG protocol when calculating and disclosing their carbon emissions.
The GHG protocol divides emissions into three scopes:
- Scope 1: Direct emissions from operations owned or controlled by the reporting organization, such as on-site fuel combustion or fleet vehicles.
- Scope 2: Indirect emissions related to emission generation of purchased energy, such as heat and electricity.
- Scope 3: Other indirect emissions from all the other activities you are engaged in. Including all emissions from an organization’s supply chain; business travel for employees, and the electricity customers may consume when using your product.
Scope 3, sometimes referred to as value chain emissions, is the most significant source of emissions and the most complex to calculate for many organizations. These encompass the full range of activities needed to create a product or service, from conception to distribution. In the case of a laptop, for example, every raw material used in its production emits carbon when being extracted and processed. Value chain emissions also include emissions from the use of the laptop, meaning the emissions from the energy used to power the laptop after it has been sold to a customer.
Through this approach, it’s possible to sum up all the GHG emissions from every organization and person in the world and reach a global total.
What scope does my application fall into?
We have already seen how the GHG protocol asks us to bucket software emissions according to scopes 1-3. But how does this work when it comes to software?
Most organizations have many applications running with different architectures and in different environments. As such, the scope your emissions fall into, both in terms of energy generated as well as embodied carbon, depending on your specific scenario.
- For cloud applications running on servers that you own, the energy usage of your software falls into scope 2, and the embodied carbon of all your servers falls into scope 3.
- For cloud applications running on a public cloud, both the energy usage of your application and the embodied carbon fall into scope 3.
- In scenarios where you are running a hybrid private/public cloud application, part of its emissions will fall into scope 2 and part will fall into scope 3.
- Similarly, for your customer-facing front-end application, energy usage falls into your organization’s scope 3, since your customer will purchase the energy to power their device.
For software, regardless of whether it’s run on infrastructure you own, rent, or consumers own, there are three parameters to consider for bucketing emissions:
- How much energy it consumes
- How clean or dirty that electricity is
- How much hardware it needs to function
Is it possible to calculate a total for software carbon emissions?
To calculate a total for software carbon emissions, you need access to detailed data regarding the energy consumption, carbon intensity, and hardware that your software is running on. This is challenging data to gather, even in the case of an organization’s own closed-source software products where they can track its usage with telemetry or logs.
Open-source software maintainers don’t have the same visibility into how and where their software is used, how much energy is consumed, and on what hardware.
Open-source projects typically have multiple contributors from multiple organizations. As a result, it’s unclear who should be responsible for calculating the emissions as well as who is accountable for eliminating them. When you also consider that open-source software makes up 90% of a typical enterprise stack, it is clear that there is going to be a large amount of carbon emissions that are not accounted for.
Do totals tell the whole story?
A total is only one metric that describes the state of something. To make the right decisions, you need to look at many different metrics.
Imagine a scenario where you are the leader of an organization and charged with reducing the emissions of your software. You measure the emissions in Q1 and come out with a total of 34 tonnes. After making some investments into projects that eliminate emissions, you find that by Q2 the emissions have increased to 45 tonnes. Does this mean your efforts failed?
Not necessarily. We know that a total by itself doesn’t tell the whole story and must look at other metrics to find out if an emissions-reduction project has been successful. For example, if you measured the carbon intensity as well as the carbon total, you might come out with a different perspective. In the same project, if the carbon intensity was 3.3g CO2eq/user in Q1, and 2.9g CO2eq/user in Q2, you might consider the project a success and continue to invest further.
While the total showed you that your organization’s carbon emissions had increased overall, the intensity gave a more complete perspective that would help you to make a more informed decision on how to proceed.
Software Carbon Intensity specification
The Software Carbon Intensity (SCI) specification is a methodology developed by the Standards Working Group in the Green Software Foundation, designed to score a software application along a dimension of sustainability and to encourage action towards eliminating emissions.
It’s not a replacement for the GHG protocol, but an additional metric that helps software teams understand how their software behaves in terms of carbon emissions so they can make more informed decisions. While the GHG protocol calculates the total emissions, the SCI is about calculating the rate of emissions. In automotive terms, the SCI is more like a miles per gallon measurement and the GHG protocol is more like the total carbon footprint of a car manufacturer and all their cars they produce every year.
Instead of bucketing the carbon emissions of software into scopes 1-3, it buckets them into operational emissions (carbon emissions from the running of software) and embodied emissions (carbon emissions from the physical resources required to run the software). It’s also an intensity rather than a total, which is more inclusive of open-source software.
An important thing to note is that it is not possible to reduce your SCI score by purchasing offsets in the form of neutralizations, compensations, or by offsetting electricity in the form of renewable energy credits. This means that an organization that makes no efforts towards reducing their emissions but simply spends money on carbon credits cannot achieve a good SCI score.
Offsets are an essential component of any climate strategy; however, offsets are not eliminations and therefore are not included in the SCI metric.
If you make your application more energy efficient, hardware efficient, or carbon aware, your SCI score will decrease. The only way to reduce your SCI score is to invest time or resources into one of those three principles. As such, adopting the SCI as a metric for your software application along with the GHG protocol, will drive investment into one of the three pillars of green software.
The SCI equation
The SCI is a method of scoring any software application, not limited to just cloud or not just end-user applications, but all types of applications in between. It provides a common language to describe how software behaves with respect to carbon emissions and how a proposed change might eliminate some of them.
The equation to calculate an SCI score is elegantly simple. This simplicity means it can be applied in a number of different scenarios.
SCI = ((E *I) + M) per R
E
= Energy consumed by a software system I
= Location-based marginal carbon emissions M
= Embodied
emissions of a software system. R
= Functional unit
(e.g. carbon per additional user, API-call, ML job, etc)
This summarizes to:
SCI = C per R
(Carbon per R
)
R
is the core characteristic of the SCI and turns it
into an intensity rather than a total. This is what we call a
functional unit.
How to calculate your SCI score
Follow these four steps to calculate your SCI score.
- Decide what to include
What software components to include or exclude in the SCI score means defining the boundaries of your software; where it starts and where it ends.
For every software component you include, you will need to measure its impact. For every major component you exclude, you need to explain why.
The SCI specification doesn’t currently make any demands regarding what to include and what not to include. However, you must include all supporting infrastructure and systems that significantly contribute to the software operation.
Your SCI score might decrease because you tightened your software boundary and excluded more software components. Conversely, your SCI score might increase because you are including software components you previously excluded. Therefore, when you report your SCI score, especially any improvements in the score, it’s essential to disclose your software boundary.
- Choose your functional unit
As we have seen, the SCI is a rate rather than a total and measures the intensity of emissions according to the chosen functional unit. The specification currently doesn’t prescribe the functional unit and you are free to pick whichever best describes how your application scales. For example, if your application scales by the number of users, then pick users as your functional unit.
Future iterations of the SCI might prescribe specific functional units for different types of applications to aid with comparability. For instance, we might ask streaming applications to choose minutes as their functional unit in order to standardize measurement across all streaming applications.
- Decide how to measure your emissions
Now you have a list of the software components you want to measure and the functional unit you will use to measure them. The next step is to decide how you will quantify the emissions of each software component.
There are two methods of quantification; measurement and calculation.
- Measurement is using counters of some form. For example, measuring the energy consumption of your software component by using a hardware device in the wall socket. Or using counters on hardware that directly measure energy consumption. If you can directly count your units, you should use the measurement approach.
- Calculation involves indirect counting, often using a model of some form. For instance, if you cannot directly measure your application’s energy consumption but instead have a model that estimates the energy consumption based on the CPU utilization, this is considered calculation rather than measurement.
These resources can help you to decide on measurement and calculation methods:
- Look at the Software Carbon Intensity Guide project. This project is responsible for providing advice on how to quantify different software components’ emissions.
- Quantify
Now you are ready to execute. Using the methodology described in the previous steps, start to quantify the SCI score for each software component in your boundary. Your total SCI score of your software application is the combined score of all the different components.
You may calculate multiple SCI scores for the same application. The SCI score is helpful information to understand how your application behaves with respect to carbon emissions in different scenarios. For example, a streaming application might choose carbon per minute as a metric. It might also calculate the carbon per user per day. The carbon per $ revenue metric might give another helpful dimension.
Key Points
- The GHG protocol is a metric for measuring an organization’s total carbon emissions and is used by organizations all over the world.
- The GHG protocol puts carbon emissions into three scopes. Scope 3, also known as value chain emissions, refers to the emissions from organizations that supply others in a chain. In this way, one organization’s scope 1 and 2 will sum up into another organization’s scope 3.
- Calculating software-driven emissions using the GHG protocol is possible but can be difficult for open-source software.
- The SCI is a metric designed specifically to calculate software emissions and is a rate rather than a total.
- The functional unit of measurement is not prescribed in the SCI and you should choose something that reflects your application.
Content from Climate Commitments
Last updated on 2025-01-07 | Edit this page
Estimated time: 25 minutes
Overview
Questions
- TBC
Objectives
- TBC
Introduction
In recent years, many economic actors have sought to reach different climate goals by making various commitments.
The terms “net zero”, “carbon neutral”, “carbon negative” and “climate neutral” have been used interchangeably with the primary objective to remove, reduce and prevent carbon emissions. As interest in these targets grows, it is essential to have a common understanding of what they mean and how to achieve them through the strategies and measurement procedures we have learnt.
Carbon reduction methodologies
There are many ways to reduce emissions but it’s important to understand the exact mechanism of the reduction when thinking about reduction targets.
Abatement / Carbon Elimination
The Science Based Targets Initiative refers to a mechanism called abatement, which means eliminating sources of CO2 emissions associated with a company’s operations and value chain so that they do not enter the atmosphere. The value chain describes the full range of activities needed to create a product or service, from conception to distribution. This includes increasing energy efficiency to eliminate some of the emissions associated with energy generation.
Abatement is not enough on its own as there will always be some emissions that can’t be eliminated due to technological or economic constraints, but it must form the core of every organization’s strategy as it is an area where almost every company can improve on.
To balance those residual emissions, we need to look at other mechanisms such as offsets, compensations or neutralizations.
Offsets
Offsets are direct investments in emission-reduction projects through the purchase of carbon credits on the voluntary carbon market (VCM). The VCM is a decentralized market where private actors voluntarily buy and sell carbon credits that represent certified removals or reductions of GHGs from the atmosphere.
To offset emissions, you need to purchase the equivalent volume of carbon credits to compensate for those emitted, where 1 carbon credit corresponds to 1 tonne of CO2 absorbed or reduced.
Various positive benefits can stem from these projects, from ecosystem protection to empowering local communities. However, to ensure these programs are implemented correctly and have the desired effect on the environment and the aim to reach world net zero, there are global standards that they must meet such as Verified Carbon Standard (VCS) and Gold Standard (GS).
SCI and Offsets
There are some limitations to carbon offsets and that is why they are not considered in an organization’s SCI score. For example, imagine two applications, both running on a cloud platform that is 100% carbon offset and matched 100% by renewable energy. Application A has invested significant time and resources into making sure it is using resources efficiently, whereas application B uses resources very inefficiently. For the SCI to be a helpful metric, application A needs to score better than application B.
If the SCI considered offsets, both applications would score 0. This wouldn’t tell us anything about how efficiently they are using resources. Although application B is emitting more carbon molecules into the atmosphere, since its score is 0 and the lowest score is 0, why would it make further investments into improving its carbon efficiency?
Organizations need to have plans for how to both eliminate as well as neutralize emissions and the SCI helps them to drive the elimination of emissions due to software. This makes the SCI an essential component of any net-zero strategy.
Compensating / Carbon Avoidance
Compensations are actions that companies take to help society avoid or reduce emissions outside of their value chain. This is essentially investing in other organizations’ abatement projects.
This includes actions such as:
- Conservation - Credits are created based on carbon not released through protecting old trees.
- Community Projects - These projects help communities worldwide, mainly undeveloped ones, by introducing sustainable living methods.
- Waste to energy - These projects capture methane/landfill gas in smaller villages, human or agriculture waste, and convert it into electricity.
Neutralizing / Carbon Removal
Neutralizations are actions that companies take to remove carbon from the atmosphere within or beyond their value chain. Neutralizations refer to the removal and permanent storage of atmospheric carbon to counterbalance the effect of releasing CO2 into the atmosphere. This includes actions such as:
- Enhancing natural carbon sinks that remove CO2 from the atmosphere. For example, forest restoration, since photosynthesis removes CO2 naturally. Forest expansion comes with challenges as it’s essential not to impact the dynamics of farmland and food supply elsewhere. Modern farming methods can also prolong the time carbon remains stored in soil.
- Direct air capture is the process of capturing CO2 from the air and storing it permanently, either underground or in long-lived products like concrete.
The effectiveness of these methods is typically measured based on whether they can deliver carbon removal at the scale and speed needed.
When it comes to carbon removal projects, durability is a critical consideration. The durability of a project describes how long the carbon dioxide will be kept from the atmosphere.
Short-term durability is up to 100 years, medium-term is 100 to 1,000 years, and long-term is more than 1,000 years.
- Solutions that rely on Earth’s natural carbon cycle have short-term durability measured in decades. For example, forestry projects have a durability of 40 to 100 years.
- Engineered solutions such as direct air capture often have long-term durability measured in millennia. For example, direct air capture has a durability of 10,000 years.
- Long-term projects are typically orders of magnitude more expensive than short-term projects. Once emitted, carbon remains in the atmosphere for 5,000 years. To be considered net zero, carbon that has been emitted needs to be permanently removed.
A short-term carbon removal project will only remove carbon for 100 years, after which it’s back in the atmosphere warming up our planet. This is one of the reasons why abatement is preferred to neutralization. Never releasing carbon is far better than releasing carbon and then trying to keep it out of the atmosphere for 5,000 years.
Climate commitments
There are many different climate reduction strategies that an organization can commit to, from carbon neutral to net zero. Understanding the different meanings and implications of each one can help you decide on the right strategy for your organization.
Carbon Neutral
To achieve carbon neutrality, an organization must measure its emissions, then match the total to its emissions offsets through carbon reduction projects. This can include carbon removal projects (neutralizations) and carbon avoidance projects (compensations).
Carbon neutrality is defined by an internationally recognized standard: PAS 2060. Although this does recommend an organization sets abatement targets, it doesn’t demand they reduce their emissions. So to be considered carbon neutral, an organization can just measure and offset without investing resources in eliminating their carbon emissions.
To be carbon neutral, you must cover direct emissions (scope 1 and 2). The general expectation is that organizations measure and offset their scopes 1 and 2, and business travel from scope 3. However, there is no specific requirement to include that.
Carbon neutral is a significant first step for any organization since it encourages measurement. However, there are not enough carbon offsets in the world to offset the emissions of all the organizations. Therefore, any strategy that doesn’t include abatement will not scale or help the world achieve the 1.5 degree target set by the Paris Climate Agreement. This is where net zero comes into play.
Net Zero
Net zero means reducing emissions according to the latest climate science and balancing remaining residual emissions through carbon removals (neutralizations). Net zero, by definition, requires emissions reductions in line with a 1.5°C pathway. All businesses must do this to achieve net-zero global emissions by 2050.
The critical differentiator between net zero and carbon neutral is net zero’s focus on abatement rather than neutralizations and compensations. A net-zero target aims to eliminate emissions and only to use offsetting for the residual emissions that you cannot eliminate
The standard for net zero is being developed by the Science Based Targets initiative (SBTi). They calculate that there is a 66% probability of limiting global warming to 1.5°C if we reach a level of abatement of about 90% of all GHG emissions by mid-century. So, to meet a net-zero target, an organization needs to eliminate 90% of its emissions by 2050. The remaining emissions can only be offset using neutralizations and permanent carbon removals.
A net-zero strategy would mean that the actual amount of carbon in the atmosphere remains constant.
Also, to be a net-zero target, you must cover direct and indirect, i.e. supply chain emissions (scopes 1,2 and 3). Therefore, your entire value chain needs to be included in the scope of your net-zero target. This is significant since scope 3 often represents the majority of emissions.
SCI as part of a Net-Zero strategy
The SCI is a metric specifically designed to drive the elimination of emissions. The only way to reduce your score is to invest time and resources into actions that eliminate emissions. The only activities the SCI recognizes as elimination actions are making your application more energy-efficient, more hardware efficient, or consuming lower-carbon energy sources. Offsets are an essential component of any climate strategy; however, offsets are not eliminations and therefore are not included in the SCI metric.
Any net-zero strategy needs to have plans for how to both eliminate as well as neutralize emissions. The SCI helps organizations drive the elimination of emissions due to software. This makes the SCI an essential component of any net-zero strategy.
100% Renewable
When organizations set a target of 100% renewable power, they might distinguish between being matched by vs. powered by renewables.
Powered by means you are directly powered by a renewable power source, say a hydro dam. In that scenario, the energy the device receives only originates from that source, so you can confidently say that you are 100% powered by renewables.
For most people, we live on an interconnected grid, with many producers pumping electricity in and many consumers taking electricity out. This means the electrons coming into your device are a mixture of all the electrons going into the grid. For example, suppose the grid only has 5% of wind supply. You are getting 5% of wind-generated electrons and 95% fossil fuel-generated electrons.
You can’t track individual electrons. Once the electrons from a wind farm are on a grid, they all mix with the electrons from a fossil fuel plant. So there is no way for a consumer to insist the electrons that it uses only come from renewable sources.
Renewable Energy Certificates (REC)
To solve this problem, a renewable plant sells two things. The first is its electricity, which it sells into a grid. The second is a REC, a Renewable Energy Certificates. 1 REC equals 1kWh of energy.
If you want to be 100% matched by renewable energy and are on the grid, the solution is to buy enough RECs to cover the amount of electricity you consume. For instance, if you consume 100 kWh of electricity every day, then to be 100% matched by renewables, you buy 100 RECs.
When organizations set 100% renewable targets purchasing RECs on the market is the solution they often employ to meet their commitments.
PPAs
You might also hear the term PPA used alongside RECs. A PPA is a Power Purchase Agreement, which is another way to purchase RECs. If you estimate you need 500MWh of electricity per year for a particular data center, you might sign a PPA to purchase 500MWh per year from a renewable plant. You would then get all the RECs associated with this power plant.
PPAs are typically very long-term contracts. A renewable plant can find financing with one of these agreements since it already has had a buyer for its electricity for many years.
PPAs encourage something called additionality. Purchasing a PPA drives the creation of new renewable plants. PPAs are a solution that gets us towards a future where everyone has access to 100% renewable energy.
24/7 Hourly Matching
When it comes to 100% renewable claims, the critical question is, what is the granularity of matching? Do you sum up and net off yearly, monthly, weekly, daily, or hourly? That question is essential because to truly transition to renewable energy, we need 100% of the power to come from low-carbon energy sources like renewables 100% of the time. This fine granular matching is often called 24/7 hourly matching.
24/7 hourly matching is one of the many strategies we need to employ to help accelerate the transition to a 100% renewable-powered grid. For example, Google and Microsoft have both committed to 24/7 hourly matching by 2030.
Daily vs hourly matching
Imagine an organization has a demand curve like this, each blue square represents 1kWh:
They have purchased RECs from a wind farm that generated electricity with a curve, so each green square represents 1 REC. Matching by day means the organization consumed 18 kWh and bought 18 RECs. As a result, they netted off to zero. So they can say they are 100% matched by renewable energy daily.
However, if we looked at it in hourly buckets (each square here is 2 hrs in length), then it seems a bit different:
The total amount of energy consumed is still 18kWh. However, there are only a few hours in the day where we are 100% matched by renewable energy for that hour. So for some hours, we have way more renewable energy than we need. Conversely, we have way less renewable energy than we require for most hours.
In the above example, they are 100% matched by renewable energy on an hourly basis for only 6 hrs of the day.
Carbon-free energy
The number we use to describe how successful we are at 24/7 hourly matching is the carbon-free energy percentage.
Carbon-free energy is defined as the average percentage of carbon-free energy consumed in a particular location on an hourly basis.
So for the previous example, if measured using daily matching, we are 100% matched with renewable energy. However, we are only 33.1% matched if measured using hourly matching. The CFE percentage is, therefore, 33.1%.
Carbon Awareness as part of a 24/7 Hourly Matching Strategy
Carbon aware computing involves responding to electrical carbon intensity signals and changing the behavior of software, so it emits less carbon. Carbon awareness also helps an organization meet their 24/7 hourly matching target and increase its CFE percentage.
One example of a behavior change is shifting compute to a time when more renewable energy is available. For example, delaying the start of a training run of a machine learning model, or even delaying charging of a laptop, to when the carbon intensity of electricity is lower, and the supply of renewable energy is higher.
Carbon aware computing helps organizations increase their CFE percentage.
Key Points
- There are a number of methodologies commonly applied to help in the overall fight against climate change. These fall into the general categories of carbon elimination (also known as ‘abatement’), carbon avoidance (a.k.a. ‘compensating’), or carbon removal (a.k.a. ‘neutralizing’).
- Abatement includes increasing energy efficiency to eliminate some of the emissions associated with energy generation. Abatement is the most effective way to fight climate change although complete carbon elimination is not possible.
- Compensating includes the adoption of renewable energy sources, sustainable living practices, recycling, planting trees etc.
- Neutralizations refer to the removal and permanent storage of atmospheric carbon to counterbalance the effect of releasing CO2 into the atmosphere. Neutralizations tend to remove the carbon from the atmosphere in the short and medium-term.
- An organization can call itself Carbon Neutral when its total emissions are matched by the total of its emissions offsets through carbon reduction projects
- Net zero aims to eliminate emissions and only offset the residual emissions that you cannot eliminate to reach the 1.5°C target set by the Paris Climate Agreement.
- The SCI is carefully designed so that eliminating emissions, through energy efficiency, hardware efficiency and carbon awareness is the only way to reduce the score. Together with a separate neutralization strategy, it can form the basis of a net-zero strategy for an organization.
- When organizations set a target of 100% renewable power, they can either be “matched by” vs. “powered by” renewables, where “powered by” means the energy the device receives only originates from renewable sources. This can be achieved by purchasing RECs as part of a PPA.
- 24/7 hourly matching is one of the many strategies we need to employ to help accelerate the transition to a 100% renewable-powered grid.