<div class='slidealt'>Experience kvm <a title='virtualization for embedded heterogeneous arm core platforms' href='/en/products'>virtualization extensions</a></div> <div class='slidealt'>Benefit from custom <a title='kvm on arm services full virtualization' href='/en/services'>virtualization services</a></div> <div class='slidealt'>KVM on ARMv7 and ARMv8 <a title='kvm-on-arm open source smu extensions' href='/en/solutions/guides/vfio-on-arm/'>IOMMU full virtualization</a></div> <div class='slidealt'>Virtualization research projects <a title='ARM multicore kvm open source' href='/en/research'>in cloud and embedded systems</a></div> <div class='slidealt'>Virtualization solutions for heterogeneous <a title='ARMv7-ARMv8 virtualization open source solutions' href='/en/solutions'>ARM multicore systems</a></div>

vFPGAmanager, the FPGA Framework to Deploy Accelerated Virtualization Environments

virtualization of FPGA accelerators

Modern System-on-Chip (SoC) integrated circuits are heterogeneous to increase the computing power behind CPU multi-cores; co-processing platforms becomes mandatory to provide the right level of performance required by applications in networking, automotive, Advanced Driver Assistance Systems (ADAS), Internet of Things (IoT), High Performance Computing (HPC), and more in general by Artificial Intelligence (AI). Heterogeneous SoCs combining multiple CPUs and GPUs provide part of the solution without satisfying all requirements. The advent of FPGA technology in modern SoC fills the gap thanks to a flexible architecture which can be reconfigured at runtime to serve complex and changing requirements and to provide solutions to specific algorithmic challenges.

With their performance and low power consumption, FPGAs are ideal candidates for embedded systems, automotive, cloud and networking, IoT, and more in general virtualized environments, where guests (virtual machines, containers, unikernels) can benefit from FPGA custom accelerators. However, the lack of virtualization support makes their deployment cumbersome in production, thus discouraging potential users.

vFPGAmanager to enable access to FPGA accelerators from virtual guests

vFPGAmanager is a Virtual Open Systems patented technology that strives to solve the aforementioned challenge. The vFPGAmanager product framework, consisting of hardware and software components, enables direct access of guests to the FPGA hardware accelerators, which can be shared and reconfigured at runtime to support various application needs. vFPGAmanager exposes APIs to allow a Virtualized Infrastructure Manager (VIM) to remotely monitor the FPGA current status and deploy a desired hardware component to accelerate applications in an orchestrated manner.

vFPGAmanager

vFPGAmanager Functional Diagram

The main features of the vFPGAmanager are the following:

bullet Guests and FPGA direct communication through IOMMU

bullet Accelerator sharing between two or more guests

bullet Support for VIM such as OpenStack

bullet FPGA remote orchestration and resource monitoring

bullet Runtime hardware accelerators reconfiguration

The vFPGAmanager can be deployed in automotive (ADAS), networking (VNFs acceleration), IoT, Industry 4.0 and AI applications.