一句话:提出 SLOT 执行模型与 Chronos 框架,使加速器无需缓存一致性即可高效支持推测并行。
这篇论文针对包含原子任务且可能带顺序约束的推测并行应用,在加速器上难以高效提取并行性的问题。已有面向多核的推测执行架构依赖缓存一致性并需额外硬件检测任务冲突,不适合加速器。作者提出 Chronos 框架及其执行模型 SLOT(Spatially Located Ordered Tasks),仅以顺序作为同步机制,并将任务访问限制在单个读写对象上,从而无需缓存一致性,使推测执行廉价且分布式;该抽象降低了加速器设计复杂度。作者在 FPGA 上实现 Chronos,并为四个具挑战性的应用构建加速器。在商用 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.