[發(fā)明專利]虛擬機(jī)I/O性能優(yōu)化方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201610124603.1 | 申請(qǐng)日: | 2016-03-04 |
| 公開(kāi)(公告)號(hào): | CN107153566B | 公開(kāi)(公告)日: | 2020-12-08 |
| 發(fā)明(設(shè)計(jì))人: | 王俊清 | 申請(qǐng)(專利權(quán))人: | 中移(蘇州)軟件技術(shù)有限公司;中國(guó)移動(dòng)通信集團(tuán)公司 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F12/1027 |
| 代理公司: | 北京派特恩知識(shí)產(chǎn)權(quán)代理有限公司 11270 | 代理人: | 姚開(kāi)麗;張振偉 |
| 地址: | 215163 江蘇省蘇州市高*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 虛擬機(jī) 性能 優(yōu)化 方法 裝置 | ||
本發(fā)明實(shí)施例提供一種虛擬機(jī)I/O性能優(yōu)化方法,該方法包括:調(diào)用分配接口時(shí),將鏈表頭部所指向的第一個(gè)頁(yè)面從鏈表緩存中取出,并返回給調(diào)用者;調(diào)用釋放接口時(shí),將待釋放頁(yè)表所使用的頁(yè)面放入所述鏈表的頭部進(jìn)行緩存。本發(fā)明實(shí)施例同時(shí)還提供一種虛擬機(jī)I/O性能優(yōu)化裝置。
技術(shù)領(lǐng)域
本發(fā)明涉及虛擬機(jī)技術(shù),尤其涉及一種虛擬機(jī)輸入輸出(Input/Output,I/O)性能優(yōu)化方法及裝置。
背景技術(shù)
傳統(tǒng)上,將I/O虛擬化技術(shù)分為設(shè)備模擬技術(shù)和泛虛擬化技術(shù),它們各有優(yōu)缺點(diǎn),且優(yōu)缺點(diǎn)恰好相反。在性能方面,設(shè)備模擬技術(shù)需要采用陷入再模擬的方式,不僅增加了程序的執(zhí)行路徑,而且頻繁的切換必然會(huì)導(dǎo)致效率的下降,不如泛虛擬化高效;而在通用性方面,設(shè)備模擬技術(shù)無(wú)需修改原生驅(qū)動(dòng),具有很好的通用性,泛虛擬化則需要增加前端與后端驅(qū)動(dòng),后期I/O設(shè)備及操作系統(tǒng)的更改會(huì)帶來(lái)大量的工作量,通用性大打折扣。
Intel VT-d技術(shù)應(yīng)運(yùn)而生,其結(jié)合了這兩者的優(yōu)點(diǎn),在硬件級(jí)別做了相應(yīng)的解決辦法,很好的解決了實(shí)際問(wèn)題。其核心技術(shù)主要是直接內(nèi)存訪問(wèn)(Directional MemoryAccess,DMA)重映射:DMA重映射技術(shù)的關(guān)鍵就是在北橋芯片中加入DMA重映射硬件,用來(lái)解決I/O設(shè)備DMA重映射與設(shè)備直接分配的問(wèn)題。其工作的機(jī)理是,在所有支持Intel VT-d的平臺(tái)之上,DMA重映射部分通過(guò)為I/O設(shè)備提供額外的硬件支持,允許I/O設(shè)備通過(guò)獨(dú)立的I/O頁(yè)表來(lái)對(duì)虛擬機(jī)內(nèi)存進(jìn)行訪問(wèn),I/O設(shè)備所發(fā)出的DMA請(qǐng)求都會(huì)被DMA重映射硬件進(jìn)行截獲和轉(zhuǎn)發(fā),使用I/O頁(yè)表來(lái)判斷每次訪問(wèn)是否合法。I/O頁(yè)表和傳統(tǒng)的內(nèi)存管理單元(MemoryManagement Unit,MMU)所使用的頁(yè)表是一樣的,也是通過(guò)IO傳輸后備緩沖器(TranslationLookaside Buffer,TLB)的來(lái)做常用頁(yè)表路徑的緩存。
現(xiàn)有技術(shù)中,虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,VMM)和客戶機(jī)操作系統(tǒng)(Guest Operation System,Guest OS)同處一個(gè)物理內(nèi)存環(huán)境,出于安全考慮,VMM必須負(fù)責(zé)Guest OS頁(yè)表的管理,以限制Guest OS對(duì)內(nèi)存的訪問(wèn);外設(shè)方面,VMM利用Intel VT-d技術(shù)限制設(shè)備對(duì)內(nèi)存的訪問(wèn),同樣,外設(shè)的DMA操作不能訪問(wèn)虛擬機(jī)域內(nèi)的頁(yè)表,否則會(huì)引發(fā)DMA攻擊,因此,VMM在管理虛擬機(jī)和外設(shè)的時(shí)候,必須考慮這一問(wèn)題。具體來(lái)說(shuō),虛擬機(jī)域內(nèi)的將頁(yè)劃分成幾種類型:可寫(xiě)頁(yè),頁(yè)表頁(yè),頁(yè)目錄頁(yè)和描述符表頁(yè),當(dāng)一個(gè)頁(yè)的頁(yè)類型發(fā)生變化時(shí),比如說(shuō)從可寫(xiě)頁(yè)類型變成頁(yè)表頁(yè)類型,這意味著外設(shè)不能再訪問(wèn)該頁(yè),此時(shí)VMM將該頁(yè)變成頁(yè)表頁(yè)類型后,必須將該頁(yè)從I/O頁(yè)表的映射上清除,并刷新IOTLB,這樣才能防止外設(shè)惡意訪問(wèn)該頁(yè)表類型的頁(yè),保證VMM和虛擬機(jī)的安全。
但是,現(xiàn)有的Intel VT-d技術(shù)的主要缺點(diǎn)是,會(huì)有頻繁的頁(yè)類型變更,導(dǎo)致IOTLB的刷新過(guò)高,從而降低了I/O方面的效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例期望提供一種虛擬機(jī)I/O性能優(yōu)化方法及裝置,以提升虛擬機(jī)的I/O性能。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種虛擬機(jī)I/O性能優(yōu)化方法,所述方法包括:
調(diào)用分配接口時(shí),將鏈表頭部所指向的第一個(gè)頁(yè)面從鏈表緩存中取出,并返回給調(diào)用者;
調(diào)用釋放接口時(shí),將待釋放頁(yè)表所使用的頁(yè)面放入所述鏈表的頭部進(jìn)行緩存。
如上所述的方法,其中,所述頁(yè)面的頁(yè)類型數(shù)據(jù)結(jié)構(gòu)中包含用于表示所述頁(yè)面為緩存頁(yè)的數(shù)據(jù)位。
如上所述的方法,其中,當(dāng)所述頁(yè)面為緩存頁(yè)時(shí),所述頁(yè)面緩存在對(duì)應(yīng)的鏈表中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中移(蘇州)軟件技術(shù)有限公司;中國(guó)移動(dòng)通信集團(tuán)公司,未經(jīng)中移(蘇州)軟件技術(shù)有限公司;中國(guó)移動(dòng)通信集團(tuán)公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610124603.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種可信虛擬機(jī)平臺(tái)
- 虛擬機(jī)參數(shù)遷移的方法、設(shè)備和虛擬機(jī)服務(wù)器
- 一種虛擬機(jī)系統(tǒng)及其安全控制方法
- 一種云計(jì)算系統(tǒng)動(dòng)態(tài)分配虛擬機(jī)的方法
- 一種恢復(fù)、升級(jí)虛擬機(jī)的方法及裝置
- 虛擬機(jī)切換系統(tǒng)及切換方法
- 處理虛擬機(jī)集群的方法和計(jì)算機(jī)系統(tǒng)
- 虛擬機(jī)故障檢測(cè)、恢復(fù)系統(tǒng)及虛擬機(jī)檢測(cè)、恢復(fù)、啟動(dòng)方法
- 一種虛擬機(jī)遷移方法和系統(tǒng)
- 一種虛擬機(jī)容錯(cuò)系統(tǒng)及其容錯(cuò)方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





