虛擬機(jī)圖形產(chǎn)生方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明是有關(guān)于一種圖形產(chǎn)生方法,特別是指一種虛擬機(jī)圖形產(chǎn)生方法及系統(tǒng)。
【背景技術(shù)】
[0002] 虛擬化技術(shù)在現(xiàn)代科技的應(yīng)用已日趨重要,除了個(gè)人使用外,在企業(yè)方面更是大 量的采用,為了滿足企業(yè)需求的思維,且在不增加企業(yè)支出的前提下,虛擬化技術(shù)可針對(duì)企 業(yè)原有的架構(gòu)來規(guī)劃、整并、汰換與升級(jí)企業(yè)的信息科技環(huán)境,進(jìn)而達(dá)成節(jié)省電能與空間、 有效地整合分散的資源、減少軟硬件間的束縛并大幅提升效能及運(yùn)作效率。
[0003] 惟,現(xiàn)有的虛擬化技術(shù)尚存有一些缺點(diǎn),由于每一臺(tái)虛擬化機(jī)器無法存取圖形運(yùn) 算單元(GraphicsProcessingUnit,簡(jiǎn)稱GPU),因此,運(yùn)行于現(xiàn)有的虛擬化技術(shù)中的每一 臺(tái)虛擬化機(jī)器無法同時(shí)處理大量的圖形運(yùn)算,因而造成使用上的不便。
[0004] 有鑒于上述圖形運(yùn)算處理問題,市面上出現(xiàn)一種支持虛擬化技術(shù)的顯示適配器, 如NVIDIA?GRID?VGPU?,該顯示適配器將GPU切割成多個(gè)圖形運(yùn)算子單元(VGPU),借 此,每一臺(tái)虛擬化機(jī)器可直接存取其所分配到的圖形運(yùn)算子單元,所以可大幅提升圖形運(yùn) 算的效率。
[0005] 然而,該顯示適配器的價(jià)格非常昂貴,因此,對(duì)于想降低硬件成本的企業(yè)而言,無 法提供實(shí)質(zhì)幫助,此外,該顯示適配器所支持的操作系統(tǒng)平臺(tái)也非常有限,所以實(shí)有必要尋 求其他解決方案。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供一種可大幅提升虛擬化機(jī)器的圖形運(yùn)算效率并降低硬件 成本的虛擬機(jī)圖形產(chǎn)生方法。
[0007] 本發(fā)明虛擬機(jī)圖形產(chǎn)生方法,由一處理模塊及一電連接該處理模塊,并包含一顯 示內(nèi)存及一圖形運(yùn)算單元的顯示適配器來實(shí)施,該方法包含以下步驟:(A)通過該處理模 塊,執(zhí)行一組程序來形成一包含一主機(jī)端虛擬化機(jī)器及一客戶端虛擬化機(jī)器的虛擬化環(huán) 境;(B)當(dāng)該主機(jī)端虛擬化機(jī)器接收到來自該客戶端虛擬化機(jī)器的一連接請(qǐng)求時(shí),通過該 主機(jī)端虛擬化機(jī)器,控制該顯示內(nèi)存預(yù)留一對(duì)應(yīng)于該連接請(qǐng)求的幀緩存;及(C)當(dāng)該主機(jī) 端虛擬化機(jī)器接收到來自該客戶端虛擬化機(jī)器的至少一繪圖指令及一與該繪圖指令相關(guān) 的幀產(chǎn)生需求時(shí),通過該主機(jī)端虛擬化機(jī)器根據(jù)該繪圖指令及幀產(chǎn)生需求,控制該圖形運(yùn) 算單元產(chǎn)生一幀,并控制該圖形運(yùn)算單元將該幀儲(chǔ)存于該幀緩存。
[0008] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生方法,該主機(jī)端虛擬化機(jī)器所執(zhí)行的操作系統(tǒng)及該客戶 端虛擬化機(jī)器所執(zhí)行的操作系統(tǒng)為兼容的操作系統(tǒng)。
[0009] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生方法,在該步驟(C)后,該方法還包含一步驟(D),通過 該主機(jī)端虛擬化機(jī)器,從該幀緩存讀出該幀且將該幀儲(chǔ)存于一儲(chǔ)存模塊,并將儲(chǔ)存于該儲(chǔ) 存模塊的該幀傳送至該客戶端虛擬化機(jī)器。
[0010] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生方法,在該步驟(C)后,該方法還包含以下步驟:(E)通 過該主機(jī)端虛擬化機(jī)器,從該幀緩存讀出該幀且將該幀儲(chǔ)存于一儲(chǔ)存模塊,并經(jīng)由一通訊 網(wǎng)絡(luò),將儲(chǔ)存于該儲(chǔ)存模塊的該幀傳送至一使用端;及(F)當(dāng)該使用端接收到該幀時(shí),通過 該使用端,根據(jù)該幀,顯示出一對(duì)應(yīng)于該幀產(chǎn)生需求的顯示畫面。
[0011] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生方法,在該步驟(A)與(B)間,該方法還包含以下步驟: (G) 通過該客戶端虛擬化機(jī)器,傳送一搜尋封包至該虛擬化環(huán)境中其他的虛擬化機(jī)器;及 (H) 當(dāng)該虛擬化環(huán)境中的主機(jī)端虛擬化機(jī)器接收到該搜尋封包后,通過該主機(jī)端虛擬化機(jī) 器,傳送一含有該主機(jī)端虛擬化機(jī)器的位址信息的位址封包至該客戶端虛擬化機(jī)器。
[0012] 本發(fā)明的另一個(gè)目的在于提供一種可大幅提升虛擬化機(jī)器的圖形運(yùn)算效率并降 低硬件成本的虛擬機(jī)圖形產(chǎn)生系統(tǒng)。
[0013] 本發(fā)明虛擬機(jī)圖形產(chǎn)生系統(tǒng)包含一顯示適配器及一處理模塊。該顯示適配器包括 一顯示內(nèi)存及一圖形運(yùn)算單元。該處理模塊用于執(zhí)行一組程序以形成一虛擬化環(huán)境,該虛 擬化環(huán)境包括一客戶端虛擬化機(jī)器及一主機(jī)端虛擬化機(jī)器。該客戶端虛擬化機(jī)器具有一虛 擬圖形驅(qū)動(dòng)程序及一客戶端仿真及通訊程序。該主機(jī)端虛擬化機(jī)器具有一原生圖形驅(qū)動(dòng)程 序、一主機(jī)端仿真及通訊程序,及一代理程序。該代理程序用于在經(jīng)由該主機(jī)端仿真及通訊 程序接收到來自該客戶端虛擬化機(jī)器的一連接請(qǐng)求時(shí),經(jīng)由該原生圖形驅(qū)動(dòng)程序控制該顯 示內(nèi)存預(yù)留一對(duì)應(yīng)于該連接請(qǐng)求的幀緩存,且用于在經(jīng)由該主機(jī)端仿真及通訊程序接收到 來自該客戶端虛擬化機(jī)器的至少一繪圖指令及一與該繪圖指令相關(guān)的幀產(chǎn)生需求時(shí),該代 理程序根據(jù)該繪圖指令及幀產(chǎn)生需求,經(jīng)由該原生圖形驅(qū)動(dòng)程序控制該圖形運(yùn)算單元產(chǎn)生 一幀,并控制該圖形運(yùn)算單元將該幀儲(chǔ)存于該幀緩存。
[0014] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生系統(tǒng),該主機(jī)端虛擬化機(jī)器所執(zhí)行的操作系統(tǒng)及該客戶 端虛擬化機(jī)器所執(zhí)行的操作系統(tǒng)為兼容的操作系統(tǒng)。
[0015] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生系統(tǒng),該系統(tǒng)還包含一電連接該處理模塊的儲(chǔ)存模塊, 該主機(jī)端虛擬化機(jī)器的代理程序還用于從該幀緩存讀出該幀且將該幀儲(chǔ)存于該儲(chǔ)存模塊, 并經(jīng)由該主機(jī)端仿真及通訊程序,將儲(chǔ)存于該儲(chǔ)存模塊的該幀傳送至該客戶端虛擬化機(jī) 器。
[0016] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生系統(tǒng),該系統(tǒng)還包含一電連接該處理模塊的儲(chǔ)存模塊、 一電連接該處理模塊并用于連接一網(wǎng)絡(luò)的網(wǎng)絡(luò)通訊接口、一用于連接該網(wǎng)絡(luò)的使用端,該 主機(jī)端虛擬化機(jī)器的代理程序還用于從該幀緩存讀出該幀且將該幀儲(chǔ)存于該儲(chǔ)存模塊,并 控制該主機(jī)端仿真及通訊程序經(jīng)由該網(wǎng)絡(luò)通訊接口,將儲(chǔ)存于該儲(chǔ)存模塊的該幀傳送至該 使用端,以使得該使用端,根據(jù)該幀顯示出一對(duì)應(yīng)于該幀產(chǎn)生需求的顯示畫面。
[0017] 本發(fā)明的虛擬機(jī)圖形產(chǎn)生系統(tǒng),該客戶端虛擬化機(jī)器的虛擬圖形驅(qū)動(dòng)程序,用于 經(jīng)由該客戶端仿真及通訊程序,傳送一搜尋封包至該虛擬化環(huán)境中其他的虛擬化機(jī)器,該 虛擬化環(huán)境中的該主機(jī)端虛擬化機(jī)器的代理程序,還用于在經(jīng)由該主機(jī)端仿真及通訊程序 接收到該搜尋封包后,經(jīng)由該主機(jī)端仿真及通訊程序傳送一含有該主機(jī)端虛擬化機(jī)器的位 址信息的位址封包至該客戶端虛擬化機(jī)器。
[0018] 本發(fā)明的有益效果在于:通過該主機(jī)端虛擬化機(jī)器根據(jù)該繪圖指令及幀產(chǎn)生需求 控制該圖形運(yùn)算單元產(chǎn)生該幀,且將該幀儲(chǔ)存于該幀緩存,以達(dá)成利用該主機(jī)端虛擬化機(jī) 器存取該圖形運(yùn)算單元的目的,且該圖形運(yùn)算單元是直接計(jì)算出該幀后,才通過該主機(jī)端 虛擬化機(jī)器,從該幀緩存讀出該幀并儲(chǔ)存于該儲(chǔ)存模塊,該主機(jī)端虛擬化機(jī)器不須將運(yùn)算 出該幀前的中間運(yùn)算結(jié)果一一儲(chǔ)存于該儲(chǔ)存模塊后才運(yùn)算出該幀,借此,可避免因在非必 要狀況下傳送中間運(yùn)算結(jié)果而耗費(fèi)運(yùn)算時(shí)間及提升處理模快的運(yùn)算量,進(jìn)而大幅提升虛擬 化機(jī)器的圖形運(yùn)算效率,此外,通過將該繪圖指令及幀產(chǎn)生需求傳送至該主機(jī)端虛擬化機(jī) 器,以通過該主機(jī)端虛擬化機(jī)器控制該圖形運(yùn)算單元產(chǎn)生該幀的圖形產(chǎn)生方法,不須購買 支持虛擬化技術(shù)的昂貴顯示適配器,所以可節(jié)省硬件成本。
【附圖說明】
[0019] 圖1是一方塊圖,說明本發(fā)明虛擬機(jī)圖形產(chǎn)生系統(tǒng)的實(shí)施例;及
[0020] 圖2是一流程圖,說明本發(fā)明虛擬機(jī)圖形產(chǎn)生方法的實(shí)施例。
【具體實(shí)施方式】
[0021] 下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0022] 請(qǐng)參閱圖1,本發(fā)明虛擬機(jī)圖形產(chǎn)生系統(tǒng)的實(shí)施例包含一顯示適配器1、一儲(chǔ)存模 塊9、一用于連接一網(wǎng)絡(luò)6的網(wǎng)絡(luò)通訊接口 2、一電連接該顯示適配器1、儲(chǔ)存模塊9及網(wǎng)絡(luò) 通訊接口 2的處理模塊3及一使用端7。在本實(shí)施例中,該儲(chǔ)存模塊9是一系統(tǒng)內(nèi)存(System Memory),該處理模塊 3 是一中央處理器(CentralProcessingUnit)。
[0023] 該顯示適配器1包括一顯示內(nèi)存11及一圖形運(yùn)算單元12(Gr