Serverless Abstractions for Short-Running, Lightweight Streams
Metadane
- Autorzy: Natalie Carl, Niklas Kowallik, Constantin Stahl, Trever Schirmer, Tobias Pfandzelter, David Bermbach
- Rok: 2026
- Źródło: arXiv preprint (Technische Universität Berlin, 3S group)
- arXiv: 2603.03089
- PDF: https://arxiv.org/pdf/2603.03089v1
- Status: to-read
- Kategoria główna: Systems
- Podkategorie: Serverless Computing, Stream Processing, FaaS
- Tagi:
#serverless#faas#stream-processing#stateful#performance#project:js-runtime-energy
Streszczenie
Praca identyfikuje klasę workloadów nieobsługiwanych efektywnie ani przez serverless (stateless FaaS) ani przez stream processing (zakłada długotrwałe strumienie): krótkie, lekkie, nieprzewidywalne strumienie wymagające stanu. Autorzy proponują abstrakcję “stream functions” jako rozszerzenie FaaS, gdzie krótki strumień jest jednostką wykonania, stanu i skalowania.
Ewaluacja na video processing use case: stream functions redukują overhead o ~99% w porównaniu z dojrzałymi silnikami stream processing.
Kluczowe Wnioski
- FaaS + stream processing mają wzajemnie wykluczające się założenia dla pewnej klasy workloadów
- Stream functions: nowa abstrakcja — strumień jako jednostka (nie event, nie long-running process)
- Iterator-based interface: umożliwia inter-event logic przy zachowaniu stateless semantics FaaS
- ~99% redukcja overhead vs dojrzały silnik stream (Apache Kafka)
- Zachowuje elastyczność i scale-to-zero serverless
- Kontekst JS: JavaScript jest dominującym językiem dla serverless stream processing
Metodologia
- Use case: video processing pipeline (frame-by-frame)
- Porównanie: stream functions vs Apache Kafka Streams (mature stream engine) vs vanilla FaaS
- Metryki: processing overhead, latencja, throughput, resource utilization
- Implementacja: prototyp stream functions na OpenWhisk + Node.js
Główne Koncepcje
- Stream function: funkcja FaaS przetwarzająca sekwencję powiązanych eventów jako jeden job
- Iterator interface: API do przetwarzania elementów strumienia jeden po drugim z dostępem do stanu
- Scale-to-zero: serverless property — brak ruchu = brak zasobów = brak kosztów/energii
- Stateful processing: zachowanie stanu między eventami w strumieniu (trudne w stateless FaaS)
Wyniki
- Stream functions vs Kafka: ~99% mniejszy overhead dla krótkich, lekkich strumieni
- Porównywalna wydajność z FaaS dla single-event processing
- Dodatkowe możliwości: inter-event state, batch processing w ramach strumienia
Przydatne Cytaty
“Stream functions reduce the processing overhead by ~99% compared to a mature stream processing engine in a video-processing use case.” (Abstract)
“Stream functions provide an effective and efficient abstraction for a class of workloads underserved by existing models.” (Abstract)
Datasety
- Własne video processing workload
Powiązane Tematy
- Serverless performance (Li 2019, Kiener 2021)
- Implikacje energetyczne stateful stream processing w serverless
- Node.js jako runtime dla serverless streams