Proteus Hypervisor: Full Virtualization and Paravirtualization for Multi-core Embedded Systems

System virtualization’s integration of multiple software stacks with maintained isolation on multi-core architectures has the potential to meet high functionality and reliability requirements in a resource efficient manner. Paravirtualization is the prevailing approach in the embedded domain. Its applicability is however limited, since not all operating systems can be ported to the paravirtualization application programming interface. Proteus is a multi-core hypervisor for PowerPC-based embedded systems, which supports both full virtualization and paravirtualization without relying on special hardware support. The hypervisor ensures spatial and temporal separation of the guest systems. The evaluation indicates a low memory footprint of 15 kilobytes and the configurability allows for an application-specific inclusion of components. The interrupt latencies and the execution times for hypercall handlers, emulation routines, and virtual machine context switches are analyzed.

[1]  Timo Kerstan,et al.  Proteus, a Hybrid Virtualization Platform for Embedded Systems , 2009, IESS.

[2]  Krithi Ramamritham,et al.  SParK: Safety Partition Kernel for Integrated Real-Time Systems , 2010, From Active Data Management to Event-Based Systems and More.

[3]  Ilia Petrov,et al.  From Active Data Management to Event-Based Systems and More , 2010, Lecture Notes in Computer Science.

[4]  Ravi Nair,et al.  Introduction to Virtual Machines , 2005 .

[5]  P. J. Prisaznuk,et al.  Integrated modular avionics , 1992, Proceedings of the IEEE 1992 National Aerospace and Electronics Conference@m_NAECON 1992.

[6]  T. Gomes,et al.  A customizable and ARINC 653 quasi-compliant hypervisor , 2012, 2012 IEEE International Conference on Industrial Technology.

[7]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[8]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[9]  Ivan B. Ganev,et al.  Re-architecting VMMs for Multicore Systems : The Sidecore Approach , 2007 .

[10]  James E. Smith,et al.  The architecture of virtual machines , 2005, Computer.

[11]  M. Masmano,et al.  XtratuM: a Hypervisor for Safety Critical Embedded Systems , 2012 .

[12]  Zonghua Gu,et al.  A State-of-the-Art Survey on Real-Time Issues in Embedded Systems Virtualization , 2012 .

[13]  Samuel T. King,et al.  Operating System Support for Virtual Machines , 2003, USENIX Annual Technical Conference, General Track.

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

[15]  Gernot Heiser,et al.  Pre-virtualization: Soft layering for virtual machines , 2008, 2008 13th Asia-Pacific Computer Systems Architecture Conference.

[16]  P.J. Prisaznuk,et al.  ARINC 653 role in Integrated Modular Avionics (IMA) , 2008, 2008 IEEE/AIAA 27th Digital Avionics Systems Conference.

[17]  Robert P. Goldberg,et al.  Formal requirements for virtualizable third generation architectures , 1973, SOSP 1973.

[18]  R. Garside,et al.  Integrating Modular Avionics: A new role emerges , 2007 .

[19]  Wind River TM Hypervisor Applying Multi-core and Virtualization to Industrial and Safety-Related Applications Multi-core and virtualization provide the opportunity to improve device performance , reduce costs through hardware consolidation and upgrade applications more cost effectively throughout the product lifecycle , 2009 .