🤖 AI Summary
This work addresses the inefficiency of traditional Function-as-a-Service (FaaS) platforms in supporting low-latency stream processing, primarily due to their stateless nature and centralized orchestration. To overcome these limitations, the authors propose a serverless runtime tailored for stream processing, where pipeline stages are modeled as long-lived WebAssembly components. Efficient event transmission is achieved through agentless, direct ZeroMQ communication coupled with a credit-based sliding window mechanism. Each stage independently scales elastically based on queue-depth service-level objectives (SLOs). By integrating Ahead-of-Time (AOT) compilation, the system reduces cold-start latency to sub-millisecond levels and achieves up to a 4.3× throughput improvement per node, significantly outperforming existing FaaS platforms such as Apache OpenWhisk.
📝 Abstract
While serverless computing is popular, its dominant Function-as-a-Service (FaaS) model is ill-suited for stream processing because its stateless, centrally orchestrated functions cannot efficiently handle continuous, low-latency event flows. We introduce Epico, a serverless runtime explicitly designed to resolve these inefficiencies at the runtime level. Epico executes pipeline stages as persistent WebAssembly components, enabling independent, zero-to-infinity autoscaling based on queue-depth SLOs and routing events directly between stages using broker-free ZeroMQ channels. To optimize short execution paths, it utilizes a credit-based sliding window to amortize inter-process communication costs. Evaluations demonstrate that Ahead-of-Time (AOT) compilation reduces cold-start latencies from hundreds of milliseconds to sub-millisecond ranges, while the credit window improves single-worker throughput by up to \(4.3\times\). Compared to Apache OpenWhisk, Epico bypasses the orchestrator bottlenecks and container overheads that typically hinder FaaS streaming workloads.