Carbon Containers: A System-level Facility for Managing Application-level Carbon Emissions

John Thiede,Noman Bashir,David Irwin,Prashant Shenoy
DOI: https://doi.org/10.1145/3620678.3624644
2023-09-26
Abstract:To reduce their environmental impact, cloud datacenters' are increasingly focused on optimizing applications' carbon-efficiency, or work done per mass of carbon emitted. To facilitate such optimizations, we present Carbon Containers, a simple system-level facility, which extends prior work on power containers, that automatically regulates applications' carbon emissions in response to variations in both their workload's intensity and their energy's carbon-intensity. Specifically, \carbonContainerS enable applications to specify a maximum carbon emissions rate (in g$\cdot$CO$_2$e/hr), and then transparently enforce this rate via a combination of vertical scaling, container migration, and suspend/resume while maximizing either energy-efficiency or performance. Carbon Containers are especially useful for applications that i) must continue running even during high-carbon periods, and ii) execute in regions with few variations in carbon-intensity. These low-variability regions also tend to have high average carbon-intensity, which increases the importance of regulating carbon emissions. We implement a Carbon Containers prototype by extending Linux Containers to incorporate the mechanisms above and evaluate it using real workload traces and carbon-intensity data from multiple regions. We compare Carbon Containers with prior work that regulates carbon emissions by suspending/resuming applications during high/low carbon periods. We show that Carbon Containers are more carbon-efficient and improve performance while maintaining similar carbon emissions.
Distributed, Parallel, and Cluster Computing,Emerging Technologies,Operating Systems,Performance,Systems and Control
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to manage application - level carbon emissions in cloud data centers. Specifically, with the growth of cloud computing demand, the energy consumption of data centers is also increasing, which has led to a greater impact on the environment, especially an increase in carbon emissions. Therefore, how to optimize the carbon efficiency of applications, that is, the amount of work completed per unit of carbon emissions, without sacrificing performance has become an important research direction. The paper proposes a system - level facility named **Carbon Containers**, which aims to control the carbon emissions of applications by automatically adjusting the resource allocation of applications in response to changes in workload intensity and energy carbon intensity. Carbon Containers allows applications to specify a maximum carbon emission rate (in g·CO₂e/hr) and transparently enforce this limit through vertical scaling, container migration, and pause / resume operations while maximizing energy efficiency or performance. **The main problems to be solved include: ** 1. **Requirements of continuously running applications during high - carbon periods: ** Some applications must run continuously, even during high - carbon emission periods. These applications cannot be simply paused to reduce carbon emissions, so a method is needed to dynamically adjust their resource use to adapt to changes in carbon intensity. 2. **Carbon management in areas with low variability: ** In many high - carbon emission areas, due to a single energy structure, the carbon intensity changes are small, making traditional time - and space - based scheduling strategies (such as pause / resume and cross - regional migration) less effective. Carbon Containers can effectively manage carbon emissions in these areas by adjusting resource allocation. 3. **Improving energy efficiency and performance: ** While ensuring carbon emission targets, Carbon Containers also aims to minimize the impact on application performance, ensuring that applications can still operate efficiently when carbon emissions are restricted. In summary, through the introduction of Carbon Containers, the paper provides a flexible and transparent tool for managing and optimizing the carbon emissions of applications under different workload intensity and energy carbon intensity change conditions, especially in those high - carbon emission areas with small carbon intensity changes.