GPU(圖形處理器單元)主要進(jìn)行浮點(diǎn)運(yùn)算和并行運(yùn)算,其浮點(diǎn)運(yùn)算和并行運(yùn)算速度可以比CPU強(qiáng)上百倍之多,使用GPU虛擬化技術(shù)之后,可以實(shí)現(xiàn)云桌面整體性能的大幅提升,正在被越來(lái)越多的用戶追捧。本文主要介紹在銀河麒麟操作系統(tǒng)采用VirtIO-GPU技術(shù)實(shí)現(xiàn)國(guó)產(chǎn)CPU平臺(tái)云桌面性能優(yōu)化。
在當(dāng)前GPU大廠不開(kāi)源核外包、不支持國(guó)產(chǎn)CPU架構(gòu)的背景下,VirtIO-GPU給開(kāi)源社區(qū)帶了新的曙光,在多種優(yōu)化手段后,銀河麒麟操作系統(tǒng)虛擬機(jī)中的3D渲染性能在國(guó)產(chǎn)CPU平臺(tái)飛騰、鯤鵬、海光、龍芯上均有大幅提升,這使得云端高性能辦公正在逐步成為現(xiàn)實(shí)。
目前成熟的GPU虛擬化方案主要有:軟件模擬GPU、GPU分片虛擬化、API轉(zhuǎn)發(fā)等。麒麟軟件虛擬GPU優(yōu)化方案采用API轉(zhuǎn)發(fā)方案的VirtIO-GPU虛擬化技術(shù),VirtIO-GPU在有后端GPU硬件渲染情況下,客戶機(jī)系統(tǒng)中圖形3D性能大幅提升,在網(wǎng)頁(yè)瀏覽、視頻播放、文件辦公等場(chǎng)景大幅提升了使用體驗(yàn),大幅降低CPU使用率。目前已經(jīng)從未優(yōu)化的5%左右效率穩(wěn)定提升到優(yōu)化后的60%以上。?在Unigine Valley測(cè)試中,深度優(yōu)化性能相比初步優(yōu)化時(shí)(有GPU后端渲染)的2.5%提升至81%。
Glmark2測(cè)試性能效率提升到60%以上
采用VirtIO-GPU虛擬化技術(shù)的云桌面場(chǎng)景中運(yùn)行大型3D游戲、高清視頻編解碼等變成現(xiàn)實(shí),且能夠兼顧1:N的靈活性和隔離性。優(yōu)化后的場(chǎng)景可在不降低客戶圖形顯示加速性能的前提下,租戶數(shù)量提升一倍,大幅降低了客戶成本。
多虛擬機(jī)共享后端GPU時(shí)租戶數(shù)量提升一倍
方案介紹
圖:VirtIO-GPU 云桌面技術(shù)??蚣?/p>
在開(kāi)源技術(shù)基礎(chǔ)上,麒麟軟件研發(fā)團(tuán)隊(duì)引入零拷貝技術(shù)和新的虛擬機(jī)顯示器刷新加速模塊,并且在命令轉(zhuǎn)發(fā)、狀態(tài)同步邏輯等進(jìn)行了深度優(yōu)化。
??圖形資源支持零拷貝
目前對(duì)于同一資源,虛擬機(jī)側(cè)的VirtIO-GPU前端驅(qū)動(dòng)與宿主機(jī)側(cè)的后端設(shè)備均有各自的副本,為了保持二者之間的數(shù)據(jù)同步,因而需要頻繁且大規(guī)模的內(nèi)存復(fù)制。通過(guò)引入零拷貝技術(shù),VirtIO-GPU前端驅(qū)動(dòng)和后端設(shè)備可共享同一資源實(shí)例,從而避免了內(nèi)存復(fù)制,大大降低了VirtIO-GPU渲染指令的路徑延時(shí),提高了渲染效率,并在一定程度上減少了對(duì)CPU資源的占用。
??前后端更加高效的狀態(tài)同步
對(duì)VirtIO-GPU設(shè)備與物理GPU之間的命令轉(zhuǎn)發(fā)、狀態(tài)同步邏輯進(jìn)行了深度優(yōu)化。經(jīng)測(cè)試,在極端情況下,二者之間的狀態(tài)同步延遲時(shí)間比之前降低約100倍,這極大的縮短了VirtIO-GPU渲染指令的執(zhí)行時(shí)間,提高了響應(yīng)速度。
??顯示畫(huà)面的刷新更加實(shí)時(shí)
引入了新的虛擬機(jī)顯示器刷新加速模塊,可支持將VirtIO-GPU等虛擬顯卡的輸出畫(huà)面更加及時(shí)的刷新到各種虛擬顯示器中,因而具有更好的實(shí)時(shí)性,可有效減少用戶側(cè)圖像畫(huà)面的延遲。
通訊員?| 白鸝莎、杜式薇?
來(lái)? ? 源 | 產(chǎn)品與生態(tài)中心、研發(fā)中心
審? ? 核 | 市場(chǎng)與政府事務(wù)部