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与设备树覆盖技术使FPGA资源能够动态呈现给客户系统。本文详细描述了在虚拟化环境中动态配置并利用FPGA资源的能力,展示了该方案的评估流程,并通过基准测试验证其虚拟化开销极小(客户系统访问FPGA设备时约10%)。