Clear Thoughts on Cloudy Subjects
Musings about the Xen Project, Clouds, virtualization, Open Source, and everything else that piques my technical interest.
The Bare-Metal Hypervisor as a Platform for Innovation
In this industry, everyone seems to talk about innovation, but very few platforms exist which foster innovation. More times than not, "innovation" is simply a buzzword used by some marketing campaign to hawk something about as novel as twenty-year-old accounting software.
Innovation does occur, of course. But often real innovation leverages what already exists to create something which doesn't yet exist. It may borrow from the known, but it produces something previously unknown. For example, the industry has been going wild over cloud computing in the past few years, but many of the core cloud computing concept are actually old mainframe concepts reimagined in the world of commodity servers.
Making a Place for Innovation to Thrive
A bare-metal hypervisor -- like the one produced by the Xen Project -- can be an excellent platform for innovation. We think of hypervisors as old technology, plumbing for newer technologies like cloud -- and, indeed, they are. But the nature of the bare-metal hypervisor makes it an excellent platform for innovation to take place.
By design, the bare-metal hypervisor provides a thin virtualization layer on the surface of a server's hardware. Unlike its cousin, the hosted hypervisor, it does not rely on the presence of a (potentially beefy) host operating system built to facilitate traditional workloads. Rather, a bare-metal hypervisor runs directly on the server, providing a razor-thin layer of services which can be tailored to the needs of the workloads.
While the presence of a bare-metal hypervisor isn't new, the direction which some people are taking it is. Today's workload is about virtualizing images of existing machines, complete with full operating system stacks. Tomorrow's workload, however, promises to be quite different and can leverage the advantages of a lightweight, operating system independant hypervisor.
Key Elements Which Foster Innovation
The bare-metal hypervisor provides key attributes which can facilitate innovations:
– Density: A razor-thin hypervisor leaves lots of room for workloads. And with new technologies like Unikernels, that means that a massive number of guests could be accomodated on a single server.
– Scalability: A bare-metal hypervisor doesn't rely on a host operating system to determine how wide it can scale. In a future which might include thousands of very small workloads, it can be tuned to make optimal use of the resources available.
– Security: No host operating system means a smaller plane of attack for malicious hackers. In the world of the cloud, security is a huge concern -- and growing. Not having a host operating system to exploit is a very good thing.
– Scheduling: The hypervisor can use whatever scheduler makes sense for the workload. You aren't stuck with the host operating system's scheduler, which might not be optimal for tomorrow's workloads.
– Paravirtualization: The simplified interface for paravirtualization means that special-purpose workloads don't need to write complex drivers for emulated hardware. Paravirtualization make coding easier and keeps workloads light and small.
What Examples of Innovations Do These Elements Enable?
-- Xen Automotive: An automotive hypervisor which supports all infotainment functions in the vehicle within a singular compute engine eliminates the cost of designing, sourcing, installing, and testing multiple discrete processors within the car. It raises new issues, like real-time streaming of multiple videos, virtualization of GPUs, and driver support for specialized hardware and new guest operating systems. Simply repurposing a hypervisor tied to a traditional operating system would be difficult and possibly leave you short of the goal, but on a bare-metal hypervisor these modifications are entirely within reach.
-- Real-time Virtualization: Certain workloads (like Xen Automotive) require real-time processing. For a host-based hypervisor, this can be problematic as it relies on an operating system which is often unsuited for most real-time processing, but for a bare-metal hypervisor, this is manageable issue. For example, the Xen Project Hypervisor has the ability to change schedulers, so the special needs of real-time processes can be handled either by the hard or soft real-time scheduler which is available from Xen Project. And, as special needs arise, new schedulers can be created to handle the requirements of new workloads.
-- ARM Support: The world of ARM extends from the smallest cell phones to full-sized servers for the datacenter. The Xen Project Hypervisor can service the entire range of virtualization-enabled ARM processors without having to worry about migrating a full host operating system. Instead, this hypervisor fits into the ARM virtualization architecture like a hand in a glove. So whether you need a hypervisor on your phone to yield multiple personalities, a hypervisor in the car to handle the streaming video systems, or a hypervisor on your low-power ARM-based server, you have a solution.
-- Massive Numbers of Exceptionally Small VMs: In the evolving world of cloud and the new frontier of the Internet of Things, we have seen the creation of ultra-small workloads which will need to start and finish quickly to handle a huge number of short transactions. Xen Project has helped to facilitate the maturation of Unikernels (including MirageOS which is in the Xen Project Incubator), as well as making numerous ongoing changes to eventually support thousands of small VMs per hypervisor instance. A new scheduler is also under development which will help ensure good performance for large numbers of tiny VMs per server.
-- And Much More: See our Innovations page for the latest work coming in the project.