Hype: Virtualization as the hot new, “it” technology
There is a huge amount of hype around virtualization, and it is being positioned as a brand-new cutting edge technology to solve all your IT needs. But virtualization is far from a new thing. It's been around a very long time, in computer time at least. Virtualization is a core concept in computer systems and has been in use since at least the days of the IBM Mainframes. The remote desktop model of centralized execution is a throwback to the 1970s with dumb terminals connecting to the big mainframe in the back room. (Take the old IBM literature, change the names and you could pass it off as a VDI architecture diagram.) As we develop new technologies and approaches, desktop virtualization has evolved and become more sophisticated, and thus more useful – providing us today a real solution to serious computing needs.
Hype: Virtualization provides poor performance
The second common myth we keep hearing about virtualization is that it is slow. People think that using virtualization implies a negative performance impact. The truth is a bit more complicated.
Virtualization adds a level of indirection, which implies some kind of overhead. The two primary considerations for systems performance is CPU (processing) overhead and IO overhead. It makes sense to separate these considerations:
- CPU overhead: With modern virtual machine monitors running on modern CPUs, the CPU overhead is insubstantial. Some operations can be slower with virtualization (for example, system calls or page table manipulation), but modern VMMs are now generally able to work around these issues, leveraging techniques like dynamic recompilation and paravirtualization. Intel and AMD have also added hardware virtualization support in their recent CPUs. It depends on the particular workload, but the CPU overhead from virtualization is typically a few percent at most.
- IO overhead: IO intensive applications can see a bigger performance hit due to virtualization because the extra indirection can be more costly. However, IO performance hits can often be reduced or eliminated by tuning the system.
to get optimum performance when using desktop virtualization, there are other
advantages that offer immediate performance benefits:
- Virtualization enables performance optimizations at a different level. The extra level of indirection inherent in virtualization can be used to improve overall system performance by optimizing at a whole-system level. For example, virtualization allows you to share hardware resources and quickly adjust based on demand, leading to better overall system performance.
- The VMM can even use compression and caching to improve the IO performance beyond its native performance levels. We've seen numerous examples of applications that run faster under virtualization due to these effects.
- A virtual machine can actually boot faster than a physical machine because the load order is predictable and the VMM can rearrange the blocks.
- On the server side, it is easy to migrate VMMs, or quickly launch new ones to handle changes in load.
- With desktop virtualization, you can boot from a golden image every time, eliminating slowdown from Windows rot. Also, because you can rejuvenate the system image, you don't need to run virus scans of the system image. Using anti-virus software typically slows the machine more than virtualization does.
Hype: Virtualization uses less energy
Virtualization actually adds overhead, so cycle-for-cycle it will usually consume more power rather than less. BUT power savings with virtualization ARE possible, leading to greater energy efficiency. Here’s how:
- Consolidating many old, underutilized servers into a single server can save a lot of energy.
- Power savings can also be achieved simply by moving to newer, more energy efficient machines.
Really what it comes down to is that power and cooling in the data center is very expensive, regardless of your architecture. It is necessary to provision your data center to handle worst-case scenarios of peak load, but since most loads vary greatly you are most likely going to end up either massively over-provisioning or risk unacceptable performance and downtime during peak periods. That’s a reality – virtualization or not.
Stay tuned - we'll be debunking some more of the myths surrounding virtualization in coming posts. This is obviously an important topic and one that is hot on everyone's minds right now. For more thoughts and another perspective, check out Scott Key's recent post on virtualization.info.
No comments:
Post a Comment