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

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Sinha, Prasoon, Kaffes, Kostis, Yadwadkar, Neeraja J.
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910307526377472
author Sinha, Prasoon
Kaffes, Kostis
Yadwadkar, Neeraja J.
author_facet Sinha, Prasoon
Kaffes, Kostis
Yadwadkar, Neeraja J.
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2401_08859
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Shabari: Delayed Decision-Making for Faster and Efficient Serverless Functions
Sinha, Prasoon
Kaffes, Kostis
Yadwadkar, Neeraja J.
Distributed, Parallel, and Cluster Computing
Machine Learning
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.
title Shabari: Delayed Decision-Making for Faster and Efficient Serverless Functions
topic Distributed, Parallel, and Cluster Computing
Machine Learning
url https://arxiv.org/abs/2401.08859