Cloudburst: Stateful Functions-as-a-Service
arXiv:2001.04592 · doi:10.14778/3407790.3407836
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.
References in corpus (8)
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
- Serverless Computing: One Step Forward, Two Steps Back
- numpywren: serverless linear algebra
- Serverless Computing: Current Trends and Open Problems
- Occupy the Cloud: Distributed Computing for the 99%
- Archipelago: A Scalable Low-Latency Serverless Platform
- The End of a Myth: Distributed Transactions Can Scale
- Starling: A Scalable Query Engine on Cloud Function Services
Cited by in corpus (26)
- The Serverless Computing Survey: A Technical Primer for Design Architecture
- AuctionWhisk: Using an Auction-Inspired Approach for Function Placement in Serverless Fog Platforms
- Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing
- funcX: Federated Function as a Service for Science
- Serverless Data Science -- Are We There Yet? A Case Study of Model Serving
- A Serverless Cloud-Fog Platform for DNN-Based Video Analytics with Incremental Learning
- Implementing a scalable and elastic computing environment based on Cloud Containers
- Efficiency in the Serverless Cloud Paradigm: A Survey on the Reusing and Approximation Aspects
- Dirigent: Lightweight Serverless Orchestration
- CWASI: A WebAssembly Runtime Shim for Inter-function Communication in the Serverless Edge-Cloud Continuum
- Faa$T: A Transparent Auto-Scaling Cache for Serverless Applications
- Serverless Workflows with Durable Functions and Netherite
- A FaaS File System for Serverless Computing
- Stateful Function-as-a-Service at the Edge
- IPA: Inference Pipeline Adaptation to Achieve High Accuracy and Cost-Efficiency
- Truffle: Efficient Data Passing for Data-Intensive Serverless Workflows in the Edge-Cloud Continuum
- Fifer: Tackling Underutilization in the Serverless Era
- Optimizing Prediction Serving on Low-Latency Serverless Dataflow
- GoldFish: Serverless Actors with Short-Term Memory State for the Edge-Cloud Continuum
- FaaSKeeper: Learning from Building Serverless Services with ZooKeeper as an Example
- Styx: Transactional Stateful Functions on Streaming Dataflows
- A Prototype of Serverless Lucene
- Transactional Cloud Applications: Status Quo, Challenges, and Opportunities
- Cost- and QoS-Efficient Serverless Cloud Computing
- New Directions in Cloud Programming
- Fault-tolerant and Transactional Stateful Serverless Workflows (extended version)