Carbon- and Precedence-Aware Scheduling for Data Processing Clusters
Adam Lechowicz, Rohan Shenoy, Noman Bashir, Mohammad Hajiesmaili, Adam Wierman, Christina Delimitrou
TL;DR
This work tackles the carbon footprint of data processing by integrating time-varying carbon intensity with the precedence-driven structure of DAG-based workloads. It introduces PCAPS, a carbon-aware scheduler that leverages task importance within a probabilistic DAG scheduling framework, and CAP, a provisioning-based wrapper compatible with any underlying scheduler. The authors provide theoretical analyses, including the Carbon Stretch Factor and carbon-savings bounds, and validate the approach through both a 100-node Spark-on-Kubernetes prototype and a high-fidelity Spark simulator, showing substantial carbon reductions with modest increases in end-to-end throughput. The results indicate that coupling carbon-aware decisions with DAG structure yields meaningful reductions in carbon footprints in realistic grid environments, offering a practical path toward greener data-processing clusters. Overall, PCAPS demonstrates a principled, tunable balance between carbon reduction and job completion time, while CAP offers an easier-to-implement option with strong, broadly applicable benefits.
Abstract
As large-scale data processing workloads continue to grow, their carbon footprint raises concerns. Prior research on carbon-aware schedulers has focused on shifting computation to align with availability of low-carbon energy, but these approaches assume that each task can be executed independently. In contrast, data processing jobs have precedence constraints (i.e., outputs of one task are inputs for another) that complicate decisions, since delaying an upstream ``bottleneck'' task to a low-carbon period will also block downstream tasks, impacting the entire job's completion time. In this paper, we show that carbon-aware scheduling for data processing benefits from knowledge of both time-varying carbon and precedence constraints. Our main contribution is $\texttt{PCAPS}$, a carbon-aware scheduler that interfaces with modern ML scheduling policies to explicitly consider the precedence-driven importance of each task in addition to carbon. To illustrate the gains due to fine-grained task information, we also study $\texttt{CAP}$, a wrapper for any carbon-agnostic scheduler that adapts the key provisioning ideas of $\texttt{PCAPS}$. Our schedulers enable a configurable priority between carbon reduction and job completion time, and we give analytical results characterizing the trade-off between the two. Furthermore, our Spark prototype on a 100-node Kubernetes cluster shows that a moderate configuration of $\texttt{PCAPS}$ reduces carbon footprint by up to 32.9% without significantly impacting the cluster's total efficiency.
