Rethinking Control Flow in Spatial Architectures: Insights into Control Flow Plane Design
Jinyi Deng,Xinru Tang,Jiahao Zhang,Yuxuan Li,Linyun Zhang,Fengbin Tu,Shaojun Wei,Yang Hu,Shouyi Yin
DOI: https://doi.org/10.1109/tc.2024.3475582
IF: 3.183
2024-01-01
IEEE Transactions on Computers
Abstract:Spatial architecture is a high-performance paradigm that employs control flow graphs and data flow graphs as computation model, and producer/consumer models as execution model. However, existing spatial architectures struggle with control flow handling challenges. Upon thoroughly characterizing their PE execution models, we observe that they lack autonomous, peer-to-peer, and temporally loosely-coupled control flow handling capability. This degrades its performance in intensive control programs. To tackle the existing control flow handling challenges, Marionette, a spatial architecture with an explicit-designed control flow plane, is proposed. We elaborately develop a full stack of Marionette architecture, from ISA, compiler, simulator to RTL. Marionette’s flexible Control Flow Plane enables autonomous, peer-to-peer, and temporally loosely-coupled control flow management. Its Proactive PE Configuration ensures computation-overlapped and timely configuration to promote Branch Divergence handling capability. Besides, Marionette’s Agile PE Assignment improves pipeline performance of imperfect loops. Compared to state-of-the-art spatial architectures, the experimental results demonstrate that Marionette outperforms Softbrain, TIA, REVEL, and RipTide by geomean 2.88×, 3.38×, 1.55×, and 2.66× in a variety of challenging intensive control programs.