<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>

Virtual Open Systems Scientific Publications

Virtio-FPGA: a virtualization solution for SoC-attached FPGAs

Virtio-FPGA - Virtualization solution for SoC-attached FPGAs - conference ESARS-ITEC 2023

Event

The 2023 International Conference on Electrical Systems for Aircraft, Railway, Ship Propulsion and Road Vehicles (ESARS) and International Transportation Electrification Conference (ESARS-ITEC 2023).

Keywords

FPGAs, virtio, FPGA Manager, VFIO.

Authors

Anna Panagopoulou, Michele Paolino, Daniel Raho (Virtual Open Systems SAS).

Abstract

Recently, FPGA accelerators have risen in popularity as they present a suitable way of satisfying the high-computation and low-power demands of real time applications. The modern electric transportation systems (such as aircraft, road vehicles) can greatly profit from embedded FPGAs, which incorporate both high-performance and flexibility features into a single SoC. At the same time, the virtualization of FPGA resources aims to reinforce these systems with strong isolation, consolidation and security. In this paper, we present a novel virtualization framework aimed for SoC-attached FPGA devices, in a Linux and QEMU/KVM setup. We use Virtio as means to enable the configuration of FPGA resources from guest systems in an efficient way. Also, we employ the Linux VFIO and Device Tree Overlays technologies in order to make the FPGA resources dynamically accessible to guest systems. The ability to dynamically configure and utilize the FPGA resources from a virtualization environment is described in details. The evaluation procedure of the solution is presented and the virtualization overhead is benchmarked as minimal (around 10%) when accessing the FPGA devices from guest systems.

Introduction

In the recent years, SoC-attached FPGAs has emerged as an architecture of broad interest in the electric transportation systems. It is a formation that comes with both performance and flexibility gains, as it combines general-purpose and highly-specialized computation in a single board. At the same time, virtualizing the FPGA resources of SoC-attached FPGAs is the means to build standardized interfaces to access the reconfigurable, heterogeneous hardware.

The virtualization of FPGA resources is a non-trivial goal, due to the unique nature of FPGAs; the hardware is so modifiable, that it introduces great challenges in exposing a unified layer for the virtual resources. The objective of the proposed solution is to address some of the FPGA virtualization challenges of ARM SoCs, on the grounds of well-known and accepted APIs and environments. In this paper, we are going to present Virtio-FPGA; an initial prototype built for Linux and Qemu/KVM, that aims to provide transparent and dynamic accesses of the FPGA hardware to guest systems.

Access the full content of this publication

Login or register to access full information