June 18, 2009

Virtualization: Hype vs Reality, Part II

And we’re back with Part II of our series on what is hype and what is reality when it comes virtualization. Here is our perspective on two more topics that are getting a lot of play lately:

Reality: Virtualization is cheaper than other traditional infrastructures


Obviously a major issue for anyone in any industry right now is cost. People are looking to save money in every way they can. In light of this, many vendors in the virtualization space are chiming in about how their products and solutions can help you cut costs. Is this true? For the most part yes. BUT it’s not quite so black and white, so let’s break it down.

A desktop virtualization deployment can save you money in terms of management and support, but it can potentially be more expensive than a traditional deployment – it all depends on how it you approach it.

Right off the bat a VDI deployment costs 20-30% more from a CAPEX perspective than a traditional physical desktop deployment. However, once it’s up and running the deployment can make it much easier and cheaper to manage your IT infrastructure in the long run, *if* you do it right.

  • For instance, if you go with the model of creating one image for each user, the deployment will not scale and it will end up being just as expensive to store and manage the virtual desktops as it would in a traditional physical desktop deployment, if not more expensive.
  • To achieve real cost savings and make up the CAPEX expenditure, you need to leverage virtualization to make IT more scalable. What does this mean? Creating one golden image that goes out to all of your users or to large groups of users.

Hype: Remote display is the way to go

Remote display can work well, but only in very specific environments.

  • Remote desktop is fast over LAN, but slow over thin pipes.
  • Gigabit LAN to the server can achieve speeds nearly indistinguishable from local execution but at a much higher cost.
  • Low-latency WAN connections can get acceptable performance but only if they are not using any graphically intensive applications.
  • High-latency WAN connections are not viable for real-world usage.

Basically what it comes down to is that there are fundamental limitations to the interactive performance of applications across low bandwidth and high latency links, and we are getting close to the limit. Remote desktop just does not work well over wireless networks or on laptops.

So what do we recommend? For applications that require a high refresh rate or rich graphics, a locally executed solution is always going to offer the best performance, no matter what. Remote execution will always face speed of light limitations even with the fastest of connections.

June 03, 2009

Virtualization: Hype vs Reality

These days there is a lot of talk about virtualization, desktop and otherwise. With all this chatter it is understandable that people are confused about what is what. We thought it would be useful to sort through some of it and separate the hype from the reality.


Hype: Virtualization as the hot new, “it” technology

642378_lear_siegler

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.

While factors like these need to be taken into consideration 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.

Basically, running on a VMM is like running on a different computer architecture. If you take an application that was tuned for one architecture and run it on another, sometimes you will take a performance hit, but through tweaking and tuning you can usually erase the deficit. Virtualization is no different. A virtualized architecture also opens a bunch of new possibilities that can improve performance.


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.

There are also other variables that affect whether or not implementing desktop virtualization will save you power. If you are moving into the data center, it depends on the machine utilization - if you have many desktop machines sitting idle all the time, you will use less power but if the endpoint machines are fairly well-utilized already, it will impact your power usage more. Implementing power-saving modes on desktops is one thing you can do to move towards power savings in any environment.


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.

April 09, 2009

MokaFive is a finalist for RSA Conference 2009 "Most Innovative Company"


MokaFive was recently named as a top ten finalist for the RSA Conference 2009 "Most Innovative Company" award.  Thanks to all the users who voted for us!  We will be at the RSA Conference here in San Francisco vying for the title.  Come by and see us at the Innovation Sandbox on Monday, April 20th.  We will be showing off the latest MokaFive product with some cool technology demonstrations, like instant recovery from zero-day infection (like the Conficker worm) without losing data, keylogger protection so you can compute securely on a potentially insecure host, and secure remote kill so you can disable LivePC images and wipe data remotely.

January 05, 2009

Desktop Virtualization short video on ZDNet

Here's a nice short (<3 min) whiteboard presentation I did on desktop virtualization for ZDNet.  If you want a super high-level view of desktop virtualization that contrasts different approaches, this provides a good "executive overview".  Let me know what you think.

November 26, 2008

MokaFive 1.6 now available!

1.6screenshot

MokaFive is happy to announce the availability of version 1.6.  This version includes some exciting new features that have been requested by our users:

  • • Single sign on
    •     Host machine credentials can now be forwarded into the LivePC, so if the user logs in on the host machine they won't need to log in again into the LivePC.
  • • Network printing
    •     Network printers that are configured on the host machine can now be automatically added to the LivePC.
  • • Merged window mode (Unity)
    •     MokaFive now has support for merged window mode, also known as Unity or Coherence mode, where the windows of the guest OS are seamlessly integrated with the host machine.
  • • Enforced full screen mode
    •     Administrators can now "lock" users into full screen mode while the LivePC is running so they can no longer access the host OS.

In addition, 1.6 includes fixes for more than 60 issues.  We recommend all users upgrade to version 1.6 as soon as possible.  Get it here!  Thanks for using MokaFive.