SPICE協議的基本框架
讀了兩篇文章,總結一下SPICE的VDI協議。
1、徐浩,蘭雨晴 2013年(計算機工程與科學)發表的文章:“基于SPICE協議的桌面虛擬化技術研究與改進方案”;
2、石屹嶸,龔德志,2013年 (電信科學)發表的文章:“基于SPICE 開源協議的云桌面技術架構研究”;
張兩篇文章都介紹了“SPICE”框架,
其中文章二對比了幾種桌面遠程顯示技術。
目前的技術實現方式和協議主要有以下4 種:
微軟公司,桌面傳輸和展現基于RDP。
Citrix 公司,桌面傳輸和展現基于ICA 協議。
VMware 公司,桌面傳輸和展現基于PCoIP。
Red Hat 公司, 桌面傳輸和展現基于SPICE(simple protocol for independent computing environment)協議。
SPICE架構包括客戶端、SPICE服務端和相應的QXL設備、QXL驅動等,如下圖所示??蛻?br>
端運行在用戶終端設備上,為用戶提供桌面環境。SPICE服務端以動態連接庫的形式與KVM虛擬
機整合,通過SPICE協議與客戶端進行通信。
分為3個部分:
(1)QXL驅動:部署在服務器側、提供虛擬桌面服務的虛擬機中,用于接收操作系統和應用程序的圖形命令,并將其轉換為KVM的QXL圖形設備命令。
(2)SPICE客戶端:部署在用戶終端上的軟件,負責顯示虛擬桌面.同時接收終端外設的輸入。
(3)QXL設備:部署在KVM服務器虛擬化的Hypervisor中,用于處理各虛擬機發來的圖形圖像操作。
SPICE協議最大的特點是其架構中增加的位于Hypervisor中的QXL設備,本質上是KVM虛
擬化平臺中通過軟件實現的PCI顯示設備,利用循環隊列等數據結構供虛擬化平臺上的多個虛擬
機共享實現了設備的虛擬化。但是,這種架構使得SPICE協議緊密地依賴于服務器虛擬化軟/硬件基礎設施,SPICE必須與KVM虛擬化環境綁定。傳統的遠程桌面傳輸協議工作在虛擬機Guest OS中,而SPICE協議本身運行在虛擬機服務器中,可以直接使用服務器的硬件資源。
1.1 SPICE協議核心技術
自適應圖形處理
SPICE客戶端采用基于Cairo圖形庫的軟件處理方式,使用CPU計算資源,提供2D圖形數據的渲染處理能力。
同時也提供了基于GPU的硬件處理方法,在Iinux平臺使用OpenGI。庫,在Windows平臺使用GDI接口。
分類壓縮技術
SPICE提供了三種無損圖像壓縮算法,分別是Quic、LZ和Glz壓縮算法。
針對視頻流,SPICE采用了有損的壓縮方式,SPICE服務端通過圖形區域的刷新頻率來偵測視
頻區域,采用MJPEG壓縮算法。
1.2 SPICE協議改進
SPICE協議的不足
在WAN環境下性能較差。
服務端讀取指令延遲。
視頻處理能力不足。
客戶端啟動緩慢。
客戶端ACK延遲。
SPICE協議的改進方案
壓縮算法改進
改進方案
優化視頻數據傳輸方式(直接把視頻數據以流媒體的方式發送到終端設
備的方法,避免服務端的解碼操作)
圖像渲染性能優化