Hypervisor mechanisms to manage FPGA reconfigurable accelerators

In the last decade, the research on CPU-FPGA hybrid architectures has become a hot topic. One of the main challenges in this domain consists in efficiently and safely managing dynamic partial reconfiguration (DPR) resources. This paper focuses on the management of the reconfiguration by an hypervisor on an ARM-FPGA platform. Using the virtualization approach, virtual machines (VM) may access resources independently, being unaware of the existence of other VMs. The purpose of our work is to provide an abstract and transparent interface for virtual machines to access reconfigurable resources. The underlying infrastructure of partial reconfiguration management is hidden from the virtual machines, so that software developers do not need to consider the implementation details. We propose a framework where DPR accelerators are presented as virtual devices, which are universally mapped in each VM space as ordinary peripherals. The hypervisor automatically detects VM's requests for DPR resources and handles them dynamically according to a preemptive allocation mechanism. Our custom hypervisor guarantees the independent and isolation of VM domains. We also evaluate the efficiency of our framework by measuring the critical overheads during DPR management and allocations. The results demonstrate that our mechanism is implemented with low overhead.

[1]  Wei Wang,et al.  pvFPGA: Accessing an FPGA-based hardware accelerator in a paravirtualized environment , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[2]  Jim Stevens,et al.  Run-Time Services for Hybrid CPU/FPGA Systems on Chip , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[3]  Hiroaki Takada,et al.  Rainbow: An Operating System for Software-Hardware Multitasking on Dynamically Partially Reconfigurable FPGAs , 2013, Int. J. Reconfigurable Comput..

[4]  Jean-Christophe Prévotet,et al.  Mini-NOVA: A Lightweight ARM-based Virtualization Microkernel Supporting Dynamic Partial Reconfiguration , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[5]  Jürgen Becker,et al.  CAP-OS: Operating system for runtime scheduling, task mapping and resource management on reconfigurable multiprocessor architectures , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[6]  Geng Yang,et al.  A Novel Cooperative ARQ Method for Wireless Sensor Networks , 2015, Int. J. Distributed Sens. Networks.

[7]  Jürgen Becker,et al.  Dynamic and Partial FPGA Exploitation , 2007, Proceedings of the IEEE.

[8]  Marco Platzner,et al.  ReconOS: An Operating System Approach for Reconfigurable Computing , 2014, IEEE Micro.

[9]  Gernot Heiser,et al.  The role of virtualization in embedded systems , 2008, IIES '08.

[10]  Chun-Hsian Huang,et al.  Hardware Resource Virtualization for Dynamically Partially Reconfigurable Systems , 2009, IEEE Embedded Systems Letters.

[11]  Douglas L. Maskell,et al.  Virtualized Execution and Management of Hardware Tasks on a Hybrid ARM-FPGA Platform , 2014, J. Signal Process. Syst..

[12]  Jürgen Becker,et al.  On-demand reconfiguration for coprocessors in mixed criticality multicore systems , 2015, 2015 International Conference on High Performance Computing & Simulation (HPCS).

[13]  Wenzhi Chen,et al.  The Study and Evaluation of ARM-Based Mobile Virtualization , 2015, Int. J. Distributed Sens. Networks.