Search papers, labs, and topics across Lattice.
The paper introduces "stream functions," a novel extension to the Function-as-a-Service (FaaS) model designed for short-running, lightweight streams requiring stateful processing. Stream functions utilize an iterator-based interface to process streams, enabling inter-event logic while maintaining serverless elasticity and scale-to-zero capabilities. Evaluation in a video-processing use case demonstrates a ~99% reduction in processing overhead compared to a traditional stream processing engine, offering comparable performance to serverless functions with stream semantics.
Stream functions slash processing overhead by 99% for short-running streams, finally making serverless practical for stateful, event-driven micro-batch workloads.
Serverless computing and stream processing represent two dominant paradigms for event-driven data processing, yet both make assumptions that render them inefficient for short-running, lightweight, and unpredictable streams that require stateful processing. We propose stream functions as a novel extension of the Function-as-a-Serivce model that treat short streams as the unit of execution, state, and scaling. Stream functions process streams via an iterator-based interface, enabling seamless inter-event logic while retaining the elasticity and scale-to-zero capabilities offered by serverless platforms. Our evaluation shows that stream functions reduce the processing overhead by ~99 % compared to a mature stream process- ing engine in a video-processing use case. By providing comparable performance to serverless functions with stream semantics, stream functions provide an effective and efficient abstractions for a class of workloads underserved by existing models.