Enabling Ease-of-Use for Extreme-Scale High-Performance Reconfigurable Architectures Using Hardware Virtualization
In extreme-scale HPRC systems, the integration of conventional and accelerator resources in different orientations and proportions makes them imbalanced heterogeneous systems. Thus, porting applications across different HPRCs becomes difficult for domain scientists. This work introduces a virtualization framework to integrate design across different HPRC devices. A portable abstraction layer and run-time libraries are introduced to manage the highly imbalanced reconfigurable resources. In this work, 2 potential solutions are presented: the User-Space solution and the Kernel-Space solution. The User-Space solution gives the user with explicit access to the transfer of control and data exchange which are located in the user-space. However, in the Kernel-Space solution, the execution synchronization is implicit to the user. Moreover, the introduction of Scoreboarding technique mitigates unnecessary hardware configuration time in the kernel- space. Experiments performed on Cray XD1 HPRC showed significant overall speedup using the proposed techniques.