Chronos: Efficient Speculative Parallelism for Accelerators

Chronos: Efficient Speculative Parallelism for Accelerators
复制标题

DOI:
10.1145/3373376.3378454
复制
发表时间:
2020-03
期刊:
Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
Maleen Abeydeera;Daniel Sánchez
Maleen Abeydeera;Daniel Sánchez
中科院分区:
其他
文献类型:
--
作者:
Maleen Abeydeera;Daniel Sánchez

文献摘要

相似文献

我们提出了Chronos,这是一个为具有推测并行性的应用程序构建加速器的框架。这些应用程序由原子任务组成,有时带有顺序约束,并且需要推测性执行来提取并行性。以前的工作扩展了传统的多核以支持推测性并行,但这些现有的体系结构与加速器不太匹配,因为它们依赖于缓存一致性,并添加了非平凡的硬件来检测任务之间的冲突。相反,Chronos依赖于一种新颖的执行模型,即空间位置有序任务(槽),该模型使用顺序作为唯一的同步机制,并将任务访问限制为单个读写对象。这种简化避免了对高速缓存一致性的需要,并使推测性执行变得廉价和分布式。Chronos抽象了投机性并行的复杂性,使加速器的设计变得容易。我们开发了一个Chronos的FPGA实现,并使用它为四个具有挑战性的应用程序构建加速器。在商用AWS FPGA实例上运行时,这些加速器的性能比在价格更高的多核实例上运行的最先进软件版本高出3.5倍至15.3倍。
We present Chronos, a framework to build accelerators for applications with speculative parallelism. These applications consist of atomic tasks, sometimes with order constraints, and need speculative execution to extract parallelism. Prior work extended conventional multicores to support speculative parallelism, but these prior architectures are a poor match for accelerators because they rely on cache coherence and add non-trivial hardware to detect conflicts among tasks. Chronos instead relies on a novel execution model, Spatially Located Ordered Tasks (SLOT), that uses order as the only synchronization mechanism and limits task accesses to a single read-write object. This simplification avoids the need for cache coherence and makes speculative execution cheap and distributed. Chronos abstracts the complexities of speculative parallelism, making accelerator design easy. We develop an FPGA implementation of Chronos and use it to build accelerators for four challenging applications. When run on commodity AWS FPGA instances, these accelerators outperform state-of-the-art software versions running on a higher-priced multicore instance by 3.5x to 15.3x.