Practical Scheduling for Real-World Serverless Computing

AI-generated keywords: Serverless Computing

AI-generated Key Points

The license of the paper does not allow us to build upon its content and the key points are generated using the paper metadata rather than the full article.

  • Serverless computing is popular due to its ease-of-use and cost-efficiency
  • Function scheduling within serverless systems is a critical aspect that has been overlooked
  • The authors design a scheduler specifically tailored to serverless functions
  • They create a taxonomy of scheduling policies and explore the policy space using simulation techniques
  • Commonly used features like late binding and random load balancing are sub-optimal for typical execution time distributions and load ranges
  • The authors propose Hermes, a novel scheduler with three key characteristics:
  • 1. Uses early binding and processor sharing to mitigate head-of-line blocking caused by high variability in function execution times
  • 2. Incorporates hybrid load balancing for consolidation during low loads and least-loaded balancing during high loads to optimize resource allocation based on workload demands
  • 3. Designed to be both load and locality-aware, reducing the number of cold starts and minimizing latency associated with starting new instances
  • Hermes is implemented for Apache OpenWhisk and evaluated using real-world traces from Azure and other sources
  • Results show significant improvements over existing policies, achieving up to 85% lower function slowdown and 60% higher throughput in various real-world scenarios
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Kostis Kaffes, Neeraja J. Yadwadkar, Christos Kozyrakis

Abstract: 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% lower function slowdown and 60% higher throughput compared to existing policies.

Submitted to arXiv on 14 Nov. 2021

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

The license of the paper does not allow us to build upon its content and the AI assistant only knows about the paper metadata rather than the full article.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 2111.07226v1

This paper's license doesn't allow us to build upon its content and the summarizing process is here made with the paper's metadata rather than the article.

In the rapidly growing field of serverless computing, the ease-of-use and cost-efficiency it provides have made it increasingly popular. However, one critical aspect that has been overlooked is function scheduling within serverless systems. In this paper, the authors address this gap by designing a scheduler specifically tailored to the unique characteristics of serverless functions as observed in real-world deployments. To begin, the authors create a taxonomy of scheduling policies along three dimensions. They then use simulation techniques to explore the scheduling policy space based on function characteristics derived from a 14-day trace of Azure functions. Through their analysis, they find that commonly used features such as late binding and random load balancing are sub-optimal for typical execution time distributions and load ranges. Using these insights, the authors propose Hermes, a novel scheduler for serverless functions with three key characteristics. First, to mitigate head-of-line blocking caused by high variability in function execution times, Hermes employs a combination of early binding and processor sharing for scheduling at individual worker machines. This approach ensures efficient utilization of resources. Secondly, Hermes incorporates a hybrid load balancing approach that enhances consolidation during low loads while employing least-loaded balancing during high loads to maintain high performance levels. This strategy optimizes resource allocation based on workload demands. Lastly, Hermes is designed to be both load and locality-aware, reducing the number of cold starts compared to pure load-based policies. By considering both workload distribution and proximity between functions and worker machines, Hermes minimizes latency associated with starting new instances. The authors implement Hermes for Apache OpenWhisk and evaluate its performance using real-world traces from Azure as well as other sources. The results demonstrate significant improvements over existing policies. Specifically, Hermes achieves up to 85% lower function slowdown and 60% higher throughput compared to current approaches when considering function patterns observed in various real-world scenarios. Overall, this paper presents an innovative approach to function scheduling in serverless computing environments. By addressing the unique characteristics of serverless functions and leveraging a combination of early binding, processor sharing, hybrid load balancing, and load locality awareness, Hermes offers substantial performance enhancements compared to existing policies.
Created on 18 Jan. 2024

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

The previous summary was created more than a year ago and can be re-run (if necessary) by clicking on the Run button below.

The license of this specific paper does not allow us to build upon its content and the summarizing tools will be run using the paper metadata rather than the full article. However, it still does a good job, and you can also try our tools on papers with more open licenses.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.