Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics
Published in Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC '17), July 2017.
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.
Data (WWW), Talk (2MB), Paper (1MB)
BibTeX entry
@inproceedings{mashayekhi17templates, author = "Omid Mashayekhi and Hang Qu and Chinmayee Shah and Philip Levis", title = "{Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics}", booktitle = "{Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC '17)}", year = {2017}, month = {July} }





Login