999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

GPU虛擬化相關(guān)技術(shù)研究綜述①

2018-01-08 03:11:20余時(shí)強(qiáng)張為華
關(guān)鍵詞:設(shè)備方法

余時(shí)強(qiáng),張為華

(復(fù)旦大學(xué) 軟件學(xué)院,上海 201203)

(復(fù)旦大學(xué) 上海市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,上海 201203)

(復(fù)旦大學(xué) 并行處理研究所,上海 201203)

GPU虛擬化相關(guān)技術(shù)研究綜述①

余時(shí)強(qiáng),張為華

(復(fù)旦大學(xué) 軟件學(xué)院,上海 201203)

(復(fù)旦大學(xué) 上海市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,上海 201203)

(復(fù)旦大學(xué) 并行處理研究所,上海 201203)

因?yàn)橛?jì)算密集型應(yīng)用的增多,亞馬遜和阿里巴巴等公司的云平臺(tái)開始引入GPU(Graphic processing unit)加速計(jì)算. 云平臺(tái)支持多用戶共享GPU的使用,可以提升GPU的利用效率,降低成本; 也有利于GPU的有效管理. 通過虛擬機(jī)監(jiān)視器以及各種軟硬件的幫助,GPU虛擬化技術(shù)為云平臺(tái)共享GPU提供了一種可行方案. 本文綜合分析了GPU虛擬化技術(shù)的最近進(jìn)展,先根據(jù)技術(shù)框架的共同點(diǎn)進(jìn)行分類; 然后從拓展性、共享性、使用透明性、性能、擴(kuò)展性等方面對(duì)比分析,最后總結(jié)了GPU虛擬化的問題和發(fā)展方向.

GPU; 虛擬化; 云計(jì)算

1 引言

隨著互聯(lián)網(wǎng)應(yīng)用的快速發(fā)展,計(jì)算機(jī)每天需要處理大量的數(shù)據(jù),然而傳統(tǒng)軟硬件方法相對(duì)高昂的維護(hù)成本給相關(guān)應(yīng)用的普及造成了極大的障礙. 為了解決該問題,2006 年谷歌推出“Google 101 計(jì)劃”,并提出了云計(jì)算的概念. 云計(jì)算把IT能力轉(zhuǎn)變?yōu)榭晒芾淼倪壿嬞Y源,虛擬化是云計(jì)算的關(guān)鍵技術(shù)之一.

虛擬化技術(shù)有多種分類,按實(shí)現(xiàn)方式可分為硬件虛擬化和軟件虛擬化; 按運(yùn)行模式可分成全虛擬化和半虛擬化. 軟件虛擬化(如QEMU[7])用軟件來仿真硬件平臺(tái),硬件虛擬化(如IntelVT[8])擴(kuò)展硬件單元提升VMM 的處理效率. 全虛擬化 (如 VMware Workstation[4])為客戶機(jī)提供完整的虛擬平臺(tái),半虛擬化(如Xen[5])需操作系統(tǒng)和VMM配合實(shí)現(xiàn).

虛擬機(jī)監(jiān)視器又可以分成本地VMM(類型I),和宿主VMM(類型II)兩種,如圖1所示. 本地VMM直接運(yùn)行在硬件上,而宿主VMM運(yùn)行在操作系統(tǒng)上. Xen為類型 I的代表,而 VMware Workstation 和 KVM 為類型II的代表.

圖1 兩種類型虛擬機(jī)

GPU(Graphics processing unit)又稱圖形處理器,最初用來加速計(jì)算機(jī)繪圖工作,已有非常成熟的編程庫接口,如OpenGL和DirectX. 由于GPU包含很多計(jì)算核,也可用于通用計(jì)算領(lǐng)域. 為了方便開發(fā),NVIDIA提供CUDA編程模型,支持快速移植CPU端耗時(shí)但易于并行的部分至GPU端,獲取較好的加速效果.

GPU是一種高性能計(jì)算硬件單元,應(yīng)用于很多領(lǐng)域,例如視頻編解碼、天氣預(yù)報(bào)和通用計(jì)算等[13].GPU的核數(shù)越來越多,計(jì)算能力越來越強(qiáng)大. 亞馬遜的EC2[1]和阿里云[2]等云平臺(tái)開始使用GPU輔助計(jì)算.如果多個(gè)用戶可以分享GPU,則可以提升GPU的利用率,降低硬件成本. 因?yàn)槎嗳蝿?wù)的需求,GPU 的虛擬化研究成為趨勢.

GPU的虛擬化技術(shù),可大致劃分為設(shè)備模擬、API重定向、設(shè)備直連和GPU全虛擬化四種方法,各有優(yōu)缺點(diǎn). 設(shè)備模擬用軟件模擬硬件,API重定向封裝驅(qū)動(dòng)的API實(shí)現(xiàn)資源共享,設(shè)備直連把GPU獨(dú)立分配給虛擬機(jī)使用,GPU全虛擬化修改VMM管理GPU.GPU虛擬化有多種方案,功能日趨完善. 與CPU虛擬化相比,虛擬GPU的個(gè)數(shù)仍然有限. 另外,沒有方案統(tǒng)一支持圖形渲染和通用計(jì)算. 而且由于GPU自身體系結(jié)構(gòu)的局限,GPU在多用戶的虛擬化場景下存在著嚴(yán)重的安全問題. 本文調(diào)研了近年來在GPU虛擬化方面的主要研究成果,對(duì)相關(guān)技術(shù)進(jìn)行了全面的分析和討論. 在此基礎(chǔ)上,對(duì)現(xiàn)在GPU虛擬化存在的一些問題以及發(fā)展方向做出了總結(jié)和展望.

本文結(jié)構(gòu)如下,第1章介紹云計(jì)算與虛擬化相關(guān)的背景. 第2章介紹GPU虛擬化挑戰(zhàn). 第3章對(duì)當(dāng)前GPU虛擬化技術(shù)進(jìn)行歸類,包括設(shè)備模擬、API重定向、設(shè)備直連、以及GPU全虛擬化四種,并對(duì)各類別系統(tǒng)特征進(jìn)行詳盡的描述. 第4章比較各方法之間的優(yōu)劣. 第5章描述GPU虛擬化現(xiàn)存的問題并預(yù)測接下來發(fā)展趨勢,最后一章總結(jié)全文.

2 GPU 虛擬化挑戰(zhàn)

GPU的用途非常廣泛,例如視頻編解碼、圖像渲染、生物醫(yī)療和通用計(jì)算等方面. 各應(yīng)用領(lǐng)域的計(jì)算需求并不一樣. 支持多用戶共享GPU,虛擬化技術(shù)需滿足計(jì)算多樣性的需求.

因?yàn)樯虡I(yè)競爭,GPU的設(shè)計(jì)細(xì)節(jié)并未公開,每代產(chǎn)品之間存在很大的差異. 另外,GPU的硬件接口也不開源,更沒有統(tǒng)一的標(biāo)準(zhǔn). 為了高效使用 GPU,系統(tǒng)只能基于廠家提供的驅(qū)動(dòng). 這些差異增加了GPU虛擬化的難度.

程序在虛擬化系統(tǒng)上運(yùn)行較原生硬件系統(tǒng)帶來的性能損耗也是很大的一個(gè)挑戰(zhàn),性能損耗過高將降低GPU的利用率,反而增加成本. GPU虛擬平臺(tái)對(duì)應(yīng)用驅(qū)動(dòng)的使用透明性也會(huì)很大程度決定其部署難度.

3 GPU 虛擬化方法

GPU虛擬化主要完成硬件模擬和硬件共享兩個(gè)目的. 硬件模擬是在沒有真實(shí)GPU硬件可用的環(huán)境中,采用軟件模擬的方法仿真硬件設(shè)備,從而提供虛擬GPU硬件. 硬件共享是管理GPU硬件資源從而使其可以被多用戶共享.

為了實(shí)現(xiàn)GPU虛擬化的目標(biāo),主流GPU虛擬化大體上可以分為設(shè)備模擬、API重定向、設(shè)備直連和全虛擬化四種方法. 設(shè)備模擬在缺少物理硬件情形下使用純軟件方法模擬硬件單元,供系統(tǒng)中需要GPU的應(yīng)用使用,用于顯示模擬和GPU架構(gòu)研究等領(lǐng)域.API重定向方法將宿主虛擬機(jī)作為管理GPU的樞紐,客戶虛擬機(jī)在不改變調(diào)用接口的情形下使用前后端模塊通信的方法共享GPU. 設(shè)備直連解決了虛擬機(jī)無法使用GPU的問題. 全虛擬化通過修改虛擬機(jī)監(jiān)視器,使其對(duì)GPU進(jìn)行資源管理,實(shí)現(xiàn)GPU共享.

3.1 設(shè)備模擬

早期的虛擬機(jī)只消耗宿主機(jī)的計(jì)算和存儲(chǔ)資源,為了保證應(yīng)用的運(yùn)行,只能通過模擬外設(shè)來提供相應(yīng)的功能. 設(shè)備模擬是一種用純軟件方式模擬GPU硬件邏輯單元功能的方法. 根據(jù)需求的不同,軟件模擬的詳細(xì)程度會(huì)有所不同. 最簡單的只提供GPU對(duì)應(yīng)接口和相關(guān)功能. 最詳細(xì)的可以提供GPU硬件每個(gè)時(shí)鐘周期的工作過程. 由于軟件方式進(jìn)行GPU各種功能模擬,該方法具有較好的靈活性和強(qiáng)大的功能,然而,由于通過軟件的方式模擬硬件行為,這種方法面臨較大的性能挑戰(zhàn),常用于簡單的顯示功能和GPU架構(gòu)研究.

在圖像處理方面,QEMU可以模擬簡單的VGA設(shè)備,來滿足虛擬機(jī)在使用GPU時(shí)的簡易功能需求,目前基本具備2D顯示功能,已經(jīng)在一些需要用到GPU顯示的虛擬系統(tǒng)中應(yīng)用,如KVM和Xen利用QEMU負(fù)責(zé)虛擬顯示設(shè)備.

在通用計(jì)算方面,GPGPU-Sim[6]通過分析CUDA編程模型下發(fā)射線程的執(zhí)行方式,在CPU端進(jìn)行軟件模擬運(yùn)行PTX指令集. 在并行編程模型中,GPU發(fā)射一組(grid)線程并發(fā)執(zhí)行,這些線程又會(huì)被細(xì)分為塊(block). GPGPU-sim用軟件模擬的方式實(shí)現(xiàn)了包含六個(gè)階段(取指、譯碼、執(zhí)行、內(nèi)存1、內(nèi)存2、寫回)的流水線執(zhí)行單元. 32個(gè)線程在軟件模擬的計(jì)算單元上以SIMD的方式執(zhí)行,若線程之間發(fā)生條件分支,則采用后支配的收斂機(jī)制進(jìn)行同步[6]. GPGPU-sim已廣泛應(yīng)用于各種體系結(jié)構(gòu)或GPU新特性的相關(guān)研究中.

3.2 API重定向

研究者發(fā)現(xiàn)GPU驅(qū)動(dòng)提供了統(tǒng)一的調(diào)用接口. 圖像渲染的OpenGL編程接口和通用并行計(jì)算的CUDA編程接口與GPU內(nèi)部實(shí)現(xiàn)沒有關(guān)系. API重定向在接口層面上實(shí)現(xiàn)虛擬化,采用對(duì)調(diào)用接口二次封裝的方法. 這種方法相對(duì)簡單,在圖像渲染和通用計(jì)算都有廣泛的應(yīng)用.

在API重定向框架下,客戶虛擬機(jī)和宿主虛擬機(jī)上設(shè)立前后端模塊,前端模塊提供應(yīng)用程序訪問的通用接口,后端模塊鏈接GPU驅(qū)動(dòng)直接訪問GPU(對(duì)于類型II的VMM而言,此處宿主虛擬機(jī)是直接運(yùn)行在硬件上的操作系統(tǒng)),前后端模塊采用RPC等協(xié)議實(shí)現(xiàn)通信,具體如圖2 所示. 在圖像渲染方面,VMGL[26]在客戶虛擬機(jī)中添加的前端模塊與OpenGL調(diào)用接口一致,同時(shí)在宿主虛擬機(jī)中添加后端模塊與原生OpenGL庫鏈接,利用WireGL[28]網(wǎng)絡(luò)傳輸協(xié)議將客戶虛擬機(jī)的命令傳送給宿主虛擬機(jī),從而間接訪問GPU.WireGL通信協(xié)議提高了網(wǎng)絡(luò)帶寬的利用率. VMGL能達(dá)到86%的原生GPU渲染效果.

圖2 API重定向示意圖

API重定向在GPU通用計(jì)算領(lǐng)域中也有大量應(yīng)用,架構(gòu)基本如圖2所示. 最主要的區(qū)別在于虛擬機(jī)監(jiān)視器和前后端模塊通信協(xié)議的選擇. GVim[9]和vCUDA[8]使用Xen作為實(shí)驗(yàn)平臺(tái),GVim使用XenStore[5]協(xié)議來實(shí)現(xiàn)前后端通信,數(shù)據(jù)通過pinned內(nèi)存映射和虛擬機(jī)間內(nèi)核緩沖區(qū)共享傳輸,性能主要受XenStore的行為以及內(nèi)存拷貝的影響. vCUDA[22]對(duì)比了VMRPC[34]和XMLRPC[27]兩種通信協(xié)議的性能,發(fā)現(xiàn)VMRPC協(xié)議可以幾乎達(dá)到原生性能,而XMLRPC協(xié)議在進(jìn)行大量數(shù)據(jù)傳輸?shù)那闆r下性能損耗較為嚴(yán)重. gVirtuS[11]采用類型II的虛擬機(jī)監(jiān)視器作為實(shí)驗(yàn)環(huán)境,基于TCP協(xié)議開發(fā)vmSocket實(shí)現(xiàn)通信,繞過了CPU和GPU之間的數(shù)據(jù)傳輸,gVirtuS在遠(yuǎn)程GPU利用方面有著前兩者不可比擬的優(yōu)勢.

3.3 設(shè)備直連

早期虛擬機(jī)無法直接使用GPU,程序只能通過設(shè)備模擬來實(shí)現(xiàn)GPU獨(dú)有的功能,該方法只能提供簡單功能,性能較差. 通過將虛擬機(jī)中原生的GPU驅(qū)動(dòng)與硬件設(shè)備對(duì)接,能夠極高的利用設(shè)備的計(jì)算能力. 設(shè)備直連是早期一些IO設(shè)備虛擬化的一種可選方式. 虛擬機(jī)能夠直接訪問硬件資源,可達(dá)到原生系統(tǒng)性能.GPU在該方法下只能給某一個(gè)虛擬機(jī)使用,不能被多虛擬機(jī)共享.

Dong等人[21]提出一種基于硬件IOMMU(即Intel和AMD的I/O虛擬化技術(shù))實(shí)現(xiàn)IO直連的虛擬化方法,實(shí)現(xiàn)了高質(zhì)量的I/O共享. 該方法維護(hù)了設(shè)備的語義信息,也保證了虛擬機(jī)在切換時(shí)GPU寄存器信息的一致性. 此外,中斷信息共享機(jī)制同步了緩存. 該系統(tǒng)在PCIe總線支持虛擬化拓展的情形下可直連GPU.

一些云服務(wù)(如亞馬遜的EC2)提供商采用這種直連的方式在云平臺(tái)上部署GPU. 但是,設(shè)備直連只能保證GPU被一個(gè)虛擬機(jī)使用,不適合云計(jì)算場景下多用戶共享使用的特點(diǎn). 在計(jì)算量不足的任務(wù)執(zhí)行過程中,GPU的利用率低下,浪費(fèi)了計(jì)算資源. 設(shè)備直連的方法缺少必要的中間維護(hù)層和狀態(tài)跟蹤,對(duì)虛擬機(jī)的遷移等高級(jí)特性支持不足.

3.4 GPU全虛擬化

設(shè)備模擬方法只能模擬一些簡單的硬件、而且性能低下,API重定向雖然能夠達(dá)到接近原生硬件的性能,但是需要修改客戶虛擬機(jī)中程序庫,設(shè)備直連方案雖然性能較好,但是共享性非常差. 近幾年的提出的GPU全虛擬化將上述方案混合實(shí)現(xiàn)客戶虛擬機(jī)完全使用透明. 該方法對(duì)寄存器等硬件上下文信息使用軟件模擬,上下文切換后直連硬件設(shè)備能夠充分利用GPU.

GPU全虛擬化指不需要對(duì)虛擬機(jī)中的驅(qū)動(dòng)修改,應(yīng)用程序就能使用GPU,即使用透明性. GPU全虛擬化技術(shù)比設(shè)備直連有更好的共享性,同時(shí)在性能方面遠(yuǎn)超過設(shè)備模擬,也不需要修改客戶虛擬機(jī)中的驅(qū)動(dòng),可以說發(fā)展至今最好的GPU虛擬化解決方案. Intel的Kung Tian等人提出了gVirt[18],實(shí)現(xiàn)了圖像渲染方面的GPU全虛擬方案,并對(duì)該系統(tǒng)進(jìn)一步優(yōu)化,提出gHyvi[14]和 gScale[16]. 在通用計(jì)算領(lǐng)域,Yusuke Suzuki等人提出GPUvm[12]系統(tǒng),通過修改VMM實(shí)現(xiàn)了GPU全虛擬化.

gVirt基于 Xen 開發(fā),整體架構(gòu)如圖3 所示. 為了實(shí)現(xiàn)GPU全虛擬化,gVirt對(duì)Xen的宿主虛擬機(jī)(Dom 0)的一些修改,見圖3中的灰色部分. gVirt區(qū)分了GPU的資源,性能關(guān)鍵資源,包括顯存以及指令緩存;非性能關(guān)鍵資源,包括一些I/O寄存器. 為了接近于原生GPU的性能,gVirt用隔離機(jī)制直接訪問性能關(guān)鍵資源,用軟件模擬的方法支持非關(guān)鍵資源的訪問.gVirt采用影子頁表結(jié)構(gòu)等內(nèi)存劃分技術(shù),保證每個(gè)虛擬機(jī)擁有自己獨(dú)立的內(nèi)存; 并提出了地址空間膨脹(address space ballooning)技術(shù)來減少地址翻譯的開銷.gVirt實(shí)現(xiàn)了GPU調(diào)度器,調(diào)度時(shí)間片比較長,以降低GPU任務(wù)上下文切換的開銷. GPU的調(diào)度算法和Xen的CPU調(diào)度算法相互獨(dú)立,這使得CPU和GPU可以并行訪問顯存. gHyvi基于Xen的嚴(yán)格寫保護(hù)影子頁表機(jī)制提出了一種寬松影子頁表機(jī)制,減少了影子頁表的更新次數(shù)和陷入VMM同步的開銷. gScale動(dòng)態(tài)分配顯存,避免虛擬機(jī)數(shù)目增加導(dǎo)致每個(gè)虛擬機(jī)平攤到的空間變少的問題. gScale比gVirt的可擴(kuò)展性提高了4到5倍.

圖3 gVirt框架示意圖

在通用計(jì)算領(lǐng)域,GPUvm的GPU全虛擬化實(shí)現(xiàn)的更加的徹底,其修改只在Xen中完成. 與gVirt類似,GPUvm也采用GPU影子頁表的機(jī)制將顯存進(jìn)行隔離,每個(gè)虛擬機(jī)訪問屬于自己那部分的內(nèi)存. 除此之外,CPU與GPU間的命令傳輸隊(duì)列也被虛擬化,即每個(gè)虛擬機(jī)都有各自的隊(duì)列結(jié)構(gòu),虛擬機(jī)進(jìn)行切換時(shí),命令隊(duì)列也會(huì)對(duì)應(yīng)切換. GPUvm采用一種寬帶感知的非搶占算法進(jìn)行調(diào)度,能夠保證GPU被在各個(gè)虛擬機(jī)之間均衡切換.

4 評(píng)價(jià)

設(shè)備模擬、API重定向、設(shè)備直連和GPU全虛擬化從不同的角度提供了GPU虛擬化的解決方案. 設(shè)備模擬能夠在沒有真實(shí)硬件的環(huán)境下虛擬出GPU,該特性是后三者不可比擬的,而且該方法能夠模擬新型硬件單元,幫助科研工作者探索新一代GPU硬件結(jié)構(gòu),具有良好拓展性. 應(yīng)用程序幾乎不用修改就可以直接運(yùn)行,有著良好的使用透明性. API重定向需要對(duì)接口進(jìn)行二次封裝,因此使用透明性很差,重定向過程帶來了性能損耗. 宿主虛擬機(jī)后端模塊可以與各客戶虛擬機(jī)的前端模塊進(jìn)行對(duì)接,實(shí)現(xiàn)多虛擬機(jī)共享. 設(shè)備直連在程序使用過程中能達(dá)到原生GPU性能,由于只能給某個(gè)特定虛擬機(jī)使用,所以共享性不好. GPU全虛擬化方法使用真實(shí)物理硬件,因此沒有類似于軟件模擬的拓展性; 該方法可直接運(yùn)行現(xiàn)有的應(yīng)用程序,透明性良好; 全虛擬化通過虛擬機(jī)監(jiān)視器管理GPU資源,實(shí)現(xiàn)GPU共享.

我們對(duì)評(píng)估特性進(jìn)行了總結(jié),描述如下:

(1) 拓展性: 虛擬過程中 GPU 功能的可拓展性. 該特性評(píng)估對(duì)新功能的支持與延展性.

(2) 共享性: 在虛擬化場景下,共享性是虛擬化的重要關(guān)注點(diǎn). 該特性評(píng)估GPU利用率的影響以及GPU是否可以被多用戶并發(fā)使用.

(3) 使用透明性: 客戶虛擬機(jī)使用虛擬GPU時(shí)是否需要修改程序或庫文件. 該指標(biāo)評(píng)估在GPU虛擬化支持下對(duì)原應(yīng)用程序的兼容性.

(4) 性能: 虛擬環(huán)境下GPU的使用性能(與原生GPU使用做對(duì)比). 該指標(biāo)評(píng)估GPU在虛擬化支持下的性能損耗.

(5) 擴(kuò)展性: 系統(tǒng)虛擬出 GPU 的個(gè)數(shù). 該指標(biāo)評(píng)估GPU可被多少個(gè)虛擬機(jī)同時(shí)使用.

其中拓展性、共享性和使用透明性是不可度量的,性能和擴(kuò)展性是可度量的. 表1給出四種GPU虛擬化方法在各評(píng)估特性上的表現(xiàn),強(qiáng)表示滿足某特性,弱表示不滿足該特性或支持有限.

表1 各系統(tǒng)評(píng)估表

5 展望

綜前所述,GPU虛擬化有多種技術(shù)方案,但沒有通用計(jì)算和圖形渲染兩個(gè)領(lǐng)域通用方案. 全虛擬化方案可在多虛擬機(jī)之間共享GPU,但GPU不可搶占的特性給資源調(diào)度帶來了一定困難. 另外,GPU的虛擬化很少考慮安全性問題.

根據(jù)本文對(duì)當(dāng)前GPU虛擬化方案的分析,我們認(rèn)為GPU虛擬化今后可能會(huì)關(guān)注下列三個(gè)方面的研究:

(1) 可搶占性: 由于 GPU 核數(shù)較多,搶占 GPU 需要保存大量的上下文信息,開銷較大,所以目前市場上GPU都不支持搶占特性. 只用當(dāng)前任務(wù)完成之后,GPU才能被下個(gè)應(yīng)用程序使用. 在GPU虛擬化的環(huán)境中,多用戶使用的場景會(huì)導(dǎo)致GPU進(jìn)行頻繁的任務(wù)切換,可搶占的GPU能夠防止惡意用戶長期占用,并且能夠?qū)崿F(xiàn)用戶優(yōu)先級(jí)權(quán)限管理.

(2) 通用性: 現(xiàn)在很多GPU虛擬化技術(shù)都是只針對(duì)某一種用途實(shí)現(xiàn),例如VMGL是能用來做圖像渲染計(jì)算的虛擬化,無法實(shí)現(xiàn)GPU的通用計(jì)算. GPUvm則只針對(duì)于NVIDIA的GPU做通用計(jì)算的虛擬化,無法用于圖像處理. 這些系統(tǒng)都不是通用的GPU虛擬化解決方案,而且只適用于某種虛擬機(jī)監(jiān)視器架構(gòu). 通用的虛擬化架構(gòu)有利于系統(tǒng)部署,使得GPU在各種云計(jì)算平臺(tái)發(fā)揮更大的作用,所以GPU虛擬化的通用性也是未來需要解決的問題.

(3) 安全性: 由于云平臺(tái)的多用戶共享特性,GPU虛擬化帶來的安全問題也開始變得突出,惡意用戶可能會(huì)繞過當(dāng)前虛擬化技術(shù)薄弱的保護(hù)機(jī)制進(jìn)行攻擊.Roberto等人[31]通過分析GPU顯存殘余信息獲取用戶的私密數(shù)據(jù),所以如何保證虛擬機(jī)數(shù)據(jù)不被竊取也是GPU被用戶共享的前提.

6 總結(jié)

隨著計(jì)算密集任務(wù)的增加,云平臺(tái)部署GPU來提升系統(tǒng)性能. 為了在云平臺(tái)上共享GPU,同時(shí)也有助于提升GPU的利用率且便于管理,GPU虛擬化技術(shù)逐漸發(fā)展起來. 本文綜合分析了GPU虛擬化技術(shù)近十年的發(fā)展,分為設(shè)備模擬、API重定向、設(shè)備直連和全虛擬化四種. 本文進(jìn)一步剖析了各種系統(tǒng)之間的技術(shù)框架和細(xì)節(jié),同時(shí)也從拓展性、使用透明性、性能、共享性以及可擴(kuò)展性等方面對(duì)各種技術(shù)進(jìn)行了深入的分析和對(duì)比. 最后,我們總結(jié)了GPU虛擬化存在的一些問題,并展望了未來可能存在的研究.

1AMAZON. Amazon elastic compute cloud (Amazon EC2).http://aws.amazon.com/ec2/. [2014].

2高性能計(jì)算. https://hpc.aliyun.com/product/gpu_bare_metal/.

3Virtualization. https://en.wikipedia.org/wiki/Virtualization.[2017-07-11].

4Vmware. http://www.vmware.com/.

5Barham P,Dragovic B,Fraser K,et al. Xen and the art of virtualization. ACM Sigops Operating Systems Review,2003,37(5): 164–177. [doi: 10.1145/1165389]

6Bakhoda A,Yuan GL,Fung WWL,et al. Analyzing CUDA workloads using a detailed GPU simulator. Proc. of IEEE International Symposium on Performance Analysis of Systems and Software,2009. ISPASS 2009. Boston,MA,USA. 2009. 163–174.

7Bellard F. QEMU,a fast and portable dynamic translator.Proc. of the Annual Conference on USENIX Annual Technical Conference. Anaheim,CA,USA. 2005. 41.

8Hiremane R. Intel virtualization technology for directed I/O(Intel VT-d). Technology@ Intel Magazine,2007,4(10).

9Gupta V,Gavrilovska A,Schwan K,et al. GViM: GPU-accelerated virtual machines. Proc. of the 3rd ACM Workshop on System-level Virtualization for High Performance Computing. Nuremburg,Germany. 2009. 17–24.

10Duato J,Pe?a AJ,Silla F,et al. rCUDA: Reducing the number of GPU-based accelerators in high performance clusters. Proc. of International Conference on High Performance Computing and Simulation. Caen,France. 2010.224–231.

11Giunta G,Montella R,Agrillo G,et al. A GPGPU transparent virtualization component for high performance computing clouds. In: D’Ambra P,Guarracino M,Talia D,eds. Euro-Par 2010-Parallel Processing. Berlin Heidelberg,Germany. 2010. 379–391.

12Suzuki Y,Kato S,Yamada H,et al. GPUvm: Why not virtualizing GPUs at the hypervisor? Proc. of the 2014 USENIX Conference on USENIX Annual Technical Conference. Philadelphia,PA,USA. 2014. 109–120.

13Tian K,Dong Y,Cowperthwaite D. A Full GPU virtualization solution with mediated pass-through. Proc. of the 2014 USENIX Conference on USENIX Annual Technical Conference. Philadelphia,PA,USA. 2014. 121–132.

14Dong Y Z,Xue M C,Zheng X,et al. Boosting GPU virtualization performance with hybrid shadow page tables.Proc. of the 2015 USENIX Conference on Usenix Annual Technical Conference. Santa Clara,CA,USA. 2015. 517–528.

15Han SJ,Jang K,Park KS,et al. PacketShader: A GPU-accelerated software router. ACM SIGCOMM Computer Communication Review,2010,40(4): 195–206. [doi:10.1145/1851275]

16Xue MC,Tian K,Dong YZ,et al. gScale: Scaling up GPU virtualization with dynamic sharing of graphics memory space. 2016 USENIX Annual Technical Conference(USENIX ATC 16). Denver,CO,USA. 2016.

17Xia L,Lange J,Dinda P,et al. Investigating virtual passthrough I/O on commodity devices. ACM SIGOPS Operating Systems Review,2009,43(3): 83–94. [doi:10.1145/1618525]

18Gottschlag M,Hillenbrand M,Kehne J,et al. LoGV: Lowoverhead GPGPU virtualization. Proc. of the 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing (HPCC_EUC).Zhangjiajie,China. 2013. 1721–1726.

19Gupta V,Schwan K,Tolia N,et al. Pegasus: Coordinated scheduling for virtualized accelerator-based systems.Proc. of the 2011 USENIX Conference on USENIX Annual Technical Conference. Portland,OR,USA. 2011. 3.

20Dowty M,Sugerman J. GPU virtualization on VMware’s hosted I/O architecture. ACM SIGOPS Operating Systems Review,2009,43(3): 73–82. [doi: 10.1145/1618525]

21Dong YZ,Dai JQ,Huang ZT,et al. Towards high-quality I/O virtualization. Proc. of SYSTOR 2009: The Israeli Experimental Systems Conference. Haifa,Israel. 2009.Article No.12.

22Shi L,Chen H,Sun JH,et al. vCUDA: GPU-accelerated high-performance computing in virtual machines. IEEE Trans. on Computers,2012,61(6): 804–816. [doi: 10.1109/TC.2011.112]

23Qi ZW,Yao JG,Zhang C,et al. VGRIS: Virtualized GPU resource isolation and scheduling in cloud gaming. ACM Trans. on Architecture and Code Optimization (TACO),2014,11(2): Article No.17.

24Rossbach CJ,Currey J,Silberstein M,et al. PTask:Operating system abstractions to manage GPUs as compute devices. Proc. of the Twenty-Third ACM Symposium on Operating Systems Principles. Cascais,Portugal. 2011.233–248.

25Kato S,McThrow M,Maltzahn C,et al. Gdev: First-class GPU resource management in the operating system. Proc.of the 2012 USENIX Conference on Annual Technical Conference. Boston,MA,USA. 2012. 37.

26Lagar-Cavilla HA,Tolia N,Satyanarayanan M,et al. VMM-independent graphics acceleration. Proc. of the 3rd International Conference on Virtual Execution Environments. San Diego,California,USA. 2007. 33–43.

27Merrick P,Allen S,Lapp J. XML remote procedure call(XML-RPC):U.S.,Patent 7028312. [2006-04-11].

28Humphreys G,Eldridge M,Buck I,et al. WireGL: A scalable graphics system for clusters. Proc. of the 28th Annual Conference on Computer Graphics and Interactive Techniques. ACM. New York,NY,USA. 2001. 129–140.

29Becchi M,Sajjapongse K,Graves I,et al. A virtual memory based runtime to support multi-tenancy in clusters with GPUs. Proc. of the 21st International Symposium on High-Performance Parallel and Distributed Computing. Delft,The Netherlands. 2012. 97–108.

30Dong YZ,Yang XW,Li JH,et al. High performance network virtualization with SR-IOV. Journal of Parallel and Distributed Computing,2012,72(11): 1471–1480. [doi:10.1016/j.jpdc.2012.01.020]

31Di Pietro RD,Lombardi F,Villani A. CUDA leaks: Information leakage in GPU architectures. arXiv:1305.7383,2013.

32Virtualization solution. http://www.amd.com/en-us/solutions/professional/virtualization.

33Ravi VT,Becchi M,Agrawal G,et al. Supporting GPU sharing in cloud environments with a transparent runtime consolidation framework. Proc. of the 20th International Symposium on High Performance Distributed Computing.San Jose,California,USA. 2011. 217–228.

34Chen H,Shi L,Sun JH. VMRPC: A high efficiency and light weight RPC system for virtual machines. Proc. of the 18th International Workshop on Quality of Service (IWQoS).Beijing,China. 2010. 1–9.

35Menychtas K,Shen K,Scott ML. Enabling OS research by inferring interactions in the black-box GPU stack. Proc. of the 2013 USENIX Conference on Annual Technical Conference. San Jose,CA,USA. 2013. 291–296.

36NVIDIA grid virtual GPU technology. http://www.nvidia.com/object/grid-technology.html.

37仝伯兵,楊昕吉,謝振平,等. GPU 虛擬化技術(shù)及應(yīng)用研究.軟件導(dǎo)刊,2015,14(6): 153–156.

38趙冰. GPU虛擬化中安全問題的研究[碩士學(xué)位論文]. 西安: 西安電子科技大學(xué),2014.

Survey of GPU Virtualization

YU Shi-Qiang,ZHANG Wei-Hua

(Software School,Fudan University,Shanghai 201203,China)
(Shanghai Key Laboratory of Data Science,Fudan University,Shanghai 201203,China)
(Parallel Processing Institute,Fudan University,Shanghai 201203,China)

The emergence of HPC cloud has inspired service provider to deploy GPU in the cloud ecosystem (e.g.,Amazon EC2 GPU instance,Aliyun GPU Server). GPU as a computing accelerator is playing an indispensable role in clouding computing. Due to the intrinsic sharing feature of cloud,GPU sharing does not only boost the utilization,lower the cost,but also makes it easier to manage. GPU virtualization comes to solve this problem through Hypervisor and cooperation of software and hardware. This paper collects the methodologies of GPU virtualization and makes a classification and analysis. In addition,it concludes the existing problems and proposes the future works of GPU virtualization.

GPU; virtualization; cloud computing

余時(shí)強(qiáng),張為華.GPU虛擬化相關(guān)技術(shù)研究綜述.計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(12):25–31. http://www.c-s-a.org.cn/1003-3254/6096.html

2017-03-06; 修改時(shí)間: 2017-03-23; 采用時(shí)間: 2017-04-05

猜你喜歡
設(shè)備方法
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
學(xué)習(xí)方法
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 欧美成一级| 日本三级黄在线观看| 亚洲高清无码久久久| 91精品小视频| 色综合日本| 欧美日韩动态图| 99在线观看国产| 欧美日韩亚洲综合在线观看| 日韩欧美国产综合| 国产精品视频999| 午夜精品国产自在| 天天躁狠狠躁| 99re视频在线| 欧美亚洲日韩中文| 草草影院国产第一页| 亚欧成人无码AV在线播放| 日韩一级二级三级| 在线观看免费黄色网址| 四虎影视永久在线精品| 欧美日韩精品一区二区在线线| 色欲色欲久久综合网| 久久伊人操| 久久精品无码国产一区二区三区| 国产91丝袜在线播放动漫 | 国产亚洲精品91| 4虎影视国产在线观看精品| 亚洲人成影院午夜网站| 亚洲第一区欧美国产综合| 天堂网亚洲系列亚洲系列| 日本高清视频在线www色| 98超碰在线观看| 欧美日韩国产成人高清视频| 无码中文AⅤ在线观看| 国产精品视频猛进猛出| 亚洲成人精品久久| a级毛片在线免费观看| 精品欧美一区二区三区在线| 无码日韩精品91超碰| 日韩亚洲高清一区二区| 国产在线八区| 四虎国产永久在线观看| 国产麻豆精品久久一二三| 国产无码网站在线观看| 国产久操视频| 亚洲香蕉伊综合在人在线| 91九色视频网| 久久久久久国产精品mv| 精品三级在线| 一区二区三区国产精品视频| 激情无码视频在线看| 亚洲天堂网2014| 久久国产精品夜色| 在线播放真实国产乱子伦| 在线免费不卡视频| 无码综合天天久久综合网| 99这里只有精品在线| 日韩无码黄色网站| 亚洲天堂区| 日韩精品免费一线在线观看| 中文一区二区视频| 婷婷99视频精品全部在线观看| 精品视频一区二区观看| 亚洲综合经典在线一区二区| 粉嫩国产白浆在线观看| 67194在线午夜亚洲| 欧美日韩激情在线| 欧洲亚洲一区| 国产福利小视频在线播放观看| 波多野吉衣一区二区三区av| 欧美成人午夜视频免看| 日本不卡在线播放| 欧美爱爱网| 最新加勒比隔壁人妻| 2021国产精品自产拍在线观看| 精品一区二区三区自慰喷水| 999精品色在线观看| 国产xxxxx免费视频| 99久久精品视香蕉蕉| 在线永久免费观看的毛片| 曰韩免费无码AV一区二区| 99国产精品一区二区| 91蜜芽尤物福利在线观看|