Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider
arXiv:2003.03423
Abstract
Function as a Service (FaaS) has been gaining popularity as a way to deploy computations to serverless backends in the cloud. This paradigm shifts the complexity of allocating and provisioning resources to the cloud provider, which has to provide the illusion of always-available resources (i.e., fast function invocations without cold starts) at the lowest possible resource cost. Doing so requires the provider to deeply understand the characteristics of the FaaS workload. Unfortunately, there has been little to no public information on these characteristics. Thus, in this paper, we first characterize the entire production FaaS workload of Azure Functions. We show for example that most functions are invoked very infrequently, but there is an 8-order-of-magnitude range of invocation frequencies. Using observations from our characterization, we then propose a practical resource management policy that significantly reduces the number of function coldstarts,while spending fewerresources than state-of-the-practice policies.
14 pages, 20 figures. Corrected and published in USENIX ATC, July 2020. For accompanying dataset, see https://github.com/Azure/AzurePublicDataset
References in corpus (1)
Cited by in corpus (30)
- The Serverless Computing Survey: A Technical Primer for Design Architecture
- Benchmarking, Analysis, and Optimization of Serverless Function Snapshots
- Characterization and Prediction of Deep Learning Workloads in Large-Scale GPU Datacenters
- Let's Wait Awhile: How Temporal Workload Shifting Can Reduce Carbon Emissions in the Cloud
- LaSS: Running Latency Sensitive Serverless Computations at the Edge
- How Does It Function? Characterizing Long-term Trends in Production Serverless Workloads
- A Review of Serverless Use Cases and their Characteristics
- GreenCourier: Carbon-Aware Scheduling for Serverless Functions
- Benchmarking Parallelism in FaaS Platforms
- funcX: Federated Function as a Service for Science
- The Night Shift: Understanding Performance Variability of Cloud Serverless Platforms
- Ditto: An Elastic and Adaptive Memory-Disaggregated Caching System
- Tiny Autoscalers for Tiny Workloads: Dynamic CPU Allocation for Serverless Functions
- Efficiency in the Serverless Cloud Paradigm: A Survey on the Reusing and Approximation Aspects
- FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute
- Call Scheduling to Reduce Response Time of a FaaS System
- Faa$T: A Transparent Auto-Scaling Cache for Serverless Applications
- Sizeless: Predicting the optimal size of serverless functions
- Optimizing Prediction Serving on Low-Latency Serverless Dataflow
- Characterizing Commodity Serverless Computing Platforms
- INFaaS: A Model-less and Managed Inference Serving System
- The Hidden cost of the Edge: A Performance Comparison of Edge and Cloud Latencies
- Empirical Investigation of Factors influencing Function as a Service Performance in Different Cloud/Edge System Setups
- Validation of a simulation model for FaaS performance benchmarking using predictive validation
- Cost- and QoS-Efficient Serverless Cloud Computing
- A Language-based Serverless Function Accelerator
- Litmus: Fair Pricing for Serverless Computing
- Practical Scheduling for Real-World Serverless Computing
- Utility-based Resource Allocation and Pricing for Serverless Computing
- Data-driven scheduling in serverless computing to reduce response time