We propose hybrid-virtualization that combines paravirtualization and hardware-assisted virtualization. It can achieve equivalent or better performance than software-only para-virtualization, taking the full advantage of each technology. We implemented a hybrid-virtualization Linux with para-virtualization, which required much fewer modifications to Linux, and yet achieved equivalent or better performance than software-only XenLinux.
The hybrid-virtualization employs para-virtualization for I/O, interrupt controllers, and timer to simplify the system and optimize performance. For CPU virtualization, it allows one to use the same code as in the original kernel.
The other benefits are: One, it can run on broader ranges of VMMs, including Xen and KVM; and Two, it takes full advantage of all the future extensions to hardware including virtualization technologies.
This paper assumes basic understanding of the Linux kernel and virtualization technologies. It provides insights to how the para-virtualization can be extended with hardware assists for virtualization and take advantage of future hardware extension.