Carbon-Aware Scheduling
Also known as: carbon-aware computing, green scheduling, low-carbon scheduling, time-shift computing
Carbon-aware scheduling is the practice of timing or locating computing workloads to coincide with periods or places where the electricity grid has the lowest carbon intensity: when more of the grid's electricity is coming from renewable sources like wind and solar.
By shifting flexible batch workloads (AI training, data processing, video encoding, software builds) to run when the grid is green, organizations can reduce their computing carbon footprint without any reduction in total compute performed. Carbon-aware scheduling requires access to real-time or forecast carbon intensity data for the relevant electricity grid or cloud region.
Carbon-Aware Scheduling, explained at three levels
At home
Carbon-aware scheduling means choosing when or where to run computer work so that it happens at the time when the electricity is cleanest. Solar power is abundant at midday; wind power is high in windy weather. If your computer task can wait (like running an overnight backup or processing a large file) running it at the time when the local grid is mostly powered by renewables means less carbon is released to generate the electricity for your task, even though you are doing exactly the same amount of computing.
At work
Carbon-aware scheduling is a practical technique for organizations that run significant computing workloads and want to reduce their carbon footprint without reducing their computing capability. Any workload that does not need to complete in real-time is a candidate: AI training jobs, database backups, batch analytics, video transcoding, software compilation, and data migration. These can be scheduled to run when grid carbon intensity is low without affecting business outcomes.
At home
Carbon-aware scheduling requires three components: real-time or forecast carbon intensity data for the relevant location or cloud region (available from Electricity Maps, WattTime, or from cloud providers, such as the carbon-free energy percentages Google publishes for each cloud region); a scheduling system that can delay workloads based on a carbon threshold or ranking; and workloads that are genuinely flexible in their timing (not all workloads can be deferred without business impact).
At work
Carbon-aware scheduling can be applied in two dimensions: temporal (running a workload at a different time in the same location when carbon intensity is lower) and spatial (running a workload in a different cloud region that has lower carbon intensity). Spatial shifting is particularly powerful for cloud workloads: a batch job that can run in either a coal-intensive region or a hydro-powered region should be routed to the hydro-powered region. The Green Software Foundation's Carbon Aware SDK provides libraries that implement both approaches.
At home
The carbon saving from carbon-aware scheduling depends on the variability of the electricity grid. Grids with high renewable penetration and significant variability (Ireland, California, Germany) offer more opportunity for carbon-aware scheduling because the carbon intensity swings widely between periods of high and low renewable generation. Grids that are predominantly fossil fuel based offer less opportunity because carbon intensity is uniformly high. As renewable penetration increases globally, the potential benefit of carbon-aware scheduling increases.
At work
From a practitioner standpoint, implementing carbon-aware scheduling for cloud workloads requires minimal architectural change for batch workloads: add a scheduling layer that queries the cloud provider's carbon intensity API, ranks available regions or time windows by carbon intensity, and routes or delays the workload accordingly. The Green Software Foundation's Carbon Aware SDK provides open-source libraries implementing this pattern. Start with the highest-volume flexible workloads (AI training, large-scale data processing) where even a modest percentage carbon reduction has significant absolute impact.
Real-world examples
At home
Marcus noticed that his laptop (running Windows 11) downloads and installs Windows updates during periods of lower-carbon electricity when possible. In Windows Update settings he saw a note explaining that Windows tries to schedule updates for times when lower-carbon electricity is available, so his system was timing installations for when the grid was greener.
At work
A video streaming platform ran overnight transcoding jobs to convert uploaded videos into multiple quality formats. By integrating the Electricity Maps API into their job scheduling system, they shifted transcoding jobs from 11pm (when the UK grid still leaned on gas power) to 2-4am (when overnight wind typically increased renewable generation). Their estimated annual carbon saving from the transcoding workload was 12 tonnes CO2e.
Common confusions
- Carbon-aware scheduling does not reduce the total amount of computing performed: it reduces the carbon emitted per unit of computing. The total compute, the total cost, and the total output are the same; what changes is when (or where) the compute happens. This means carbon-aware scheduling works only for flexible workloads: real-time applications that must respond immediately cannot be deferred.
- Carbon-aware scheduling requires real-time data to be effective. Using yesterday's average carbon intensity (or assuming certain times are always green) is much less effective than using current or forecast data that reflects actual grid conditions. Electricity grids are unpredictable: a sunny day in winter can make solar abundant at unexpected times, while a wind drought can reduce renewable availability in normally windy regions.
- The carbon saving from carbon-aware scheduling is additive to, not a substitute for, other carbon reduction measures. A workload running at the greenest time in a coal-heavy region still has a significant carbon footprint. Carbon-aware scheduling reduces the footprint relative to unscheduled execution but cannot achieve the same result as running in a genuinely renewable-powered region. Combining region selection, renewable energy sourcing, and carbon-aware scheduling provides the greatest cumulative reduction.
For analysts
In BA artefacts, carbon-aware scheduling requirements surface when designing batch processing systems, AI infrastructure, or any workflow with flexible timing. Document as an NFR: 'Non-real-time batch workloads (AI training, data pipeline runs, report generation) must implement carbon-aware scheduling using the cloud provider's carbon intensity API or the Green Software Foundation Carbon Aware SDK. Workloads must be routed to or timed for the available region or time window with the lowest forecast carbon intensity, within the constraint of completing before [business deadline]. Actual vs. carbon-aware carbon intensity must be logged per job to support carbon reporting.' This makes carbon-aware scheduling a measurable, auditable practice.
History & origin
Carbon-aware computing was proposed by researchers as early as 2010 as a potential approach to reduce data centre carbon footprints. Practical implementation began with the availability of real-time grid carbon intensity data: Electricity Maps (launched in 2016) and WattTime (founded 2015) made grid carbon intensity data available as APIs. The Green Software Foundation formalized carbon-aware software development practices and published the Carbon Aware SDK in 2022. Microsoft adopted carbon-aware scheduling for Windows Update downloads and app installation in 2022. Google's 24/7 Carbon-Free Energy commitment drives carbon-aware workload scheduling across its own operations.