国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VPU加速的虛擬桌面客戶端設(shè)計?

2018-08-28 02:50余啟家熊庭剛
艦船電子工程 2018年8期
關(guān)鍵詞:客戶機解碼桌面

余啟家 熊庭剛 張 宇

(武漢數(shù)字工程研究所 武漢 430074)

1 引言

如今,隨著云計算需求和云上資源的日益增長,以設(shè)備為中心的傳統(tǒng)計算服務(wù)正慢慢轉(zhuǎn)變?yōu)橐杂脩魹橹行牡姆?wù)[1]。以用戶中心的服務(wù)是沒有深入專業(yè)知識的用戶也可以隨時隨地使用基于云計算資源的服務(wù)。由于不受設(shè)備和地點的局限,云資源可以讓大量用戶共享資源同時分擔(dān)成本,這樣一來,云資源提供商可以將基礎(chǔ)設(shè)施集中在低成本(如房地產(chǎn),電力等)地區(qū),用戶可以以較低成本獲得更高的極限負(fù)載能力。云資源還具有極大的靈活性,可以根據(jù)用戶需求自由地重新配置、添加或擴展基礎(chǔ)設(shè)施資源。

基于桌面虛擬化的VDI(Virtual Desktop Infra?structure,虛擬桌面基礎(chǔ)架構(gòu))是云計算領(lǐng)域的領(lǐng)先服務(wù),也是以桌面為中心的服務(wù),托管通過網(wǎng)絡(luò)訪問的遠(yuǎn)程服務(wù)器上的用戶桌面環(huán)境[2]。VDI是客戶端/服務(wù)器計算模型的變體,有時也稱為基于服務(wù)器的計算。眾所周知,VDI將虛擬桌面作為云環(huán)境中的服務(wù)提供給用戶,并使用戶能夠隨時隨地通過各種終端訪問其虛擬桌面[3]。VDI的通用組件是VDI客戶端,VDI服務(wù)器和VDI管理器,并且這些組件連接起來形成網(wǎng)絡(luò)服務(wù)[4]。

一般來說,為在VDI中使用虛擬桌面服務(wù)的客戶端提供豐富的用戶體驗非常重要。因此,許多提供像 Citrix[5],VMware[6],MS[7]這樣的 VDI解決方案的供應(yīng)商都擁有自己的專有顯示協(xié)議。他們的協(xié)議一直在變得越來越好,所以每年都有很大的用戶體驗飛躍。近年來,顯示協(xié)議處理的不僅僅是顯示,所以用戶可以將音頻和視頻發(fā)送到遠(yuǎn)程主機中的自己的虛擬桌面,并且?guī)缀蹩梢允褂萌魏位赨SB的外圍設(shè)備[8]。

在傳統(tǒng)虛擬桌面應(yīng)用的場合中,往往更注重經(jīng)濟節(jié)能和對虛擬桌面的高效的管理,這種情況下往往會應(yīng)用到瘦客戶機。然而,在一些特殊的場合中,信息安全卻被擺在首位,這正是由于虛擬桌面在安全和便利方面較傳統(tǒng)PC有著較大的優(yōu)勢。在這種情況下,往往還需要有更高的服務(wù)質(zhì)量(QoS)——加入GPU以改善虛擬桌面客戶機的顯示性能。

在本文中,我們在虛擬桌面客戶機中加入了VPU的支持,它為客戶機提供了更好的顯示畫面。此外,我們還對虛擬桌面顯示協(xié)議進(jìn)行了針對性的改進(jìn),以提高虛擬桌面服務(wù)的質(zhì)量。

2 相關(guān)研究

桌面虛擬化將桌面計算機虛擬化,并將這些虛擬桌面環(huán)境提供給網(wǎng)絡(luò)上的用戶。桌面虛擬化基于服務(wù)器虛擬化,即將物理服務(wù)器劃分為更小的虛擬服務(wù)器,以幫助最大限度地提高服務(wù)器資源利用率,包括服務(wù)器中各個物理服務(wù)器,處理器和操作系統(tǒng)[9]。

VDI是桌面虛擬化的流行方法。VDI托管在集中或遠(yuǎn)程服務(wù)器上運行的虛擬機(VM)中作為桌面環(huán)境的虛擬桌面。而且,用戶可以通過各種終端訪問分配給用戶的虛擬桌面。一般來說,VDI有三個組件:一個是用戶連接和用戶終端的VDI客戶端,一個存在用戶虛擬桌面的VDI服務(wù)器和一個管理虛擬桌面系統(tǒng)的VDI管理器。VDI服務(wù)器中的虛擬桌面通過網(wǎng)絡(luò)上的顯示協(xié)議傳輸?shù)接脩艚K端。這些組件連接起來形成網(wǎng)絡(luò)上的虛擬桌面服務(wù)。

像Citrix,VMware,MS這樣的VDI提供商擁有自己的專有顯示協(xié)議。例如,Citrix的XenDesktop采用了HDX(高清體驗)顯示協(xié)議,通過支持WAN(廣域網(wǎng))上的VoIP,網(wǎng)絡(luò)攝像頭和基于3D的應(yīng)用等高質(zhì)量音頻和視頻來改善用戶體驗[10]。VM?ware View通過采用Teradici的PCoIP(PC-over-IP)協(xié)議,其性能大大提高。此外,MS通過RemoteFX協(xié)議向用戶遠(yuǎn)程交付虛擬桌面或遠(yuǎn)程應(yīng)用程序,該協(xié)議是MS的RDP(遠(yuǎn)程桌面協(xié)議)[11]的一組協(xié)議。

圖1 VDI系統(tǒng)結(jié)構(gòu)

由于這些商用VDI提供商都用的是閉源協(xié)議,在使用及研究中有著諸多技術(shù)上的限制和交流上的不便,也無法自由地定制一些客制化的功能或優(yōu)化其性能,最關(guān)鍵的是存在未知的潛在安全隱患,我們最終選擇了開源的SPICE(Simple Protocol for Independent Computing Environment,獨立計算環(huán)境簡單協(xié)議)協(xié)議。它具有開源和可客制化改進(jìn)的優(yōu)點,另外在信息安全越來越重要的今天,它也滿足了我們對于自主可控的要求。圖1顯示了基于SPICE協(xié)議的VDI系統(tǒng)結(jié)構(gòu)。

在本文中,我們設(shè)計并實現(xiàn)了基于VPU的虛擬桌面客戶機系統(tǒng),為客戶機提供硬件解碼以獲得更好的顯示畫質(zhì)。并且針對性地對VPU的驅(qū)動進(jìn)行了優(yōu)化,并分析了系統(tǒng)性能和實驗結(jié)果。

3 虛擬桌面客戶端設(shè)計

由于沒有VPU加速時客戶機解碼能力限制,只能在較低分辨率下有較好的幀數(shù)表現(xiàn)。為了減少帶寬消耗,我們又使用MJPEG壓縮算法將視頻流數(shù)據(jù)進(jìn)行了壓縮,這會增加客戶機端的圖像渲染任務(wù),這對客戶機的運算速度有了更高的要求。于是,我們給客戶機搭載了高解碼性能的VPU來接管圖像渲染任務(wù),提高了客戶機的服務(wù)質(zhì)量。

3.1 硬件結(jié)構(gòu)

虛擬桌面客戶機的硬件總體設(shè)計采用異構(gòu)多核處理構(gòu)架,組成主要包括控制單元和圖形處理單元(Graphic Processing Unit,GPU)。其中圖形處理單元又包括視頻處理單元(Video Processing Unit,VPU)、外視頻模塊和后處理模塊這三個主要模塊。對外接口主要包括網(wǎng)絡(luò)接口、顯示輸出接口和控制輸入接口。虛擬桌面客戶機組成原理框圖如圖2所示。

圖2 虛擬桌面客戶機組成框圖

控制單元以低功耗嵌入式CPU為處理核心,完成設(shè)備系統(tǒng)管理及配置、任務(wù)分配、狀態(tài)監(jiān)控、后臺服務(wù)器控制命令接收與處理、雙冗余千兆網(wǎng)絡(luò)協(xié)議解析、虛擬桌面?zhèn)鬏攨f(xié)議解析和鍵盤鼠標(biāo)輸入處理等功能。

圖形處理單元包括視頻處理單元、外視頻模塊和后處理模塊,其中后處理模塊由色彩轉(zhuǎn)換模塊(CSC),2D模塊,硬件圖層模塊組成。視頻處理單元完成視頻流數(shù)據(jù)的接收和解碼處理,然后將YUV格式的視頻數(shù)據(jù)放入顯存,由后處理模塊完成接下來的色彩轉(zhuǎn)換、2D處理和硬件圖層渲染。

網(wǎng)絡(luò)接口提供了服務(wù)器和客戶機之間的信息交互通道,顯示輸出接口(如DVI接口、VGA接口和HDMI接口等)將解碼后的視頻數(shù)據(jù)輸出給顯示器,控制輸入接口一般是USB接口,接收鍵盤和鼠標(biāo)等設(shè)備的輸入。

由于客戶機有了VPU的加速,從服務(wù)端發(fā)送過來的視頻流數(shù)據(jù)經(jīng)過硬件解碼,顯示效果有了很大的改善。VPU的加速過程同時也受到虛擬化協(xié)議中控制通道的控制,為了得到更好的顯示質(zhì)量,在本設(shè)計中還對VPU驅(qū)動進(jìn)行了針對性的優(yōu)化。

3.2 虛擬化協(xié)議構(gòu)架

通常,虛擬桌面顯示協(xié)議是用于接收諸如顯示器,鍵盤和鼠標(biāo)之類的遠(yuǎn)程計算設(shè)備的輸入和控制以及通過網(wǎng)絡(luò)傳輸輸出的一組消息。該協(xié)議有多個通道,根據(jù)類型和角色進(jìn)行分類[12]。

本設(shè)計中,SPICE協(xié)議根據(jù)桌面?zhèn)鬏攦?nèi)容來進(jìn)行數(shù)據(jù)傳輸,如圖像、視頻、音頻播放和用戶輸入等數(shù)據(jù),通過不同的抽象的“通道”對這些數(shù)據(jù)進(jìn)行傳輸,使得SPICE協(xié)議能夠根據(jù)網(wǎng)絡(luò)的條件很容易地對傳輸?shù)臄?shù)據(jù)進(jìn)行控制,提供QoS(服務(wù)質(zhì)量)控制。

SPICE協(xié)議通過VDI(虛擬設(shè)備接口)直接與服務(wù)端虛擬設(shè)備進(jìn)行交互,這使得SPICE可以直接、高效地使用服務(wù)器的硬件資源,同時也使得SPICE的實現(xiàn)獨立于虛擬機Guest OS(客戶操作系統(tǒng))。圖3為SPICE協(xié)議結(jié)構(gòu)框圖。

圖3 SPICE協(xié)議框圖

由于虛擬桌面上的視頻播放消耗的網(wǎng)絡(luò)帶寬比任何其他操作都要高,減少虛擬桌面中顯示通道的數(shù)據(jù)量是減小網(wǎng)絡(luò)帶寬消耗最有效的方法。

而有VPU加速支持的客戶機解碼能力有所提高,為了減小顯示通道數(shù)據(jù)的大小,我們將視頻數(shù)據(jù)進(jìn)行了壓縮。在眾多視頻壓縮算法中,我們選擇了MJPEG算法,它有著幀內(nèi)壓縮和壓縮速度快的特點,可以顯著縮短服務(wù)端和客戶端的交互時間,很好的滿足了虛擬桌面服務(wù)的需求。

另外,為了根據(jù)用戶接入的網(wǎng)絡(luò)和計算環(huán)境提供適應(yīng)性虛擬桌面服務(wù),需要監(jiān)視服務(wù)器與用戶終端之間的網(wǎng)絡(luò)性能以及終端的計算能力。為了監(jiān)視這些,服務(wù)器和客戶端使用虛擬桌面代理來交換關(guān)于計算環(huán)境和資源的信息。代理的任務(wù)是負(fù)責(zé)傳輸終端資源的相關(guān)信息和虛擬桌面顯示的具體配置。

圖4 虛擬桌面系統(tǒng)與虛擬化協(xié)議的整合

如圖4所示,我們改變了虛擬化顯示協(xié)議的虛擬桌面系統(tǒng)架構(gòu),并增加了三個控制模塊來改進(jìn)該系統(tǒng)。這三個模塊如下:一個是客戶端查看器中的網(wǎng)絡(luò)狀態(tài)檢測,用于監(jiān)視網(wǎng)絡(luò)帶寬并將其傳輸?shù)娇刂仆ǖ溃硪粋€是客戶端中的編碼設(shè)置,用于設(shè)置視頻流的參數(shù)。另一種是在服務(wù)器中進(jìn)行控制編碼,即選擇視頻編碼算法和基于網(wǎng)絡(luò)帶寬的視頻壓縮比。

4 測試

實驗是側(cè)重于客戶機的圍繞顯示性能的測試,客戶機使用的是由中船709研究所微電子中心所研制的第一代顯卡,表1給出了用于顯示性能分析的測試服務(wù)器和客戶機的硬件參數(shù)。

表1 測試中服務(wù)器與客戶機的硬件參數(shù)

由于桌面屏幕信號的數(shù)據(jù)大小大于任何其他接口信號,因此顯示通道使用的網(wǎng)絡(luò)帶寬要比為用戶提供虛擬桌面所需的其他通道多,同時客戶機主要的運算量也在于視頻解碼。

為了提高顯示質(zhì)量,通過VPU將軟解碼轉(zhuǎn)化為硬解碼,以加快解碼速度。另外,由于解碼性能的提高,可以將傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮,將更多的渲染任務(wù)在客戶端完成,于是網(wǎng)絡(luò)帶寬和服務(wù)端負(fù)載得以降低。為了使研究更有針對性,接下來我們對硬解碼加速前后的虛擬桌面構(gòu)架進(jìn)行了對比測試。

在這個實驗中,虛擬桌面服務(wù)器與客戶端之間的最大網(wǎng)絡(luò)帶寬約為923Mbps,我們根據(jù)虛擬桌面窗口分辨率,視頻播放器分辨率和視頻資源分辨率的變化對客戶端顯示幀數(shù)和消耗的網(wǎng)絡(luò)帶寬進(jìn)行了分析。

表2顯示了將虛擬桌面提供給遠(yuǎn)程客戶端時的幀數(shù)和網(wǎng)絡(luò)帶寬測量結(jié)果。視頻在虛擬桌面中播放,其大小為6Mbytes,分辨率為320×180。播放器分辨率為320×180。

表2 虛擬桌面分辨率對于幀數(shù)和網(wǎng)絡(luò)帶寬的影響

從表中可以看出,虛擬桌面操作系統(tǒng)的分辨率大小完全不會影響客戶端幀數(shù)和網(wǎng)絡(luò)帶寬。

表3顯示了虛擬桌面上視頻播放器分辨率變化帶來的顯示質(zhì)量和網(wǎng)絡(luò)帶寬變化的實驗結(jié)果。實驗中虛擬桌面分辨率是1920×1080,視頻資源的分辨率為640×360。

表3 播放器分辨率對于幀數(shù)和網(wǎng)絡(luò)帶寬得到影響

從表3可以看出,虛擬桌面中視頻播放器分辨率的改變對網(wǎng)絡(luò)帶寬消耗有著直接的影響。加速后網(wǎng)絡(luò)帶寬的平均消耗比加速前約減少40%。當(dāng)播放器分辨率小于視頻分辨率時,加速前后網(wǎng)絡(luò)帶寬都與窗口大小成正比;當(dāng)視頻播放器的分辨率大于或等于視頻分辨率時,網(wǎng)絡(luò)帶寬不再增加。

加速前客戶端顯示幀數(shù)隨著播放器分辨率增大而減小;加速后播放器分辨率對客戶端顯示幀數(shù)幾乎沒有影響。

表4給出了虛擬桌面視頻資源的分辨率對于幀數(shù)和網(wǎng)絡(luò)帶寬影響的實驗結(jié)果。實驗中虛擬桌面分辨率是1920×1080,視頻播放器的分辨率為1920×1080。

表4 視頻分辨率對于幀數(shù)和網(wǎng)絡(luò)帶寬的影響

我們發(fā)現(xiàn)網(wǎng)絡(luò)帶寬消耗隨著視頻分辨率的提升而增多,并且加速后的網(wǎng)絡(luò)帶寬消耗約降低一半。而視頻分辨率對加速前的客戶端幀數(shù)有一定影響,加速后的客戶端幀數(shù)則穩(wěn)定在22左右,由于客戶機有了VPU的支持,解碼性能還沒有達(dá)到瓶頸。

實際應(yīng)用中,往往會出現(xiàn)顯示圖像抖動、撕裂的情況,其原因是多樣的。對于本系統(tǒng)來說往往是由于客戶機渲染速度不夠,客戶機CPU經(jīng)常處于滿負(fù)荷計算狀態(tài),導(dǎo)致部分幀的延遲或丟失。對于要求嚴(yán)苛的使用環(huán)境,虛擬桌面系統(tǒng)的幀數(shù)必須保持穩(wěn)定,于是我們對客戶機進(jìn)行了持續(xù)1分鐘的實時幀數(shù)測試。測試中虛擬桌面系統(tǒng)分辨率為1920×1080,視頻播放器分辨率為1920×1080,視頻分辨率是1280×720,結(jié)果如圖5。

圖5 實時性測試

從圖5顯示的結(jié)果可以看出,有VPU加速的情況下,客戶機的幀數(shù)非常穩(wěn)定;沒有VPU加速的客戶機幀數(shù)抖動比較大,偶爾會出現(xiàn)極低的幀率。

根據(jù)本文的實驗,經(jīng)過改進(jìn)的虛擬桌面客戶機比改進(jìn)之前的客戶機減少高達(dá)44%的網(wǎng)絡(luò)帶寬消耗,這是因為視頻流數(shù)據(jù)被用于減少網(wǎng)絡(luò)帶寬的壓縮算法壓縮了。這也意味著更多的渲染任務(wù)被轉(zhuǎn)移到了客戶機端,由于有了VPU的支持,客戶機的解碼能力得以增強,客戶端顯示幀數(shù)相比沒有VPU的客戶機提高了高達(dá)400%。

5 結(jié)論

本文中,我們先改進(jìn)了虛擬化協(xié)議,使用壓縮算法將視頻流數(shù)據(jù)進(jìn)行壓縮,降低了單個客戶機的帶寬消耗,從而使每個服務(wù)器能給更多的客戶機提供虛擬桌面服務(wù),同時也降低了客戶機對CPU的性能要求。然后使用高性能VPU提升客戶機的解碼能力,使客戶端的顯示畫面能夠穩(wěn)定在較高的幀數(shù),從而提供更好的服務(wù)質(zhì)量。

試驗結(jié)果表明,與沒改進(jìn)的協(xié)議相比帶寬減少了高達(dá)44%,客戶端顯示幀數(shù)提升了高達(dá)400%。

目前,我們正在研究如何合理的將虛擬桌面進(jìn)行分割,使用更高效的算法,對每一幀畫面分塊壓縮和傳輸,并在客戶機端正確的“組裝”起來。這樣做帶來的好處是,可以有目的性的單獨控制每個塊的顯示質(zhì)量,比如提高文本區(qū)的顯示質(zhì)量、降低非關(guān)鍵區(qū)的刷新幀數(shù)或畫面細(xì)膩程度、使具有高刷新率的動態(tài)區(qū)域變得模糊等等,可以在提高服務(wù)質(zhì)量的同時,進(jìn)一步降低網(wǎng)絡(luò)帶寬需求。

猜你喜歡
客戶機解碼桌面
文化解碼
解碼eUCP2.0
文化 解碼
文明 解碼
隔山亦能打牛,本本巧變遠(yuǎn)控利器
桌面裝忙
用好Windows 10虛擬桌面
當(dāng)灰塵厚厚地落滿了桌面
升騰瘦客戶機借神碼翱翔“云端”
基于Web數(shù)據(jù)提高訪問速度的方法
获嘉县| 浮梁县| 峨眉山市| 富阳市| 太原市| 河源市| 沁水县| 衡阳市| 长武县| 马尔康县| 南昌市| 平凉市| 鄂伦春自治旗| 环江| 陈巴尔虎旗| 商洛市| 道真| 馆陶县| SHOW| 锦屏县| 新兴县| 贵溪市| 翁牛特旗| 怀柔区| 若尔盖县| 宁波市| 西畴县| 金湖县| 贵港市| 屯留县| 额敏县| 屏南县| 茂名市| 永昌县| 吴堡县| 墨江| 肇东市| 井冈山市| 安溪县| 香河县| 福海县|