Universal Workers: A Vision for Eliminating Cold Starts in Serverless Computing
Saman Akbari, Manfred Hauswirth
TL;DR
This work tackles the cold-start problem in serverless computing by proposing universal workers that can execute any function with minimal initialization. It leverages the skew in function popularity through locality groups and a three-tier caching hierarchy to approximate a universal executor, reducing cold-start latency across diverse workloads. The approach includes a graph-based locality clustering method and Linux-based cache mechanisms, with evaluation on four production traces showing substantial cache-hit rates and practical memory considerations. If deployed, this could significantly improve FaaS scalability and throughput, with open-source implementation planned for broader adoption.
Abstract
Serverless computing enables developers to deploy code without managing infrastructure, but suffers from cold start overhead when initializing new function instances. Existing solutions such as "keep-alive" or "pre-warming" are costly and unreliable under bursty workloads. We propose universal workers, which are computational units capable of executing any function with minimal initialization overhead. Based on an analysis of production workload traces, our key insight is that requests in Function-as-a-Service (FaaS) platforms show a highly skewed distribution, with most requests invoking a small subset of functions. We exploit this observation to approximate universal workers through locality groups and three-tier caching (handler, install, import). With this work, we aim to enable more efficient and scalable FaaS platforms capable of handling diverse workloads with minimal initialization overhead.
