Published December 9, 2019 | Version v1

On the FaaS Track: Building Stateful Distributed Applications with Serverless Architectures

  • 1. Universitat Rovira i Virgili
  • 2. TĂ©lĂ©com SudParis

Description

Serverless computing is an emerging paradigm that greatly simplifies the usage of cloud resources and suits well to many tasks. Most notably, Function-as-a-Service (FaaS) enables programmers to develop cloud applications as individual functions that can run and scale independently. Yet, due to the disaggregation of storage and compute resources in FaaS, applications that require fine-grained support for mutable state and synchronization, such as machine learning and scientific computing, are hard to build.


In this work, we present Crucial, a system to program highly-concurrent stateful applications with serverless architectures. Its programming model keeps the simplicity of FaaS and allows to port effortlessly multi-threaded algorithms to this new environment. Crucial is built upon the key insight that FaaS resembles to concurrent programming at the scale of a data center. As a consequence, a distributed shared memory layer is the right answer to the need for fine-grained state management and coordination in serverless. We validate our system with the help of micro-benchmarks and various applications. In particular, we implement two common
machine learning algorithms: 𝑘-means clustering and logistic regression. For both cases, Crucial obtains superior or comparable performance to an equivalent Spark cluster.

Files

crucial.pdf

Files (1.0 MB)

Name Size Download all
md5:0d099ca8b2c3341875c5612c4754cafe
1.0 MB Preview Download

Additional details

Funding

European Commission
CloudButton - Serverless Data Analytics Platform 825184