Microsoft Hyper-V R2 Service Pack 1 (SP1), part of the new Windows Server 2008 R2 service pack, is a significant update. Hyper-V R2 SP1 sports the much-anticipated Dynamic Memory feature and a new virtual desktop protocol, RemoteFX.
Dynamic Memory, a virtual memory management technology, is Microsoft's answer to VMware's memory overcommit. Instead of administrators providing static quantities of memory to virtual machines (VMs), Dynamic Memory pools the host's memory and sends resources to memory-starved VMs. It also rebalances the host's memory in one-second intervals.
On the desktop virtualization front, RemoteFX is Microsoft's new streaming protocol, built upon Remote Desktop Protocol (RDP). It can deliver three-dimensional graphics and dense display resolutions, and it provides USB support.
Despite the new additions, Hyper-V has yet to gain parity with vSphere in such areas as virtual networking and Hyper-V independent software vendors. But Microsoft is used to playing catch-up, whether it's in the server market or video-game industry. And with each revision of Hyper-V, Microsoft narrows the feature gap with vSphere.
This guide takes a closer look at two features that shrink the disparity between Hyper-V R2 SP1 and vSphere: Dynamic Memory and RemoteFX.
DYNAMIC MEMORY IN HYPER-V R2 SP1
Administrators must configure Dynamic Memory before Hyper-V can automatically rebalance a host's RAM. If the parameters are set incorrectly, a host's memory will be allocated incorrectly, causing performance issues. To ensure that each virtual machine receives enough memory, review the tips below.
How virtual memory allocation works with Hyper-V Dynamic Memory
With Dynamic Memory, the hypervisor is responsible for virtual memory allocation. It pools the host's memory and distributes it to virtual machines as needed. Users can set the parameters on how much memory a VM can use and let Hyper-V R2 SP1 adjust it on the fly.
Virtual memory settings in Hyper-V Dynamic Memory
Dynamic Memory's virtual memory settings are adjustable, which offers more flexibility. The Memory Buffer feature, for example, reserves a predetermined amount of RAM for a VM, just in case it requires more memory before the host's RAM is rebalanced. And the Memory Priority setting designates which VMs receive additional memory first during periods of high RAM utilization.
How to monitor virtual memory with Hyper-V Dynamic Memory
If there isn't enough RAM to go around, Dynamic Memory will shift it to the high-priority VMs. That can hurt the performance of less-important VMs if proper monitoring isn't in place. But you don't have to wait for user complaints to roll in before you take action. The Hyper-V Manager Console can monitor virtual memory settings with two new reports.
Dynamic Memory best practices
Dynamic Memory requires manual configuration of the Memory Buffer and Memory Priority settings. It's also a Dynamic Memory best practice to provide Startup RAM and Maximum RAM numbers. The Startup RAM refers to the amount of memory a VM uses to boot, and the Maximum RAM is the highest amount of memory that Hyper-V R2 SP1 allocates to a VM.
Hyper-V Dynamic Memory vs. VMware memory overcommit
Hyper-V Dynamic Memory and VMware memory overcommit address dynamic memory allocation in different ways. With memory overcommit, users can allocate more memory to virtual machines than a host has available. In Hyper-V R2 SP1, Dynamic Memory continually rebalances the host memory, according to parameters set by the administrator. But it can't allocate more memory than the host has available.
REMOTEFX IN HYPER-V R2 SP1
The infrastructure requirements for RemoteFX are restrictive, to say the least. RemoteFX, for example, can stream only Windows 7 SP1 virtual desktops, so IT shops with Windows XP virtual desktops are out of luck. Also, you need a Hyper-V R2 SP1 back end, which means other virtualization platforms cannot run RemoteFX.
What you need to know about Microsoft RemoteFX
Microsoft RemoteFX is a powerful protocol, designed to make the virtual desktop experience almost indistinguishable from using a local machine. To use RemoteFX, however, you must meet Microsoft's strict requirements. So read the fine print.
Comparing Microsoft RemoteFX to VMware PCoIP
Microsoft RemoteFX and VMware PCoIP are similar virtual desktop technologies. Both protocols stream desktops to the users, with the hosts handing the processing on the back end. But RemoteFX require the hosts to have a GPU add-in card. PCoIP, on the other hand, can run on normal hardware, but performance can suffer if users run multimedia-intensive applications.
The differences between Microsoft RemoteFX and Citrix HDX
Comparing Microsoft RemoteFX and Citrix HDX is not apples to apples. For one, HDX works on a wide variety of platforms and hardware, unlike RemoteFX, which has strict software and hardware requirements. Additionally, RemoteFX works only on LANs. To stream desktops across a wide area network, you'll need to use RDP, which doesn't perform as well as HDX.
The power and promise of RemoteFX
Microsoft's streaming technologies have come a long way since the Terminal Services days. RemoteFX supports several advanced codecs -- that is, a device or program that can encode and/or decode a digital data stream -- that provide a richer user experience. It also provides USB redirection, the use of USB peripherals on virtual desktops, with no client-side drivers to load.
How to tell if you're actually using RemoteFX
If you have the proper configuration, it's easy to enable the RemoteFX role under Remote Desktop Services. But how can you tell if you're actually using RemoteFX? Well, there are certain clues -- such as Start menu options and Event Viewer prompts -- that will let you know for sure.
MORE ON HYPER-V R2 SP1