欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于授權(quán)拷貝的虛擬機(jī)域間通信通道系統(tǒng)的制作方法

文檔序號(hào):6399051閱讀:195來源:國知局
專利名稱:基于授權(quán)拷貝的虛擬機(jī)域間通信通道系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)科學(xué)中的在多核硬件平臺(tái)下的系統(tǒng)虛擬化領(lǐng)域,特別是Xen平臺(tái)上虛擬機(jī)的域間通信技術(shù)。
背景技術(shù)
虛擬化技術(shù)是一種計(jì)算機(jī)系統(tǒng)抽象技術(shù),通過物理平臺(tái)上的虛擬機(jī)邏輯層管理計(jì)算資源,并向運(yùn)行在其上的客戶層提供虛擬的資源。客戶機(jī)操作系統(tǒng)可以通過標(biāo)準(zhǔn)接口訪問資源,但是接口的實(shí)現(xiàn)卻并不直接與物理資源通信;而是由虛擬化層負(fù)責(zé)實(shí)際資源的管理,使有限數(shù)量的資源能夠在多個(gè)客戶機(jī)之間復(fù)用。直接運(yùn)行在硬件平臺(tái)上的虛擬化層軟件通常被稱作虛擬機(jī)監(jiān)視器(Virtual Machine Monitor, VMM或hypervisor),它負(fù)責(zé)維護(hù)抽象,同時(shí)確保資源復(fù)用的正確性;客戶層的主體是多個(gè)完整的計(jì)算機(jī)操作系統(tǒng),稱作客戶機(jī)操作系統(tǒng)。虛擬機(jī)是真實(shí)機(jī)器和虛擬化軟件(Virtualization Software)的結(jié)合。“虛擬”包括兩個(gè)過程從虛擬資源向?qū)嶋H資源的映射;把虛擬機(jī)的指令和系統(tǒng)調(diào)用所要求的功能通過實(shí)際的指令和系統(tǒng)調(diào)用實(shí)現(xiàn)。由此,虛擬機(jī)監(jiān)視器可以促進(jìn)資源的高效利用,同時(shí)維護(hù)客戶機(jī)操作系統(tǒng)的隔離性,為軟件系統(tǒng)設(shè)計(jì)提供了極大的靈活性和機(jī)動(dòng)性。多核硬件平臺(tái)技術(shù)的廣泛使用為虛擬化技術(shù)的發(fā)展提供了機(jī)遇和挑戰(zhàn),具有代表性的是Intel的VT和AMD的SVM技術(shù)。正是基于上述原因,虛擬化技術(shù)越來越突出顯著,應(yīng)用范圍愈加廣泛。目前,虛擬化技術(shù)被應(yīng)用在企業(yè)級(jí)系統(tǒng)、服務(wù)提供商、家庭桌面系統(tǒng)、移動(dòng)設(shè)備和生產(chǎn)系統(tǒng)等方面。當(dāng)前主流的虛擬化技術(shù)產(chǎn)品包括VMware ESXi以及Xen、KVM等,它們?cè)诜?wù)器整合、資源優(yōu)化、能量控制等方面具有很大貢獻(xiàn),并且逐步在云計(jì)算和高性能計(jì)算等領(lǐng)域得以應(yīng)用,同時(shí)虛擬化技術(shù)還在虛擬集群領(lǐng)域有著廣闊的利用前景。域間通信是指同一物理平臺(tái)之上的客戶虛擬機(jī)在網(wǎng)絡(luò)層面進(jìn)行彼此之間的直接通信,這種通信方式相比Xen的前后端通信方式具有低延遲、高吞吐等特點(diǎn),而且通信過程不需要特權(quán)域虛擬機(jī)的參與,從而緩解了特權(quán)域虛擬機(jī)的CPU計(jì)算資源壓力,使其能夠更穩(wěn)定、有效的履行其管理和監(jiān)控職責(zé)。域間通信通道指的是在兩個(gè)客戶虛擬機(jī)之間建立的用于完成彼此網(wǎng)絡(luò)數(shù)據(jù)包傳輸?shù)母鞣N資源的統(tǒng)一抽象。

發(fā)明內(nèi)容
本系統(tǒng)發(fā)明以實(shí)現(xiàn)客戶虛擬機(jī)域之間高效的網(wǎng)絡(luò)數(shù)據(jù)包傳輸為目標(biāo),通過對(duì)Xen平臺(tái)底層功能機(jī)制的有效利用,設(shè)計(jì)了一種能夠在一對(duì)客戶虛擬機(jī)之間建立并有效運(yùn)行的域間通信通道系統(tǒng),它能夠降低虛擬機(jī)彼此通信的網(wǎng)絡(luò)延遲,提高整個(gè)物理平臺(tái)的網(wǎng)絡(luò)吞吐率。該系統(tǒng)發(fā)明具體包括如下部分1.雙向域間通信通道子系統(tǒng)本系統(tǒng)發(fā)明的主體是建立在一對(duì)客戶虛擬機(jī)之間的雙向域間通信通道子系統(tǒng),它由兩個(gè)單向的子通道(發(fā)送方向和接收方向)和一個(gè)異步事件通道構(gòu)成。其中,單向子通道指的是用于進(jìn)行單向網(wǎng)絡(luò)數(shù)據(jù)包傳輸?shù)腎/o共享環(huán),用于在客戶虛擬機(jī)之間傳送網(wǎng)絡(luò)數(shù)據(jù)包的基本描述信息;異步事件通道則是用于數(shù)據(jù)包描述性息發(fā)送后向接收方進(jìn)行消息通告,其自身具有雙向特征。2.單向I/O共享環(huán)組件單向I/O共享環(huán)是構(gòu)成雙向域間通信通道子系統(tǒng)的重要組件。它是通過Xen底層的虛擬機(jī)內(nèi)存頁共享機(jī)制建立起來的共享內(nèi)存頁面,是由一個(gè)I/o環(huán)共享頁和一個(gè)控制共享頁構(gòu)成的。其中,I/o環(huán)共享頁存儲(chǔ)著由發(fā)送方寫入的網(wǎng)絡(luò)數(shù)據(jù)包描述符供接收方進(jìn)行讀?。还蚕砜刂祈搫t是虛擬機(jī)之間建立起來的共享內(nèi)存頁,用于存儲(chǔ)虛擬機(jī)雙方共享的關(guān)鍵數(shù)據(jù)。兩種共享的內(nèi)存頁面共同實(shí)現(xiàn)了一套完整、可靠的生產(chǎn)者消費(fèi)者模型。3.基于授權(quán)拷貝的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)傳輸網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)傳輸是域間通信通道系統(tǒng)的實(shí)際運(yùn)作流程。在網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送方虛擬機(jī),它獲取網(wǎng)絡(luò)數(shù)據(jù)包的實(shí)際數(shù)據(jù)占用的內(nèi)存頁面的描述信息,將描述信息按照固定格式寫入到I/o共享環(huán)中;然后,通過事件通道向接收端進(jìn)行數(shù)據(jù)包的通告;接收端在收到通告后,啟動(dòng)接收流程,從I/o共享環(huán)中讀取數(shù)據(jù)包描述符信息,構(gòu)建授權(quán)拷貝操作結(jié)構(gòu)數(shù)據(jù),啟動(dòng)內(nèi)存拷貝的超級(jí)調(diào)用,更新I/o共享環(huán)的對(duì)應(yīng)指針。在Xen虛擬化的域間通信技術(shù)領(lǐng)域,大部分采用共享內(nèi)存方式的網(wǎng)絡(luò)數(shù)據(jù)包傳輸方式,本系統(tǒng)發(fā)明的創(chuàng)新點(diǎn)在于(I)本系統(tǒng)發(fā)明采用了授權(quán)拷貝技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)的實(shí)際傳輸過程,支持雙向通信;(2)本系統(tǒng)發(fā)明支持PV和HVM兩種類型的客戶虛擬機(jī);(3)本系統(tǒng)發(fā)明既可以支持Linux系統(tǒng),又可以應(yīng)用在Windows系統(tǒng)上,基于與系統(tǒng)平臺(tái)無關(guān);(4)本系統(tǒng)發(fā)明可支持域間通信通道的動(dòng)態(tài)建立和撤銷。


圖1雙向域間通信通道系統(tǒng)構(gòu)成2單向I/O共享環(huán)組件原理示意3基于授權(quán)拷貝技術(shù)的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)傳輸流程原理示意圖
具體實(shí)施例方式如圖1所示,雙向域間通信通道系統(tǒng)是建在兩個(gè)客戶虛擬機(jī)域之間的,對(duì)每個(gè)虛擬機(jī)而言,域間通信通道系統(tǒng)都是由發(fā)送方向通道子系統(tǒng)、接收方向通道子系統(tǒng)和事件通道構(gòu)成的。其中,單向通道子系統(tǒng)依賴于一個(gè)單向的I/o共享環(huán)組件,該組件通過共享內(nèi)存方式實(shí)現(xiàn)在發(fā)送和接收兩端虛擬機(jī)之間的數(shù)據(jù)共享;事件通道是一種客戶虛擬機(jī)之間的異步事件通道機(jī)制。每個(gè)虛擬機(jī)都需要申請(qǐng)自己的發(fā)送方向通道子系統(tǒng)的內(nèi)存資源,再由接收端虛擬機(jī)通過內(nèi)存共享映射到其虛擬地址空間中作為自己的接受方向通道子系統(tǒng)。事件通道則可以由任一方虛擬機(jī)申請(qǐng)建立,再由對(duì)端虛擬機(jī)進(jìn)行連接,從而達(dá)到雙向通信的能力。網(wǎng)絡(luò)數(shù)據(jù)包從發(fā)送端虛擬機(jī)經(jīng)由發(fā)送方向通道子系統(tǒng)傳輸?shù)浇邮斩颂摂M機(jī)的過程主要是通過單向的I/o共享環(huán)組件來實(shí)現(xiàn)的。單向I/O共享環(huán)組件的構(gòu)成如圖2所示,它是由I個(gè)I/O環(huán)共享頁和I個(gè)控制共享頁構(gòu)成??刂乒蚕眄摫4媪税l(fā)送和接收兩端虛擬機(jī)的共享數(shù)據(jù)變量,而I/o環(huán)共享頁則是由保存在共享控制頁中的請(qǐng)求生產(chǎn)者、請(qǐng)求消費(fèi)者、響應(yīng)生產(chǎn)者和響應(yīng)消費(fèi)者四個(gè)指針變量進(jìn)行控制管理。發(fā)送端虛擬機(jī)作為請(qǐng)求生產(chǎn)者,會(huì)在請(qǐng)求隊(duì)列中寫入網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送請(qǐng)求描述符,同時(shí)會(huì)更新雙方虛擬機(jī)共享的請(qǐng)求指針;接收端虛擬機(jī)作為響應(yīng)生產(chǎn)者,將處理網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送請(qǐng)求并移除這些請(qǐng)求,更新其私有的請(qǐng)求消費(fèi)者指針,把請(qǐng)求對(duì)應(yīng)的響應(yīng)放在隊(duì)列中,同時(shí)更新共享的響應(yīng)生產(chǎn)者指針。發(fā)送端虛擬機(jī)既發(fā)送I/o請(qǐng)求,又作為響應(yīng)消費(fèi)者,更新其私有的響應(yīng)消費(fèi)者指針。在I/O共享環(huán)組件的I/O環(huán)共享頁面空間中,請(qǐng)求生產(chǎn)者和請(qǐng)求消費(fèi)者指針之間的空間表示的是發(fā)送端已發(fā)送但接收端未接收處理的數(shù)據(jù)包I/o請(qǐng)求,請(qǐng)求消費(fèi)者和響應(yīng)生產(chǎn)者指針之間表示的是接收端已接收但未完成請(qǐng)求響應(yīng)的數(shù)據(jù)包I/O請(qǐng)求,響應(yīng)生產(chǎn)者和響應(yīng)消費(fèi)者指針之間表示的是接收端已完成接收但發(fā)送端未完成響應(yīng)處理的數(shù)據(jù)包I/o響應(yīng)。通過域間通信通道系統(tǒng)進(jìn)行完整的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送和接收的流程如圖3所示,圖中以Linux系統(tǒng)中的skb_buff網(wǎng)絡(luò)數(shù)據(jù)包表示形式為例說明。網(wǎng)絡(luò)數(shù)據(jù)包經(jīng)由域間通信通道系統(tǒng)進(jìn)行傳輸?shù)牡谝徊骄褪菍l(fā)送端的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)實(shí)際占用的物理內(nèi)存頁面授權(quán)給接收端虛擬機(jī)能夠進(jìn)行拷貝;然后再將該數(shù)據(jù)包的完整信息描述符寫入到I/O共享環(huán)中,圖例中的數(shù)據(jù)包描述符包括了數(shù)據(jù)包數(shù)據(jù)實(shí)際占用的3個(gè)內(nèi)存頁面,其完整描述符占用了 3個(gè)I/O共享環(huán)描述項(xiàng),同時(shí)更新I/O共享環(huán)中的控制共享頁中的相應(yīng)指針變量的值;在完成數(shù)據(jù)包描述符的寫入后,通過事件通道觸發(fā)接收端虛擬機(jī)的數(shù)據(jù)包接收流程;在接收端接到事件通道通告后,就會(huì)將對(duì)應(yīng)的數(shù)據(jù)包發(fā)送請(qǐng)求描述符從I/O共享環(huán)中讀出,生成對(duì)應(yīng)的數(shù)據(jù)包內(nèi)核表示數(shù)據(jù)結(jié)構(gòu);根據(jù)數(shù)據(jù)包發(fā)送請(qǐng)求描述符中每一項(xiàng)的描述,接收端虛擬機(jī)申請(qǐng)對(duì)應(yīng)數(shù)量的內(nèi)核態(tài)內(nèi)存頁,同時(shí)構(gòu)建授權(quán)拷貝操作的數(shù)據(jù)結(jié)構(gòu)內(nèi)容;最后,接收端把構(gòu)建好的授權(quán)拷貝的數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞給內(nèi)存拷貝超級(jí)調(diào)用,陷入到超級(jí)調(diào)用操作中由Xen完成數(shù)據(jù)包數(shù)據(jù)的拷貝。在完成上述傳輸過程過后,接收端虛擬機(jī)便可以通過上層網(wǎng)絡(luò)協(xié)議棧所提供的對(duì)應(yīng)接口,向上層網(wǎng)絡(luò)協(xié)議棧遞交接收到的網(wǎng)絡(luò)數(shù)據(jù)包。
權(quán)利要求
1.一種客戶虛擬機(jī)域間通信通道系統(tǒng),由發(fā)送方向通道子系統(tǒng)、接收方向通道子系統(tǒng)和一個(gè)事件通道構(gòu)成,通過在一對(duì)客戶虛擬機(jī)域之間建立直接連接的域間通信通道,支持虛擬機(jī)直接的雙向網(wǎng)絡(luò)通信。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于: 發(fā)送方向通道子系統(tǒng)和接收方向通道子系統(tǒng)共同提供對(duì)雙向域間通信功能的支持,每個(gè)通道子系統(tǒng)都是基于單向I/O共享環(huán)組件,其中發(fā)送方向通道子系統(tǒng)的資源由發(fā)送端虛擬機(jī)申請(qǐng)建立,同時(shí)又被接收端虛擬機(jī)通過授權(quán)映射進(jìn)行共享,作為接收端虛擬機(jī)的接收方向通道子系統(tǒng)的資源; 單向I/O共享環(huán)組件通過內(nèi)存授權(quán)映射實(shí)現(xiàn)發(fā)送和接收兩端虛擬機(jī)之間的共享訪問,由一個(gè)I/O環(huán)共享頁和一個(gè)控制共享頁構(gòu)成,其中,I/O環(huán)共享頁存儲(chǔ)著由發(fā)送方寫入的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送請(qǐng)求描述符供接收方進(jìn)行讀取;共享控制頁是虛擬機(jī)之間建立起來的共享內(nèi)存頁,用于存儲(chǔ)虛擬機(jī)雙方共享的關(guān)鍵數(shù)據(jù); 事件通道是建立在發(fā)送和接收兩端虛擬機(jī)之間的雙向異步消息通信通道,用于發(fā)送端虛擬機(jī)在將完整的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送請(qǐng)求描述符寫入到I/o共享環(huán)后向接收端虛擬機(jī)進(jìn)行消息通告; 接收端通過讀取所述請(qǐng)求描述符的信息,發(fā)起授權(quán)拷貝超級(jí)調(diào)用,完成網(wǎng)絡(luò)包內(nèi)存頁面數(shù)據(jù)的拷貝,從而實(shí)現(xiàn)虛擬機(jī)之間的網(wǎng)絡(luò)通信。
3.如權(quán)利要求1所述 的系統(tǒng),其特征在于,該系統(tǒng)獨(dú)立于具體操作系統(tǒng)類型。
全文摘要
一種在多核虛擬化環(huán)境下的基于授權(quán)拷貝的客戶虛擬機(jī)域間通信通道系統(tǒng),它是由發(fā)送方向通道子系統(tǒng)、接收方向通道子系統(tǒng)和一個(gè)事件通道構(gòu)成的。其中,單向I/O共享環(huán)是構(gòu)成雙向域間通信通道子系統(tǒng)的主要組件,它是通過Xen底層的虛擬機(jī)內(nèi)存頁共享機(jī)制建立起來的共享內(nèi)存頁面,由一個(gè)I/O環(huán)共享頁和一個(gè)共享控制頁構(gòu)成的;事件通道用于發(fā)送端虛擬機(jī)在將完整的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送請(qǐng)求描述符寫入到I/O共享環(huán)后,向接收端虛擬機(jī)進(jìn)行發(fā)送通告的。該系統(tǒng)通過在一對(duì)客戶虛擬機(jī)域之間建立直接連接的域間通信通道,支持虛擬機(jī)進(jìn)行雙向網(wǎng)絡(luò)通信,可支持Linux和Windows兩種不同類型的虛擬機(jī)操作系統(tǒng),同時(shí)也可支持PV和HVM兩種類型的Xen客戶虛擬機(jī)。
文檔編號(hào)G06F9/455GK103077153SQ20131004260
公開日2013年5月1日 申請(qǐng)日期2013年2月1日 優(yōu)先權(quán)日2013年2月1日
發(fā)明者白躍彬, 馬耀, 呂多, 彭遠(yuǎn)峰 申請(qǐng)人:北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
酉阳| 盐边县| 宜黄县| 浠水县| 英吉沙县| 铁岭市| 怀宁县| 南宁市| 抚顺市| 从江县| 阿拉善盟| 广州市| 平顶山市| 朔州市| 永登县| 乌什县| 陆丰市| 湖南省| 定安县| 永州市| 阆中市| 沙雅县| 斗六市| 宝山区| 普陀区| 平陆县| 郸城县| 中牟县| 建始县| 微山县| 伊宁县| 冕宁县| 麻栗坡县| 渭南市| 鹰潭市| 勐海县| 綦江县| 同仁县| 南川市| 藁城市| 武隆县|