VIR313: RemoteFX GPU Virtualization Deep Dive

This session went into great gory depth on how RemoteFX works, and the hardware requirements. What is RemoteFX? RemoteFX is a new technology in Windows Server 2008 R2 SP1 and Windows 7 SP1 that when combined with a VDI environment allows efficient host-side rendering of graphics and multimedia. It requires the use of Hyper-V, and thus does not work on other hypervisors.

It also enables USB device redirection, something not available with previous versions of RDP. Host side rendering has several advantages, including rendering of any content including WPF, Flash, SilverLight, Quicktime, WMP, 3D applications, etc. RemoteFX bumps up the RDP version to 7.1.

Why is RemoteFX important? Well with RemoteFX you invest in server hardware with GPUs, but this allows you to buy very cheap and disposable thin or zero clients that don’t require much computing or GPU power. This is in contrast to some technologies like Citrix HDX that purposefully offload some CPU/GPU processing to the client devices. There’s no one right or wrong way to handle rich graphics, so both architectures have their place.

Enough background, so here are some of the gory technical details covered:

  1. Virtualized GPU. A single GPU can be utilized by multiple Hyper-V guest operating systems. It uses intelligent screen capture and hardware-based encoders. It can utilize hardware-based decode, but this is optional.
  2. The CODEC is designed for text and image-based content. A single CODEC works for VDI, RDS, and WMS (Windows multi-point server) sessions.
  3. USB redirection supports nearly all USB devices, and no client side drivers are required. Admins control what devices are or are not allowed to be connected. It’s integrated with PnP/Windows update so applications do not know the device is redirected.
  4. The virtualized GPU supports Direct-X 9 and GDI. No support for DX10 or higher, in this release. Most applications can use DX9, so this is not a big limitation.
  5. The physical video card must support DX10, since some new APIs are used for more efficient encoding.
  6. Although the GPU is used for much of the encoding work, the server CPU still has some processing load. Hardware manufactures are working on a RemoteFX ASIC which offloads this processing. The ASIC is totally optional, and some should ship mid 2011.
  7. Previous incarnations of RDS used a kernel-mode architecture. With RemoteFX and RDS, there are now user-mode and kernel-mode components.
  8. For VDI, the hardware requirements include a CPU with SLAT (second-level address translation), GPU installed in the server, and a Windows 7 SP1 VM. With this the benefits include GPU virtualization, USB redirection, full Aero glass support, RemoteFX compression using CPU and GPU, and you can offload client hardware decompression to an ASIC.
  9. RemoteFX is NOT another protocol, RemoteFX is built into RDP 7.1 and does not require additional ports to be opened up, or protocols to be allowed. It’s simply an RDP extension. As such it supports all RDP features such as security (SSL, Kerberos, etc.) and virtual channel multiplexing
  10. RemoteFX enables a new class of ultra lightweight and low-power  devices. Operating systems could include Windows CE, Linux and custom OS like Wyse ThinOS. The devices can draw less than 5W of power and could have a dedicated ASIC for CODEC acceleration.
  11. The limitation of how many RemoteFX enabled virtual desktops per server comes down to video card memory and screen resolution. For example, a 2GB ATI V7800 card could support up to 11 VMs running a single 1600×1200 screen. All of the VDI VMs on a server do not need to be RemoteFX enabled, so you can assign power users to RemoteFX VMs, and max out the server with non-RemoteFX VMs to increase VDI density.

Now one of the ‘tricks’ to implementing RemoteFX is putting a very beefy video card into your VDI servers. If you are using blade servers, this really restricts your options. For example, with HP you can only use their “workstation” blade PC with a side-car PCIe expansion slide, which cuts the server density in a 10U chassis from 16 servers down to 8. Given high heat load and the number of PCIe lanes required, blade servers are at a distinct disadvantage for the time being. One solution would be a traditional 1U rack-mount server, a heavy-duty graphics card with 4GB of RAM, and a single 10Gb CNA so you reduce your cabling requirements.

Since the primary scalability factor for RemoteFX is the amount of video RAM on the graphics card, I suspect AMD and nVidia will come out with RemoteFX oriented cards that increase the memory to 8GB or more. For example, a 8GB video card should be able to support over 35 RemoteFX sessions using 1920×1200 screens (typical 24″ monitor).

In most cases not all users need RemoteFX. Task workers such as those using Office products or basic web surfing really won’t benefit that much. But for users that require 3D applications, video playback, or USB redirection, RemoteFX is something to consider. Citrix has stated they are working on incorporating RemoteFX into XenDesktop, and that integration should be completed later this year.

Finally, not all graphics cards are certified for RemoteFX. Microsoft said the initial drivers AMD and nVidia provided were pretty buggy. So be sure to check out the Microsoft HCL for graphics cards and ensure it has been certified for RemoteFX. Also, it was stressed the RemoteFX was designed mostly for LAN based environments. If you have remote offices/branch offices, then RemoteFX may not be a good fit. Future versions may address bandwidth/latency issues, which are the primary reasons why this first version is intended for LAN usage.

Print Friendly, PDF & Email

Related Posts

Notify of
Newest Most Voted
Inline Feedbacks
View all comments
December 13, 2012 1:03 am

After 3 months working on RemoteFX as implemented in Windows Server 2012 and Windows 8, I think that although the detail published in the VIR313 sessions is above superficial, it is nowhere near the amount required to explain the arcane inner logic of the system. I do not consider the detail published in VIR313 to be of “great, gory depth”.

May 13, 2017 11:27 am

“No support for DX10 or higher, in this release”
I disagree. Read