Are Virtual Machine Monitors Microkernels Done Right?
Heiser, uhlig, LeVasseur (2005)
Are Virtual Machine Monitors Microkernels Done Right?
What Kind of Paper?
- Position
- Response to other paper of the same name
- Claim the other paper is erroneous, and this paper corrects it
Definitions
- VMM: "software which transforms the single machine interface into the
illusion of many."
- Microkernel: "to minimize the kernel and to implement whatever
possible outside of the kernel"
Goals (similarity)
- VMM: software reliability, data security, alternative system APIs,
improved and new mechanisms
- Microkernel: flexibility, extensibility, fault isolation,
maintainability, and restricted interdependencies.
Revisiting Hand's Assertions
- Liability Inversion
- Claim Xen suffers from identical problem.
- Both cite Parallax as example to prove their point.
- Hand says that Parallax only affects other VMs
- Heiser says that this is the same as a failure of an L4 server
- IPC Performance
- Xen uses Dom0 for drivers, so all I/O requires IPC (simple
asynchronous unidirectional event mechanism) with Dom0
- CPU load of Dom0 dominates all other CPU load, so it *is* performance
critical.
- VMMs provide familiar environment
- L4 Linux was presented many years ago, apparently satisfying the same
criteria.