I also participated in a panel discussion with two members of the Citrix's Multimedia Virtualization team: Derek Thorslund, Product Strategist, and Juan Rivera, Sr. Development Manager. We discussed Project Apollo as well as the various protocols and what the use case would be for each. If you attended Summit you should be able to download the video recording and slide deck from the session. (Session ID 806 - Multimedia Requirements for Desktop and Application Virtualization)
In this article, I would like to discuss a bit about how this demo worked and review some of the technical components required to deliver a Vista Aero Glass desktop to a remote client. Before I do this, let's review the two different protocols that I'll reference:
Citrix Project Apollo (PortICA, via the Thin Wire Virtual Channel): Project Apollo is currently pre-alpha, but my understanding is that the graphics travel inside the ICA Protocol over the Thin Wire virtual channel. Glass graphics are compressed on the backend (or the VDI instance, in this case of a blade PC or workstation blade) and then decompressed on the client side using a CODEC that will probably be embedded in the ICA Client. The Connection Broker for this will of course be the XenDesktop broker.
HP Remote Graphics Software (RGS): HP's RGS is a protocol that allows realtime remote access to graphics over a LAN providing a local user experience. RGS uses a proprietary HP3 CODEC. A key benefit here is if you're using a pure HP-based solution, this protocol can be brokered by SAM (Session Allocation Manager, a broker which is sold with HP solutions only.)
Both of the above protocols work in essentially the same way. They're both screenscrape-based protocols. The graphics are compressed on the backend resource and decompressed on the end point using a CODEC. Both PortICA/Apollo and RGS are capable of remoting Vista Aero Glass to NON-Vista Aero end points. (UPDATE: Since writing this article, HP contacted me to clarify that remoting Aero Glass is not "officially" supported over RGS, despite the fact that the lead RGS developer told me otherwise. So take that for what it's worth!)
What's the difference between a Blade PC and a Workstation Blade?
Now that we've looked at the protocols, let's look at something else that I'll discuss in this article: "Blade PCs" and "Workstation Blades." Most people probably use the two terms interchangeably, but hardware vendors like HP do not. To HP, these are two different things. The main difference is the hardware specs of the two, although there's a cost difference as well. (Although in reality, any high-end graphically-intense VDI solution is going to be expensive. In most cases when it comes to a solution around high-end graphics, money is not the key factor and the decisions are based on performance and end user experience/perception.)
HP 2500 series "Blade PC"
- AMD Athlon 64 X2 3000+ dual-core processor
- 80GB Serial ATA 5400 RPM hard drive
- 1GB DDR2 SDRAM PC2 5300 (667 MHz) expandable to 4GB (2 SODIMM slots)
- Two Broadcom 590 10/100 Integrated NICs, capable of PXE Boot
- Embedded ATI DirectX 9-compliant graphics card
HP Documentation indicates this is “ideal for knowledge workers requiring cost effective access to many applications with increased graphics”.
HP xw460c "Workstation Blade"
- 1 or 2 Intel Xeon dual-core processors running at up to 2.66 GHz
- NVIDIA Quadro FX high performance graphics adapter
- Up to 16GB of ECC, DDR2 memory running at 667 MHz
- Two 1 GB/s NICs
- 1 to 2 high-speed Serial Attached SCSI disk drives
HP Documentation indicates this is “ideal for engineers, designers, and traders with applications requiring more demanding 2D/3D graphics and/or the support of more than two displays”
As you can see, a "Workstation Blade" is a much higher-end device, with more processors, more RAM, and a SCSI disk. It is truly an Engineer's Workstation in a blade form factor, whereas a "Blade PC" is more like a typical end-user's computer.
The collaboration between HP and Citrix
What made the collaboration between HP and Citrix on Project Apollo interesting in my mind are two things:
The first is that most servers do not have a GPU in them, and even if they did, you cannot share the GPU in a hypervisor solution because of I/O issues. So to provide a full multimedia experience you only have two “realistic” choices: a blade PC or a workstation blade because each is a 1-to-1 connection which means each user gets their own GPU. You must have a resource on the backend that is Vista Aero Glass capable in order to deliver it to an end point such as a Thin Client. (Of course it's also necessary to have an protocol algorithm that can support it, i.e. PortICA or RGS.)
NOTE: For those of you unfamiliar with the recommended hardware requirements for Vista Aero Glass, they are a 1GHz processor, 1GB of RAM, and a DirectX 9-capable 3D graphics system.
The use case for this would be end users who are working with graphically-intense applications. As the .Net 3.0 architecture becomes more widely adopted and more WPF and 3D applications are deployed, people will be forced to migrate to Vista to take advantage of them. It is not currently possible to get this experience from XP. Nor can you get it from Vista in a virtual machine because Aero Glass is not supported in VMs. Most users are leveraging productivity applications today so for the most part hypervisor-based VDI is sufficient to meet their needs.
However, the more common VDI becomes, the use case for Blade PCs and Workstation Blades will become more compelling as a solution. Certainly some of the existing barriers to adoption will be a thing of the past. The way I see it, with servers becoming more commoditized (with the advent of hypervisors in general, but especially with the embedded hypervisor), the more important the end user experience will become. That means MULTIMEDIA!
A potential road block that I see is having a broker to manage the connections. I understand that at this time the only qualified connection broker is HP's SAM Broker. A key benefit here is if you're using a pure HP-based solution, the RGS protocol can be brokered by SAM (Session Allocation Manager). Both RGS and SAM have been fully qualified on both the HP Blade PCs & Workstation Blades. Today you can remote Vista Aero to XP with RGS but it is not available for Thin Clients.
The second interesting thought is the idea of delivering Vista Aero Glass to a thin client, particularly a Linux-based thin client. Linux is becoming a very attractive option for customers as VDI is becoming more popular simply because the idea of paying for a license for two Microsoft operating systems is unappealing to pretty much everyone. There are also a lot of customers who look at Linux and think “zero maintenance.” In some cases they see that as being more important--more so even than the cost of two Microsoft licenses. A barrier here is end user acceptance. You have to get buy-in from them for this to be successfully deployed. I can say having worked with Linux thin clients, most are starting to look and feel closer to Windows but there is still a marked difference in how you navigate.
I see a great future for VDI, but until the server GPU I/O problem is solved Blade PCs and Workstation Blades are really the only viable solution if you want a complete Vista Aero Glass and Multimedia experience in a VDI scenario. Both HP (RGS) and Citrix (PortICA) are doing some pretty cool work around this and I find it intriguing that it will soon be possible to get a Vista Aero Glass experience using Blade PC's/Workstation Blades to deliver a real-time multimedia experience to a Thin Client, whether it is XPe or Linux.