Articles producció científicaEnginyeria Informàtica i Matemàtiques

Stateful Serverless Computing with Crucial

  • Identification data

    Identifier:  imarina:9264742
    Authors:  Barcelona-Pons, Daniel; Sutra, Pierre; Sanchez-Artigas, Marc; Paris, Gerard; Garcia-Lopez, Pedro
    Abstract:
    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. In this work, we aim at bridging this gap. We present Crucial, a system to program 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 Crucial 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. Finally, we attest that Crucial can rival in performance with a single-machine, multi-Threaded implementation of a complex coordination problem. Overall, Crucial delivers all these benefits with less than 6% of changes in the code bases of the evaluated applications.
  • Others:

    Link to the original source: https://dl.acm.org/doi/10.1145/3490386
    APA: Barcelona-Pons, Daniel; Sutra, Pierre; Sanchez-Artigas, Marc; Paris, Gerard; Garcia-Lopez, Pedro (2022). Stateful Serverless Computing with Crucial. Acm Transactions On Software Engineering And Methodology, 31(3), 39-. DOI: 10.1145/3490386
    Paper original source: Acm Transactions On Software Engineering And Methodology. 31 (3): 39-
    Article's DOI: 10.1145/3490386
    Journal publication year: 2022
    Entity: Universitat Rovira i Virgili
    Paper version: info:eu-repo/semantics/publishedVersion
    Record's date: 2025-03-15
    URV's Author/s: Barcelona Pons, Daniel / García López, Pedro Antonio / Sanchez Artigas, Marc
    Department: Enginyeria Informàtica i Matemàtiques
    Licence document URL: https://repositori.urv.cat/ca/proteccio-de-dades/
    Publication Type: Journal Publications
    Author, as appears in the article.: Barcelona-Pons, Daniel; Sutra, Pierre; Sanchez-Artigas, Marc; Paris, Gerard; Garcia-Lopez, Pedro
    licence for use: https://creativecommons.org/licenses/by/3.0/es/
    Thematic Areas: Ciência da computação, Computer science, software engineering, Engenharias iii, Software
    Author's mail: pedro.garcia@urv.cat, marc.sanchez@urv.cat, daniel.barcelona@urv.cat, daniel.barcelona@urv.cat
  • Keywords:

    faas
    in-memory
    stateful
    synchronization
    Communication
    Serverless
    Computer Science
    Software Engineering
    Software
    Ciência da computação
    Engenharias iii
  • Documents:

  • Cerca a google

    Search to google scholar