[發(fā)明專利]一種SR?IOV環(huán)境下多虛擬機并發(fā)DMA的順序調(diào)度方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710022863.2 | 申請日: | 2017-01-12 |
| 公開(公告)號: | CN106897106B | 公開(公告)日: | 2018-01-16 |
| 發(fā)明(設(shè)計)人: | 張玉國 | 申請(專利權(quán))人: | 北京三未信安科技發(fā)展有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F13/28;G06F13/42 |
| 代理公司: | 北京輕創(chuàng)知識產(chǎn)權(quán)代理有限公司11212 | 代理人: | 楊立 |
| 地址: | 100101 北京市朝陽區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 sr iov 環(huán)境 虛擬機 并發(fā) dma 順序 調(diào)度 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及PCIe高速總線的數(shù)據(jù)傳輸?shù)募夹g(shù)領(lǐng)域,尤其涉及了一種SR-IOV環(huán)境下多虛擬機并發(fā)DMA的順序調(diào)度方法及系統(tǒng)。
背景技術(shù)
虛擬化技術(shù)、多任務(wù)以及超線程技術(shù)是完全不同的,多任務(wù)是指在一個操作系統(tǒng)中多個程序同時一起運行,虛擬化技術(shù)中是可以同時運行多個操作系統(tǒng),而且每一個操作系統(tǒng)中都有多個程序運行,每一個操作系統(tǒng)都運行在一個虛擬的CPU或者是虛擬主機上,而超線程技術(shù)只是單CPU模擬雙CPU來平衡程序運行性能,這兩個模擬出來的CPU是不能分離的,只能協(xié)同工作。另外,虛擬化方案主要有兩種,軟件虛擬化和硬件虛擬化,其中,軟件虛擬化是以前主流的解決方案,但該方案存在的主要缺點是因為數(shù)據(jù)流在軟件中分層傳輸,大大降低了實際的數(shù)據(jù)傳輸效率,更重要的是在當(dāng)前大數(shù)據(jù)和云計算的趨勢下,無法滿足更高更快數(shù)據(jù)傳輸速率的需求,而采用硬件虛擬化技術(shù)使得數(shù)據(jù)流不需要經(jīng)過軟件的分層傳遞,直接在內(nèi)存和硬件外圍設(shè)備之間進行透傳,大大提高了數(shù)據(jù)流的傳輸速度。
目前的硬件虛擬化技術(shù)是單根IO虛擬化(SR-IOV)技術(shù),SR-IOV是一種規(guī)范,使得單根端口下的單個快速外圍組件互連(PCIe)物理設(shè)備顯示為管理程序或客戶機操作系統(tǒng)的多個單獨的物理設(shè)備。
SR-IOV使用的物理功能(PF)和虛擬功能(VF)為SR-IOV設(shè)備管理全局的功能,PF是完整的PCIe功能,其包含用于配置和管理SR-IOV功能的SR-IOV擴展功能,另外,PF可以配置和控制PCIe設(shè)備,且PF具有將數(shù)據(jù)移入和移出設(shè)備的完整功能,VF是輕量級的PCIe功能,其包含數(shù)據(jù)移動所需的所有資源,且具有一套經(jīng)過仔細精簡的配置資源集。
支持SR-IOV的PCIe設(shè)備將其多個實例提供給客戶機操作系統(tǒng)實例和管理程序,提供的虛擬功能數(shù)量取決于設(shè)備,對于要運行的已啟用SR-IOV的PCIe設(shè)備,在客戶機驅(qū)動程序或管理程序?qū)嵗?,必須具備適當(dāng)?shù)腂IOS和硬件支持以及SR-IOV支持。
在目前很多高速數(shù)據(jù)處理應(yīng)用場景中,針對存儲器的讀寫事物處理占主導(dǎo)地位,在基于PCIe的高速數(shù)據(jù)傳輸應(yīng)用中,PCIe端點(Endpoint)設(shè)備要發(fā)揮出最大的數(shù)據(jù)傳輸效能,同時盡可能地減少主機CPU的占用率,就要采用DMA方式,就是由PCIe端點設(shè)備主動地向主機內(nèi)存發(fā)起DMA讀請求,然后接收傳輸進來的數(shù)據(jù),或者由PCIe端點設(shè)備主動地對主機內(nèi)存發(fā)起DMA寫請求,以完成數(shù)據(jù)傳輸功能。依照SR-IOV規(guī)范,可以在一個PCIe設(shè)備里面實現(xiàn)多個虛擬設(shè)備VF,這樣操作系統(tǒng)支持的某個虛擬機就可以與某一個特定的VF綁定在一起,獨享對這個虛擬設(shè)備VF的訪問。通常,每個設(shè)備都是采用DMA工作方式,當(dāng)只有一個虛擬設(shè)備工作時,情況很簡單。但是當(dāng)操作系統(tǒng)里的多個虛擬機分別與PCIe設(shè)備的不同虛擬設(shè)備一一綁定后,就存在多個虛擬機并發(fā)DMA的情形。不管PCIe設(shè)備內(nèi)部有多少個虛擬設(shè)備,這些虛擬設(shè)備都必須通過PCIe設(shè)備的物理傳輸通道來進行數(shù)據(jù)傳輸,而且這個通道是獨一的,因此當(dāng)多個虛擬機對應(yīng)的PCIe設(shè)備內(nèi)的虛擬設(shè)備并發(fā)DMA時,如何讓這些并發(fā)的DMA分別有序的進行是一個至關(guān)重要的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是:當(dāng)多個虛擬機對應(yīng)的PCIe總線設(shè)備內(nèi)的虛擬設(shè)備并發(fā)DMA時,現(xiàn)有技術(shù)無法使上述并發(fā)的DMA分別有序的進行。
為解決上述技術(shù)問題,本發(fā)明提供了一種SR-IOV環(huán)境下多虛擬機并發(fā)DMA的順序調(diào)度方法,該調(diào)度方法包括如下步驟:
S1,多個虛擬機分別向PCIe設(shè)備發(fā)送DMA請求命令,PCIe設(shè)備將所述的DMA請求命令分別存儲到PCIe設(shè)備內(nèi)的各命令寄存器組內(nèi);
S2,設(shè)計排隊注冊的機制:對多個虛擬機進行排隊注冊、生成虛擬機號碼,并將注冊后的虛擬機號碼存儲在PCIe設(shè)備內(nèi)的第一寄存器內(nèi);
S3,當(dāng)?shù)谝患拇嫫鞔鎯σ粋€虛擬機號碼,則PCIe設(shè)備內(nèi)的第二寄存器內(nèi)相應(yīng)的存儲標(biāo)記由0置成1;
S4,設(shè)計一套自動循環(huán)檢測的狀態(tài)機,狀態(tài)機按順序循環(huán)地檢測第二寄存器,若檢測到的存儲標(biāo)記是1,則PCIe設(shè)備自動開啟與該存儲標(biāo)記對應(yīng)的虛擬機號碼對應(yīng)的虛擬機DMA讀取操作;
S5,啟動DMA讀取操作后,PCIe設(shè)備接收由所述虛擬機發(fā)送的數(shù)據(jù),并將數(shù)據(jù)存儲到PCIe設(shè)備內(nèi)與所述虛擬機對應(yīng)的虛擬機存儲器中;
S6,S5中當(dāng)所述虛擬機的數(shù)據(jù)全部被存儲到虛擬機存儲器中后,第二寄存器與所述虛擬機相對應(yīng)的存儲標(biāo)記清0;
S7,自動循環(huán)檢測的狀態(tài)機按順序繼續(xù)監(jiān)測第二寄存器內(nèi)下一個存儲標(biāo)記,循環(huán)檢測。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京三未信安科技發(fā)展有限公司,未經(jīng)北京三未信安科技發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710022863.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 多主機單根輸入/輸出虛擬化虛擬功能共享的方法及系統(tǒng)
- 云服務(wù)器系統(tǒng)
- 在基于閃存存儲器的存儲設(shè)備的輸入/輸出虛擬化主機控制器中的命令捕獲
- 基于閃存的存儲設(shè)備的輸入/輸出虛擬化(IOV)主機控制器(HC)(IOV-HC)
- 一種基于Linux系統(tǒng)SR?IOV功能的測試方法
- 一種解決大規(guī)模視頻云應(yīng)用中的網(wǎng)絡(luò)性能瓶頸的方法
- 一種Linux系統(tǒng)下SR-IOV功能的測試方法及系統(tǒng)
- 一種Linux環(huán)境下Mellanox網(wǎng)卡VF功能的啟動方法
- 報文的轉(zhuǎn)發(fā)方法及裝置
- 一種NVMe SSD的硬盤轉(zhuǎn)接板及NVMe SSD虛擬化系統(tǒng)
- 環(huán)境服務(wù)系統(tǒng)以及環(huán)境服務(wù)事業(yè)
- 環(huán)境控制裝置、環(huán)境控制方法、環(huán)境控制程序及環(huán)境控制系統(tǒng)
- 環(huán)境檢測終端和環(huán)境檢測系統(tǒng)
- 環(huán)境調(diào)整系統(tǒng)、環(huán)境調(diào)整方法及環(huán)境調(diào)整程序
- 環(huán)境估計裝置和環(huán)境估計方法
- 用于環(huán)境艙的環(huán)境控制系統(tǒng)及環(huán)境艙
- 車輛環(huán)境的環(huán)境數(shù)據(jù)處理
- 環(huán)境取樣動力頭、環(huán)境取樣方法
- 環(huán)境艙環(huán)境控制系統(tǒng)
- 環(huán)境檢測儀(環(huán)境貓)





