arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1606.01972cs.DC
收藏

使用执行模板实现可扩展的快速云计算

Scalable, Fast Cloud Computing with Execution Templates

Omid Mashayekhi, Hang Qu, Chinmayee Shah, Philip Levis

摘要:

大规模云数据分析应用程序通常是CPU受限的。这些周期中的大多数都被浪费了:用C++编写的基准测试比Naiad和Spark等框架快10-51倍。然而,从这些框架调用更快的实现只能看到适度的(3- 5倍)加速,因为它们的控制平面不能足够快地调度工作。本文介绍了执行模板,一个控制平面抽象的CPU绑定的云应用程序,如机器学习。执行模板利用高度重复的控制流将调度决策缓存为{ \it模板}。节点实例化这些模板,而不是在每次循环执行时重新调度数十万个任务。控制器的模板指定了所有工作节点上的执行,并将其划分为每个工作节点的模板。为了确保模板正确执行,控制器动态地修补模板以匹配程序控制流。我们已经在Nimbus(一个C++云计算框架)中实现了执行模板。在Nimbus中运行,分析基准可以比Naiad和Spark快16-43倍。Nimbus的控制平面可以扩展到多达100个节点(800个核心)上运行这些更快的基准测试。

英文摘要:

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).

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑