Our Ebook 6 Reasons Why VDI with Hyper-V and RDS is Ready for Takeoff is being downloaded a lot. It's clear that a lot of IT pros are looking for ways to avoid the so-called VMware tax and stretch their IT budgets farther by leveraging the lower cost of Microsoft VDI.
Here's another technical reason to consider Hyper-V over vSphere for hosting virtual desktops: with the enhanced Dynamic Memory improvements for Hyper-V in Windows Server 2012, you can attain higher VM consolidation numbers and improved reliability for restart operations. This can lead to lower costs, especially in pooled VDI environments that have idle or low-load virtual machines.
To understand why you can achieve greater VM density on Hyper-V than vSphere, you need to understand how VMware's Memory Overcommitment and Microsoft's Dynamic Memory technologies work. Let's compare the two.
How VMware Memory Overcommitment Works
VMware uses a balloon driver and paging to allow memory to be overcommitted. The maximum amount of memory assigned to a VM is described in the BIOS Memory Map, and is available as soon as the VM is started. If there is not enough physical memory on the vSphere server to satisfy demand, the hypervisor will use paging.
Once the OS is booted, the balloon driver will communicate with the hypervisor to control how much physical memory is assigned to the VM. By default, Windows Cache Manager will consume all of the memory in the system. But the balloon driver prevents this from happening by consuming memory that would otherwise be used by the Cache Manager, giving it back to the hypervisor instead. When a VM needs more memory, it can get it back from the hypervisor.
If you want to make sure that a VM always has at least a certain amount of physical memory, you can set a Reservation.
How Hyper-V Dynamic Memory Works:
Microsoft enables administrators to set their own memory thresholds and allows VMs to be prioritized in terms of memory usage. Consequently, when memory contention occurs, high-priority VMs receive memory first.
The BIOS Memory Map contains the memory in the “Startup RAM” field. Hyper-V has minimal need for paging, which occurs only during a reboot of a VM, and only if memory can’t be freed up any other way.
If a VM needs more memory than the Startup RAM, the Dynamic Memory Hot Add mechanism is used. The hypervisor gives a block of memory to the VM, and signals to the OS that memory has been added. The OS then starts tracking and using the added memory, using a balloon driver (like vSphere) to communicate with Hyper-V.
Why You Can Set Maximum Memory Higher On Hyper-V with Fewer Consequences
Tracking memory requires extra CPU resource. The balloon driver is constantly working to balance supply and demand of memory as it works against the Cache Manager. The bigger the difference between the amount of memory the OS knows about and the amount of memory in use, the harder that is and the more CPU is required.
In VMware vSphere, the OS has to track the maximum amount of memory, whether it’s used or not. So, if you set your max memory really high, you're going to pay a price in resource utilization.
In Hyper-V, the OS has to track only the Startup RAM and any additional memory that’s actually used. Hyper-V Dynamic Memory minimizes the amount of memory the OS has to worry about by using Hot Add, making it much easier on the balloon driver, and freeing up server resources to host additional VMs.
Give Unidesk and Microsoft RDS on Hyper-V a Try
The ability to make run-time configuration changes using Hyper-V Dynamic Memory can reduce downtime, provide increased agility, and increase VM density - all key considerations when implementing virtual desktop infrastructure. Download our Ebook for more reasons why you should consider Unidesk, Microsoft RDS, and Hyper-V for VDI that's simpler, more flexible, and lower cost. If you have other technical differences between Hyper-V and vSphere that you think are important for VDI, weigh in with your comments below.