BlastFunction: An FPGA-as-a-Service System for Accelerated Serverless Computing

Marco Bacisa, Rolando Brondolinb and Marco D. Santambrogioc
DEIB, Politecnico di Milano, Milano, IT
amarco.bacis@mail.polimi.it
brolando.brondolin@polimi.it
cmarco.santambrogio@polimi.it

ABSTRACT


Heterogeneous computing platforms are now a valuable solution to continue to meet Service Level Agreements (SLAs) for compute intensive cloud workloads. Field Programmable Gate Arrays (FPGAs) effectively accelerate cloud workloads, however, these workloads have a spiky behavior as well as long periods of underutilization. Sharing the FPGA with multiple tenants then helps to increase the board's time utilization. In this paper we present BlastFunction, a distributed FPGA sharing system for the acceleration of microservices and serverless applications in cloud environments. BlastFunction includes a Remote OpenCL Library to access the shared devices transparently; multiple Device Managers to time-share and monitor the FPGAs and a central Accelerators Registry to allocate the available devices. BlastFunction reaches higher utilization and throughput w.r.t. a native execution thanks to device sharing, with minimal differences in latency given by the concurrent accesses.

Keywords: FPGA sharing, Serverless, OpenCL



Full Text (PDF)