Late to the virtualization game, Microsoft has been running several lengths behind the competition in this space for years. However, the new features and strong performance present in Windows Server 2008 R2 SP1 show that the company hasn't been twiddling its thumbs. It's clearly been working hard at bringing a compelling and competitive virtualization solution to the market.
There's plenty to like in Hyper-V these days, not the least of which is the price comparison to the other major players. But whereas that lower price used to mean significantly diminished features and performance, that gap has closed. Hyper-V now offers the big features, including live VM migrations, load balancing, and high availability, as well as a more fluid management interface in Microsoft System Center Virtual Machine Manager 2008 R2 (VMM).
One very notable addition to Hyper-V in Windows Server 2008 R2 SP1 is dynamic memory. By specifying a minimum and maximum RAM allotment per virtual machine, as well as a buffer to maintain over actual memory requirements, you can configure Hyper-V to grow and shrink RAM allocations as virtual machines require. This means you could give a virtual machine 2GB of RAM, but allow it to grow up to 4GB as needed. If the VM needs less, Hyper-V can then reduce physical RAM usage on the host. In situations where a host exhausts physical RAM, Hyper-V will begin reducing the allotted RAM to running virtual machines based on their priority.
Like memory management in VMware's hypervisor, Hyper-V's dynamic memory allows you to run a higher density of VMs on each host. Microsoft's method of memory allocation, which utilizes a memory balloon that can expand and contract as needed, has clear benefits, but doesn't go as far as VMware's or Red Hat's, which leverage advanced features such as page sharing and RAM compression. Plus, Hyper-V's dynamic memory works only with Windows guests; VMware and Red Hat have no such limitation.