On the FaaS Track: Building Stateful Distributed Applications with Serverless Architectures - Archive ouverte HAL Accéder directement au contenu
Proceedings/Recueil Des Communications Année : 2019

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

Résumé

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: k-means clustering and logistic regression. For both cases, Crucial obtains superior or comparable performance to an equivalent Spark cluster.

Dates et versions

hal-04251868 , version 1 (20-10-2023)

Identifiants

Citer

Daniel Barcelona-Pons, Marc Sánchez-Artigas, Gerard París, Pierre Sutra, Pedro García-López. On the FaaS Track: Building Stateful Distributed Applications with Serverless Architectures. ACM, pp.41-54, 2019, ⟨10.1145/3361525.3361535⟩. ⟨hal-04251868⟩
12 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More