Though Field-Programmable Gate Arrays (FPGAs) have achieved significant performance gains for many application domains, implementing applications on FPGAs still remains a non-trivial task. This is especially true for FPGAs in a Data Center or a cloud. In this work a new platform for virtualizing FPGAs has been developed. It allows the rapid deployment (or porting) of applications on cloud-based or data-center attached FPGAs. A complete platform prototype has been implemented to evaluate the area, speed, and overhead of the proposed platform. The proposed platform provides a general abstract interface to any user's design (not domain specific) and supports dynamic partial reconfiguration (so designs can be added to an FPGA that have other applications running) at comparable overhead to other notable platforms. Experimental results using a streamed application in a cloud-like environment, showed that the proposed platform is a very viable computing option (in terms of throughput) for suitable applications compared to conventional server-based or virtual-machine based SW implementations.
Read full abstract