GreenCourier: Carbon-Aware Scheduling for Serverless Functions
Metadane
- Autorzy: Mohak Chadha, Thandayuthapani Subramanian, Eishi Arima, Michael Gerndt, Martin Schulz, Osama Abboud
- Rok: 2023
- Źródło: 9th International Workshop on Serverless Computing (WoSC ‘23), December 11–15, 2023, Bologna, Italy. ACM.
- DOI: 10.1145/3631295.3631396
- arXiv: 2310.20375
- PDF: https://arxiv.org/pdf/2310.20375v1
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: Serverless Computing, Carbon-Aware Computing, Green Cloud, Scheduling
- Tagi:
#serverless#carbon-aware#scheduling#green-computing#kubernetes#knative#faas#sustainability#project:js-runtime-energy
Streszczenie
GreenCourier to framework schedulowania serverless funkcji między geograficznie rozproszonymi regionami w oparciu o ich efektywność węglową (carbon efficiency). System integruje się z Kubernetes/Knative i używa rzeczywistych danych o emisji węgla (WattTime, Carbon-aware SDK) do dynamicznego wyboru regionu o najniższej intensywności węglowej w danym momencie.
Wyniki: GreenCourier redukuje emisję CO₂ per wywołanie funkcji o średnio 13.25% w porównaniu z innymi podejściami, testowane na Google Kubernetes Engine między Hiszpanią, Francją, Belgią i Holandią.
Kluczowe Wnioski
- Intensywność węglowa sieci elektrycznej znacznie różni się geograficznie i w czasie
- Dynamiczne schedulowanie funkcji serverless może redukować carbon footprint o ~13.25% bez zmiany kodu
- WattTime i Carbon-aware SDK umożliwiają real-time carbon intensity data
- Overhead schedulowania GreenCourier jest nieznaczny (milisekundy)
- Obecne platformy FaaS (AWS, GCP, Azure) ignorują carbon intensity przy schedulowaniu
- 50% energii datacenterów jest zużywane przez idle resources — serverless może to zmniejszyć
Metodologia
- Platforma: Google Kubernetes Engine (GKE) — wieloregionalne klastry
- FaaS: Knative (open-source serverless na Kubernetes)
- Multi-cluster: Liqo (open-source tool do federacji K8s klastrów)
- Carbon data: WattTime API (default) + Carbon-aware SDK
- Traces: produkcyjne traces funkcji serverless (z Azure FaaS dataset)
- Regiony testowe: Hiszpania, Francja, Belgia, Holandia
- Metryki: carbon emissions per invocation, response time, scheduling overhead
Główne Koncepcje
- Carbon intensity: gCO₂eq/kWh — ilość CO₂ emitowana na kWh energii elektrycznej (zależy od miksu energetycznego)
- MOER (Marginal Operating Emission Rate): emisja marginalnego źródła energii — bardziej precyzyjna niż average
- WattTime: serwis dostarczający real-time i forecast data MOER dla różnych regionów
- Carbon-aware SDK: Microsoft/Green Software Foundation SDK do carbon-aware computing
- Knative: Kubernetes-native serverless platform, używany w produkcji przez Google
Wyniki
- Redukcja emisji: 13.25% średnio vs. inne strategie
- Bez wpływu na czasy odpowiedzi (overhead schedulowania <1%)
- Największe oszczędności gdy różnica carbon intensity między regionami jest duża (wieczór vs południe)
- Ograniczenie: opóźnienie sieciowe między regionami nie jest uwzględniane
Przydatne Cytaty
“GreenCourier reduces carbon emissions per function invocation by an average of 13.25%.” (Abstract)
“Datacenters worldwide consumed 205 TWh of electricity in 2018, exceeding the annual electricity consumption of countries such as Ireland and Luxembourg.” (Section 1)
“Serverless Computing has the potential to reduce wasted energy consumption from resource idling and resource underutilization in datacenters.” (Section 1)
Datasety
- Azure FaaS production traces (publiczny): https://github.com/Azure/AzurePublicDataset
- WattTime API (carbon intensity data)
- Kod GreenCourier: https://github.com/kky-fury/carbon-sched
Powiązane Tematy
- Rozszerzenie: uwzględnienie runtime-awareness (#JE-7)
- Metodologia energy measurement serverless (Kiener 2021, Li 2019)
- Carbon footprint JS ecosystem (#JE-5)
- Pereira 2017/2021 (energia języków jako komplementarne podejście)