Spatial computing (SC) offers the potential for large improvements in performance and energy efficiency. Many proposed architectures have harnessed these benefits for small kernels. The Tartan architecture attempts to harness these advantages for entire general-purpose applications executing spatially. Previous work on Tartan had a configure-once model of execution, which required prohibitively large amounts of hardware resources to execute most programs. In this paper, we explore a virtualization model for Tartan. With virtualization, Tartan can execute large programs with a realistic amount of hardware, and with performance comparable to the configure-once model. We focus on three aspects of virtualization: runtime placement of code-blocks, location resolution methods for inter-block communication, and the impact of prefetching on reducing configuration delays. Our results show that the Tartan fabric can be virtualized with no loss in performance compared to a configure-once fabric of unlimited size.
['Mahim Mishra', 'Seth Copen Goldstein']
Virtualization on the Tartan Reconfigurable Architecture