Safe and Fast Serverless

The goal of this project is to make serverless more efficient, extend it to handle state, and deal with crashes and concurrency. We think serverless is an ideal abstraction and we aim to get serverless to run anywhere and everywhere!

Team

Projects

Quilt

Quilt: Resource-aware Merging of Serverless Workflows

Quilt is a system that merges serverless functions in a workflow to reduce invocation latency between functions. It works by leveraging LLVM and merging all functions into the same process, turning remote requests into function calls.

Trim

𝝀-trim: Optimizing Function Initialization in Serverless Applications With Cost-driven Debloating

𝝀-trim reduces the performance and financial cost of serverless cold starts by eliminating the reduntant code that exists in libraries that serverless functions import. This makes functions start up significantly faster.

CausalMesh

CausalMesh: A Causal Cache for Stateful Serverless Computing

CausalMesh adds a caching layer to serverless to improve the performance of stateful functions while ensuring that all state operations act on a consistent view.

MuCache

MuCache: A General Framework for Caching in Microservice Graphs

MuCache introduces the first automated request and response caching system for microservices. By enabling MuCache, microservice applications can significantly reduce their load and improve the request processing time without introducing inconsistencies.

mu2sls

mu2sls: Executing Microservice Applications on Serverless, Correctly

mu2sls gives the first formal specification of stateful serverless functions and gives a generic transformation that can take a stateful microservice application and convert it into a stateful serverless workflow.

beldi

Beldi: Fault-tolerant and Transactional Stateful Serverless Workflows

Beldi was the project that started it all. It was the first project to incorporate state into serverless functions while accounting for crashes and concurrency.