Architecture Support for FPGA Multi-tenancy in the Cloud

Cloud deployments now increasingly provision FPGA accelerators as part of virtual instances. While FPGAs are still essentially single-tenant, the growing demand for hardware acceleration will inevitably lead to the need for methods and architectures supporting FPGA multi-tenancy. In this paper, we propose an architecture supporting space-sharing of FPGA devices among multiple tenants in the cloud. The proposed architecture implements a network-on-chip (NoC) designed for fast data movement and low hardware footprint. Prototyping the proposed architecture on a Xilinx Virtex Ultrascale + demonstrated near specification maximum frequency for on-chip data movement and high throughput in virtual instance access to hardware accelerators. We demonstrate similar performance compared to single-tenant deployment while increasing FPGA utilization (we achieved $6 \times$ higher FPGA utilization with our case study), which is one of the major goals of virtualization. Overall, our NoC interconnect achieved about $2 \times$ higher maximum frequency than the state-of-the-art and a bandwidth of 25.6 Gbps.

[1]  Pongstorn Maidee,et al.  LinkBlaze: Efficient global data movement for FPGAs , 2017, 2017 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[2]  Kizheppatt Vipin,et al.  Virtualized FPGA Accelerators for Efficient Cloud Computing , 2015, 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom).

[3]  Naif Tarafdar,et al.  A Modular Heterogeneous Stack for Deploying FPGAs and CPUs in the Data Center , 2019, FPGA.

[4]  Dirk Grunwald,et al.  Exploring FPGA network on chip implementations across various application and network loads , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[5]  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).

[6]  Christophe Bobda,et al.  FPGAVirt: A Novel Virtualization Framework for FPGAs in the Cloud , 2018, 2018 IEEE 11th International Conference on Cloud Computing (CLOUD).

[7]  Dirk Koch,et al.  Resource Elastic Virtualization for FPGAs Using OpenCL , 2018, 2018 28th International Conference on Field Programmable Logic and Applications (FPL).

[8]  Yu Wang,et al.  Online scheduling for FPGA computation in the Cloud , 2014, 2014 International Conference on Field-Programmable Technology (FPT).

[9]  James C. Hoe,et al.  CONNECT: re-examining conventional wisdom for designing nocs in the context of FPGAs , 2012, FPGA '12.

[10]  Christophe Bobda,et al.  FPGA Virtualization in Cloud-Based Infrastructures Over Virtio , 2018, 2018 IEEE 36th International Conference on Computer Design (ICCD).

[11]  Alberto Leon-Garcia,et al.  FPGAs in the Cloud: Booting Virtualized Hardware Accelerators with OpenStack , 2014, 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines.

[12]  Muhammad E. S. Elrabaa,et al.  Cloud-Based FPGA Custom Computing Machines for Streaming Applications , 2019, IEEE Access.

[13]  Christophe Bobda,et al.  Secure Hardware Kernels Execution in CPU+FPGA Heterogeneous Cloud , 2018, 2018 International Conference on Field-Programmable Technology (FPT).

[14]  Alberto Leon-Garcia,et al.  Building the Infrastructure for Deploying FPGAs in the Cloud , 2018, Hardware Accelerators in Data Centers.

[15]  Zhiwei Xu,et al.  Computer Organization and Design Course with FPGA Cloud , 2019, SIGCSE.

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

[17]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[18]  Nachiket Kapre,et al.  Hoplite: Building austere overlay NoCs for FPGAs , 2015, 2015 25th International Conference on Field Programmable Logic and Applications (FPL).

[19]  Paolo Ienne,et al.  Virtualized Execution Runtime for FPGA Accelerators in the Cloud , 2017, IEEE Access.

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