SPICE协议虚拟多通道的实现*

2016-08-11 06:59
计算机与数字工程 2016年4期
关键词:虚拟技术

肖 刚

(襄阳职业技术学院机电学院 襄阳 441050)



SPICE协议虚拟多通道的实现*

肖刚

(襄阳职业技术学院机电学院襄阳441050)

摘要SPICE协议是开源的虚拟桌面传输协议,在SPICE服务器端和SPICE客户端进行交互通信,让用户获得比较好的桌面体验,但是SPICE协议在虚拟化多通道技术方面还是有一些不尽人意的地方。SPICE协议很难保证桌面应用程序的数据在虚拟通道中得到比例公平传输的机会,使得用户操作响应时间大、数据传输时延长、传输性能和服务质量降低,因此针对这些问题,论文提出一种新的动态优先级虚拟多通道管理技术,在每一个应用程序并发传输过程中可以根据自适应的复杂网络状况动态调整每个通道的传输优先级,提高虚拟桌面应用的实时性和用户的服务质量,使得用户能够获得更好的桌面体验。通过测试表明新的技术使得用户获得更好的桌面体验,也提高了系统的传输性能。

关键词SPICE协议; 多通道; 虚拟技术; 动态优先级; 传输控制

Class NumberTP393

1 引言

云计算与虚拟化技术的快速发展和普及,为人们的生活带来了许多的方便。云桌面作为云计算应用的典型产品之一,越来越受到许多桌面用户的广泛关注。而云桌面离不开虚拟化技术与虚拟桌面传输协议的支持,而桌面虚拟化技术作为虚拟化技术的重要支撑,它是云计算资源中交付的一种重要手段,向远程客户端提供本地计算机无差异的桌面计算环境。然而虚拟桌面传输协议的效率直接影响着桌面用户的操作和视觉体验。本文在开源的SPICE传输协议基础上进行了深入研究。

2 SPICE协议

SPICE协议是Red Hat公司开发的一个完全开源的虚拟桌面传输协议,它是为解决桌面虚拟化方案而设计的。SPICE基本架构主要由SPICE客户端、SPICE服务器端和相关组件三个组件构成,如图1所示。

SPICE协议的虚拟多通道技术是若干个逻辑链路组成的一种技术,它将数据逻辑分离,可以通过添加一个新的虚拟通道来完成客户端的新设备的加入,从而很好地支持这个设备并可以完成数据传输。同时,用户客户端还可以依据动态自适应的不同的网络状态,定义不同的虚拟多通道优先级或者降低虚拟多通道数据传输流量来保证传输实时性数据。

图1 SPICE基本架构图

3 SPICE协议虚拟多通道的设计思想

虚拟多通道主要负责SPICE客户端与服务器端之间进行用户桌面应用程序的数据通信与交互。由于一些桌面应用程序在并发传输过程中,有些应用程序传输网络带宽占用率比较大,实时性要求也比较高,用户需要及时得到响应;而有些应用程序传输网络带宽占用率比较小,实时性要求也比较低,不需要得到系统的及时响应等一些差异,如果用绝对公平方法就会严重降低SPICE协议的传输性能及服务质量,也使得终端用户在远程虚拟桌面上不能获得更好的用户体验。因此针对这些问题,在SPICE协议的基本架构基础上添加了一个应用程序并发控制模块,该模块能够保证每个应用程序在并发传输过程中能够获得公平传输的机会,也提高SPICE协议的传输性能及服务质量。

SPICE服务器端采用虚拟多通道技术与SPICE客户端进行不同的资源数据传输,虽然提高资源通道传输控制的灵活性和对不同资源通道管理的能力,但却加大了虚拟多通道管理的难度。因此,在SPICE协议原有架构基础上添加一个应用程序并发控制模块,并提出一种新的基于自适应网络状况的动态优先级的虚拟多通道管理技术,在每个应用程序并发传输过程中可以根据自适应的复杂网络状况动态改变各个虚拟多通道的传输调度优先级,从而能够自适应一定的复杂网络状况,提高虚拟桌面应用的实时性,使得终端用户获得更佳的桌面体验。

SPICE服务器端主要由应用程序并发控制模块和虚拟多通道管理模块组成,其示意图如图2所示。

图2 SPICE服务器示意图

应用程序并发控制模块主要功能是处理虚拟桌面的每一个应用程序,它们的调度优先级可以依据它们在网络中的平均网络传输速率大小和不同的数据类型来进行动态分配。每一个应用程序将比例公平地分配给整个虚拟通道,保证它们都能够获得公平传输的机会,这样不仅提高了SPICE协议的传输性能及服务质量,还使得整个虚拟通道可以按照比例公平调度算法分配给所有的应用程序。并发控制模块示意图如下图3所示。

图3 并发控制模块示意图

虚拟通道管理模块主要功能是将每一个应用程序根据不同的数据类型选择不同的虚拟通道传输,该模块可以根据自适应的复杂网络状况动态调整各个虚拟通道的调度优先级。该模块主要由通道控制器、数据分发器和通道线程模块三部分组成,通道控制器由主通道提供信息,负责对其它虚拟通道的建立、初始化、连接和销毁等操作和对SPICE协议的配置工作,同时它也从SPICE客户端收集数据传输往返时延和丢包率等这些反馈信息来获取当前的网络状况,以便动态调整各个虚拟通道的传输调度优先级。数据分发器主要作用是将并发控制模块中已经处理后的某一个应用程序数据根据不同的数据类型分发到各个对应的虚拟通道的缓冲区中去。通道线程模块主要负责传输不同的应用程序数据类型。该虚拟通道管理模块示意图如图4所示。

图4 虚拟通道管理模块示意图

4 SPICE协议虚拟多通道的关键技术设计

4.1并发控制策略

SPICE服务器端新添加的并发控制模块是并发传输技术的主要实现模块,该模块主要功能是传输虚拟桌面的应用程序,捕获和翻译它们的音视频数据和绘图指令,将同步标识添加进去,按照句柄储存在缓冲区中,并在SPICE客户端显示出来。并发控制模块依据应用程序的平均网络传输速率大小和它们的不同数据类型分配相应的调度优先级。并发控制模块根据平均网络传输速率大小和当前网络传输速率大小的差值来确定应用程序的调度优先级,从而让每一个应用程序比例公平地获得虚拟通道的传输机会。当添加或删除某个应用程序时,该模块将会重新计算它们的调度优先级,维持系统的动态平衡,从而保证它们都能够获得公平的传输机会。并发控制模块实现示意图如图2所示。数据分发器将桌面的应用程序分发给虚拟通道管理模块,通道控制器将根据应用程序的数据类型进行虚拟通道传输,同时并发控制模块会监控和计算该应用程序的网络传输速率大小并反馈给通道控制器。而通道控制器将应用程序的当前网络传输速率大小与它的平均网络传输速率大小进行比较得到差值,通过并发控制模块中的调度算法计算该应用程序下一次虚拟通道传输的调度优先级,交给数据分发器作为依据。

4.2基于服务质量的比例公平调度算法

基于服务质量的比例公平调度算法专门为改进后SPICE协议中的并发处理模块而实现的。由于在实际应用程序数据传输过程中,有些应用程序占用的网络带宽比较大,实时性要求也比较高;而有些应用程序占用的网络带宽比较小,实时性比较低;同时,当桌面用户启动或关闭一个应用程序时也打破了原有的动态平衡;这些因素都是影响虚拟桌面应用程序之间的比例公平性。因此本文提出一种改进的动态比例公平调度算法来让所有应用程序都得到相对比例公平的传输机会。该算法在调用应用程序时动态计算和分配每一个应用程序的调度优先级,让优先级低的程序推迟调度,让优先级高的应用程序优先调度。但是,随着优先级高的应用程序传输速率大小的提高,系统将会逐渐降低它的调度优先级,从而调度原来优先级低的应用程序。该原来的动态比例公平调度算法的应用程序调度优先级定义公式Pn(t)如式(1)。

(1)

(2)

Mn(t)代表最大网络传输速率大小,当应用程序n在t时刻时;An(t)表示平均网络传输速率大小,当在0到t-1时刻区间内。若n在t时刻之前的平均网络传输速率很慢,则由式(1)可知它在t时刻就会逐渐提高其调度优先级,从而获得越来越高的调度优先级,让各个应用程序获得相对比例公平的传输机会。其中An(t)定义如上式(2)所示。An(t-1)表示应用程序n在0到t-2时刻区间内的平均网络传输速率,Mn(t-1)表示应用程序n在t-1时刻的最大网络传输速率大小,t1代表应用程序更新时间窗。当某个应用程序连续被系统调度的时候,其调度优先级表达式的分母An(t)值会慢慢增大,从而使得其调度优先级逐渐减小。这样,对于很长时间没有被系统调度的其它应用程序,它们的调度优先级表达式的分母An(t)值就比较小,于是其调度优先级逐渐增大,从而获得更大的系统调度机会,保证了系统调用应用程序的公平性。

该新算法在原有的调度算法基础上进行了一点改进,其调度优先级公式定义Pn(t)如式(3)。

(3)

式(3)中参数w代表服务质量权重,正比于Cb[t]。Cb[t]是由应用程序要求的当前网络传输速率和平均网络传输速率的差值因子权衡的,它的值可以为负值,其单位为kbit/s。其中平均网络传输速率值是由虚拟通道应用程序的数据类型决定的。基于服务质量的比例公平调度算法的实现原理:如果上次时间传输间隔的网络传输速率小于系统承载的平均网络传输速率,则需要增加其Cb[t]值,从而增大其参数w,进而提高其调度值Pn(t);如果应用程序上次时间传输间隔的网络传输速率大于系统承载的平均网络传输速率,则需要减少其Cb[t]值,从而减少其权重w,进而减少其调度值Pn(t)。这样系统根据调度优先级值Pn(t)的排序大小顺序来调度虚拟桌面中的所有应用程序。服务质量由传输带宽、传输时延和数据丢包率等因素影响,在原有的比例公平调度算法考虑到服务质量,可以让各个应用程序之间获得比例公平传输保证的机会。该算法不仅缩小了各个应用程序传输带宽之间的差异,满足了动态公平性的要求,同时还保证了系统的服务质量。

4.3虚拟多通道控制算法

虚拟多通道管理模块是SPICE协议虚拟多通道管理技术的核心实现部分,该模块负责管理各类虚拟通道的创建、初始化、关闭和销毁。它由通道控制器、数据分发器和资源通道三部分组成。通道控制器负责控制资源类通道和配置SPICE协议的工作,还用于监控当前的网络状况分配不同的调度优先级。数据分发器负责对数据按类型分发到各个虚拟通道对应的缓冲区中等待发送;资源多通道套负责对不同通道数据类型的传输和接受SPICE客户端发送来的输入通道信息;系统根据不同的网络状况提前设置了以下虚拟通道调度优先级表,如表1所示。

表1 虚拟通道调度优先级对应表

虚拟多通道控制算法是一种基于自适应网络状况的动态优先级算法,SPICE系统根据当前网络状况提前设置了不同的动态优先级。系统通过检测在SPICE客户端的网络带宽,获得当前已知的不同网络状况,再由控制通道将获得的网络状态信息交给通道控制器,查询相应的各类虚拟通道调度优先级。当SPICE客户端发现传输数据往返时延较长或丢包率较大时,通道控制器降低音频通道和录音通道的调度优先级,将更多的传输机会留给显示通道、光标通道和输入通道,从而降低了数据的带宽要求和传输流量。当系统检测到网络状况良好时,通道控制器将会把音频通道和录音通道的调度优先级提高上去,使其得到更多的传输机会并获得了良好的用户体验。图5为虚拟多通道控制算法流程图。

图5 虚拟多通道控制算法流程图

5 性能测试与结果分析

对用户操作响应时延进行性能测试,在测试过程中需要保证在客户端虚拟桌面上对两个Windows XP虚拟机中的两个应用场景的操作是相同的,我们选择了办公软件word与视频播放作为测试对象,分别对它们的打开、操作和关闭进行测试。从图6和图7可知,改进后的SPICE系统在进行办公软件和视频播放操作过程中,都比原先的SPICE协议系统在性能上都有所较大提高,缩短了终端用户操作响应时延,使得用户获得更好的桌面操作体验,提高了系统的传输性能。

图6 办公应用响应时延比较图

图7 多媒体响应时延比较

6 多媒体响应时延比较

针对网络传输带宽的性能测试,论文也选择了同样的两个场景,分别是办公应用场景和多媒体场景,它们对虚拟桌面的网络传输带宽有不同的需求。通过办公应用操作与多媒体视频播放分别测试它们对虚拟桌面的网络传输带宽的大小与占用比例,然后进行对比分析。在两个系统中分别启动同样的桌面应用程序,监控网络流量,并记录两个应用场景中桌面应用程序运行时的网络数据流量,最后画出每个应用场景中的占用网络带宽比例图。性能分析结果如下图8和9所示。两图中测试数据说明,在虚拟桌面网络传输带宽过程中,当用户进行办公软件操作和多媒体播放时,改进后的SPICE协议系统的平均网络传输带宽比原来的SPCIE协议系统的平均网络传输带宽要低,差不多降低20%以上,这是因为改进后的SPICE协议系统采用了新的虚拟多通道管理技术,使得系统的网络传输带宽要求降低,让用户获得更好的桌面体验。

图8 办公应用场景占用网络带宽比例

图9 多媒体场景占用网络带宽比例

7 结语

在SPICE协议的基本架构基础上添加了一个应用程序并发控制模块,提出了一个基于自适应网络状况的动态优先级虚拟多通道管理技术。应用程序并发控制模块以桌面应用程序为基本传输单元并在比例公平调度算法基础上提出一种基于服务质量的比例公平调度算法,它不仅考虑了应用程序的差异性与公平传输的要求,还考虑了系统的服务质量,从而提高了SPICE协议的传输实时性。而新的虚拟多通道管理技术在数据传输过程中可以根据自适应的复杂网络状况动态改变各个虚拟通道的传输优先级。比如在网络带宽数据传输通畅的时候,可以提高对音频、视频和图像等多媒体资源通道的优先级,在网络带宽数据传输拥塞的时候,可以降低对音频、视频和图像等资源通道的优先级,从而能够自适应复杂的网络状况,也使得用户获得良好的操作和视觉体验。

参 考 文 献

[1] Calyam P, Rajagopalan S, Selvadhurai A. LeveragingOpenFlow for Resource Placement of Virtual Desktop Cloud Applications[J]. IEEE,2013(3):311-319.

[2] Calyam P, Rajagopalan S, Selvadhurai A. LeveragingOpenFlow for Resource Placement of Virtual Desktop Cloud Applications[J]. IEEE,2013(3):311-319.

[3] X. Weijia, L. Wei, N. Woodward. Analysis and Optimization of Data Import with Hadoop[C]//Parallel and Distributed Processing Symposium Workshops & PhD Forum(IPDPSW), 2012 IEEE 26th International, 2012,2012:1058-1066.

[4] A. B. Patel, M. Birla, U. Nair. Addressing Big Data Problem Using Hadoop and MapReduce[C]//Engineering(NUiCONE), 2012 Nirma University International Conference on, 2012,2012:1-5.

[5] S. Chandrasekar, R. Dakshinamurthy, P. G. Seshakumar, et al. A Novel Indexing Scheme for Efficient Handling of Small Files in Hadoop Distributed File System[C]//Computer Communication and Informatics(ICCCI), 2013 International Conference on, 2013,2013:1-8.

[6] Jin H. Desktop Virtualization: Techniques and Application[J]. IEEE,2008,34(1):6-8.

[7] Y. Qingqiang, S. Wenfeng, C. Yahu, et al. Research and Implementation of Scalable Parallel Computing Based on Map-Reduce[J]. Journal of Shanghai University(English Edition),2011(5):426-429.

[8] M. Bhandarkar. Mapreduce Programming with Apache Hadoop[C]//Parallel & Distributed Processing(IPDPS), 2010 IEEE International Symposium on, 2010,2010:1.

[9] S. Mikami, K. Ohta, O. Tatebe. Using the Gfarm File System as a Posix Compatible Storage Platform for Hadoop Mapreduce Applications[C]//Grid Computing(GRID), 2011 12th IEEE/ACM International Conference on, 2011,2011:181-189.

[10] C. He, D. Weitzel, D. Swanson, et al. Hog: Distributed Hadoop Mapreduce on the Grid[C]//High Performance Computing, Networking, Storage and Analysis(SCC), 2012 SCCompanion, 2012,2012:1276-1283.

[11] S. S. Islam, M. B. Mollah, M. I. Huq, et al. Cloud Computing for Future Generation of Computing Technology[C]//Cyber Technology in Automation, Control, and Intelligent Systems(CYBER), 2012 IEEE International Conference on, 2012,2012:129-134.

[12] Y. Song, M. Wu, L. Ma. Design and Realization of the Smart Grid Marketing System Architecture Based on Hadoop[C]//Control Engineering and Communication Technology(ICCECT), 2012 International Conference on, 2012,2012:500-503.

收稿日期:2015年10月11日,修回日期:2015年11月26日

作者简介:肖刚,男,硕士,研究方向:计算机网络。

中图分类号TP393

DOI:10.3969/j.issn.1672-9722.2016.04.047

Realization of the Virtual Multi-channel SPICE Agreement

XIAO Gang

(Mechanical and Electrical Institute, Xiangyang Vocational and Technical College, Xiangyang441050)

AbstractAs an open source transfer protocol, SPICE protocol has unique technical architecture and application characteristics, virtual desktop can be deployed between servers and clients with good quality of user experience through the SPICE protocol. However, data is very difficult for SPICE protocol to get proportional fairness transmission chance. It also reduces the transmission performance and delays the user action response time. Due to these problems, dynamic priority virtual multichannel management technology is put forward based on adaptive network status. It can improve the real-time of virtual desktop applications and user service quality, and enable users to get a better desktop experience.

Key WordsSPICE protocol, multi-channel, virtual technology, dynamic priority, transmission control

猜你喜欢
虚拟技术
虚拟技术在影视气象中的应用
全媒体时代早间电视新闻栏目的困境与突围
探讨虚拟技术在计算机教学中的应用
高职数控维修实训教学效果的提升策略研究
云数据存储安全关键技术研究
虚拟现实技术在实验教学中的应用研究
虚拟技术在高职计算机实验教学中的应用分析
有关虚拟现实技术在土木建筑工程中应用的研究
某医院数据中心虚拟化的设计与实现
实践与创新