Virtualization
Virtual machines (what are they?) are of increasing
importance in embedded systems, mostly for its ability to
provide legacy re-use: For example, a complete Linux environment
can be provided as a convenient high-level programming
environment for application programs and sophisticated user
interfaces. Virtualization support such an environment while at
the same time isolating the safety- or security-critical
components or real-time subsystems from interference.
In future multi- and many-core systems-on-chip, the indirection
provided by virtualization will be essential for effective
management of global system resources, in particular energy.
Consequently, virtualization for us is both a vehicle for
building complete systems on top of the seL4 microkernel (acting
as a hypervisor), an instance of a security
architecture, and a research direction in its own right.
Below are examples of past virtualization research of the group,
much of it in the context of the Gelato project.
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.
vNUMA will be released in the near future.
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.
Our pre-virtualised Linux for Xen/ia64 will be released shortly.
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
Current
Past
Publications
2010
|
 |
Gernot Heiser and Ben Leslie
The OKL4 Microvisor: Convergence point of microkernels and hypervisors
Proceedings of the 1st Asia-Pacific Workshop on Systems, New Delhi, India, August, 2010 |
|
 |
Michael von Tessin
Towards high-assurance multiprocessor virtualisation
Proceedings of the 6th International Verification Workshop, Edinburgh, UK, July, 2010 |
2009
|
 |
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 |
|
 |
Joshua LeVasseur
Device-driver reuse via virtual machines, PhD Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2009
|
|
 |
Matthew Chapman
vNUMA: Virtual shared-memory multiprocessors, PhD Thesis, School of Computer Science and Engineering, University of NSW, Sydney 2052, Australia, 2009
|
|
 |
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 |
|
 |
Gernot Heiser
Hypervisors for consumer electronics
Proceedings of the 6th IEEE Consumer Communications and Networking Conference, Las Vegas, NV, USA, January, 2009 |
2008
|
 |
André Hergenhan and Gernot Heiser
Operating systems technology for converged ECUs
6th Embedded Security in Cars Conference (escar), Hamburg, Germany, November, 2008 |
|
 |
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! |
|
 |
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 |
|
 |
Gernot Heiser
The role of virtualization in embedded systems
1st Workshop on Isolation and Integration in Embedded Systems, Glasgow, UK, April, 2008 |
|
 |
Gernot Heiser
Do microkernels suck?
9th Linux.Conf.Au, Melbourne, January, 2008 |
2007
|
 |
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 |
|
 |
Peter Chubb, Matthew Chapman and Myrto Zehnder
[para]virtualisation without pain
Proceedings of the 8th Linux.Conf.Au, Sydney, NSW, January, 2007 |
|
 |
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, Sydney, Australia, January, 2007 |
2006
|
 |
Geoffrey Lee and Charles Gray
L4/Darwin: Evolving UNIX
Conference for Unix, Linux and Open Source Professionals, Melbourne, Vic, Australia, October, 2006 Slides |
|
 |
Myrto Zehnder and Peter Chubb
Virtualising PCI
Gelato ICE, Singapore, October, 2006 |
|
 |
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
|
 |
Gernot Heiser, Volkmar Uhlig and Joshua LeVasseur
Are virtual-machine monitors microkernels done right?
Technical Report PA005103, NICTA, October, 2005 |
|
 |
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 |
|
 |
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 |
|
 |
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! |
|
 |
Ben Leslie, Carl van Schaik and Gernot Heiser
Wombat: A portable user-mode Linux for embedded systems
Proceedings of the 6th Linux.Conf.Au, Canberra, April, 2005 |
2002
|
 |
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 |