numpywren: serverless linear algebra
arXiv:1810.09679
Abstract
Linear algebra operations are widely used in scientific computing and machine learning applications. However, it is challenging for scientists and data analysts to run linear algebra at scales beyond a single machine. Traditional approaches either require access to supercomputing clusters, or impose configuration and cluster management challenges. In this paper we show how the disaggregation of storage and compute resources in so-called "serverless" environments, combined with compute-intensive workload characteristics, can be exploited to achieve elastic scalability and ease of management. We present numpywren, a system for linear algebra built on a serverless architecture. We also introduce LAmbdaPACK, a domain-specific language designed to implement highly parallel linear algebra algorithms in a serverless setting. We show that, for certain linear algebra algorithms such as matrix multiply, singular value decomposition, and Cholesky decomposition, numpywren's performance (completion time) is within 33% of ScaLAPACK, and its compute efficiency (total CPU-hours) is up to 240% better due to elasticity, while providing an easier to use interface and better fault tolerance. At the same time, we show that the inability of serverless runtimes to exploit locality across the cores in a machine fundamentally limits their network efficiency, which limits performance on other algorithms such as QR factorization. This highlights how cloud providers could better support these types of computations through small changes in their infrastructure.
References in corpus (4)
Cited by in corpus (21)
- Cloudburst: Stateful Functions-as-a-Service
- The Serverless Computing Survey: A Technical Primer for Design Architecture
- OverSketch: Approximate Matrix Multiplication for the Cloud
- Benchmarking Parallelism in FaaS Platforms
- Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing
- Serverless Data Science -- Are We There Yet? A Case Study of Model Serving
- Transparent Serverless execution of Python multiprocessing applications
- Archipelago: A Scalable Low-Latency Serverless Platform
- InfiniCache: Exploiting Ephemeral Serverless Functions to Build a Cost-Effective Memory Cache
- Interpolating Classifiers Make Few Mistakes
- ServerMix: Tradeoffs and Challenges of Serverless Data Analytics
- Smartpick: Workload Prediction for Serverless-enabled Scalable Data Analytics Systems
- Pagurus: Eliminating Cold Startup in Serverless Computing with Inter-Action Container Sharing
- Harnessing the Power of Serverless Runtimes for Large-Scale Optimization
- Scaling a Variant Calling Genomics Pipeline with FaaS
- In Search of a Fast and Efficient Serverless DAG Engine
- Utility-based Resource Allocation and Pricing for Serverless Computing
- Modularis: Modular Relational Analytics over Heterogeneous Distributed Platforms
- Practical Scheduling for Real-World Serverless Computing
- MXDAG: A Hybrid Abstraction for Cluster Applications
- Adapting The Secretary Hiring Problem for Optimal Hot-Cold Tier Placement under Top- Workloads