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

Notatki

Elementów w folderze: 0.