arXiv · 1705.01662
Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics
Abstract
Control planes of cloud frameworks trade off between scheduling granularity and performance. Centralized systems schedule at task granularity, but only schedule a few thousand tasks per second. Distributed systems schedule hundreds of thousands of tasks per second but changing the schedule is costly. We present execution templates, a control plane abstraction that can schedule hundreds of thousands of tasks per second while supporting fine-grained, per-task scheduling decisions. Execution templates leverage a program's repetitive control flow to cache blocks of frequently-executed tasks. Executing a task in a template requires sending a single message. Large-scale scheduling changes install new templates, while small changes apply edits to existing templates. Evaluations of execution templates in Nimbus, a data analytics framework, find that they provide the fine-grained scheduling flexibility of centralized control planes while matching the strong scaling of distributed ones. Execution templates support complex, real-world applications, such as a fluid simulation with a triply nested loop and data dependent branches.
Explore related subjects
Keep this discovery
Omid Mashayekhi, Hang Qu, Chinmayee Shah, Philip Levis. 2017-05-04. Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics. https://arxiv.org/abs/1705.01662
Cite the original work for its findings. Save a collection to share your selection of sources.