Stateful Serverless Computing with Crucial
Team work: Pierre Sutra presented "Stateful Serverless Computing with Crucial" at 4A312 the 15/10/2021 at 10h30.
Serverless computing greatly simplifies the use of cloud resources. In particular, Function-as-a-Service (FaaS) platforms enable programmers to develop applications as individual functions that can run and scale independently. Unfortunately, applications that require fine-grained support for mutable state and synchronization, such as machine learning (ML) and scientific computing, are notoriously hard to build with this new paradigm. This talk presents Crucial, a system that aims at bridging this gap and simplify the programming of highly-parallel stateful serverless applications. Crucial retains the simplicity of serverless computing. It is built upon the key insight that FaaS resembles to concurrent programming at the scale of a datacenter. Accordingly, a distributed shared memory layer is the natural answer to the needs for fine-grained state management and synchronization. Crucial allows to port effortlessly a multi-threaded code base to serverless, where it can benefit from the scalability and pay-per-use model of FaaS platforms. We validate Crucial with the help of micro-benchmarks and by considering various stateful applications. Beyond classical parallel tasks (e.g., a Monte Carlo simulation), these applications include representative ML algorithms such as k-means and logistic regression. Our evaluation shows that Crucial obtains superior or comparable performance to Apache Spark at similar cost (18-40% faster). We also use our framework to port (part of) a state-of-the-art multi-threaded ML library to serverless. The ported application is up to 30% faster than with a dedicated high-end server. Crucial brings all these benefits with less than 6% of changes in the code bases of the evaluated applications.
- Ewa Turska presented "Improving parallel performance of ensemble learners for streaming data through data locality with mini-batching" (HPCC'20) at 4A312 the 17/6/2022 at 10h30
- Timothée ZERBIB presented "Exokernel: an operating system architecture for application-level resource management" (OS Review'95) at 4a312 the 17/6/2022 at 10h00
- Damien Thenot presented "Revisiting storage virtualization for modern devices" at 4A312 the 20/5/2022 at 10h00
- New paper “Why Globally Re-shuffle? Revisiting Data Shuffling in Large Scale Deep Learning” to be presented at IPDPS’22.
- New paper “J-NVM: Off-heap Persistent Objects in Java” to be presented at SOSP’21
- New paper “Montsalvat: Intel SGX Shielding for GraalVM Native Images” to be presented at Middleware’21
- New paper “The Serverless Shell” to be presented at Middleware’21
- New paper “Highly-available and consistent group collaboration at the edge with Colony” to be presented at Middleware’21