Sure, but can it run Excel? –
The 3d animator in me appreciates big iron, massive compute clusters and grid computing. As my compatriots at Pixar and LucasFilm will attest, there is NEVER enough computing power for what we want to do.
But my day job is to handle the computing needs of a top tier Business School where the research is much less dependent on raw computation as it is dealing with large datasets and iterative processes. Cluster computing is the new hottness in academia, but for the uninitiated Windows user, cluster computing is quite limiting, as one’s compute jobs must be written in such a way as to make it distributable, and that’s not usually as simple as hitting “Go”. There is still a world of research out there for which clusters are either not useful, or are still too much of a hassle to bother with. There bulk of the research world can still benefit from having familiar desktop tools shared on a single large computation resource.
So then, what’s the answer? Terminal Services is a real pain to manage and application compatibility is problematic. Virtual Applications would be nice, but we have yet to see a Virtual applications platform that handles 64-bit computing, and again, application compatibility is problematic.
Load em up, Roll em out, then put em out of their misery –
So my big idea was to provide “on-demand higher-performance” virtual machines. VM’s are quick to provision and dispose of, without permission worries and other “administrative overhead”, so it just made sense to give a user temporary access to a VM with a limited software set, let them run their computations using the interfaces they already know… and then delete the VM.
I have been trying to do something similar myself. Many of the 3d applications I use come with free licenses for distributed processing of the final frames of animation. Cluster computing may be new to the general computing world, but tell that to the 150 node rendering farm I set up in ’94. The problem has always been in the setup and maintenance of the software, not so much in the ability of the software to distribute computing load. Instead of installing the software a hundred times, it would be far better to configure a VM once and distribute that to each host. I have had some success with this method under ESX and Hyper-V, but they aren’t exactly "desktop" solutions, and they only scale so far. Without being able to access all available processing power of a physical host through the VM, neither vendor offers a real solution for this purpose.
That has remained on the wishlist for years. Straight up Desktop Virtual Machine technology has crept along very slowly, as vendors have rushed other kinds of virtualization products to other markets and the major vendors have spent their time fighting over server virtualization.
So many technologies, so little polish –
The virtualization market is flooded with potentially excellent products that could be used in so many more ways… if only they did "x", or if only they supported "y" without crashing. While a reasonably priced computation server could have as many as 32-logical CPUs today, Hyper-V only allows a VM to use 4 of those, and VMWare’s newest version of ESX now brings only 8 to the party.
I have tested both solutions, and both utilize their virtual processors as well as physical hardware (within a couple percent), so the problem is one of scale, not capability.
On the desktop it’s worse. VMWare Workstation has long been the only option for multi-core, 64-bit VM’s, and it only supports 2 virtual processors. VirtualPC is way, way, way behind the technology curve and doesn’t support multiprocessing at all, much less graphics acceleration, even with Windows 7’s new version. And neither solution accepts its competitor’s virtual hard drive format, which makes both solutions less attractive.
As an aside – I really think Microsoft blew a huge opportunity to sieze market share from VMWare by failing to produce a desktop variant of Hyper-V. EPIC FAIL!! The latest VirtualPC is years behind every other offering, and I simply could not look a client in the face and tell them to use "XP Mode" as a way of maintaining compatibility with their XP applications. Someone really should get fired for that… but I digress.
Sun’s VirtualBox project has been the lesser known Swiss Army knife of Virtualization, accepting VMWare’s and Microsoft’s virtual hard drive formats in addition to its own. VirtualBox provides most of the functionality of VMWare Workstation, and more, for FREE… but it has always had one major failing in my eyes: No Virtual Multiprocessing.
But then the silent dragon made a puff –
All that is about to change. VirtualBox 3.0 beta1 is available… and in addition 64-bit VM support, experimental DirectX support and “Seamless Mode”… it supports NOT 1… Not 2… not even 8… but 32… yes, 32 virtual processors. As I said, that’s a quad-quad-Nehalem’s number of Virtual Processors.
Sadly, it is still beta. On my Core i7 machine, running Server 2008, I was able to configure a virtual machine with 8 virtual cores, but it would only launch with 4. There is debate as to whether VirtualBox recognizes hyperthreads as virtual cores; I am testing this. Windows 7 setup will not even run without certain options enabled (you’ll have to guess). The graphics acceleration seems to only available in 32-bit WIndows guests at the moment, so no Aero in x64 yet. Beta difficulties aside, I did manage to get a new machine installed on a .VHD and managed to import that machine to Hyper-V. I was also able to take a VMware Workstation machine into VirtualBox, though there were some odd crashes with that.
Nevertheless, this is a good thing and it’s nice to see a significant competitor bully its way into the stagnant realm of Desktop Virtual Machines. Being able to virtualize without the traditional penalties of virtualization will open many doors beyond simple server consolidation. My “on-demand” model for high"er" performance Windows machines is likely to become reality. I would like to see our laboratory and kiosk machines running as virtual appliances, unbeknownst to the users… portable highly secure administrative machines… checkout VM’s for using high end or temperamental software in a sandbox. Which precise combination of virtual machines, virtual applications, presentation virtualization and so forth wind up saving the most time and money is yet to be determined, but clearly we’re finally entering into the days where the performance differences between the virtual and physical worlds are coming well within acceptable ranges.
If you’ve got the stomach for beta, give VirtualBox 3 beta 1 a try. I like it already… can’t wait for the final.