两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置及方法與流程

文檔序號(hào):11250689閱讀:474來(lái)源:國(guó)知局
一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置及方法與流程

本發(fā)明涉及計(jì)算機(jī)虛擬化技術(shù)領(lǐng)域,尤其涉及一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置及方法。



背景技術(shù):

虛擬化是云計(jì)算關(guān)鍵技術(shù)之一。虛擬化技術(shù)可以將一臺(tái)物理計(jì)算機(jī)系統(tǒng)虛擬化為一臺(tái)或多臺(tái)虛擬計(jì)算機(jī)系統(tǒng)。每個(gè)虛擬計(jì)算機(jī)系統(tǒng)(簡(jiǎn)稱為客戶機(jī)或虛擬機(jī))都擁有自己的虛擬硬件(如cpu、內(nèi)存和設(shè)備等),來(lái)提供一個(gè)獨(dú)立的虛擬機(jī)執(zhí)行環(huán)境。而運(yùn)行虛擬機(jī)的真實(shí)物理計(jì)算機(jī)系統(tǒng)則成為宿主機(jī)。虛擬化技術(shù)由于其具有的容錯(cuò)性和高資源利用率而廣泛應(yīng)用在云計(jì)算和高性能計(jì)算等領(lǐng)域。目前比較有代表性的云計(jì)算提供商包括阿里云和亞馬遜云等。

在虛擬化環(huán)境里,虛擬機(jī)監(jiān)視器(virtualmachinemanagement,vmm)是存在于硬件和操作系統(tǒng)之間的一個(gè)軟件管理層,其主要負(fù)責(zé)管理真實(shí)的物理資源,如cpu、內(nèi)存及i/o設(shè)備等,并將底層的硬件資源抽象為對(duì)應(yīng)的虛擬設(shè)備接口供虛擬機(jī)使用

與此同時(shí),非一致性內(nèi)存訪問(wèn)(non-uniformmemoryaccess,numa)架構(gòu)因其可擴(kuò)展性已經(jīng)成為了現(xiàn)代服務(wù)器的主流架構(gòu)。如圖1所示,numa架構(gòu)的基本特征是具有多個(gè)cpu模塊,每個(gè)cpu模塊由多個(gè)cpu核(如8個(gè))組成,并且具有獨(dú)立的本地內(nèi)存、i/o插槽等。由于其節(jié)點(diǎn)之間通過(guò)互聯(lián)模塊(如intel的quickpathinterconnect)進(jìn)行連接和信息交互,因此每個(gè)cpu可以訪問(wèn)整個(gè)系統(tǒng)的內(nèi)存。顯然,訪問(wèn)本地內(nèi)存的速度將遠(yuǎn)遠(yuǎn)高于訪問(wèn)遠(yuǎn)程內(nèi)存(系統(tǒng)內(nèi)其它節(jié)點(diǎn)的內(nèi)存)的速度。numa架構(gòu)給虛擬機(jī)的性能優(yōu)化帶來(lái)了明顯的挑戰(zhàn),因?yàn)樗拗鳈C(jī)的numa拓?fù)浼軜?gòu)對(duì)于虛擬機(jī)來(lái)說(shuō)往往是透明不可見的。

現(xiàn)在基本上所有的虛擬機(jī)監(jiān)視器,包括xen,kvm和vmwareesxi采用的方法都是盡量將一個(gè)虛擬機(jī)的虛擬cpu(vcpu)和所有的內(nèi)存都調(diào)度到一個(gè)節(jié)點(diǎn)上來(lái)保持本地訪問(wèn),但是這種方法存在很大的缺陷,因?yàn)橄到y(tǒng)的負(fù)載均衡技術(shù)和其他技術(shù)會(huì)動(dòng)態(tài)的平衡cpu和內(nèi)存間的負(fù)載,導(dǎo)致原本的放置策略被干擾,最后使策略失效。因此,在numa架構(gòu)下,如何對(duì)虛擬機(jī)的vcpu和內(nèi)存進(jìn)行調(diào)度優(yōu)化,已成為如今的一個(gè)熱門研究領(lǐng)域。

然而,研究人員在研究numa調(diào)度優(yōu)化算法時(shí),除了實(shí)現(xiàn)算法,還需要考慮如何在特定平臺(tái)系統(tǒng)上實(shí)現(xiàn)虛擬機(jī)性能信息、系統(tǒng)numa拓?fù)湫畔⒌鹊氖占?,虛擬機(jī)vcpu和內(nèi)存的調(diào)度等具體的細(xì)節(jié)。除此之外,在實(shí)現(xiàn)numa調(diào)度優(yōu)化算法時(shí),還需要考慮不同的vmm,比如xen,kvm的接口的不同,這對(duì)于numa調(diào)度優(yōu)化算法研究來(lái)說(shuō),是很大的負(fù)擔(dān),嚴(yán)重影響了研究者研究numa調(diào)度優(yōu)化算法的效率。

因此,本領(lǐng)域的技術(shù)人員致力于開發(fā)一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置及方法,在numa架構(gòu)下,通過(guò)發(fā)明的一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置,研究者只需關(guān)注numa調(diào)度優(yōu)化算法的實(shí)現(xiàn),無(wú)需操心虛擬機(jī)信息、性能等數(shù)據(jù)的收集和虛擬機(jī)的具體調(diào)度等細(xì)節(jié),從而極大的提高研究者的研究效率。



技術(shù)實(shí)現(xiàn)要素:

有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問(wèn)題是開發(fā)一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置及方法,在numa架構(gòu)下,通過(guò)發(fā)明的一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置,研究者只需關(guān)注numa調(diào)度優(yōu)化算法的實(shí)現(xiàn),無(wú)需操心虛擬機(jī)信息、性能等數(shù)據(jù)的收集和虛擬機(jī)的具體調(diào)度等細(xì)節(jié),從而極大的提高研究者的研究效率。

為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置,包括性能監(jiān)控模塊、算法實(shí)現(xiàn)接口模塊和虛擬機(jī)調(diào)度模塊;其中,

性能監(jiān)控模塊被設(shè)置為通過(guò)使用操作系統(tǒng)內(nèi)核的性能監(jiān)控單元來(lái)監(jiān)控特定的性能事件;

算法實(shí)現(xiàn)接口模塊被設(shè)置為通過(guò)暴露虛擬機(jī)調(diào)度函數(shù)接口給研究者實(shí)現(xiàn),并將性能監(jiān)控模塊的信息傳遞給算法實(shí)現(xiàn)者,算法實(shí)現(xiàn)者通過(guò)函數(shù)返回調(diào)度決策;

虛擬機(jī)調(diào)度模塊被設(shè)置為根據(jù)算法實(shí)現(xiàn)接口模塊返回的調(diào)度決策進(jìn)行相應(yīng)的虛擬機(jī)vcpu和虛擬機(jī)內(nèi)存的調(diào)度。

進(jìn)一步地,性能監(jiān)控模塊監(jiān)控的性能事件包括虛擬機(jī)的cpu使用率、內(nèi)存使用率、緩存丟失率和i/o性能數(shù)據(jù)。

本發(fā)明還提供了一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置的方法,包括以下步驟:

步驟1、性能監(jiān)控模塊獲取宿主機(jī)numa拓?fù)湫畔?,并通過(guò)內(nèi)核pmu監(jiān)控虛擬機(jī)性能事件;

步驟2、將宿主機(jī)numa拓?fù)湫畔⒑吞摂M機(jī)性能事件傳遞給算法實(shí)現(xiàn)接口模塊;

步驟3、算法實(shí)現(xiàn)接口模塊調(diào)用算法,等待調(diào)度算法執(zhí)行完畢后將調(diào)度算法得出的調(diào)度決策傳遞給虛擬機(jī)調(diào)度模塊;

步驟4、虛擬機(jī)調(diào)度模塊根據(jù)算法實(shí)現(xiàn)接口模塊傳遞的調(diào)度決策對(duì)虛擬機(jī)vcpu和內(nèi)存的調(diào)度;

步驟5、虛擬機(jī)調(diào)度完成后,跳轉(zhuǎn)到步驟1中繼續(xù)對(duì)虛擬機(jī)進(jìn)行性能監(jiān)控。

進(jìn)一步地,調(diào)度算法包括:貪心算法。

進(jìn)一步地,宿主機(jī)numa拓?fù)湫畔╪uma節(jié)點(diǎn)數(shù)目、各個(gè)numa節(jié)點(diǎn)之間的距離以及i/o設(shè)備所連接的numa節(jié)點(diǎn)。

進(jìn)一步地,步驟1具體包括通過(guò)虛擬機(jī)監(jiān)視器vmm實(shí)時(shí)監(jiān)控虛擬機(jī)的cpu使用率、內(nèi)存使用率、i/o使用率等性能事件,通過(guò)操作系統(tǒng)內(nèi)核的性能監(jiān)控單元實(shí)時(shí)監(jiān)控操作系統(tǒng)的緩存丟失率、虛擬機(jī)指令執(zhí)行的每秒周期數(shù)等性能事件,并獲得宿主機(jī)的非一致性內(nèi)存訪問(wèn)架構(gòu)的拓?fù)浣Y(jié)構(gòu)。

本發(fā)明有以下技術(shù)效果

(1)考慮了i/o設(shè)備的和處理器節(jié)點(diǎn)的親和性,在傳統(tǒng)的建模方法上添加了一個(gè)維度,系統(tǒng)更加能夠反映出當(dāng)今高性能i/o環(huán)境下的i/o設(shè)備的重要性;

(2)通過(guò)使用內(nèi)核pmu來(lái)監(jiān)控虛擬機(jī)性能事件,極大地減少了虛擬機(jī)性能監(jiān)控的開銷;

(3)通過(guò)將虛擬機(jī)調(diào)度裝置分為三個(gè)模塊,減少了模塊之間的耦合度,每個(gè)模塊之間可以獨(dú)立設(shè)計(jì)開發(fā),提高了研究者的研究開發(fā)效率。

以下將結(jié)合附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說(shuō)明,以充分地了解本發(fā)明的目的、特征和效果。

附圖說(shuō)明

圖1是本發(fā)明的一個(gè)較佳實(shí)施例的一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置的非一致性內(nèi)存訪問(wèn)架構(gòu)示意圖

圖2是本發(fā)明的一個(gè)較佳實(shí)施例的一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置的系統(tǒng)架構(gòu)示意圖。

圖3是本發(fā)明的一個(gè)較佳實(shí)施例的一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度方法的運(yùn)行流程示意圖。

具體實(shí)施方式

如圖2所示,本發(fā)明的一較佳實(shí)施例提供了一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置,其特征在于,包括性能監(jiān)控模塊、算法實(shí)現(xiàn)接口模塊和虛擬機(jī)調(diào)度模塊;其中,性能監(jiān)控模塊被設(shè)置為通過(guò)使用操作系統(tǒng)內(nèi)核的性能監(jiān)控單元來(lái)監(jiān)控特定的性能事件;算法實(shí)現(xiàn)接口模塊被設(shè)置為通過(guò)暴露虛擬機(jī)調(diào)度函數(shù)接口給研究者實(shí)現(xiàn),并將性能監(jiān)控模塊的信息傳遞給算法實(shí)現(xiàn)者,算法實(shí)現(xiàn)者通過(guò)函數(shù)返回調(diào)度決策;虛擬機(jī)調(diào)度模塊被設(shè)置為根據(jù)算法實(shí)現(xiàn)接口模塊返回的調(diào)度決策進(jìn)行相應(yīng)的虛擬機(jī)vcpu和虛擬機(jī)內(nèi)存的調(diào)度。

性能監(jiān)控模塊監(jiān)控的性能事件包括虛擬機(jī)的cpu使用率、內(nèi)存使用率、緩存丟失率和i/o性能數(shù)據(jù)。

如圖3所示,本發(fā)明的一較佳實(shí)施例提供了一種非一致性內(nèi)存訪問(wèn)架構(gòu)下的虛擬機(jī)調(diào)度裝置的方法,其特征在于,包括以下步驟:

步驟1、性能監(jiān)控模塊獲取宿主機(jī)numa拓?fù)湫畔?,并通過(guò)內(nèi)核pmu監(jiān)控虛擬機(jī)性能事件;

步驟2、將宿主機(jī)numa拓?fù)湫畔⒑吞摂M機(jī)性能事件傳遞給算法實(shí)現(xiàn)接口模塊;宿主機(jī)numa拓?fù)湫畔╪uma節(jié)點(diǎn)數(shù)目、各個(gè)numa節(jié)點(diǎn)之間的距離以及i/o設(shè)備所連接的numa節(jié)點(diǎn)。

步驟3、算法實(shí)現(xiàn)接口模塊調(diào)用算法,等待調(diào)度算法執(zhí)行完畢后將調(diào)度算法得出的調(diào)度決策傳遞給虛擬機(jī)調(diào)度模塊;

步驟4、虛擬機(jī)調(diào)度模塊根據(jù)算法實(shí)現(xiàn)接口模塊傳遞的調(diào)度決策對(duì)虛擬機(jī)vcpu和內(nèi)存的調(diào)度;

步驟5、虛擬機(jī)調(diào)度完成后,跳轉(zhuǎn)到步驟1中繼續(xù)對(duì)虛擬機(jī)進(jìn)行性能監(jiān)控。

其中,所述調(diào)度算法為貪心算法,其算法流程包括:

(1)算法輸入為所述性能監(jiān)控模塊傳遞的宿主機(jī)numa拓?fù)湫畔⒑吞摂M機(jī)性能

事件;

(2)通過(guò)以下公式判斷虛擬機(jī)是否是i/o密集型虛擬機(jī):

ifpacketspersecondvm>threshhold

其中,packetspersecondvm為所述性能監(jiān)控模塊所監(jiān)控出來(lái)的虛擬機(jī)的每秒收發(fā)

網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)目,threshhold為預(yù)定義的一個(gè)閾值。

(3)如果通過(guò)公式判斷出虛擬機(jī)是i/o密集型虛擬機(jī),則進(jìn)一步通過(guò)以下公式判

斷應(yīng)該將虛擬機(jī)調(diào)度到哪個(gè)numa節(jié)點(diǎn);

其中,n表示某個(gè)numa節(jié)點(diǎn),n表示所述性能監(jiān)控模塊所提供的numa節(jié)點(diǎn)數(shù)目,mem[n]表示虛擬機(jī)分布在numa節(jié)點(diǎn)n的內(nèi)存頁(yè)數(shù)目,該數(shù)據(jù)也是由所述性能監(jiān)控模塊所提供。anmmatrix(n)則是所述性能監(jiān)控模塊所提供的numa節(jié)點(diǎn)之間的距離。對(duì)于n個(gè)numa節(jié)點(diǎn),算法選取出通過(guò)上述公式計(jì)算得到的值最大的節(jié)點(diǎn),并將虛擬機(jī)調(diào)度到該節(jié)點(diǎn)。

(4),如果虛擬機(jī)不是i/o密集型虛擬機(jī),則通過(guò)以下公式判斷應(yīng)該將虛擬機(jī)調(diào)度到哪個(gè)numa節(jié)點(diǎn):

其中,n表示宿主機(jī)的numa節(jié)點(diǎn)數(shù)目,cpu[c]表示虛擬機(jī)在節(jié)點(diǎn)c的cpu使用率,mem[n]表示虛擬機(jī)分布在numa節(jié)點(diǎn)n的內(nèi)存頁(yè)數(shù)目,anmmatrix(n)則是所述性能監(jiān)控模塊所提供的numa節(jié)點(diǎn)之間的距離。對(duì)于n個(gè)numa節(jié)點(diǎn),算法通過(guò)上述公式計(jì)算得到每個(gè)節(jié)點(diǎn)的值,然后選取值最大的節(jié)點(diǎn)并將虛擬機(jī)調(diào)度到該節(jié)點(diǎn)。

(5)算法返回根據(jù)上述流程所得出的虛擬機(jī)調(diào)度決策。

其中,步驟1具體包括通過(guò)虛擬機(jī)監(jiān)視器vmm實(shí)時(shí)監(jiān)控虛擬機(jī)的cpu使用率、內(nèi)存使用率、i/o使用率等性能事件,通過(guò)操作系統(tǒng)內(nèi)核的性能監(jiān)控單元實(shí)時(shí)監(jiān)控操作系統(tǒng)的緩存丟失率、虛擬機(jī)指令執(zhí)行的每秒周期數(shù)等性能事件,并獲得宿主機(jī)的非一致性內(nèi)存訪問(wèn)架構(gòu)的拓?fù)湫畔ⅰ?/p>

以上詳細(xì)描述了本發(fā)明的較佳具體實(shí)施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)人員無(wú)需創(chuàng)造性勞動(dòng)就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過(guò)邏輯分析、推理或者有限的實(shí)驗(yàn)可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
张掖市| 池州市| 丹江口市| 青神县| 华安县| 德昌县| 盐源县| 仙桃市| 泗水县| 鄂托克旗| 漾濞| 郴州市| 涟水县| 阿图什市| 泾源县| 荔波县| 康定县| 菏泽市| 鸡东县| 永嘉县| 藁城市| 昌邑市| 南涧| 张家川| 松阳县| 芦溪县| 重庆市| 嵩明县| 大竹县| 聊城市| 赫章县| 清水河县| 霍林郭勒市| 洛南县| 永昌县| 丁青县| 随州市| 金川县| 晋宁县| 都兰县| 萍乡市|