Workstation 6 Previews VMware's Future Server Virtualization
Published: May 15, 2007
by Timothy Prickett Morgan
Server and PC virtualization software supplier VMware, the famous and soon-to-be publicly offered subsidiary of disk array maker EMC, last week announced Workstation 6, a new version of its desktop and laptop virtualization hypervisor. With this update to its most popular software product, VMware is adding support for paravirtualization techniques that take advantage of hardware features added to X64 processors as well as for Microsoft's Vista operating system.
In some ways, desktop virtualization is easier than server virtualization, mostly because the users are far more forgiving of glitches and errors. This is why commercial Linux distributors have development releases on the desktop and then they take an extra year or so to harden a subset of the Linux software stack to run on a select bunch of servers and peripherals. With virtualization software--at least in the case of VMware, which was founded with a workstation product and which only evolved into supporting servers five years ago--the development cycle for virtual machine hypervisors and the add-on products for them is much the same. Many of the neat features that get a lot of press because they are part of VMware's ESX Server hypervisor are actually tested out in the Workstation product first, which has millions of end users compared to the estimated tens of thousands of users for VMware's server virtualization products. And this is once again the case for Workstation 6.
"Our core virtualization engine is shared between desktops and servers, and we believe that we have a strategic advantage because of this," says James Phillips, senior director of lifecycle solutions at VMware. "If we roll advances into the virtual machine monitor, it gets touched by millions of users."
Workstation 6, which according to Phillips took more than two years to develop, is actually using an advanced version of the ESX Server hypervisor that was originally deployed last fall in VMware Infrastructure 3 (VI3), the name that VMware has for the complete ESX Server software stack. This is a tweaked version of VI3, but falls short of what will be deployed as VI4.
Workstation 6 is the VMware product to support paravirtualization, which is a relatively new kind of hypervisor support where the hypervisor and the guest operating systems have been tweaked to be aware of each other, which means the hypervisor can run more efficiently. Paravirtualization is not the same thing has hardware virtualization, which makes use of the VT and AMD-V electronics for processor and memory virtualization that Intel and Advanced Micro Devices have added to their respective Athlon/Opteron and Core/Xeon processors. The hardware virtualization approach allows operating systems that were designed to run on physical X86 and X64 servers run unmodified X64 chips that have the VT and AMD-V features and in conjunction with hypervisors that know about VT and AMD-V. (The other way to get an operating system to run on a hypervisor is to do what VMware initially did, which is in essence to emulate an entire, idealized X86 platform with an IDE controller and a network card and plunk an operating system down on it.) Paravirtualization makes life more difficult in some ways for the operating system providers, but it can boost the performance of the virtualized environments, since the hypervisor doesn't have to trick the operating systems it is supporting into thinking that it isn't there.
In any event, Workstation 6 is the first hypervisor to support the VMI paravirtualization interface standard put forth by VMware, and Canonical's new Ubuntu 7.04 Linux is the first operating system that can take advantage of this paravirtualization support through the paravirt-ops extensions to Linux, which were added with 2.6.21 kernel. This support is, however, being called experimental in the Workstation product, as is the VirtualSMP extensions to the hypervisor that allow a single virtualized operating system guest to span two processor cores.
The new Workstation hypervisor also supports all variants of the Vista operating system as both a host environment and a guest environment. (With Workstation and VMware Server, the entry server product from VMware, a host operating system acts as a scaffold for the hypervisor, which in turn supports multiple and incompatible virtualized operating system slices on the machine; with ESX Server, there is not host operating system, just the hypervisor running on bare metal.) Prior Windows NT, Windows 2000, and Windows XP desktop platforms are supported, as are myrid Linux platforms.
Workstation 6 has also been tweaked to support high-speed USB 2.0 peripherals, and can support multiple monitors now, too. The multi-monitor support works two ways--you can have two virtual machines share a single monitor, or you can have a single virtual machine support two monitors, just like Windows and Linux currently do natively. Workstation 6 also includes a remote access link to any virtual machine that is based on the Virtual Network Computing (VNC) protocol, and since Workstation owns all keyboards, videos, and mice on the virtual machines, this means you can link into any virtualized operating system without needing the RDP or ICA protocols supported on Windows platforms and, through some open source code, on Linux and Unix platforms. Now, end users can remotely access machines through one, consistent method. Workstation 6 also has plug-ins for Microsoft's Visual Studio and the open source Eclipse development environments, which is significant since according to Phillips about a quarter of the Workstation installed base is developers (about half of the base are system admins and other IT professionals who test code rather than create it). These plug-ins allow programmers to debug code within a virtual machine from inside their tools, just as they would in a physical workstation.
The new PC virtualization product from VMware also has the VMware Converter, which converts physical machines into virtual ones and allows Workstation to read and deploy VMs created by other products.
Perhaps the most interesting new feature, and one that will eventually make it to servers, is called record/replay. At any point when a virtual machine is running, an end user can hit a record button and then Workstation starts recording every single thing that is going on in the machine, just like a surveillance video. When something goes awry, as it often does in the software development environment, the virtual machine log can be rewound and the virtual machine and all of the software running inside of it can be replayed to show the exact conditions that lead to a crash.
"This will allow developers to get their arms wrapped around really tricky software development problems," says Phillips. Figuring out the conditions that lead to software bugs is not easy, and it takes a lot of expensive tools to do it today. Workstation 6 will be a simpler way to accomplish the task, according to VMware.
This same record/replay technology could, of course, be used in future server products, Phillips hints. He says that a company could deploy two identical virtual machines on two physically distinct servers--complete with the same applications and at the same exact state, down to the last bit. Then, they could let the applications proceed at exactly the same time with the record button on. In the event of a crash on the primary machine, the data describing what has been recorded on the primary could be shipped over to the copied VM running on a backup machine, and it could take over right before the crash occurred.
"This would be Tandem-level fault tolerance, and we are pushing it out first in Workstation," says Phillips.
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot