It’s been over a year since we first learned that VMware was planning to create a client hypervisor platform that would integrate with their View VDI product. I wrote an article last October which went as in-depth as anyone could given the information that was known at that time, but since then VMware has been pretty quiet about their client hypervisor plans. Really all we learned about their client hypervisor over the past year was that the codename is VMware CVP (Client Virtualization Platform) and that VMware is partnering with Intel to develop it.
Luckily everything changed at VMworld 2009 a few weeks ago where VMware showed demos of CVP and shared more about their CVP plans. Those of you who watched Brian Madden TV from VMworld know that Gabe and I discussed CVP a bit and showed some demos we shot in the booth with VMware's Robert Baesman. (BMTV #17 CVP demo starts at 16:00.)
But even though we talked about it and had some video in the show, I figured it was worth writing a proper article about CVP to update everyone on VMware's plans and status.
Understanding what CVP is to VMware
The most important thing to understand about VMware CVP is how it’s positioned. CVP is essentially "VMware View for an endpoint." It is not like VMware workstation or mobile ESX. In other words, CVP is going to be used to extend VMware’s View product so that it can run locally on client devices.
The ability to run a desktop locally is already the way that most desktops are used today. As I wrote back in June 2008, the easiest way to "solve" the shortcomings of remote computing is not to use remote computing. If VMware can create a single way to manage desktops (the View desktop) but then be able to deliver those desktops for central and local execution--that's really a model with some legs. The central execution is great for compliance and security and performance reasons, and the local execution is great for local and graphics performance and offline use. (Not to mention you don't need to build a big expensive server farm.)
So since VMware wants CVP to be a "View on an endpoint," it's critical that the View VMs that run on ESX also run on laptops. To that end, VMware is aiming for a full emulation of the client device hardware that will be presented to the VM. Ordinarily this would mean that performance wouldn’t be too great, since you’d get the “lowest common denominator” of hardware. (More on the differences between emulation, paravirtualization, and pass-through for client hypervisors.) But VMware also understands that in their case, they need a good user experience while maintaining image capability between CVP and ESX, so they’re combating that with a very narrow hardware compatibility list.
This narrow compatibility list means that while they won't support too many different models of laptops, they will be able to support things like DirectX 9 and get great multimedia performance because they can build all the drivers into their hypervisor platform which they can then emulate for the VMs. For example, the CVP demo from VMworld showed Aero glass running in a VM. If you looked at the display driver in the VM, it was using a VMware driver that emulated a WDDM driver. (Incidentally, this is the same driver that Fusion 3 uses to do Aero glass. There are actually a lot of similarities between CVP and what VMware is doing for hardware performance in Fusion and Workstation.)
Perhaps the biggest surprise is that the initial release of CVP will only allow a single VM to run at a time. VMware feels that the complexities of getting the user experience and user interface right with multiple simultaneous VMs are pretty tough, and they want to take their time to get it right the first time. But they also don’t want to delay CVP just for that, so they’ll release it initially to support only a single VM with multi-VM support coming in the future.
I think the single VM only is probably fine for now, and I wrote a whole article about that last March. (“Why client hypervisors will be a big deal. Hint: It’s NOT about running multiple VMs.”) Of course I also think that running multiple VMs is the best way to support user-installed apps, so hopefully their multi-VM solution isn't too far down the road.
Partnership with Intel
Like Citrix, VMware is partnering with Intel to create CVP. I’m not exactly sure how this partnership works, but my sense is VMware wins because they get the legitimacy of the Intel association, and Intel wins because they can finally find a reason for customers to need vPro. In fact VMware gave a few examples of how they could leverage vPro.
For instance, they could use Intel TXT (Trusted Execution Technology) to ensure that the software hypervisor hadn’t been tampered with before it booted.
They could also leverage Intel AMT (Active Management Technology) to give traditional desktop management tools like Altiris and SCCM visibility into the true client hardware instead of just reporting back what was visible to an agent running in a VM.
Fixing offline VDI
If CVP is really about extending VDI to the endpoint, I really hope VMware overhauls the way that offline VDI works in View today. Today's solution basically involves copying standard VMware disk differential files between the host and the endpoint. That's fine I guess, but these files tend to be huge. A better way is to have some in-band intelligence in Windows which knows what's valuable and what's not. Then the data bits that actually matter can be synced in realtime between the host and the endpoint.
VMware's CTO Steve Herrod used his VMworld 2009 keynote speech to mention that offline VDI was broken today. In that same speech he announced that VMware was licensing RTO Software's technology to handle on-demand user workspace creation withing their View product. I wrote an in-depth article about this a few weeks ago, but in the context of a client hypervisor, it’s no secret that I think leveraging the RTO technology is the “right” way to sync files between client and remote VMs.
The only real downside to VMware CVP is that it's not out yet. It's not even in beta or tech preview. Right now it's just a cool demo and a slick PowerPoint. While VMware originally talked about CVP in the end of 2009, now it looks like we won’t see it until the second half of next year. That's shaping up to be about six months after Citrix and a full year after Neocleus and Virtual Computer. Of course client hypervisor (and VDI adoption in general) isn’t likely to take off in the first half of next year, so it might not even matter that VMware is the last to the table here.
Regardless of when it ever comes out, CVP will make a big impact at minimum because it's from VMware. By then View 4, the software implementation of PC-over-IP, and Windows 7 will be out, so our VDI landscape could actually be pretty different than it is now. Until then, we can only think about what CVP might mean for us and VMware.