WebAssembly and Unikernels: A Comparative Study for Serverless at the Edge
Metadane
- Autorzy: Valerio Besozzi, Enrico Fiasco, Marco Danelutto, Patrizio Dazzi
- Rok: 2025
- Źródło: arXiv preprint (Universidade di Pisa + ISTI-CNR)
- arXiv: 2509.09400
- PDF: https://arxiv.org/pdf/2509.09400v1
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: WebAssembly, Serverless, Edge Computing, Unikernels
- Tagi:
#webassembly#wasm#unikernels#serverless#edge-computing#cold-start#firecracker#wasmtime#project:js-runtime-energy
Streszczenie
Praca porównuje WebAssembly i unikernel-based MicroVMs (Firecracker) jako środowiska uruchomieniowe dla serverless workloadów na edge, ze szczególnym uwzględnieniem Urgent Edge Computing (UEC). Autorzy prezentują Limes — runtime WebAssembly zbudowany na Wasmtime — i porównują go z Firecracker-based SPARE. Wyniki pokazują, że Wasm ma mniejszy cold start dla lekkich funkcji, ale słabiej radzi sobie z kompleksowymi zadaniami i I/O-heavy workloadami, gdzie Firecracker jest lepszy.
Kluczowe Wnioski
- Wasm (Limes/Wasmtime): mniejszy cold start dla lightweight functions → lepszy dla prostych funkcji edge
- Firecracker MicroVMs: wyższy, ale stabilny cold start + lepsza wydajność wykonania, szczególnie dla I/O-heavy
- Wasm cierpi z powodu ograniczonego tooling i mniej dojrzałego wsparcia platform
- Trade-off: cold start latency vs execution performance jest kluczowym kryterium wyboru
- Unikernels (Firecracker) zapewniają ABI-level security (lepsza izolacja niż Wasm)
- Dla UEC (Urgent Edge Computing): Wasm preferowany gdy latencja cold start jest krytyczna
Metodologia
- Porównanie: Limes (Wasm na Wasmtime) vs SPARE (Firecracker MicroVM)
- Workloady: lightweight (hello world, math) + complex (JSON processing, image ops)
- Metryki: cold start latency, execution time, throughput
- Środowisko: edge nodes (resource-constrained hardware)
- NIE mierzy energii
Główne Koncepcje
- Unikernel: minimalistyczny kernel specjalizowany dla jednej aplikacji — mniejszy niż pełny OS
- Firecracker: lightweight VMM (Virtual Machine Monitor) od Amazon, używany w AWS Lambda
- MicroVM: mikroskopijne VM (milisekundy uruchamiania), bezpieczeństwo VM, lekkość kontenera
- Urgent Edge Computing (UEC): czas-krytyczne aplikacje na edge (np. autonomous vehicles, disaster response)
- Limes: WebAssembly runtime stworzony przez autorów na bazie Wasmtime
Wyniki
| Cecha | Wasm (Limes) | Firecracker (SPARE) |
|---|---|---|
| Cold start (lightweight) | Lepszy | Gorszy |
| Cold start (complex) | Gorszy | Lepszy |
| Execution (I/O-heavy) | Gorszy | Lepszy |
| Execution (compute) | Porównywalny | Porównywalny |
| Izolacja | WASM sandbox | VM-level |
Przydatne Cytaty
“WebAssembly offers lower cold start times for lightweight functions but suffers with complex workloads, while Firecracker provides higher, but stable, cold starts and better execution performance, particularly for I/O-heavy tasks.” (Abstract)
Datasety
- Własne eksperymenty na edge hardware
Powiązane Tematy
- Lumos (Marcelino 2025) — pełniejszy model wydajnościowy Wasm
- De Macedo 2022 (Wasm vs JS energia)
- Serverless Everywhere (Colosi 2025) — Wasm na browser/edge/cloud
- Gap: brak pomiaru energii Wasm vs Firecracker (#JE-4)