Architectural Implications of Function-as-a-Service Computing
Authors:
Top Cited Papers
Open Access
- 12 October 2019
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1063-1075
Abstract
Serverless computing is a rapidly growing cloud application model, popularized by Amazon's Lambda platform. Serverless cloud services provide fine-grained provisioning of resources, which scale automatically with user demand. Function-as-a-Service (FaaS) applications follow this serverless model, with the developer providing their application as a set of functions which are executed in response to a user- or system-generated event. Functions are designed to be short-lived and execute inside containers or virtual machines, introducing a range of system-level overheads. This paper studies the architectural implications of this emerging paradigm. Using the commercial-grade Apache OpenWhisk FaaS platform on real servers, this work investigates and identifies the architectural implications of FaaS serverless computing. The workloads, along with the way that FaaS inherently interleaves short functions from many tenants frustrates many of the locality-preserving architectural structures common in modern processors. In particular, we find that: FaaS containerization brings up to 20x slowdown compared to native execution, cold-start can be over 10x a short function's execution time, branch mispredictions per kilo-instruction are 20x higher for short functions, memory bandwidth increases by 6x due to the invocation pattern, and IPC decreases by as much as 35% due to inter-function interference. We open-source FaaSProfiler, the FaaS testing and profiling platform that we developed for this work.Keywords
Funding Information
- Defense Advanced Research Projects Agency (FA8650-18-2-7846,FA8650-18-2-7852,FA8650-18-2-7862)
- National Science Foundation (CCF-1822949,CCF-1453112)
This publication has 48 references indexed in Scilit:
- Profiling a warehouse-scale computer2015
- A scalable processing-in-memory accelerator for parallel graph processing2015
- StressCloud: A Tool for Analysing Performance and Energy Consumption of Cloud Applications2015
- An updated performance comparison of virtual machines and Linux containers2015
- Characterizing data analysis workloads in data centers2013
- Quantifying the Mismatch between Emerging Scale-Out Applications and Modern ProcessorsACM Transactions on Computer Systems, 2012
- Clearing the clouds2012
- Understanding and Designing New Server Architectures for Emerging Warehouse-Computing EnvironmentsACM SIGARCH Computer Architecture News, 2008
- Valgrind2007
- Pin2005