  This paper presents GreenCourier, a novel scheduling framework that enables
the runtime scheduling of serverless functions across geographically
distributed regions based on their carbon efficiencies. Our framework
incorporates an intelligent scheduling strategy for Kubernetes and supports
Knative as the serverless platform. To obtain real-time carbon information for
different geographical regions, our framework supports multiple marginal carbon
emissions sources such as WattTime and the Carbon-aware SDK. We comprehensively
evaluate the performance of our framework using the Google Kubernetes Engine
and production serverless function traces for scheduling functions across
Spain, France, Belgium, and the Netherlands. Results from our experiments show
that compared to other approaches, GreenCourier reduces carbon emissions per
function invocation by an average of 13.25%.
