1
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: not found

      Stateful Serverless Computing with Crucial

      Read this article at

      ScienceOpenPublisher
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          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.

          Related collections

          Most cited references66

          • Record: found
          • Abstract: not found
          • Article: not found

          MapReduce

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            Least squares quantization in PCM

            S. Lloyd (1982)
              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Cassandra

                Bookmark

                Author and article information

                Journal
                ACM Transactions on Software Engineering and Methodology
                ACM Trans. Softw. Eng. Methodol.
                Association for Computing Machinery (ACM)
                1049-331X
                1557-7392
                July 31 2022
                March 07 2022
                July 31 2022
                : 31
                : 3
                : 1-38
                Affiliations
                [1 ]Universitat Rovira i Virgili, Tarragona, Spain
                [2 ]Télécom SudParis, Palaiseau, France
                [3 ]Universitat Rovira i Virgili, Tarragona, Spain and IBM T.J. Watson Research Center, Yorktown Heights, NY
                Article
                10.1145/3490386
                800dc12e-6a5d-438b-8abb-55457de68201
                © 2022
                History

                Comments

                Comment on this article