Ker-ONE: A new hypervisor managing FPGA reconfigurable accelerators

Abstract In the last decade, research on CPU-FPGA hybrid architectures has become a hot topic. One of the main challenges in this domain is to efficiently and safely manage Dynamic Partial Reconfiguration (DPR) resources. This paper focuses on the management of reconfiguration by a custom hypervisor named Ker-ONE, on an ARM-FPGA platform. Using a virtualization approach, virtual machines (VM) may access resources independently, being unaware of the existence of other VMs. Our custom hypervisor guarantees the independence and isolation of VM domains. The purpose of our work is to provide an abstract and transparent interface for virtual machines to access reconfigurable resources, while meeting real-time constraints. This means that software engineers do not need to focus on implementation details. In this paper, we present a complete architecture in which hardware accelerators are seen as virtual devices which are universally mapped in each VM space as ordinary peripherals. The hypervisor automatically detects VMs’ requests for DPR resources and handles them dynamically according to a preemptive allocation mechanism. We also evaluate the efficiency of our framework by measuring the critical overhead during DPR management and allocations. The results demonstrate that our mechanisms are implemented with low overhead compared to other approaches and that they are compatible with real-time scheduling.

[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]  Jürgen Becker,et al.  Dynamic and Partial FPGA Exploitation , 2007, Proceedings of the IEEE.

[3]  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).

[4]  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).

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

[6]  Chuck Yoo,et al.  Real-Time Scheduling for Xen-ARM Virtual Machines , 2014, IEEE Transactions on Mobile Computing.

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

[8]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[9]  Sang-Bum Suh,et al.  Xen on ARM: System Virtualization Using Xen Hypervisor for ARM-Based Secure Mobile Phones , 2008, 2008 5th IEEE Consumer Communications and Networking Conference.

[10]  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.

[11]  George Lima,et al.  Evaluation of interrupt handling timeliness in real-time Linux operating systems , 2008, OPSR.

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

[13]  Gernot Heiser,et al.  The OKL4 microvisor: convergence point of microkernels and hypervisors , 2010, APSys '10.

[14]  Insup Lee,et al.  Compositional real-time scheduling framework , 2004, 25th IEEE International Real-Time Systems Symposium.

[15]  Paul Chow,et al.  FPGAs in the Cloud: Booting Virtualized Hardware Accelerators with OpenStack , 2014, FCCM 2014.

[16]  Jean-Christophe Prévotet,et al.  Evaluation of an RTOS on top of a hosted virtual machine system , 2013, 2013 Conference on Design and Architectures for Signal and Image Processing.

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

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

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

[20]  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).

[21]  Mauro Migliardi,et al.  A measurement-based analysis of the responsiveness of the Linux kernel , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[22]  Chenyang Lu,et al.  RT-Xen: Towards real-time hypervisor scheduling in Xen , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[23]  Jason Nieh,et al.  KVM/ARM: the design and implementation of the linux ARM hypervisor , 2014, ASPLOS.