Virtualization - Ask the Experts #6by Anand Lal Shimpi on December 1, 2010 1:24 PM EST
We conclude our series of Ask the Experts with four questions you all asked about servers and virtualization in previous posts. Thanks to everyone who participated and we hope you found the series useful!
Question #1 by AnandTech user Justaviking
Do you foresee virtualization becoming a component of an average consumer's PC? Just like many people buying a laptop at Best Buy don't differentiate between onboard and discreet graphics, might there be a role for virtualization on typical consumer PCs, even if they are not aware of it.
Answer #1 by Johan de Gelas, AnandTech Senior IT Editor
Virtualization is already part of quite a few average consumer PC. An example is Windows XP mode, which gives you an integrated Windows XP virtual machine to run older programs that do not like Windows 7. Windows XP Mode (XPM) is in fact a virtual machine containing a pre-installed, licensed copy of Windows XP Professional SP3 32-bit as guest OS. Similarly, to test Android mobile applications, you can also run Android in a virtual machine.
Question #2 by AnandTech user Justaviking
Virtualization for the common man: My QUESTION is this: Is there any value or benefit of virtualization for the average consumer? Even if they don't know what it is, will it soon find its way into laptops or desktops sold to the general population in places like Best Buy?
Answer #2 by Johan de Gelas, AnandTech Senior IT Editor
Since Windows is still very vulnerable for malware, it is smart to run your browser on top of a linux inside a VM. Possible solutions are VMware player and Virtual box. Both offer a wide range of virtual appliances (virtualbox here, VMware player here) which are ready to deploy.
However, installing a hypervisor on top of your host OS and running a complete guest OS just to have sandboxed browser is a bit bloated, and requires lots of resources.Another way to solve is to use application virtualization, which has been discussed here at AnandTech IT. Application virtualization just uses a runtime layer that redirects writes to file system and registry calls. This runtime layer does not have to take care of hardware interrupts, communication with drivers etc. It just offers the functionality that a kernel offers towards the applications, nothing else. You could say it only offers the top services of a real OS.
So back how this could benefit the average consumer. You do not have to install a full VM to run your browser in a sort of "sandbox". The website “thindownload” offers several browsers in a portable version. It won’t protect you from every kind of malware, but it gives a first line of defense and it allows you to reduce the bloat of the windows registry file. Getting rid of a corrupted browser is just a matter of deleting an .exe file.
So I would say that the average consumer who ignores virtualization, is missing out a lot.
Question #3 by Neil B.
Can you comment on future directions of virtualisation in the HPC space and any initiatives that may enable improved exploitation of parallel computation on clusters?
Answer #3 by Rich Uhlig, Intel Fellow
Common wisdom is that adoption of virtualization in high-performance computing (HPC) settings is low due since there’s such an emphasis on achieving the ultimate in performance. That’s probably still generally true. But I increasingly hear HPC folks showing interest in virtualization for a variety of reasons:
HPC workloads are often long-running, so it is useful to be able to checkpoint intermediate results in the event of failures. But checkpointing often requires special OS or application support. By running an HPC workload in a VM, it becomes possible to checkpoint a running workload in a manner completely transparent to the OS and application that make up that workload.
In an HPC cluster environment that is shared among multiple users, it is also useful to leverage virtualization for load balancing across the cluster. Again, this can be accomplished without virtualization, but may require application changes and additional management tools to do effectively. Transparent VM checkpointing and VM migration can be powerful tools for provisioning and managing the hardware resources of an HPC cluster across a diverse set of users with workloads of different priorities and time sensitivities.
Another angle is that HPC workloads can benefit from OS specialization – providing a very minimal kernel to extract the most performance out of the hardware, e.g., through tighter scheduling and lower overhead memory management. At first glance, it may seem that introducing a hypervisor just adds another layer of overhead and runs counter to that goal. But actually a hypervisor can help by allowing a minimal OS kernel or execution library to run alongside more full-featured OSes on the same platform, but in separate VMs. This can make sense in an HPC cluster where different users have different OS requirements depending on their workloads – but they all want to share the same hardware cluster resource.
Concerns about the performance overheads of virtualization will probably always be there with HPC, but some of the functional benefits listed above are leading HPC folks to take a new look at the trade-offs.
Question #4 by AnandTech user Peroxyde
What is the current status of the use of Nested Paging?
Answer #4 by Johan de Gelas, AnandTech Senior IT Editor
AMD’s Nested paging has been supported since Xen 3.2 came out, somewhere in the beginning of 2008! Around April 2009, VMware also supported NPT with the ESX 3.5 update 4 release.
Intel’s EPT has been supported since ESX 4.0 and Xen 3.3. Microsoft was the last one: it supported EPT and NPT in Hyper-V R2, which was released in Q3 2009. As many of our benchmarks have showed, EPT and NPT can boost performance up to 22% (and more) in memory intensive applications.
Question #5 by AnandTech user Peroxyde
What is the current status and Virtual I/O to improve virtualization performance? Are these hardware extensions really useful or just hype?
Answer #5 by Johan de Gelas, AnandTech Senior IT Editor
“VMDq” and “Netqueue” are essential for virtualizing high bandwidth applications as you can read here. We concluded our testing of the next generation a week ago. SR-IOV and VT-d are discussed in our previous article: 10G Ethernet: More Than a Big Pipe . SR-IOV is currently supported by the latest Linux kernel and will most likely be part of ESX 5.0 and probably “Windows 8 Server” (or whatever name Microsoft decides to give).