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.
@article{arxiv.2307.02847,
title = {Towards Efficient Control Flow Handling in Spatial Architecture via Architecting the Control Flow Plane},
author = {Jinyi Deng and Xinru Tang and Jiahao Zhang and Yuxuan Li and Linyun Zhang and Boxiao Han and Hongjun He and Fengbin Tu and Leibo Liu and Shaojun Wei and Yang Hu and Shouyi Yin},
journal= {arXiv preprint arXiv:2307.02847},
year = {2023}
}