Litcius/Paper detail

A Survey of System Architectures and Techniques for FPGA Virtualization

Masudul Hassan Quraishi, Erfan Bank Tavakoli, Fengbo Ren

2021IEEE Transactions on Parallel and Distributed Systems44 citationsDOI

Abstract

FPGA accelerators are gaining increasing attention in both cloud and edge computing because of their hardware flexibility, high computational throughput, and low power consumption. However, the design flow of FPGAs often requires specific knowledge of the underlying hardware, which hinders the wide adoption of FPGAs by application developers. Therefore, the virtualization of FPGAs becomes extremely important to create a useful abstraction of the hardware suitable for application developers. Such abstraction also enables the sharing of FPGA resources among multiple users and accelerator applications, which is important because, traditionally, FPGAs have been mostly used in single-user, single-embedded-application scenarios. There are many works in the field of FPGA virtualization covering different aspects and targeting different application areas. In this article, we review the system architectures used in the literature for FPGA virtualization. In addition, we identify the primary objectives of FPGA virtualization, based on which we summarize the techniques for realizing FPGA virtualization. This article helps researchers to efficiently learn about FPGA virtualization research by providing a comprehensive review of the existing literature.

Topics & Concepts

VirtualizationField-programmable gate arrayComputer scienceEmbedded systemFull virtualizationApplication virtualizationHardware virtualizationFlexibility (engineering)Cloud computingReconfigurable computingComputer architectureService virtualizationOperating systemMathematicsStatisticsPhysical Unclonable Functions (PUFs) and Hardware SecurityAdvanced Memory and Neural ComputingInterconnection Networks and Systems