Building the Infrastructure for Deploying FPGAs in the Cloud

At the University of Toronto, we are building the infrastructure required to support the deployment of FPGAs at a large scale in a data centre. We consider FPGAs to be peers to the CPU-based servers rather than using them as accelerator slaves, which is the more common view. The goal is to enable the allocation and use of the FPGAs as computing resources in the same way that current servers are provisioned in a data centre. Our approach is to build on the existing knowledge and experience with provisioning software-based processing elements in the data centre and adapting the current infrastructure to the differences that FPGAs bring. This will incur minimal disruption and adjustment to how systems are currently being deployed. To support FPGAs in a data centre requires many layers of infrastructure to be developed and adapted. These layers range from the very lowest levels of infrastructure provided in the FPGA itself to the upper layers of resource provisioning and configuration in the cloud. In this paper, we describe our work towards building the various layers to support deploying FPGAs in the data centre.

[1]  Nick McKeown,et al.  Software defined mobile networks , 2009, MobiHoc '09.

[2]  Alberto Leon-Garcia,et al.  Heterogeneous virtualized network function framework for the data center , 2017, 2017 27th International Conference on Field Programmable Logic and Applications (FPL).

[3]  James R. Larus,et al.  A reconfigurable fabric for accelerating large-scale datacenter services , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

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

[5]  Ralph Wittig,et al.  MPI as a Programming Model for High-Performance Reconfigurable Computers , 2010, TRETS.

[6]  Anthony Skjellum,et al.  A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard , 1996, Parallel Comput..

[7]  Keith Kirkpatrick,et al.  Software-defined networking , 2013, CACM.

[8]  Alberto Leon-Garcia,et al.  Enabling Flexible Network FPGA Clusters in a Heterogeneous Cloud Data Center , 2017, FPGA.

[9]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.