Towards Demystifying Intra-Function Parallelism in Serverless Computing
Metadane
- Autorzy: Michael Kiener, Mohak Chadha, Michael Gerndt
- Rok: 2021
- Źródło: arXiv preprint / konferencja (TU München)
- arXiv: 2110.12090
- PDF: https://arxiv.org/pdf/2110.12090v3
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: Serverless Computing, Parallelism, Performance, Cost Optimization
- Tagi:
#serverless#faas#parallelism#performance#cost-optimization#aws-lambda#google-cloud#vcpu#project:js-runtime-energy
Streszczenie
Praca analizuje wpływ zrównoleglenia wewnątrz jednej funkcji (intra-function parallelism) na wydajność i koszty w AWS Lambda, Google Cloud Functions (GCF) i Google Cloud Run (GCR). Autorzy badają korelację między alokowanymi vCPU a dostępnymi rdzeniami CPU i pokazują, że użytkownicy często nie wiedzą, że muszą zrównoleglić kod by skorzystać z dodatkowych vCPU.
Kontekst dla JE-1: zrozumienie jak serverless platforms alokują CPU i jak to wpływa na pomiary energii. vCPU != fizyczny rdzeń — implikacje dla RAPL.
Kluczowe Wnioski
- Liczba dostępnych rdzeni nie zawsze równa się liczbie alokowanych vCPU
- Bez zrównoleglenia: dodatkowe vCPU (i wyższa cena) nie przekładają się na wydajność
- Zrównoleglenie może przynieść oszczędności kosztów do 81% na AWS Lambda
- Różnice między platformami: AWS Lambda vs GCF vs GCR różnie eksponują vCPU
- Implikacja dla energii: więcej vCPU = więcej energii nawet przy idle
Metodologia
- Platformy: AWS Lambda, Google Cloud Functions (GCF), Google Cloud Run (GCR)
- Workloady: compute-intensive (matrix multiply, hashing) — dobrze skalują się z paralelizmem
- Metryki: czas wykonania, koszt ($ per invocation), liczba dostępnych rdzeni
- Eksperyment: różne konfiguracje memory/vCPU × różna liczba wątków
Główne Koncepcje
- vCPU (virtual CPU): abstrakcja CPU przydzielana funkcji serverless — może nie odpowiadać 1:1 fizycznemu rdzeniu
- Intra-function parallelism: wątki/procesy wewnątrz jednej funkcji (vs inter-function = wiele instancji)
- Memory-proportional vCPU: AWS Lambda przydziela vCPU proporcjonalnie do skonfigurowanej pamięci
- Cost-performance trade-off: więcej vCPU = wyższy koszt, ale shorter execution time → net savings?
Wyniki
| Platforma | Max oszczędność kosztów | Wymagane wątki |
|---|---|---|
| AWS Lambda | 81% | ~6 wątków |
| GCF | 49% | ~4 wątki |
| GCR | 69.8% | ~8 wątków |
Przydatne Cytaty
“By parallelizing serverless workloads, we observed cost savings up to 81% for AWS Lambda, 49% for GCF, and 69.8% for GCR.” (Abstract)
“The number of available cores to a function/container instance does not always equal the number of allocated vCPUs.” (Abstract)
Datasety
- AWS Lambda, GCF, GCR — commercial platforms (własne eksperymenty)
Powiązane Tematy
- Metodologia pomiarowa (#JE-3): pomiar energii w środowiskach chmurowych
- GreenCourier (Chadha 2023) — ten sam autor, carbon-aware scheduling
- Cold Start Review (Golec 2024)