Heterogeneous Runtime Support for Partitioned Global Address Space Programming on FPGAs - Willenberg, Ruediger (ProQuest Dissertations & Theses, 2016)
We are presenting THeGASNet, a framework to provide remote memory communication and synchronization in heterogeneous, distributed systems composed of software components and FPGA components. It is intended as a runtime layer to support higher-level languages and libraries that implement the Partitioned Global Address Space (PGAS) model. PGAS is a shared memory parallel programming model intended for high-productivity programming of distributed, cluster-like systems. THeGASNet provides a communication abstraction with a common API for both software and hardware components, thereby facilitating easier migration of performance-critical application portions to reconfigurable computing hardware. To demonstrate the development flow, we have implemented three applications representing common distributed application characteristics, starting with software-only solutions and using the common API to efficiently move selected parts into FPGA hardware. Based on the accumulated experience, we illustrate why PGAS is a good model to program heterogeneous systems using FPGAs, define minimum infrastructure requirements and outline a vision for continued exploration of heterogeneous PGAS programming.