Desktop virtualization has grown into a veritable grab bag of applications where some functions appeal to nearly all virtual machine users, while others are only useful to a small subset of users. At worst, some features simply become technological curiosities and no one quite understands their form or function. Here's a look at some virtual desktop innovations and the enterprises that might find them useful for testing, development...
or simply experimentation.
Accelerated 3-D graphics. Each revision of desktop virtualization applications brings greater support for all that the host's graphics card can do. Hosting games in a virtual machine (VM) or using the desktop composting features found in many operating systems is much easier.
Nonetheless, the power of accelerated 3-D graphics in virtual machines is still limited and probably will remain that way for a long time. It requires installing an OS-specific device driver on the host, which still can't expose the full range of features on the host's video card. Although you'll be able to test basic application compatibility or behaviors within VMs, you won't achieve anything near native hardware speeds for 3-D graphics.
USB device support. For VM software, USB support is nothing new; however, how it's implemented could influence your choice of VM. Of the desktop VMs, Microsoft Virtual PC -- incarnated in Windows 7 as "XP Mode -- has the most consistent way to attach host-managed USB devices to guest machines because it closely integrates Windows device management methods. VMware and VirtualBox, Oracle Corp.'s open source virtualization software, both seem to have trouble consistently tracking encrypted USB drive states across multiple user sessions. They're more useful for manually attaching a USB device for the duration of a VM session and then detaching it than for sharing a device that's constantly attached to the host, such as a printer.
Traveling virtual machines. A recent addition to VMware Workstation is the ability to make self-contained "traveling" VMs -- a virtual machine that runs as a standalone application and requires no installation. Pocket ACE allows you to place traveling VMs on flash memory drivers, portable hard drives or copy them from one computer to another.
You need VMware Workstation to create a Pocket ACE instance from an existing VM. But the portable VM you create can run on any computer that has the same host OS and meets minimum baseline hardware requirements to run the VM, for example, enough memory and the proper CPU instruction set.
VM standardization. With more enterprises distributing virtual machines as standalone software appliances, there's a real need to standardize how virtual machines are packaged regardless of which hypervisor runs them. Several major VM vendors have drafted a version of the open virtualization format (OVF) standard. The most recent draft of the OVF was released in January 2010; revisions are expected. The presence of a standard, and the broad support for it, means that it has become easier to distribute trial versions of software that require full OSes.
Encrypted virtual machines. Administrators generally need to establish on-disk encryption for a VM's virtual hard drive manually. Encryption occurs inside the guest machine using a product like TrueCrypt on the guest and encrypting the VM's hard disk from within or by encrypting the disk image on the host. VMware recently added native support for encrypting disk images, which saves a step and will likely be useful on systems where security is required -- a notebook, for instance -- as opposed to a machine that stays in one place or is behind locked doors.
Live migration. This function lets you move a guest from one host to another over the network while the guest is still running. VMware VMotion is a server-level version that's typically used for planned downtime or load balancing. VirtualBox 3.1 includes teleporting. On a desktop, teleporting is a good way to copy a VM from one computer to another without having to transport the files manually. Keep in mind that migrating live VMs from one machine to another can be flaky if the two machines have different processor types. A VM must also be created to receive the image on the target host, which must have the same hardware settings as the original.
Multiple virtual CPUs and hot plugging. All major virtualization products support multiple CPUs both on guests and the host. But a new wrinkle in this tenet is support for hot-pluggable virtual CPUs -- adding or removing CPUs from a guest without shutting it down. This only works on guest OSes that initially support CPU hot plugging such as Linux and Windows Server 2008 x64 Datacenter Edition. And although the host doesn't have to be one of those OSes, it must have more than one core available for the guest to use. For desktop users, this feature's probably most useful to programmers who want to see how multithreaded software behaves on servers when CPUs are added or decommissioned.
iSCSI support. With iSCSI, you can attach storage devices to a computer across a network more efficiently and inexpensively than with systems like Fibre Channel. iSCSI is still considered an experimental feature in VirtualBox; you can only set up iSCSI targets from the command line. This method probably won't change anytime soon since iSCSI is aimed more at data centers than desktops. But almost every major server-level technology -- from SCSI to multiple cores -- eventually trickled down to the desktop level. So don't completely rule out iSCSI for desktop virtualization.
ABOUT THE AUTHOR: Serdar Yegulalp has been writing about computers and IT for more than 15 years for a variety of publications, including InformationWeek and Windows magazine as well as several different TechTarget sites.