Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1813410
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2011-06-05 10:51:02

http://www.brianmadden.com/blogs/brianmadden/archive/2009/12/10/red-hat-makes-the-qumranet-spice-protocol-open-source-a-free-alternative-to-ica-pcoip.aspx

New! Listen to this post in our daily podcast. iTunes Podcast Podcast RSS Feed

by

Yesterday Red Hat used what was arguably the to announce that they are open sourcing their SPICE remote display protocol. SPICE was developed by Qumranet a few years ago and made a huge splash at BriForum in 2008 when they demoed the software-based SPICE protocol on a client with multiple monitors running high-def video, audio, and games. (Here are videos of their sponsored breakout session from BriForum 2008 and DEMO Lab product demo from BriForum 2009.)

Later that summer, Qumranet hired Gabe and I to perform an independent analysis of the performance of the SPICE protocol as it compared to RDP and ICA. We wrote a paper of our findings, although I don't know if they ever published that since a few months later they were acquired by Red Hat. (I think our main contact at the time had bigger items on his plate than our little protocol analysis.)

We wrote about that acquisition on BrianMadden.com, essentially saying that we thought the main reason Red Hat acquired Qumranet was for the KVM hypervisor (which would compete against the open source Xen hypervisor), and we weren't really sure whether Red Hat cared about desktop virtualization at all.

Fast forward to today: Red Hat has is evolving Qumranet's VDI product into (currently ), and they're converting SPICE to a full-on open source remoting protocol.

So SPICE is vendor-neutral independent remoting protocol that has the advantage of actually existing. What impact will it have? I guess that depends on how good it is.

How good is SPICE?

Is SPICE better than RDP? Will it give Citrix a run for their money in HDX/ICA? Did VMware just waste a lot of money on PCoIP? Is Net2Display even more worthless?

As part of the analysis we did for Qumranet in 2008, we recorded a bunch of videos comparing the performance of running a set of user scripts via three protocols: SPICE, ICA, and RDP. Our videos show SPICE in action against ICA and RDP, each for three use cases (single display, multiple displays, and multimedia apps).

One thing about the videos that's important to note is that our lab was a non-bandwidth constrained environment, so the bandwidth consumption data is not really valid. (Remember that any protocol will take up as much bandwidth as it can when not capped, so we were just trying to compare the architecture of the protocols back then—not do a full bandwidth analysis.) That said, SPICE is actually fairly advanced when it comes to bandwidth. It will make determinations of client capabilities, network characteristics, and other parameters to automatically change its behavior to provide the best user experience possible. (So in some cases it might be sending raw graphics commands to the client which are processed there, and in other cases it might send what amounts to screen bitmaps to the client.)

Leveraging host-side hardware and special hypervisor capabilities: the future is now!

One important thing you need to understand is that SPICE is architected a bit different than ICA and RDP. While ICA and RDP are made of up two components (a remote software component that runs in the OS of the Windows host you're connecting to, and a client), SPICE is actually made up of three components:

  • Remote guest component: A virtual graphics adapter running in the VM, just like ICA/RDP.
  • Client component; The SPICE client software, just like ICA/RDP.
  • Remote host component: A virtual graphics device which the hypervisor makes available to the VM. (This is different than today's ICA/RDP.)

In other words, because SPICE has a hypervisor component, it will only work when your remote hosts are VMs.

Last month we wrote an article asking whether the future of remoting protocols is going to be based on three-tiered architectures (such as SPICE). While not everyone thought it was a good idea, there's actually a lot of evidence that the industry is going down that path anyway. Microsoft has already told us that one of the ways Calista technology will make it into RDP will be via Hyper-V extensions that essentially provide virtual GPUs to guest VMs. And Citrix's HDX 3D leverages CUDA-enabled host-side Nvidia GPUs to provide specialized capabilities for encoding 3D graphics.

And then there's VMware's software-only implementation of Teradici's PC-over-IP protocol. Today's software PCoIP is only two-tier (just like traditional ICA and RDP), but that's really because VMware needed to get something out the door pretty fast. I wouldn't be surprised if we also saw some kind of ESX-based processing capability exposed to their VMs to really accelerate what they could do with PCoIP and View.

What impact could an open source SPICE have?

There are two possible things that could happen from SPICE being open source.

First, the actual SPICE protocol itself could get better which would lead to more support for Red Hat Enterprise Desktop Virtualization. This is a no-brainer and something I'm sure will happen. Will this lead to more people buying Red Hat? Probably not, because I don't think people choose desktop virtualization platforms based on protocol anymore.

Second, and the question that's on everyone's mind, is whether SPICE will make it into other desktop virtualization products out there, and if so, whether it will matter.

To answer that, it's important to first keep in mind that as of today, SPICE can only connect to remote hosts running on KVM-based hypervisors. I guess the idea is that it's now open source, that will change, but remember that since the hypervisor also has to provide a virtual graphics device to the VM, this isn't as simple as popping a SPICE agent in a View or XenDesktop VM. Using SPICE on a Xen, Hyper-V, or ESX-based VM will require additions to the hypervisor. When will we see those? (Or will we ever?) Who will make them and why?

So let's think about the vendors who could do this. Citrix doesn't need to, since you already get HDX/ICA with all their products, so they have no incentive to support another protocol. Microsoft already has plans for something like this with Calista, and they're probably already almost done with it, and it will probably be part of RDP, so they don't really need this. I guess that just leaves VMware, but now that they spent the money on PCoIP, I'm not sure if they have an incentive to add another protocol, especially if it means making changes to the hypervisor.

Of course we might just see a port of SPICE over to Xen-based hypervisors too, although I have no idea whether that's a simple thing or something that will require months of re-engineering?

The bottom line is that I want to love SPICE and think that it's going to be everywhere. But I think the reality now is that everyone who needs a remoting protocol has one. I'm guessing an open-source Xen-based SPICE is highly probable, along with SPICE getting better on KVM. But other than that, who knows?


RedHat开放了Qumranet SPICE源代码,spice能够成为免费的ICA/PcoIP么?
by Brian Madden  Written on Dec 10 2009
   

    昨天RedHat开放了SPICE远程协议的源代码,SPICE是Qumranet公司开发的,在2008年BriForum上一段demo使之声名鹊 起,录像中一个client使用SPICE协议在多个monitor上运行高质量视频,音频和游戏。Demo地址:
http://www.brianmadden.com/blogs/videos/archive/2009/07/21/briforum-2009-demo-lab-red-hat.aspx
http://www.brianmadden.com/blogs/videos/archive/2008/06/17/qumranet-s-solid-ice-desktop-virtualization-done-right-sponsored-by-qumranet-from-briforum-2008.aspx
后来,我和Gabe负责测试SPICE,RDP,ICA的性能对比,我们写了一篇文章,但是Redhat还没有发布。我们认为Redhat对Qumranet感兴趣是因为KVM hypervisor(与Xen hypervisor竞争),而不是桌面虚拟化。
    时至今日,Redhat整合了Qumranet的VDI产品到Red Hat Enterprise Virtualization for Desktops中,并完全开放了SPICE的源代码。那么SIPCE会带来什么影响?我想这要看how good it is。


How good is SPICE?
    SPICE比RDP更好么?它会让思杰的HDX/ICA收到威胁么?会让VMware在PcoIP上损失金钱么?会使Net2Display更加无用么?
在我们为Qumranet做的分析中,我们针对SPICE,ICA,和RDP三种协议运行用户脚本的性能做了对比,结果显示SPICE
在三种情况(单个显示,多个显示,多媒体应用)下都强于ICA和RDP。地址:
http://www.brianmadden.com/blogs/gabeknuth/archive/2009/06/18/redhat-spice-vs-rdp-vs-ica-performance-video.aspx
    有一点要说明,我们做的测试都是在无带宽限制的环境中,所以带宽消耗数据不准确(所有的协议都尽可能的消耗它得到的带宽,所以我们只是对比协议的架构而不是带宽分析)也就是说SPICE在宽带下是有优势的。它根据client性能,网络规格参数,和其它参数决定它的行为,以提供最好的用户体验。(所以,它可能发送原始图形命令给client,让client处理渲染;也可能发送屏幕位图到client)

Leveraging host-side hardware and special hypervisor capabilities: the future is now!
    SPICE与ICA,RDP有一点不同,ICA和RDP都是二组件结构(远程的guestOS中的组件和client组件),而SPICE由三部分组成:
1.远程guest组件,运行在VM中的虚拟图形适配器,与ICA/RDP相同
2.Client组件,与ICA/RDP相同
3.远程host组件,hypervisor中的图形设备,不同于ICA/RDP
也就是说,SPICE中有hypervisor组件,所以它只能运行在虚拟机中。
    三组件结构是不是远程协议的未来架构?很多人不这样认为,但是很多工业行为已经证明了这个趋势。微软透漏Calista 技术融合到RDP中的一种途径就是通过Hyper-V扩展以为guest提供虚拟GPU,思杰的HDX 3D在host端提供Nvidia GPUs以支持3D图形操作。Vmware的PcoIP和传统的ICA/RDP一样是而组件结构,但是这只是因为Vmware needed to get something out the door pretty fast。

What impact could an open source SPICE have?
    第一,SIPCE协议会发展的更好,会更好的支持Redhat桌面虚拟化,没有人会否认这一点。但是这会让更多的人购买Redhat么?应该不会,因为我不认为大家会基于协议来选择虚拟桌面平台。
    第二,SPICE会不会融合到其他的虚拟化产品中?SPICE只能与运行KVM体系的hypervisors的host进行远程连接,我想SPICE开源 之后会有所改变,但是因为hypervisor也需要提供虚拟图形设备支持,所以这不像在一个view或XenDesktop VM中加入一个SPICE agent那样简单。在Xen, Hyper-V, 或 ESX-based VM上运行SPICE需要hypervisor上的附加功能,什么时候会有?谁会做这些?思杰不会,他们有HDX/ICA。微软已经计划的Calista 已经基本完成,将会作为RDP的一部分,所以他们也不会做SPICE。只剩下VMware,但是他们已经在PcoIP上投入资金,我不确定他们会不会引入 其他协议,尤其是改动hypervisor的协议。当然我们也可能看到XEN hypervisor上的SPICE port,尽管我不确定这是一个简单的事情还是一个大的工程。
    最后我要说我希望SPICE可以普及,但是现实是需要一个远程协议的人都已经有了一个协议。我想一个开源的XEN基础上的SPICE是最有可能的,谁知道呢。
阅读(1658) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~