Cloudburst: Stateful Functions-as-a-Service (2001.04592v3)
Abstract: Function-as-a-Service (FaaS) platforms and "serverless" cloud computing are becoming increasingly popular. Current FaaS offerings are targeted at stateless functions that do minimal I/O and communication. We argue that the benefits of serverless computing can be extended to a broader range of applications and algorithms. We present the design and implementation of Cloudburst, a stateful FaaS platform that provides familiar Python programming with low-latency mutable state and communication, while maintaining the autoscaling benefits of serverless computing. Cloudburst accomplishes this by leveraging Anna, an autoscaling key-value store, for state sharing and overlay routing combined with mutable caches co-located with function executors for data locality. Performant cache consistency emerges as a key challenge in this architecture. To this end, Cloudburst provides a combination of lattice-encapsulated state and new definitions and protocols for distributed session consistency. Empirical results on benchmarks and diverse applications show that Cloudburst makes stateful functions practical, reducing the state-management overheads of current FaaS platforms by orders of magnitude while also improving the state of the art in serverless consistency.
- Vikram Sreekanti (7 papers)
- Chenggang Wu (18 papers)
- Xiayue Charles Lin (1 paper)
- Johann Schleier-Smith (6 papers)
- Jose M. Faleiro (6 papers)
- Joseph E. Gonzalez (167 papers)
- Joseph M. Hellerstein (48 papers)
- Alexey Tumanov (30 papers)