GPU vs.CPU 虛擬桌面運行圖形密集型應(yīng)用的三種方式
部分應(yīng)用在VDI中運行不太好。
在圖形密集型應(yīng)用系列的***部分中,我主要向用戶解釋3D和視頻在虛擬桌面中的問題。第二部分,我們一起探討如何更有效率地應(yīng)對桌面顯示圖形需求。
為了理解圖形密集型應(yīng)用的問題,您需要先知道GPU和CPU之間的區(qū)別。然后我們探討把GPU計算資源提供給所需應(yīng)用的解決方案。
理解GPU vs.CPU
相對于CPU只能執(zhí)行單一計算操作而言,GPU是一個可以并行處理多個圖像信息的中央處理單位。在桌面PC中,3D渲染是通過位于顯卡上的專用GPU進行的,3D應(yīng)用的性能需求越高所需配置的GPU性能越高。
越來越多的應(yīng)用需要3D影像支持。例如Windows 7的Aero Glass需要GPU操作,而IE現(xiàn)在也同時使用GPU和CPU計算資源來獲得更好地性能表現(xiàn)。另外,視頻產(chǎn)品和CAD(computer-aided design)應(yīng)用的發(fā)展,也為更多采用VDI桌面方案的企業(yè)用戶帶來3D圖形需求。
問題在于多數(shù)VDI環(huán)境都是通過虛擬機和共享虛擬宿主機實現(xiàn)的,傳統(tǒng)虛機不具備使用GPU資源的能力。相似的,遠(yuǎn)程桌面會話也不支持GPU。這兩個問題通常導(dǎo)致3D用戶無法使用VDI方案。
使用專用硬件設(shè)備
解決該問題的方法之一就是為每個用戶部署專用機架或PC刀片。這些設(shè)備為每個用戶提供專用GPU(CPU、硬盤和RAM同樣都是獨享的)。這種安裝同時也確保了用戶之間的隔離和資源占用。本質(zhì)上,它只是把用戶工作站放到數(shù)據(jù)中心,并通過遠(yuǎn)程顯示連接。
不過,支持GPU應(yīng)用的成本是高昂的。機架和刀片式工作站成本至少要和普通桌面相當(dāng),需要為每個用戶購買一臺。工作站只能被一個用戶使用,所以也存在很多潛在資源浪費。實現(xiàn)這種方式,你需要有很好地理由。
共享硬件模式
不久前,Citrix的服務(wù)器虛擬化hypervisor產(chǎn)品XenServer具備了可以把PCIe GPU顯卡的資源傳遞給虛機的能力(六問六答釋疑XenServer虛擬機與CPU資源共享)。該功能可以在虛擬宿主機PCIe卡可支持范圍內(nèi),盡可能多地支持3D圖形加速應(yīng)用。實際上也意味著物理主機可支持多個用戶,相比每個用戶獨占一臺宿主機的方式已經(jīng)有很大進步了,而相比3D應(yīng)用較少時每個主機可以支持100用戶還有很大差距。
這種方式適合不需要提供獨享硬件隔離的3D用戶。VMware宣布和NVIDIA聯(lián)合把這種能力引入其VDI產(chǎn)品(盡管這看起還不能稱為一個產(chǎn)品——或許可以通過虛擬硬件的方式去克服)。
虛擬硬件的優(yōu)勢
過去的幾年中,很多技術(shù)致力于為虛機和RDS(Remote Desktop Services)提供共享GPU。微軟的RemoteFX顯示協(xié)議允許RDSH(Remote Desktop Session Host-TS終端服務(wù))或RDVH(Remote Desktop Virtualization Host-基于虛機的VDI)的多個用戶共享GPU資源。
通過每個PCIe插槽的GPU卡可以支持多個用戶,您可以實現(xiàn)單臺物理服務(wù)器支持多個用戶。這允許用戶運行主流的3D影像,例如用戶界面。以及無需專用硬件的前提下支持非經(jīng)常性3D用戶。Citrix和VMware都努力在各自的VDI產(chǎn)品中引入該功能。
CPU依然很關(guān)鍵
所有這些解決圖形顯示問題的方案都是在虛擬桌面中引入GPU,實現(xiàn)對屏幕組件更快速地渲染。然而,決定去渲染哪個3D組件的工作依然是CPU來完成,例如CAD應(yīng)用需要完成的很多數(shù)學(xué)計算。因此,在一臺宿主機上有多個運行3D應(yīng)用的用戶,雖然通過GPU解決了顯示渲染問題,可能依然會面臨CPU性能瓶頸。
這也意味著3D應(yīng)用依然會影響每臺宿主機可支持的用戶數(shù)量,因為會增加CPU的負(fù)載,通常也包括對RAM的高占用。
相比通常的office用戶,用VDI滿足圖形密集型應(yīng)用的用戶要難一些,但是借助更好的設(shè)計,有很多方法可以滿足各種桌面的需求。