Carbon-Aware Computing
Carbon-aware computing means, that the computing workload is aware about its current and future carbon emissions and is able to react to it in some way. For this, data on Energy Carbon Intensity is required.
Carbon-aware computing can be split up into two concepts: demand shifting (location or time) and demand shaping (adapt to demand).
Relevant aspect to enable Green Software.
Resources:
- Article Carbon Aware Computing: Next Green Breakthrough or New Greenwashing? by Ismael Velasco
- GitHub repository climateaction-tech/grid-aware-software: The problems with carbon-aware software that everyone’s ignoring. Plus solutions to move forward = grid-aware software by Hannah Smith
- Podcast episode #34 - Carbon aware computing: a false good idea? with Hannah Smith and Ismaël Velasco by Green I/O
Summary:
Unpredictable demand is likely to lead to more carbon emissions because of the way the electricity grid works. When there is unpredictable demand on the grid, fossil fuels are used to meet it. Keyword: Marginal carbon emissions
Better ways:
- reduce the amount of demand (increase your energy efficiency 😀)
- be grid-aware: schedule your workloads for times when there is less demand in the grid (sadly, at the moment we don't have the required data for it 🥲)
- produce renewable energies yourself (if you can 😉)
Brief History of the Discussion Around Carbon-Aware Computing
- 2020-11-09: Carbon-Aware vs. Carbon-Efficient Applications - Sustainable Software by Asim Hussain
- 2022-04-14: Carbon aware workloads – current status, limitations, and opportunities · David Mytton by David Mytton
- 2022-10-22: Our Code Is Harming The Planet, We Need Carbon Aware Design Patterns | HackerNoon by the Green Software Foundation
- 2024-01-16: Carbon Aware Computing: Next Green Breakthrough or New Greenwashing? | HackerNoon by Ismael Velasco
Strategies
There are mainly three strategies:
- Demand Shifting
- Time Shifting
- Location Shifting
- Demand Shaping
Note: Time Shifting and Demand Shaping are also possible with physical systems, Location Shifting not, because they are typically fixed in place. In contrast, the operation of software can be easily moved to other regions.
Location Shifting / Spatial Shifting / Relocation
Shift computing tasks to a different data center in a region that currently has more renewable energy available.
Ideas:
Papers:
Problems of location shifting (Adrian Cockcroft)
- if you stop using computers in a specific data center, they are still turned on and using power
- regions do demand based capacity planning → the cloud provider buys more computers (more scope 2 and 3 emissions)
- more network traffic, which increases capacity demand for switches and undersea fibers
Source: Adrian Cockcroft – Don’t follow the sun
What to do instead?
Problems of location shifting (Laurent Devernay Satyagraha)
I consider carbon-aware code as "part of the problem" only if it is considered as THE solution
In the end, carbon-aware code might just be transferring impacts (and obfuscating it because of the focus on carbon) when the priority should be sobriety. Keep in mind that most of the environmental impacts are decided during the design phase.
— Laurent Devernay Satyagraha on LinkedIn
Reply by Asim Hussain:
Even in the most extremely optimistic use cases carbon aware computing can help us reach max 10% reduction in emissions. But that reduction comes at an very low investment compared to any other solution.
Time Shifting / Temporal Shifting
Shift computing tasks to a later time. For example run batch processes on times when there is "enough" green energy available and there are computing resources left.
Load peaks in the grid should be avoided, since the additional demand is covered by fossil fuels or energy storage systems for every load peak in the grid.
Therefore don't schedule cron jobs at the full hour, since other processes are often scheduled for the full hours.
Examples:
- Backups
- Training of a machine learning model
- Updates and downloads
- CI/CD pipelines, regression tests
- Sending newsletters
- Generate new recommendations
- ...
Method is also used in the physical world:
- Washing machine
- Charging e-car
- Hydrogen production
- all with one battery...
Papers:
- Cucumber: Renewable-Aware Admission Control for Delay-Tolerant Cloud and Edge Workloads | SpringerLink
- Wiesner, P., Behnke, I., Scheinert, D., Gontarska, K., & Thamsen, L. (2021). Let’s wait awhile: How temporal workload shifting can reduce carbon emissions in the cloud. Proceedings of the 22nd International Middleware Conference, 260–272. https://doi.org/10.1145/3464298.3493399
Demand Shaping
The approach is also known as "demand responsive" design.
The aim is to shift demand towards more environmentally friendly behaviour, in line with carbon intensity.
Can be also helpful for peak-shaving.
Examples:
- Inform users about the current ecological impact
- Activate Eco Mode automatically
- Reduce video resolution by default
- Create a report with less information
- Less tracking (Privacy by Default)
Demand shaping strategies can be visible or invisible to the users.
Real-world examples applying demand shaping:
How?
Carbon-Aware Business Process Management
Tools / APIs
carbon-aware-computing.com (created by Aydin Mir Mohammadi)
Carbon-aware products
Xbox update routine
Being carbon aware means reducing carbon footprint by optimizing updates and downloads to run at a time when the console can use the most renewable energy. Windows Update became carbon aware last year for Windows 11 PCs, and now Xbox consoles are also becoming carbon aware.
— Xbox Is Now the First Carbon Aware Console, Update Rolling Out to Everyone Soon - Xbox Wire
iOS Clean Energy Charging
When Clean Energy Charging is enabled and you connect your iPhone to a charger, your iPhone gets a forecast of the carbon emissions in your local energy grid and uses it to charge your iPhone during times of cleaner energy production.
— Use Clean Energy Charging on your iPhone - Apple Support
Windows Update
Starting with Windows 11, version 22H2, Windows Update is now carbon aware, making it easier for your devices to reduce carbon emissions. When devices are plugged in, turned on, connected to the internet and regional carbon intensity data is available, Windows Update will schedule installations at specific times of the day (when doing so may result in lower-carbon emissions because a higher proportion of electricity is coming from lower-carbon sources on the electric grid).
— Windows Update is now carbon aware - Microsoft Support
Google Cloud
Our data centers now work harder when the sun shines and wind blows
Using location to reduce our computing carbon footprint
🔗 References
Podcast episode by Environment Variables: From Carbon Aware to Carbon Intelligent