Litcius/Paper detail

Compiler-driven FPGA virtualization with SYNERGY

Joshua Landgraf, Tiffany Yang, Will Y. Lin, Christopher J. Rossbach, Eric Schkufza

202122 citationsDOIOpen Access PDF

Abstract

FPGAs are increasingly common in modern applications, and cloud providers now support on-demand FPGA acceleration in data centers. Applications in data centers run on virtual infrastructure, where consolidation, multi-tenancy, and workload migration enable economies of scale that are fundamental to the provider’s business. However, a general strategy for virtualizing FPGAs has yet to emerge. While manufacturers struggle with hardware-based approaches, we propose a compiler/runtime-based solution called Synergy. We show a compiler transformation for Verilog programs that produces code able to yield control to software at sub-clock-tick granularity according to the semantics of the original program. Synergy uses this property to efficiently support core virtualization primitives: suspend and resume, program migration, and spatial/temporal multiplexing, on hardware which is available today. We use Synergy to virtualize FPGA workloads across a cluster of Altera SoCs and Xilinx FPGAs on Amazon F1. The workloads require no modification, run within 3−4× of unvirtualized performance, and incur a modest increase in FPGA fabric utilization.

Topics & Concepts

Computer scienceCompilerVirtualizationField-programmable gate arrayEmbedded systemOperating systemCloud computingComputer architectureParallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesInterconnection Networks and Systems