Practical Scheduling for Real-World Serverless Computing

11/14/2021
by   Kostis Kaffes, et al.
0

Serverless computing has seen rapid growth due to the ease-of-use and cost-efficiency it provides. However, function scheduling, a critical component of serverless systems, has been overlooked. In this paper, we take a first-principles approach toward designing a scheduler that caters to the unique characteristics of serverless functions as seen in real-world deployments. We first create a taxonomy of scheduling policies along three dimensions. Next, we use simulation to explore the scheduling policy space for the function characteristics in a 14-day trace of Azure functions and conclude that frequently used features such as late binding and random load balancing are sub-optimal for common execution time distributions and load ranges. We use these insights to design Hermes, a scheduler for serverless functions with three key characteristics. First, to avoid head-of-line blocking due to high function execution time variability, Hermes uses a combination of early binding and processor sharing for scheduling at individual worker machines. Second, Hermes uses a hybrid load balancing approach that improves consolidation at low load while employing least-loaded balancing at high load to retain high performance. Third, Hermes is both load and locality-aware, reducing the number of cold starts compared to pure load-based policies. We implement Hermes for Apache OpenWhisk and demonstrate that, for the case of the function patterns observed both in the Azure and in other real-world traces, it achieves up to 85 policies.

READ FULL TEXT
research
04/16/2019

Load Balancing with preemptive and non-preemptive task scheduling in Cloud Computing

In Cloud computing environment the resources are managed dynamically bas...
research
06/01/2018

Binary PSOGSA for Load Balancing Task Scheduling in Cloud Environment

In cloud environments, load balancing task scheduling is an important is...
research
05/20/2019

rDLB: A Novel Approach for Robust Dynamic Load Balancing of Scientific Applications with Parallel Independent Tasks

Scientific applications often contain large and computationally intensiv...
research
07/03/2021

TrafPy: Benchmarking Data Centre Network Systems

Benchmarking is commonly used in research fields such as computer archit...
research
01/20/2021

Load-Balancing for Improving User Responsiveness on Multicore Embedded Systems

Most commercial embedded devices have been deployed with a single proces...
research
02/16/2019

A Timer-Augmented Cost Function for Load Balanced DSMC

Due to a hard dependency between time steps, large-scale simulations of ...
research
05/20/2022

Topology-aware Serverless Function-Execution Scheduling

State-of-the-art serverless platforms use hardcoded scheduling policies ...

Please sign up or login with your details

Forgot password? Click here to reset