# Shabari: Delayed Decision-Making for Faster and Efficient Serverless Functions

arXiv: https://arxiv.org/abs/2401.08859 · HTML: https://mlsanity.com/paper/2401.08859/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 9 of its 59 references that are in the map.
- First posted on arXiv 16 Jan 2024.

## Builds on (most cited first, 9 of 9)

- [Multimodal Machine Learning: A Survey and Taxonomy](https://mlsanity.com/paper/1705.09406/) (2017)
- [Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider](https://mlsanity.com/paper/2003.03423/) (2020)
- [Benchmarking, Analysis, and Optimization of Serverless Function Snapshots](https://mlsanity.com/paper/2101.09355/) (2021)
- [SeBS: A Serverless Benchmark Suite for Function-as-a-Service Computing](https://mlsanity.com/paper/2012.14132/) (2020)
- [FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute](https://mlsanity.com/paper/2105.11229/) (2021)
- [FaaT: A Transparent Auto-Scaling Cache for Serverless Applications](https://mlsanity.com/paper/2104.13869/) (2021)
- [On-demand Container Loading in AWS Lambda](https://mlsanity.com/paper/2305.13162/) (2023)
- [With Great Freedom Comes Great Opportunity: Rethinking Resource Allocation for Serverless Functions](https://mlsanity.com/paper/2105.14845/) (2021)
- [CFS: A Distributed File System for Large Scale Container Platforms](https://mlsanity.com/paper/1911.03001/) (2019)

## Abstract (arXiv)

Serverless computing relieves developers from the burden of resource management, thus providing ease-of-use to the users and the opportunity to optimize resource utilization for the providers. However, today's serverless systems lack performance guarantees for function invocations, thus limiting support for performance-critical applications: we observed severe performance variability (up to 6x). Providers lack visibility into user functions and hence find it challenging to right-size them: we observed heavy resource underutilization (up to 80%). To understand the causes behind the performance variability and underutilization, we conducted a measurement study of commonly deployed serverless functions and learned that the function performance and resource utilization depend crucially on function semantics and inputs. Our key insight is to delay making resource allocation decisions until after the function inputs are available. We introduce Shabari, a resource management framework for serverless systems that makes decisions as late as possible to right-size each invocation to meet functions' performance objectives (SLOs) and improve resource utilization. Shabari uses an online learning agent to right-size each function invocation based on the features of the function input and makes cold-start-aware scheduling decisions. For a range of serverless functions and inputs, Shabari reduces SLO violations by 11-73% while not wasting any vCPUs and reducing wasted memory by 64-94% in the median case, compared to state-of-the-art systems, including Aquatope, Parrotfish, and Cypress.
