Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider
By Mohammad Shahrad, Rodrigo Fonseca, Í. Goiri, G. Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich, Ricardo Bianchini. USENIX Annual Technical Conference, 2020
885 citations recorded by the source corpus.
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.
Subfields: Computer Networks and Communications, Information Systems
View Paper: https://www.semanticscholar.org/paper/9e73ffe8e9ab537d68d8f1b3a1ae1a2a83f0fcf4
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Alexander Fuerst
- Ion Stoica
- Arpan Gujarati
- Prateek Sharma
- Scott Shenker
- Mosharaf Chowdhury
- Hector Garcia-Molina
- Sylvia Ratnasamy
In Information Systems
Citations in the corpus
- Characterizing Microservice Dependency and Performance: Alibaba Trace Analysis (2021, background): “There exist several public traces released from production clusters including Google Trace [24, 32], Alibaba Trace [21, 31], Azure Trace [14, 25], and so on.”
- SHEPHERD: Serving DNNs in the Wild (2023, methodology): “Similar to prior work [10], we use the Microsoft’s publicly-released production traces from Azure Functions (MAF) [14] as a representative production model serving workload.”
- FaasCache: keeping serverless computing alive with greedy-dual caching (2021, methodology): “For evaluating different keep-alive performance with different workload types, we use different trace samples from the Azure Function trace [48], which contains execution times, memory sizes, and invocation-timestamps for more than 50,000 unique functions.”
- Serving DNNs like Clockwork: Performance Predictability from the Bottom Up (2020, methodology): “To explore Clockwork’s scalability, we performed a final experiment using the MAF workload traces.”