Hyper-V versus Desktop Computing

Hyper-V versus Desktop Computing

  • Comments 29

Some of my colleagues were talking to me about this blog entry this morning where Emmanuel is commenting on the inability to run Hyper-V on a system with high end graphics (as discussed here).

Before I talk about my thoughts / reactions here – I want to be clear:  Yes, this is a short coming in Microsoft’s virtualization offerings today. 

Hyper-V has been developed to be a great solution as a dedicated virtualization server, not as a desktop computing environment.  Similarly, Windows Virtual PC has been developed as a great application compatibility solution.  This means that neither of these solutions are ideal for people who want to use server class virtual machines (64-bit, multiprocessor, etc…) on a system that they also want to get a high fidelity desktop experience on.

Here at Microsoft we are well aware of the pain / problems this causes.

Despite that, I still feel frustrated when I see someone stating that they / their company is going to go with VMware because of this issue.  There are the three big reasons why:

  • Of all the different user groups that use virtualization, this is closest to my usage of virtualization, and I have a great time using Microsoft virtualization technology.  I have three main environments where I use Microsoft virtualization:

    • At home:

      My main desktop computer, which I use to do everything (work, gaming, being a nerd), is a quad-core system with 4GB ram and a nice video card.  I have Windows 7 installed on it with Windows Virtual PC.  I then have a Hyper-V server in the mezzanine under my stairs.  It is a quad-core system with 8GB ram and an old PCI video card that I had laying around.

      I have Remote Desktop and remote Hyper-V management enabled on my Hyper-V server, and I do all my Hyper-V work from my desktop environment.  The experience is great – and I have never hit a situation where I would have preferred to have Hyper-V running locally.  I also often run Windows Virtual PC and Hyper-V virtual machine at the same time and interact with both on the same desktop.

    • At work:

      Once again, I have a desktop system running Windows 7 with Windows Virtual PC (but this time it is a quad-core hyperthreaded Nehalem with 6GB of ram).  This system is actually a quad-monitor system with two high-end graphics cards (this is where I do all of my writing and email at work).

      For my Hyper-V work I have three low-end servers in our lab (all dual core with 4GB ram) that are setup with KVM over IP.  I often rebuild these machines with new builds of Hyper-V as they come out internally – but most of the time they are setup as a cluster (the third server acts as a software iSCSI provider).  And as with at home, I use the Hyper-V remote management tools to be able to do everything from my desktop.

    • On the road:

      I have been very picky building my laptop, as I demonstrate Microsoft virtualization technology with it a lot.  I usually have my laptop configured with 2 + N operating systems.  The “N” figure varies on how many demos I have coming up (I never do public demonstrations from the operating systems that I use for day to day work – as I have a high tendency to mess them up in interesting ways). The base 2 operating systems, however, are Windows 7 with Windows Virtual PC and Windows Server 2008 R2 with Hyper-V.  I boot into which ever operating system is appropriate given what I need to be doing at the time – and have not really found this to be much of an issue.

  • Setting up a dedicated Hyper-V server is really not an unreasonable proposition for most people in this situation. If you are in an environment like this – have you looked into what it would mean to have a dedicated Hyper-V server “under the stairs” / “in the lab”? 

    As I was writing this post, I went to newegg.com and built what I felt to be a good basic Hyper-V server.  The system I built ended up having a Intel Core2 Quad Q9400 2.66GHz processor, 8GB of DDR2 1066 memory, 2 Gigabit network adapters and 1 TB of storage – all for $606.91 (note, that I did not go for the cheapest components here either.  I went for cheaper components that were from manufacturers that I knew, or were components with good reviews.  You could probably knock another $100 off this by going for the cheapest possible components – but I really would not recommend doing that).

    To put that in perspective, if I were to upgrade my desktop video card to the latest available – I would be looking at spending $500 - $600.

  • Your decision may end up costing you more in the long term.

    Yes, VMware has free offerings (as does Microsoft).  But just as Microsoft is going to work to get you to pay for licenses of Windows to run on your free Hyper-V server, VMware is working hard to make sure that customers who start on their free offerings are enticed to “step up” to their paid offerings.

    Two years from now, when you have spent thousands (if not tens of thousands) of dollars for VMware technology (when you have already paid for the Windows licenses to run in the virtual machines) – will it really have been worth it to go with VMware instead of grabbing a dedicated entry level server to run Hyper-V?

This last point is really the one that chaffs me. 

If you tell me that you are going to use VMware workstation on your personal development system because we do not meet your needs – okay, I am bummed by that, but I can understand your reasoning.  If you tell me that your company is going to standardize on VMware because there is functionality / value that they provide in their server software that we do not – once again, bummer, and we will work hard to turn this around in the future – but I can understand that too.

But if you tell me that your company is going to standardize on VMware across the board because Hyper-V does not run well on your desktop environment, and you are not willing to get a dedicated entry level server to run Hyper-V, I cringe – because I do not believe you are heading in the right direction.

So where do we go from here?  Well, I am planning to do some posts in the near future where I am going to dig into the issue of high-end graphics + Hyper-V so that you can have a better idea of what is happening there – and what you can do to avoid it (yes, there are options available).

If there is anything else I can do to help here, please let me know (and before you say it “fix Hyper-V to run well on my desktop environment” is a bit out of scope for me personally :-)).

Cheers,
Ben

Leave a Comment
  • Please add 5 and 2 and type the answer here:
  • Post
  • I honestly think you've missed the main point of his argument, which impacts me as well.  I understand the technical reasons and business priorities related to support of high-end graphics under Hyper-V.  But what I don't understand is the seemingly non-technical reasons for the lack of support for any Microsoft virtualization products on Server 2008 R2 other than Hyper-V.

    I have a hard time believing that anything changed between 2008 and R2 that would prevent Virtual Server 2005 or VPC 2007 from operating correctly.  Or even anything so different between Win7 and 2008 R2 that you couldn't run VPC for Windows.  Suggesting additional hardware as a workaround doesn't really help much.  Why should I need to have two 2008 R2 machines just to run a VM if my primary computer has a nice video card?

    Now I'm having to migrate the Virtual Server VMs on my development 2008 R2 "workstation" laptop to a non-Microsoft virtualization product, in my case Sun VirtualBox.  It works perfectly, free, is easy to install, and even uses my existing VHDs.  I'm happy with it, but it seems kind of silly that I have to use a competing product to keep the functionality I had before upgrading to R2.

  • Hi JeffS -

    "What I don't understand is the seemingly non-technical reasons for the lack of support for any Microsoft virtualization products on Server 2008 R2 other than Hyper-V"

    There is a simple non-technical reason. Feature prioritization and limits on people / time.  Supporting other Microsoft virtualization products on Server 2008 R2 would involve testing and potentially fixing them.  The time that that would take was used instead to develop and test new functionality in Hyper-V and Windows Virtual PC.

    "I have a hard time believing that anything changed between 2008 and R2 that would prevent Virtual Server 2005 or VPC 2007 from operating correctly."

    We have not tested this, so I cannot comment.  Keep in mind that 1) the only blocks that are in place today are the one that stops Virtual Server from running on 2K8 R2, and one that stops Virtual PC 2007 from running when Windows Virtual PC is installed, and 2) the original blogger is reporting an issue that occurred when running Virtual PC 2007 on 2K8 R2.  Clearly something has changed, I do not know what as we have not tested this.

    "Now I'm having to migrate the Virtual Server VMs on my development 2008 R2 "workstation" laptop to a non-Microsoft virtualization product, in my case Sun VirtualBox."

    To quote myself:

    "If you tell me that you are going to use VMware workstation on your personal development system because we do not meet your needs – okay, I am bummed by that, but I can understand your reasoning.  

    ...

    But if you tell me that your company is going to standardize on VMware across the board because Hyper-V does not run well on your desktop environment, and you are not willing to get a dedicated entry level server to run Hyper-V, I cringe – because I do not believe you are heading in the right direction."

    Cheers,

    Ben

  • I agree with the sentiment that not being able to run Hyper-V on my shiny quad core HP workstation was a bummer.

    I ended up removing NVidia driver and running plain graphics driver that shipped with Server 2008. I did lose ability to use dual monitors.

    I am going to upgrade client machine and server to win 7 / 2008 R2 to see if I can get dual monitor support in remote desktop.

    Tony posted some workarounds about running Hyoer-V on desktop systems and still getting good performance.

    http://blogs.msdn.com/tvoellm/archive/2009/04/06/why-does-my-desktop-box-slowdown-when-i-install-hyper-v.aspx

  • Hi Ben,

    even when the scenario described in your post may work for you, this is not common in most organizations where it-guy or devs have more than one machine sitting next on their desks.

    Let's look at most of the guys who are working with VMs for demoing Server bits or doing development like SharePoint where you are forced to use VMs. They commonly use Laptops (for mobility reasons) or one powerful Workstation for work.

    So we have two main issues with this. First you have to maintain at minimun two seperate machines (taking time to admin, keep the OS current, etc.). And secondly this scenario hits completely agains all efforts for green computing where you are looking for every reason to save energy.

    And for this reasons it would be great to see Microsoft bringing some kind of Desktop Virtualization technology which can be used either on the desktop OS or make Hyper-V compatible with High-End Graphics.

    Regards,

    Artur

  • Hey Ben,

    I'm really pleased to see you're aware of the pain this issue causes - having recently spent (for me) a fairly significant amount of money on a new desktop machine to run Hyper-V and then discovering this issue, I'm particularly interested to hear about the options you've got for sorting this out.

    In my case, and I suspect for many others as well, I'm not interested in the high-end graphics side of things - I couldn't care less if the machine runs Flight Simulator and other games, or even Aero. All I care about is being able to run multiple monitors at a decent resolution and colour depth so that I can use the machine on a daily basis.

    I understand there are technical reasons why this isn't possible, and I know that Hyper-V is a server product. (Had I known all of this when I purchased my machine, I probably would have taken your suggestion of having a separate Hyper-V server under the stairs - it's a bit late for that now though.) But still, as you've said, it's very frustrating to be left with the options of having no multimon or running buggy XP drivers (which BSOD my machine every few days). I also am avoiding upgrading to R2 as I've heard this will cause havoc with the way I've got my system going now.

    Anyway, I just wanted to get that all off my chest. I appreciate that there are technical reasons behind this problem that aren't easy to fix, and that this probably isn't a priority given the other things you want to do with Hyper-V. Like I said, I'll be waiting with interest to hear what your suggestions are.

    Cheers

    John

  • Is there a technical reason (not just a licensing/policy reason) why Hyper-V can't run on 64-bit Windows 7?

    It seems strange that developers need to run Windows Server 2008 R2 Enterprise as a desktop OS (see http://www.win2008r2workstation.com/)  to get the benefits of Hyper-V.

    MS should offer a Windows 7 Developer Workstation SKU that includes/supports Hyper-V and a copy of Visual Studio 2008/2010.

    Ken

  • Hi Ben,

    Like you I have built a Quad-Core machine with 8 GB of RAM to run Hyper-V Server 2008 and recently upgraded it to Hyper-V Server 2008 R2 and it has been running great. I also use the Hyper-V Remote management tools on my Windows Vista desktop to manage the virtual environment. It has been a great lab machine for me to work with various server products. I recently upgraded my Tablet PC to Windows 7 Ultimate and installed the Windows Virtual PC and it seems to run well. My brother-in-law is also interested in virtualization in order to still be able to run older games without staying with older technology. This is one of the best features of virtualization. The other is to be able to run a test virtual environment to demo a client/server application without having to carry two machines. Now with the server product going only 64 bit, we would have to dual boot into Server 2008. This is a pain as you would have to have a massive hard drive in order to use applications on the Windows 7 side of the machine because you would need to reinstall the applications on the Windows Server 2008 R2 side of the machine.

    Also as of yet, I can't seem to find the Remote Management Tools so that I can manange my Hyper-V server from my Windows 7 computer.

  • Hello,

    I only want to say that I like vmwares features and interface over microsoft's I am deeply divided between Hyper V sun virtual box virtual pc and vmware's solutions. They all work they all do the basic job I have no single p2v converter and I have no simple virtual to physical solutions for backup and recovery.vmware workstation allows me to record videos pause and restart faster quickly and easily switch between virtual machines and supply the product key and more before I start the install. vmware workstation also handles my usb devices much better than virtual pc allows drag and drop between virtual and physical and even offers unity but I feel I pay too much for these few but great features.

  • I like to run virtual servers on my desktop PC for learning, testing configurations, etc.  Setting up a Hyper V box for this would be overkill in my case, particularly given that my desktop has more than ample resources for this purpose.  

    It's unfortunate that Virtual PC won't run 64-bit apps, since that prevents setting up a virtual SBS, for example.  And if I use Virtual Server, then I lose hardware virtualization and the ability to use Virtual PC for XP Mode or other purposes.  I hope MS will end up adding 64-bit support to Virtual PC at some point, especially given how prevalent the 64-bit OSs are becoming.

  • Ben,

    A simple question: I run windows 7 on mu laptop, where I do all my home work. A dell vostro 1320, 2.4 dual core, 4 GB Ram, 320 Gb disk, and so on. A fast and new machine ($1200 with 3yr warranty).

    I need a couple of 64 bit VMs on it to make some testing/development of Sharepoint and SQL2008 under 2008 R2 (which is only 64 bit, remember that).

    Also need Solaris / Comstar to provide iSCSI support to VMs.

    Neither Hyper-V nor Virtual PC does the job. I have either go to VirtualBox (free) or VMWare. It is a bad microsoft decission thar I can't run 2008R2 on this machine as main OS, nor VirtualPC to run 64 bit hosts, being the same microsoft who decided not to release more 2008 x86 servers.

    I'd like reading your oppinion on this.

  • Atur -

    Yes, demos on the road are something we have been hearing about.  As I mentioned - I do this myself and dual-boot my laptop for just this reason.  As a side note - if you are getting a laptop for purposes of running Hyper-V - you cannot go wrong with integrated Intel graphics.  Sure, it is not good for gaming, but you get Aero support and it will not affect Hyper-V in anyway.

    Cheers,

    Ben

  • John -

    You might want to poke around and see if you can find some low-end graphics cards that would give you multi-mon without causing Hyper-V problems.  As I mentioned to Artur - Intel graphics controllers tend to behave really well with Hyper-V.

    Cheers,

    Ben

  • kjopc -

    Yes!  As is being discussed at length here - Hyper-V does not play well with high-end video cards (which are far more common on desktops than servers).  Hyper-V also disables sleep and hibernate, as well as increasing the power utilization of the computer.  All of these things would need to be addressed before we could even consider putting Hyper-V in a desktop product.

    Cheers,

    Ben

  • bigjim01 -

    Thanks for all the info!  I have a blog about the Remote Management Tools for Windows 7 here: http://blogs.msdn.com/virtual_pc_guy/archive/2009/08/12/rsat-for-windows-7-rtm-now-available.aspx

    Cheers,

    Ben

  • Tyler -

    Thanks for the information.

    Cheers,

    Ben

Page 1 of 2 (29 items) 12