A survey of system architectures and techniques for FPGA virtualization

Masudul Hassan Quraishi, Erfan Bank Tavakoli, Fengbo Ren

Research output: Contribution to journalArticlepeer-review

14 Scopus citations


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.

Original languageEnglish (US)
Article number9369140
Pages (from-to)2216-2230
Number of pages15
JournalIEEE Transactions on Parallel and Distributed Systems
Issue number9
StatePublished - Sep 1 2021


  • Accelerator
  • Architecture
  • FPGA
  • Reconfiguration
  • Virtualization

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics


Dive into the research topics of 'A survey of system architectures and techniques for FPGA virtualization'. Together they form a unique fingerprint.

Cite this