CWASI: A WebAssembly Runtime Shim for Inter-function Communication in the Serverless Edge-Cloud Continuum
Metadane
- Autorzy: Cynthia Marcelino, Stefan Nastic
- Rok: 2023/2025
- Źródło: 8th ACM/IEEE Symposium on Edge Computing (SEC 2023)
- DOI: 10.1145/3583740.3626611
- arXiv: 2504.21503
- PDF: https://arxiv.org/pdf/2504.21503v1
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: WebAssembly, Serverless, Edge Computing, Communication
- Tagi:
#webassembly#wasm#serverless#edge-computing#inter-function#communication#wasi#project:js-runtime-energy
Streszczenie
CWASI to OCI-compliant runtime shim dla WebAssembly, który optymalizuje komunikację między ko-lokowanymi serverless funkcjami w Edge-Cloud Continuum. Standardowe podejście w Wasm polega na komunikacji przez zdalne usługi (object storage, key-value stores) nawet dla ko-lokowanych funkcji — CWASI eliminuje ten overhead przez wybór optymalnego mechanizmu wymiany danych w zależności od lokalności funkcji.
CWASI redukuje latencję komunikacji między ko-lokowanymi funkcjami o do 95% i zwiększa throughput o do 30×.
Kluczowe Wnioski
- Ko-lokowane Wasm functions domyślnie komunikują się przez zdalne usługi — duży overhead
- CWASI: 3-mode communication model (lokalny shared memory / lokalny IPC / zdalny)
- Redukcja latencji: do 95% dla ko-lokowanych funkcji
- Wzrost throughput: do 30×
- OCI-compliant: działa z istniejącymi container orchestration (K8s)
- Szczególnie ważne dla edge gdzie bandwidth jest ograniczony
Metodologia
- Architektura: shim pomiędzy WASI a runtimem, intercepts syscalls i przekierowuje przez optymalną ścieżkę
- 3 tryby: (1) shared memory (same host), (2) local IPC (same node, different container), (3) remote (different node)
- Ewaluacja: synthetic benchmarks + real-world workflows na edge nodes
- Metryki: latencja komunikacji, throughput, overhead shim
Główne Koncepcje
- Runtime Shim: warstwa pośrednia między aplikacją a runtimem — może intercept/modify calls
- OCI (Open Container Initiative): standard dla container images i runtimes — zapewnia kompatybilność
- Ko-lokowane funkcje: funkcje uruchomione na tym samym hoście — mogą współdzielić pamięć
- WASI networking: standard Wasm dla dostępu sieciowego — przez system calls
Wyniki
| Komunikacja | Bez CWASI | Z CWASI | Poprawa |
|---|---|---|---|
| Ko-lokowane (same host) | ~100ms (przez object store) | ~5ms (shared memory) | 95% szybciej |
| Throughput | baseline | 30× wyższy | 30× |
Przydatne Cytaty
“CWASI reduces the communication latency between the co-located serverless functions by up to 95% and increases the communication throughput by up to 30x.” (Abstract)
Datasety
- Własne eksperymenty na edge nodes
Powiązane Tematy
- Lumos 2025 (ten sam zespół — performance model Wasm)
- Besozzi 2025 (Wasm vs unikernels)
- Colosi 2025 (Wasm workflows)
- Implikacje energetyczne: mniej sieciowych wywołań = mniej energii (#JE-4)