Embedded applications have specific requirements that rise from limited resources/proprietary hardware/tight scheduling. KVM answers all of them:
- Memory foot print--Like any embedded Linux, KVM can be very thin. Linux running X was demonstrated running using 1M binary, KVM additions are minimal.
- PCI pass-through--Sometimes the hardware is not virtualized and should be redirected into the VM for its direct control. This feature is called PCI pass through. It is work in progress for KVM and there are several flavor for it, ranging from 1-1 memory mapping, through para-virtual PCI up to hardware support using VT-d.
- Real time--Linux has separate branch for real time. While running virtual machines the Linux host can still provide mer 50 micro second latency. All KVM code paths are preemptive and if the VM is in guest mode, a standard IPI or signal will trigger a host exit and the VM will be preempted in favor of higher priority tasks.
- Virtual machine management--Managing VMs is simple, there is no need for external tools like web servers or python running in privileged VMs or the hypervisor.
So if one needs to cut expenses, reduce complexity, improve security, and increase security, then embedded virtualization is the solution and KVM is the perfect match for his needs.
Dor Laor is a software director for Qumranet. Dor runs the
virtualization, remote desktop and windows drivers teams. prior to
Qumranet Dor managed the core group for BladeFusion. Before that, Dor was part of the key developer of Charlotte's web networks terabit router product. While at Charlotte's web networks, he developed industry leading highly available core routing abilities, virtual routers and implemented meaningful part of the router's internal management.
This article was first published on LinuxPlanet.com.