Cold Start Latency in Serverless Computing: A Systematic Review, Taxonomy, and Future Directions
Metadane
- Autorzy: Muhammed Golec, Guneet Kaur Walia, Mohit Kumar, Felix Cuadrado, Sukhpal Singh Gill, Steve Uhlig
- Rok: 2024
- Źródło: ACM Computing Surveys (pierwotnie arXiv 2023)
- DOI: 10.1145/3700875
- arXiv: 2310.08437
- PDF: https://arxiv.org/pdf/2310.08437v2
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: Serverless Computing, Cold Start, Survey, FaaS
- Tagi:
#serverless#cold-start#survey#faas#latency#performance#taxonomy#project:js-runtime-energy
Streszczenie
Systematyczny przegląd literatury na temat problemu cold start w serverless computing. Autorzy tworzą szczegółową taksonomię podejść do redukcji cold start latency i klasyfikują istniejące techniki. Przegląd obejmuje rozwiązania oparte na caching, optymalizacji aplikacji (code loading), AI/ML-based prediction oraz infrastrukturalne (snapshot, container reuse).
Kluczowy dla projektu: cold start = główny overhead energetyczny serverless. Praca identyfikuje otwarte problemy i kierunki badań — wśród nich brak systematycznej analizy energetycznego kosztu cold start.
Kluczowe Wnioski
- Cold start latency to główna nierozwiązana kwestia w serverless computing
- Klasyfikacja technik: (1) Caching/pre-warming, (2) Application-level optimization, (3) AI/ML-based prediction, (4) Runtime/snapshot-based
- Nie analizuje kosztu energetycznego cold start — otwarta luka (#JE-6)
- Techniki redukcji cold start często zwiększają zużycie zasobów (warm pool = idle consumption)
- JavaScript/Node.js ma relatywnie duży cold start ze względu na rozmiar V8 runtime
- WebAssembly jest obiecującą alternatywą zmniejszającą cold start
Metodologia (przeglądu)
- Protokół: Systematic Literature Review (PRISMA lub podobny)
- Źródła: ACM DL, IEEE Xplore, arXiv, Google Scholar
- Zakres: 2014–2023
- Klasyfikacja: taksonomia podejść do cold start reduction
Główne Koncepcje
- Cold start: opóźnienie między wywołaniem funkcji a gotowością do obsługi — obejmuje: uruchomienie kontenera, inicjalizację runtime, załadowanie kodu
- Warm start: funkcja już zainicjalizowana w pamięci (container reuse)
- Keep-warm: technika utrzymywania funkcji aktywnej przez periodyczne wywołania (trade-off: idle energy)
- Pre-warming: proaktywne uruchamianie kontenerów przed spodziewanym wywołaniem (ML-predicted)
- Snapshot: zapisanie stanu zainicjalizowanego kontenera/runtime do szybkiego przywrócenia
Wyniki
- Najskuteczniejsze techniki redukcji cold start: snapshot (SEUSS, Prebaking) > container reuse > caching
- ML-based prediction: 80-90% trafność w przewidywaniu cold start events
- WebAssembly: -16% cold start vs kontenery (AoT-compiled)
- JavaScript runtime (Node.js): ~500ms–2s cold start na typowych platformach (AWS Lambda)
Przydatne Cytaty
“Cold start latency remains an unresolved research area despite extensive research.” (Abstract)
“AI/ML-based solutions show promise for predicting and mitigating cold start occurrences.” (Section 4)
Datasety
- Azure Functions traces (publiczny: Azure Public Dataset)
- Alibaba Function Compute traces
- Własne eksperymenty na AWS Lambda, Google Cloud Functions, OpenWhisk
Powiązane Tematy
- Cold start energia (#JE-6): energetyczny koszt cold start = otwarty gap
- Lumos (Marcelino 2025) — Wasm zmniejsza cold start
- Serverless performance (Li 2019)
- Kiener 2021 (intra-function parallelism w serverless)