This summer IBM shared plans to extend support for Kernel-based Virtual Machine (KVM) technology to the Power Systems portfolio of server products. On the surface, the announcement sounds simple enough. But like many of IBM’s initiatives, there is a substantial behind-the-scenes effort going on in an open source community to enable this innovation. In this case, much of the work is being done in the QEMU community.
What is the significance of QEMU?
QEMU stands for Quick EMUlator. It is maintained by an open source community. As the name implies, it started out as an emulator. It includes a virtual machine environment for several architectures – x86, Power, System 390, among others. However, KVM doesn’t use the processor emulator part for KVM – it just uses the virtual machine environment.
Although QEMU does not get as much attention as KVM, the technology is critical to the open source virtualization that KVM enables. The QEMU project is strategic to KVM. You can’t have a hypervisor without a virtual machine environment within which to run the operating system.
A hypervisor is comprised of the virtual machine monitor, which enforces isolation among running workloads, and the virtual machine environment, which provides the virtual hardware. For the KVM hypervisor the KVM kernel module provides the virtual machine monitor, while QEMU provides the virtual machine environment These are two open source projects that are combined to create the full hypervisor.
Some of the reasons the QEMU project is important to IBM are the same as for KVM. It is an open source project with a strong community. It moves quickly to implement new features, enabling us to bring innovation to IBM customers. In fact, our recent work on KVM for Power last year put us into a tie with Red Hat for contributions to the QEMU community.
What does QEMU enable?
Most of the new features that people are seeking in the KVM hypervisor are actually provided by QEMU components. Think about this:
- QEMU technology makes it possible to start a guest by streaming the ISO image over the network. This makes it extremely easy to start a new virtual machine.
- New I/O virtualization technology called virtio-blk-data-plane, primarily implemented in QEMU, enabled IBM and Red Hat to achieve a benchmark for the outstanding I/O performance that is required by enterprise workloads, such as databases, ERP systems and low-latency financial trading applications.
- 3-Live migration of a guest is primarily a QEMU function – and that has recently been improved by more than 400%.
- New RDMA (remote direct memory access) transport is being added by IBM to QEMU to provide high speed migration and high speed communication between guests running on different machines.
- The new GlusterFS library within QEMU will make it much faster to build a clustered file system when using KVM.
In fact, most of the KVM tuning and ease-of-use features that are scheduled for release over the next year have also been developed within QEMU. In addition, most of the features that are being developed to make KVM more scalable and faster have also involved both a QEMU component and a KVM component.
IBM support for QEMU
When you implement a new feature in KVM, frequently it is necessary to implement a counterpart in QEMU to take advantage of that new KVM capability. As a result, there tends to be a large overlap in the developers that are working in KVM and QEMU.
IBM is committed to supporting QEMU development, and is investing many developer hours into the project. Over the years, IBM has participated in many open source projects, including Open Stack, , Apache and Eclipse in addition to Linux. We are approaching the QEMU project with the same intensity.
Mike Day - IBM Distinguished Engineer and Chief Virtualization Architect, Open Systems