Serverless in the Wild: Characterizing and Optimizing the Serverless Workload
summary
Two weeks of July 2019 Azure Functions traces show a highly skewed workload: 82% apps <1/min account for only 0.4% of invocations but, if kept always warm, consume about 40% physical memory; function runtimes are short (about 50% <1s, 75% max <10s) and cold starts 0.2s–a few seconds overlap these times. A per-application hybrid histogram policy with pre-warm and keep-alive (minute-resolution bins, 4-hour history) matches fixed-policy tail cold-starts while lowering memory use (prototype in OpenWhisk cuts container memory ~15% with ~800µs overhead).
AI-written summary · about
chapters (21)
- 0:00Intro
- 0:37What is Serverless?
- 1:25So what are people doing with Faas?
- 2:48If you are a cloud provider
- 5:07Stepping Back: Characterizing the Workload
- 5:48Invocations per Application
- 7:41Apps are highly heterogeneous
- 8:20What about memory?
- 9:34Function Execution Duration
- 10:32Key Takeaways
- 11:04Cold Starts and Resource Wastage
- 11:48What do serverless providers do?
- 12:27Fixed Keep-Alive Policy
- 14:14Fixed Keep-Alive Won't Fit All
- 14:36Fixed Keep-Alive Is Wasteful
- 15:37A Histogram Policy To Learn Idle Tinil
- 17:35The Hybrid Histogram Policy
- 18:59More Optimal Pareto Frontier 130
- 19:40Implemented in OpenWhisk
- 20:39Simulation
- 21:53Closing the loop
related talks
27mServerless Performance on a Budget
30mPerformance Tales of Serverless
43mServerless Application Development using
37mPerformance Tales of Serverless
01h 00mServerless Trends of the Season
18mHelp Rather Than Recycle: Alleviating Cold Startup in Serverless Computing...
48mServerless beyond functions
23mCF Server-Less: CloudFoundry as a Platform for Server-less Computing
