肖 剛
(襄陽職業技術學院機電學院 襄陽 441050)
?
SPICE協議虛擬多通道的實現*
肖剛
(襄陽職業技術學院機電學院襄陽441050)
摘要SPICE協議是開源的虛擬桌面傳輸協議,在SPICE服務器端和SPICE客戶端進行交互通信,讓用戶獲得比較好的桌面體驗,但是SPICE協議在虛擬化多通道技術方面還是有一些不盡人意的地方。SPICE協議很難保證桌面應用程序的數據在虛擬通道中得到比例公平傳輸的機會,使得用戶操作響應時間大、數據傳輸時延長、傳輸性能和服務質量降低,因此針對這些問題,論文提出一種新的動態優先級虛擬多通道管理技術,在每一個應用程序并發傳輸過程中可以根據自適應的復雜網絡狀況動態調整每個通道的傳輸優先級,提高虛擬桌面應用的實時性和用戶的服務質量,使得用戶能夠獲得更好的桌面體驗。通過測試表明新的技術使得用戶獲得更好的桌面體驗,也提高了系統的傳輸性能。
關鍵詞SPICE協議; 多通道; 虛擬技術; 動態優先級; 傳輸控制
Class NumberTP393
云計算與虛擬化技術的快速發展和普及,為人們的生活帶來了許多的方便。云桌面作為云計算應用的典型產品之一,越來越受到許多桌面用戶的廣泛關注。而云桌面離不開虛擬化技術與虛擬桌面傳輸協議的支持,而桌面虛擬化技術作為虛擬化技術的重要支撐,它是云計算資源中交付的一種重要手段,向遠程客戶端提供本地計算機無差異的桌面計算環境。然而虛擬桌面傳輸協議的效率直接影響著桌面用戶的操作和視覺體驗。本文在開源的SPICE傳輸協議基礎上進行了深入研究。
SPICE協議是Red Hat公司開發的一個完全開源的虛擬桌面傳輸協議,它是為解決桌面虛擬化方案而設計的。SPICE基本架構主要由SPICE客戶端、SPICE服務器端和相關組件三個組件構成,如圖1所示。
SPICE協議的虛擬多通道技術是若干個邏輯鏈路組成的一種技術,它將數據邏輯分離,可以通過添加一個新的虛擬通道來完成客戶端的新設備的加入,從而很好地支持這個設備并可以完成數據傳輸。同時,用戶客戶端還可以依據動態自適應的不同的網絡狀態,定義不同的虛擬多通道優先級或者降低虛擬多通道數據傳輸流量來保證傳輸實時性數據。

圖1 SPICE基本架構圖
虛擬多通道主要負責SPICE客戶端與服務器端之間進行用戶桌面應用程序的數據通信與交互。由于一些桌面應用程序在并發傳輸過程中,有些應用程序傳輸網絡帶寬占用率比較大,實時性要求也比較高,用戶需要及時得到響應;而有些應用程序傳輸網絡帶寬占用率比較小,實時性要求也比較低,不需要得到系統的及時響應等一些差異,如果用絕對公平方法就會嚴重降低SPICE協議的傳輸性能及服務質量,也使得終端用戶在遠程虛擬桌面上不能獲得更好的用戶體驗。因此針對這些問題,在SPICE協議的基本架構基礎上添加了一個應用程序并發控制模塊,該模塊能夠保證每個應用程序在并發傳輸過程中能夠獲得公平傳輸的機會,也提高SPICE協議的傳輸性能及服務質量。
SPICE服務器端采用虛擬多通道技術與SPICE客戶端進行不同的資源數據傳輸,雖然提高資源通道傳輸控制的靈活性和對不同資源通道管理的能力,但卻加大了虛擬多通道管理的難度。因此,在SPICE協議原有架構基礎上添加一個應用程序并發控制模塊,并提出一種新的基于自適應網絡狀況的動態優先級的虛擬多通道管理技術,在每個應用程序并發傳輸過程中可以根據自適應的復雜網絡狀況動態改變各個虛擬多通道的傳輸調度優先級,從而能夠自適應一定的復雜網絡狀況,提高虛擬桌面應用的實時性,使得終端用戶獲得更佳的桌面體驗。
SPICE服務器端主要由應用程序并發控制模塊和虛擬多通道管理模塊組成,其示意圖如圖2所示。

圖2 SPICE服務器示意圖
應用程序并發控制模塊主要功能是處理虛擬桌面的每一個應用程序,它們的調度優先級可以依據它們在網絡中的平均網絡傳輸速率大小和不同的數據類型來進行動態分配。每一個應用程序將比例公平地分配給整個虛擬通道,保證它們都能夠獲得公平傳輸的機會,這樣不僅提高了SPICE協議的傳輸性能及服務質量,還使得整個虛擬通道可以按照比例公平調度算法分配給所有的應用程序。并發控制模塊示意圖如下圖3所示。

圖3 并發控制模塊示意圖
虛擬通道管理模塊主要功能是將每一個應用程序根據不同的數據類型選擇不同的虛擬通道傳輸,該模塊可以根據自適應的復雜網絡狀況動態調整各個虛擬通道的調度優先級。該模塊主要由通道控制器、數據分發器和通道線程模塊三部分組成,通道控制器由主通道提供信息,負責對其它虛擬通道的建立、初始化、連接和銷毀等操作和對SPICE協議的配置工作,同時它也從SPICE客戶端收集數據傳輸往返時延和丟包率等這些反饋信息來獲取當前的網絡狀況,以便動態調整各個虛擬通道的傳輸調度優先級。數據分發器主要作用是將并發控制模塊中已經處理后的某一個應用程序數據根據不同的數據類型分發到各個對應的虛擬通道的緩沖區中去。通道線程模塊主要負責傳輸不同的應用程序數據類型。該虛擬通道管理模塊示意圖如圖4所示。

圖4 虛擬通道管理模塊示意圖
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 虛擬多通道控制算法流程圖
對用戶操作響應時延進行性能測試,在測試過程中需要保證在客戶端虛擬桌面上對兩個Windows XP虛擬機中的兩個應用場景的操作是相同的,我們選擇了辦公軟件word與視頻播放作為測試對象,分別對它們的打開、操作和關閉進行測試。從圖6和圖7可知,改進后的SPICE系統在進行辦公軟件和視頻播放操作過程中,都比原先的SPICE協議系統在性能上都有所較大提高,縮短了終端用戶操作響應時延,使得用戶獲得更好的桌面操作體驗,提高了系統的傳輸性能。

圖6 辦公應用響應時延比較圖

圖7 多媒體響應時延比較
針對網絡傳輸帶寬的性能測試,論文也選擇了同樣的兩個場景,分別是辦公應用場景和多媒體場景,它們對虛擬桌面的網絡傳輸帶寬有不同的需求。通過辦公應用操作與多媒體視頻播放分別測試它們對虛擬桌面的網絡傳輸帶寬的大小與占用比例,然后進行對比分析。在兩個系統中分別啟動同樣的桌面應用程序,監控網絡流量,并記錄兩個應用場景中桌面應用程序運行時的網絡數據流量,最后畫出每個應用場景中的占用網絡帶寬比例圖。性能分析結果如下圖8和9所示。兩圖中測試數據說明,在虛擬桌面網絡傳輸帶寬過程中,當用戶進行辦公軟件操作和多媒體播放時,改進后的SPICE協議系統的平均網絡傳輸帶寬比原來的SPCIE協議系統的平均網絡傳輸帶寬要低,差不多降低20%以上,這是因為改進后的SPICE協議系統采用了新的虛擬多通道管理技術,使得系統的網絡傳輸帶寬要求降低,讓用戶獲得更好的桌面體驗。

圖8 辦公應用場景占用網絡帶寬比例

圖9 多媒體場景占用網絡帶寬比例
在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