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 a 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 render 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.
翻译:近年来,FPGA加速器因其能够满足实时应用程序的高计算和低功耗要求而变得越来越受欢迎。现代电气传动系统(如飞机,道路车辆)可以从嵌入式FPGA中获得巨大好处,因为它们将高性能和灵活性特性融合成一个单一的SoC。同时,FPGA资源的虚拟化旨在为这些系统提供强大的隔离,集成和安全性。在本文中,我们提出了一个针对SoC附加FPGA设备的新型虚拟化框架,基于Linux和QEMU/KVM设置。我们使用Virtio作为一种方式,以便从客户系统中高效地配置FPGA资源。此外,我们采用Linux VFIO和Device Tree Overlays技术,以使FPGA资源动态可访问客户系统。详细描述了从虚拟化环境动态配置和利用FPGA资源的能力。介绍了解决方案的评估过程,并将从客户系统访问FPGA设备的虚拟化开销定为最小值(约为10%)。