FPGA Virtualization in Cloud-Based Infrastructures Over Virtio

In this paper, we introduce a novel framework for virtualizing FPGA resources in the cloud. The proposed framework targets hardware/software architectures that leverage the Virtio paradigm for efficient communication between virtual machines (VMs) and the FPGAs. Furthermore, we present an FPGA overlay that uses reconfigurable hardware tiles and a flexible network-on-chip (NoC) architecture for transparent and optimized allocation of FPGA resources to VMs. The proposed overlay makes it possible to merge several FPGA regions allocated to a VM into a larger area, thus allowing resizing of FPGA's resources on demand. Hardware sandboxes are then provided as a means to enforce domain separation between hardware tasks belonging to different VMs. The framework introduced prevents the overhead of context switches between the virtual machine and host address spaces by using the in-kernel network stack for transferring packets to FPGAs. Experimental results show a 2x to 35x performance increase compared to current state of the art virtualization approaches.

[1]  Christophe Bobda,et al.  Hardware Sandboxing: A Novel Defense Paradigm Against Hardware Trojans in Systems on Chip , 2017, ARC.

[2]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

[3]  Christophe Bobda,et al.  FLexiTASK: A Flexible FPGA Overlay for Efficient Multitasking , 2018, ACM Great Lakes Symposium on VLSI.

[4]  Hari Angepat,et al.  A cloud-scale acceleration architecture , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[5]  Yingwei Luo,et al.  A Survey on I/O Virtualization and Optimization , 2010, 2010 Fifth Annual ChinaGrid Conference.

[6]  Andreas Herkersdorf,et al.  Enabling FPGAs in Hyperscale Data Centers , 2015, 2015 IEEE 12th Intl Conf on Ubiquitous Intelligence and Computing and 2015 IEEE 12th Intl Conf on Autonomic and Trusted Computing and 2015 IEEE 15th Intl Conf on Scalable Computing and Communications and Its Associated Workshops (UIC-ATC-ScalCom).

[7]  Thomas Lin,et al.  Designing for FPGAs in the Cloud , 2018, IEEE Design & Test.

[8]  Yu Zhang,et al.  Enabling FPGAs in the cloud , 2014, Conf. Computing Frontiers.

[9]  Paul Chow,et al.  FPGAs in the Cloud: Booting Virtualized Hardware Accelerators with OpenStack , 2014, FCCM 2014.

[10]  Chris Weber,et al.  A Scientific Review on Virtual Machine Performance , 2013 .