Virtualization

Virtual machines are of increasing importance not only in the enterprise domain, but also in embedded systems. The main reasons are their ability to support legacy re-use, and to provide a convenient environment in an otherwise bare-bones system. For example, a complete Linux system can be provided as a convenient high-level programming environment for application programs and sophisticated user interfaces. Virtualization supports such an environment while at the same time isolating the safety- or security-critical components or real-time subsystems from interference.

Furthermore, in multi- and many-core systems-on-chip, the indirection provided by virtualization is becoming be essential for effective management of global system resources, in particular energy.

Consequently, virtualization for us is a vehicle for building complete systems on top of the seL4 microkernel (acting as a hypervisor), and an instance of a security architecture. Virtualization is an essential mechanism for our work on safety-critical systems and multi-criticality real-time systems.

Current Activities

Present activities focus two issues:

  • reducing the overheads for virtualising systems on top of seL4, both through design and implementation techniques and by improving the kernel API, and
  • demonstrating dependability or performance benefits of seL4-based systems.

Much of this work is not virtualization research of its own right, but instead is research that his heavily dependent on virtualization as a mechanism, and drives performance improvements.

An example is leveraging the dependability guarantees of the formally-verified seL4 microkernel to improve the efficiency of database operations (by removing the overheads required to ensure durability on less dependable platforms).

Past activities

Wombat and Darbat

Wombat was our para-virtualized Linux server on L4. It was the first portable (across architectures) version of a virtualized Linux on L4 (possibly the first portable virtualized Linux at all). It is now commercially supported by our spinout company Open Kernel Labs under the name OK Linux. We have consequently discontinued support for Wombat.

Darbat is related project aiming at running a complete Mac OS X system on top of L4, possibly concurrently with a Linux (i.e. Wombat) system. Rather than straight para-virtualization of the Darwin kernel (consisting of Mach, a BSD kernel and IOkit), the Darbat project attempts to remove Mach completely, replace its functionality by plain L4 mechanisms plus some user-level libraries. The aim is to run Darwin and IOkit in different (unprivileged) address spaces.

Pre-virtualization

Pre-virtualization is a new virtualization technique, which dramatically reduces the engineering cost of para-virtualization while maintaining its performance advantage over pure virtualization. Pre-virtualization, like pure virtualization, retains the original host platform architecture. This is achieved by automating the process of virtualising the guest OS.

Itanium Hypervisors

Our pre-virtualization work supports several different hypervisors on the Itanium architecture. One of them (vNUMA) is our own research projects, others are developed elsewhere.

vNUMA

Virtual NUMA (vNUMA) is a virtual machine monitor that provides a virtual shared-memory multiprocessor system on a cluster. It supports a pre-virtualised Linux as a single-system-image operating system. vNUMA aims to provide easy and efficient migration of legacy SMP applications to a cluster.

Xen/ia64

Xen is a widely-used open-source hypervisor. We are targeting Xen for or pre-virtualised Linux and are achieving the same (or better) performance as para-virtualised XenoLinux, with a fraction of the engineering cost.

Linux

Linux itself, more commonly used as a guest OS, can serve as a hypervisor, user-mode Linux (UML) is an example of this. While UML is an example of para-virtualised Linux, our Linux-on-Linux achieves better performance with dramatically reduced engineering cost.

People

Publications

2011

plain text PDF Prashant Varanasi and Gernot Heiser
Hardware-supported virtualization on ARM
Proceedings of the 2nd Asia-Pacific Workshop on Systems (APSys), Shanghai, China, July, 2011
plain text PDF Gernot Heiser, Leonid Ryzhyk, Michael von Tessin and Aleksander Budzynowski
What if you could actually Trust your kernel?
Proceedings of the 13th Workshop on Hot Topics in Operating Systems, Napa, CA, USA, May, 2011

2010

plain text PDF Gernot Heiser and Ben Leslie
The OKL4 Microvisor: Convergence point of microkernels and hypervisors
Proceedings of the 1st Asia-Pacific Workshop on Systems (APSys), New Delhi, India, August, 2010

2009

plain text PDF Matthew Chapman and Gernot Heiser
vNUMA: A virtual shared-memory multiprocessor
Proceedings of the 2009 USENIX Annual Technical Conference, San Diego, CA, USA, June, 2009
plain text PDF Joshua LeVasseur
Device-driver reuse via virtual machines, PhD Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2009
plain text PDF Matthew Chapman
vNUMA: Virtual shared-memory multiprocessors, PhD Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2009
plain text PDF Gernot Heiser
Many-core chips — a case for virtual shared memory
Proceedings of the 2nd Workshop on Managed Many-Core Systems, Washington, DC, USA, March, 2009
plain text PDF Gernot Heiser
Hypervisors for consumer electronics
Proceedings of the 6th IEEE Consumer Communications and Networking Conference, Las Vegas, NV, USA, January, 2009

2008

plain text PDF André Hergenhan and Gernot Heiser
Operating systems technology for converged ECUs
6th Embedded Security in Cars Conference (escar), Hamburg, Germany, November, 2008
plain text PDF Joshua LeVasseur, Volkmar Uhlig, Yaowei Yang, Matthew Chapman, Peter Chubb, Ben Leslie and Gernot Heiser
Pre-virtualization: Soft layering for virtual machines
Proceedings of the 13th IEEE Asia-Pacific Computer Systems Architecture Conference, Hsinchu, Taiwan, August, 2008
Best Paper Award!
plain text PDF Dhammika Elkaduwe, Philip Derrin and Kevin Elphinstone
Kernel design for isolation and assurance of physical memory
1st Workshop on Isolation and Integration in Embedded Systems, Glasgow, UK, April, 2008
plain text PDF Gernot Heiser
The role of virtualization in embedded systems
1st Workshop on Isolation and Integration in Embedded Systems, Glasgow, UK, April, 2008
plain text   Gernot Heiser
Do microkernels suck?
, January, 2008

2007

plain text PDF Timothy Roscoe, Kevin Elphinstone and Gernot Heiser
Hype and virtue
Proceedings of the 11th Workshop on Hot Topics in Operating Systems, San Diego, CA, USA, May, 2007
plain text PDF Peter Chubb, Matthew Chapman and Myrto Zehnder
[para]virtualisation without pain
8th Linux.conf.au, Sydney, NSW, January, 2007
plain text PDF Carl van Schaik and Gernot Heiser
High-performance microkernels and virtualisation on ARM and segmented architectures
Proceedings of the 1st International Workshop on Microkernels for Embedded Systems (MIKES), Sydney, Australia, January, 2007

2006

plain text PDF Geoffrey Lee and Charles Gray
L4/Darwin: Evolving UNIX
Conference for Unix, Linux and Open Source Professionals (AUUG), Melbourne, Vic, Australia, October, 2006
Slides
plain text PDF Gernot Heiser, Volkmar Uhlig and Joshua LeVasseur
Are virtual-machine monitors microkernels done right?
ACM Operating Systems Review, 40(1), 95–99, (January, 2006)

2005

plain text PDF Gernot Heiser, Volkmar Uhlig and Joshua LeVasseur
Are virtual-machine monitors microkernels done right?
Technical Report PA005103, NICTA, October, 2005
plain text PDF Joshua LeVasseur, Volkmar Uhlig, Matthew Chapman, Peter Chubb, Ben Leslie and Gernot Heiser
Pre-virtualization: Slashing the cost of virtualization
Technical Report PA005520, NICTA, October, 2005
plain text PDF Matthew Chapman and Gernot Heiser
Implementing transparent shared memory on clusters using virtual machines
Proceedings of the 2005 USENIX Annual Technical Conference, Anaheim, CA, USA, April, 2005
plain text PDF Charles Gray, Matthew Chapman, Peter Chubb, David Mosberger-Tang and Gernot Heiser
Itanium — a system implementor's tale
Proceedings of the 2005 USENIX Annual Technical Conference, Anaheim, CA, USA, April, 2005
Best Student Paper Award!
plain text PDF Ben Leslie, Carl van Schaik and Gernot Heiser
Wombat: A portable user-mode Linux for embedded systems
6th Linux.conf.au, Canberra, April, 2005

2002

plain text PDF Volkmar Uhlig, Uwe Dannowski, Espen Skoglund, Andreas Haeberlen and Gernot Heiser
Performance of address-space multiplexing on the Pentium
Technical Report 2002-1, Computer Science Department, University of Karlsruhe, 2002