English

Scalable, Fast Cloud Computing with Execution Templates

Distributed, Parallel, and Cluster Computing 2016-06-08 v1

Abstract

Large scale cloud data analytics applications are often CPU bound. Most of these cycles are wasted: benchmarks written in C++ run 10-51 times faster than frameworks such as Naiad and Spark. However, calling faster implementations from those frameworks only sees moderate (3-5x) speedups because their control planes cannot schedule work fast enough. This paper presents execution templates, a control plane abstraction for CPU-bound cloud applications, such as machine learning. Execution templates leverage highly repetitive control flow to cache scheduling decisions as {\it templates}. Rather than reschedule hundreds of thousands of tasks on every loop execution, nodes instantiate these templates. A controller's template specifies the execution across all worker nodes, which it partitions into per-worker templates. To ensure that templates execute correctly, controllers dynamically patch templates to match program control flow. We have implemented execution templates in Nimbus, a C++ cloud computing framework. Running in Nimbus, analytics benchmarks can run 16-43 times faster than in Naiad and Spark. Nimbus's control plane can scale out to run these faster benchmarks on up to 100 nodes (800 cores).

Keywords

Cite

@article{arxiv.1606.01972,
  title  = {Scalable, Fast Cloud Computing with Execution Templates},
  author = {Omid Mashayekhi and Hang Qu and Chinmayee Shah and Philip Levis},
  journal= {arXiv preprint arXiv:1606.01972},
  year   = {2016}
}
R2 v1 2026-06-22T14:19:09.556Z