Spatial architecture is a high-performance architecture that uses control flow graphs and data flow graphs as the computational model and producer/consumer models as the execution models. However, existing spatial architectures suffer from control flow handling challenges. Upon categorizing their PE execution models, we find that they lack autonomous, peer-to-peer, and temporally loosely-coupled control flow handling capability. This leads to limited performance in intensive control programs. A spatial architecture, Marionette, is proposed, with an explicit-designed control flow plane. The Control Flow Plane enables autonomous, peer-to-peer and temporally loosely-coupled control flow handling. The Proactive PE Configuration ensures timely and computation-overlapped configuration to improve handling Branch Divergence. The Agile PE Assignment enhance the pipeline performance of Imperfect Loops. We develop full stack of Marionette (ISA, compiler, simulator, RTL) and demonstrate that in a variety of challenging intensive control programs, compared to state-of-the-art spatial architectures, Marionette outperforms Softbrain, TIA, REVEL, and RipTide by geomean 2.88x, 3.38x, 1.55x, and 2.66x.
翻译:空间架构是一种以控制流图和数据流图作为计算模型、以生产者/消费者模式作为执行模型的高性能架构。然而,现有空间架构面临控制流处理的挑战。通过对处理单元执行模型进行分类,我们发现它们缺乏自主、对等且时间松散耦合的控制流处理能力。这导致其在密集控制程序中的性能受限。本文提出了一种空间架构Marionette,其显式设计了控制流平面。该控制流平面实现了自主、对等且时间松散耦合的控制流处理。主动式处理单元配置通过及时且与计算重叠的配置机制,改善了分支发散处理性能。敏捷式处理单元分配增强了非完美循环的流水线性能。我们开发了Marionette的全栈工具链(指令集架构、编译器、仿真器、寄存器传输级),并在多种具有挑战性的密集控制程序中证明:与最先进的空间架构相比,Marionette在性能上超越Softbrain、TIA、REVEL和RipTide分别达到几何平均2.88倍、3.38倍、1.55倍和2.66倍。