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. There are mainly two ways: location shifting and time shifting.
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.
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
- produce renewable energies yourself
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:
- Time Shifting
- Location Shifting
- Demand Shaping
Time Shifting* and _Demand Shaping are also possible with physical systems, Location Shifting not.
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
- ...
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
Reshape the demand into a more ecological behaviour.
Examples:
- Inform users about the current ecological impact
- Activate Eco Mode automatically
- Reduce video resolution by default
- Less tracking (Privacy by Default)
How?
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