Practical Scheduling for Real-World Serverless Computing
Authors: Kostis Kaffes, Neeraja J. Yadwadkar, Christos Kozyrakis
AI-generated Key Points
- 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:
- Uses early binding and processor sharing to mitigate head-of-line blocking caused by high variability in function execution times
- Incorporates hybrid load balancing for consolidation during low loads and least-loaded balancing during high loads to optimize resource allocation based on workload demands
- 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
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.
Tools for this paper
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.
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 representationLook for similar papers (in beta version)
We compare the title and abstract with papers indexed in our database. For arXiv papers, we search within the same category; for DOI and other sources, we search across sources and subjects. You can rerun the search as 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.