[发明专利]使用SIMD指令的RDP位图散列加速有效
申请号: | 201080009748.8 | 申请日: | 2010-02-05 |
公开(公告)号: | CN102334097A | 公开(公告)日: | 2012-01-25 |
发明(设计)人: | N·Y·阿布多;V·A·阿尔布 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/345;G06F7/22 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 胡利鸣 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 simd 指令 rdp 位图 加速 | ||
背景技术
尽管计算机曾经被隔离并且与其他计算机具有最少的或很少的交互,但是当今的计算机通过诸如局域网(LAN)和广域网(WAN)之类的通信网络与多种多样的其他计算机进行交互。随着因特网TM的广泛发展,计算机之间的连通性变得越来越重要,并开拓了许多新的应用和技术。大规模网络的增长以及低成本个人计算机的广泛可用性已经从根本上改变了许多人工作、交互、通信、以及玩乐的方式。
一种联网的越来越流行的形式一般可以被称为虚拟计算系统,其可以使用诸如远程桌面协议(RDP)、独立计算体系结构(ICA)等等之类的协议,来与远程客户端共享桌面及其他应用程序。这样的计算系统通常将对键盘键的敲击和鼠标点击或选中从客户端传输到服务器,同时通过网络连接(例如,因特网)以另一方向将屏幕更新中继回去。因此,当在现实中在应用出现服务器侧时仅仅将所述应用的屏幕截图发送给客户端设备时,用户具有就好像他们的机器充当LAN的一部分的体验。
两种常用的将图形数据发送到客户端的技术是:发送向客户端的子例程告知要绘制什么以及如何绘制的图元和其他操作;以及向客户端发送位图图像以供显示。当图元的序列太复杂时,有时可能更有意义的是发送可以更简单地被显示的位图表示、而不是其他更复杂图元操作的可能长的序列。然而,由于大多数比特流压缩器的限制以及受限的网络带宽,不断地发送屏幕的完整位图表示可能是花费过大的。
为了减轻这些问题,发送给客户端的帧(比如应用窗口)可以被细分为小块(tile)。这些小块然后在客户端侧被高速缓存,并且当小块在两个位图之间重复时,服务器发送客户端显示被高速缓存的小块的指令而不是重新向客户机发送该小块。这尤其可以在小块频繁地重复的情况下显著地减少RDP会话的带宽成本。然而,当这样做时,处理资源于是必须专用于高速缓存小块。
另外,分块算法常常被执行为使得最大化高速缓存命中的几率。在小块较小的情况下,几率更大的是小块将被使用两次(在该帧内或者在未来的帧中)。常常还存在最小有用小块大小,因为当小块过小时,从两个小块之间的高速缓存命中仅仅获得少的好处。
这些RDP位图高速缓存算法和检测小块间差异(“小块区分”)对于将RDP显示流的带宽减小到通过LAN、WAN或无线局域网(wLAN)的传输可接受的水平而言是极重要的。这些高速缓存算法通常用服务器上的处理时间(中央处理单元(CPU)的频率)来换取为了服务器在网络的范围内将信息传输给客户端所需的数量减小的带宽。
RDP位图高速缓存的主要处理成本之一是所使用的散列算法——一种将较大图像数据变换成较小数据的算法,其中该较小数据可以用作诸如数列或树之类的分类的数据结构的索引。一些散列算法实现密码块链接(CBC)算法或者CBC算法的变型方案。然而,用在散列算法上的该处理时间可能制约服务器的伸缩性,因为所有可用的处理资源可以在任何其他资源——比如服务器的网络带宽——变为耗尽以前由RDP会话使用。该处理时间还增加了为了对图像帧进行编码所需的时间、这些帧可以被产生和发送给客户端的速率(帧速(FPS))。
用当前并行处理器来提升散列算法的速度是困难的,因为CBC散列算法通常是串行的,这不是很好地有助于比如在单指令多数据(SIMD)处理器上进行并行处理。
存在一类称为向量处理器的处理器,它们在它们的指令集体系结构(ISA)中具有SIMD指令。诸如NEHALEMTM处理器之类的某些INTELTM x86ISA处理器中的诸如SSE 4.2指令之类的流式SIMD扩展(SSE)是这些SIMD指令的一种形式。这些处理器能够加快对某些类型的数据的处理,因为它们可以一次对大块的数据进行操作。例如,在处理图像的情况下,SIMD处理器可以利用单指令并行地对多个像素进行操作,而不是一次对单个像素进行操作。这不仅改善处理指令本身的性能,而且可以缩短从存储器取数据花费的时间。
尽管SIMD指令提供用于改善某些类型的处理(诸如处理图像数据以供压缩)的性能的机会,但是为了实现该过程所需的算法和技术比在非向量处理器的情况下困难得多。必须加以特别注意的是数据流、以及将数据组织为使得并行地对它进行操作。为此,将会从新技术中得到的好处是增大对RDP小块的散列操作的并行性。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080009748.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能脱粒碎草机
- 下一篇:玉米摘穗秸秆切碎还田机