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

云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法

文檔序號(hào):10488796閱讀:604來源:國(guó)知局
云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法
【專利摘要】本發(fā)明公開云環(huán)境中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,基于各虛擬機(jī)資源需求的當(dāng)前信息和未來預(yù)測(cè)信息,在多個(gè)虛擬機(jī)和多個(gè)物理節(jié)點(diǎn)之間動(dòng)態(tài)建立新映射,既保證各應(yīng)用服務(wù)質(zhì)量,又能極大改善新的虛擬機(jī)放置方案中各物理節(jié)點(diǎn)的穩(wěn)定性,同時(shí),在虛擬機(jī)從舊放置狀態(tài)轉(zhuǎn)向新放置狀態(tài)的過程中避免大量虛擬機(jī)的遷移。通過本發(fā)明的方案,能夠在多虛擬機(jī)重新放置時(shí)保證服務(wù)質(zhì)量,具有較小的虛擬機(jī)遷移次數(shù),同時(shí)保證各物理節(jié)點(diǎn)具有較長(zhǎng)的穩(wěn)定時(shí)間。
【專利說明】
云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及云計(jì)算領(lǐng)域,尤其涉及云環(huán)境中一種基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方 法。
【背景技術(shù)】
[0002] 云計(jì)算服務(wù)為用戶提供數(shù)據(jù)處理、存儲(chǔ)等計(jì)算資源,用戶可以在其申請(qǐng)到的虛擬 資源中部署或運(yùn)行應(yīng)用程序,而不需要了解計(jì)算資源提供過程的細(xì)節(jié)。而系統(tǒng)虛擬化技術(shù) 使得資源的動(dòng)態(tài)配置成為可能,實(shí)現(xiàn)資源的按需分配,提高資源利用率。隨著數(shù)據(jù)中心規(guī)模 的日益增大,云平臺(tái)服務(wù)器的數(shù)目不斷增加,而用戶應(yīng)用的資源需求也在不斷地變化,急需 提高云平臺(tái)的動(dòng)態(tài)資源調(diào)度能力,在保證用戶應(yīng)用的服務(wù)質(zhì)量的前提下最大化資源利用 率。
[0003] 目前常常采用約束規(guī)劃、遺傳算法等解決上述問題,但是忽略云平臺(tái)中各物理節(jié) 點(diǎn)的負(fù)載穩(wěn)定性因素,造成新的虛擬機(jī)放置方式中物理節(jié)點(diǎn)在不久的將來又重新出現(xiàn)新的 資源熱點(diǎn)或應(yīng)用負(fù)載過重等狀態(tài),激發(fā)新的資源配置請(qǐng)求,導(dǎo)致頻繁的虛擬機(jī)迀移而造成 應(yīng)用性能下降等問題。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明的目的在于提供一種能使云平臺(tái)內(nèi)物理節(jié)點(diǎn)具有較長(zhǎng)穩(wěn)定時(shí)間的虛擬機(jī) 放置方法。
[0005] 為解決上述問題,本發(fā)明云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法采用了如下 技術(shù)方案:
[0006] 云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,包括如下步驟:
[0007] Sl、將云平臺(tái)中虛擬機(jī)和物理節(jié)點(diǎn)的映射關(guān)系采用組編碼的方式來表示;
[0008] S2、為遺傳算法建立初始代種群,種群大小為PSIZE,所述初始代種群用于產(chǎn)生新 的子代個(gè)體,其中,個(gè)體即為染色體;
[0009] S3、執(zhí)行遺傳算法,生成最后一代第GSIZE代種群;
[0010] S4、在最后一代第GSIZE代種群中,選出Tgain值最大的個(gè)體,該個(gè)體即為新的虛擬 機(jī)放置方案的組編碼;
[0011] 其中,Tgain=TtwtafsrNumtfzgatMitXTwiBMS]
[0012] 桐為該個(gè)體包含的所有已使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間的最小值,
[0013] 為將個(gè)體所描述的所有虛擬機(jī)的放置方式和虛擬機(jī)的當(dāng)前放置方式進(jìn) 行比較,具有不同放置方式的虛擬機(jī)的個(gè)數(shù),
[0014] TwESMS]為系統(tǒng)常量。
[0015] 進(jìn)一步的,步驟Sl具體包括:
[0016] SlO:將放置有虛擬機(jī)的物理節(jié)點(diǎn)Pj上的虛擬機(jī)Vil, Vi2,···,Vik整體表示為組編碼Pj {ViI,Vi2,…,Vik},或者PjS j,集合Sj = {Vi1,Vi2,…,Vik}),
[0017] 其中丨1,丨2,.",丨1^[1,捫』為云平臺(tái)中虛擬機(jī)總數(shù)目,_]_[[1,]\1],]\1為云平臺(tái)中物 理節(jié)點(diǎn)總數(shù)目;
[0018] 將放置有虛擬機(jī)的物理節(jié)點(diǎn)匕的節(jié)點(diǎn)狀態(tài)定義為"已使用",S# Φ ;沒有放置任何 虛擬機(jī)的物理節(jié)點(diǎn)匕的節(jié)點(diǎn)狀態(tài)定義為"未使用",Sj= Φ ;
[0019] Sll:將云平臺(tái)中所有物理節(jié)點(diǎn)的組編碼按照物理節(jié)點(diǎn)的序號(hào)依次排列,形成一個(gè) 個(gè)體編碼,所述個(gè)體編碼表示為如下表達(dá)式:
[0020] (PiSi,P2S2, . . .,PmSm) (1)
[0021]
[0022]
[0023]進(jìn)一步的,步驟S2具體包括:
[0024] S20:將云平臺(tái)中多個(gè)虛擬機(jī)和物理節(jié)點(diǎn)的當(dāng)前映射狀態(tài)用組編碼方式描述出來, 作為初始代種群的一個(gè)個(gè)體;
[0025] S21:隨機(jī)生成PSIZE-I種虛擬機(jī)在物理節(jié)點(diǎn)上的不同的放置方案,每個(gè)虛擬機(jī)放 置方案對(duì)應(yīng)的組編碼均作為初始代種群的一個(gè)個(gè)體。
[0026]進(jìn)一步的,步驟S3具體包括:
[0027] S30:將步驟S2中生成的初始代種群作為父代種群;
[0028] S31:所述父代種群以交叉概率pc、變異概率pv遺傳生成2XPSIZE個(gè)子代個(gè)體;
[0029] S32:將所述2 X PSIZE個(gè)子代個(gè)體和PSIZE個(gè)父代個(gè)體合并成包含3 X PSIZE個(gè)個(gè)體 的集合PSet,使用NSGA-II算法對(duì)該集合pSet中的個(gè)體進(jìn)行分級(jí)排序,形成排序隊(duì)列 pQueue,取出排序隊(duì)列pQueue中頭PSIZE個(gè)個(gè)體,作為新一代種群;
[0030] S33:如果遺傳的種群代數(shù)未達(dá)到GSIZE,則將新一代種群作為父代種群,轉(zhuǎn)到步驟 S31〇
[0031] 進(jìn)一步的,步驟S31具體包括:
[0032] S310:從父代種群中隨機(jī)選擇兩個(gè)個(gè)體chml和chm2,以交叉概率pc進(jìn)行交叉操作, 如果這兩個(gè)個(gè)體交叉,則轉(zhuǎn)到步驟S311,否則,轉(zhuǎn)到步驟S310;
[0033] S311:在個(gè)體chml中隨機(jī)選擇一個(gè)已使用的物理節(jié)點(diǎn)Pi,在個(gè)體chm2中隨機(jī)選擇 一個(gè)已使用的物理節(jié)點(diǎn)Pj,交換這兩個(gè)物理節(jié)點(diǎn)Pi、Pj上的虛擬機(jī),并相應(yīng)修改個(gè)體chml和 chm2的組編碼表示;
[0034] S312:如果個(gè)體chml中物理節(jié)點(diǎn)Pi上的某個(gè)虛擬機(jī)和其它物理節(jié)點(diǎn)Pk上的某個(gè)虛 擬機(jī)相同,則將物理節(jié)點(diǎn)Pk的狀態(tài)由"已使用"變成"未使用",并為物理節(jié)點(diǎn)Pk上的每一個(gè)虛 擬機(jī)分別按照首次適應(yīng)算法在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置 節(jié)點(diǎn),新的放置節(jié)點(diǎn)必須有足夠的空閑資源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn), 則在未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體Chml 的組編碼表示,得到一個(gè)個(gè)體chml \
[0035] S313:如果個(gè)體chm2中物理節(jié)點(diǎn)Pj上的某個(gè)虛擬機(jī)和其它物理節(jié)點(diǎn)Pi上的某個(gè)虛 擬機(jī)相同,則將物理節(jié)點(diǎn)Pi的狀態(tài)由"已使用"變成"未使用",并為物理節(jié)點(diǎn)Pi上的每一個(gè)虛 擬機(jī)分別按照首次適應(yīng)算法在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置 節(jié)點(diǎn),新的放置節(jié)點(diǎn)必須有足夠的空閑資源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn), 則在未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chm2 的組編碼表示,得到一個(gè)個(gè)體chm2 \
[0036] S314:將個(gè)體chml'以變異概率pv進(jìn)行變異,如果該個(gè)體chml'進(jìn)行變異,則轉(zhuǎn)入步 驟S315,否則,將個(gè)體chml'作為子代的一個(gè)個(gè)體,轉(zhuǎn)入步驟S318;
[0037] S315:在個(gè)體chin"中隨機(jī)選擇一個(gè)已使用的物理節(jié)點(diǎn)Ps,將物理節(jié)點(diǎn)P s的狀態(tài)由 "已使用"變成"未使用",并為物理節(jié)點(diǎn)Ps上的每一個(gè)虛擬機(jī)分別按照首次適應(yīng)算法在已使 用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),新的放置節(jié)點(diǎn)必須有足夠的空 閑資源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn),則在未使用的按節(jié)點(diǎn)序號(hào)排列的物 理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chml'的組編碼表示,得到子代的一個(gè)個(gè) 體chml'';
[0038] S316:將個(gè)體chm2'以變異概率pv進(jìn)行變異,如果該個(gè)體chm2'進(jìn)行變異,則轉(zhuǎn)入步 驟S317,否則,將個(gè)體chm2'作為子代的一個(gè)個(gè)體,轉(zhuǎn)入步驟S318;
[0039] S317:在個(gè)體chm2>中隨機(jī)選擇一個(gè)已使用的物理節(jié)點(diǎn)Pt,將物理節(jié)點(diǎn)P t的狀態(tài)由 "已使用"變成"未使用",并為物理節(jié)點(diǎn)Pt上的每一個(gè)虛擬機(jī)分別按照首次適應(yīng)算法在已使 用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列上找到新的放置節(jié)點(diǎn),新的放置節(jié)點(diǎn)必須有足夠的空 閑資源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn),則在未使用的按節(jié)點(diǎn)序號(hào)排列的物 理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chm2'的組編碼表示,得到子代的一個(gè)個(gè) 體chm2,,;
[0040] S318:如果得到的子代個(gè)體總數(shù)小于2XPSIZE,轉(zhuǎn)入步驟S310。
[0041 ]進(jìn)一步的,步驟S32具體包括:
[0042] S320:計(jì)算集合pSet中每個(gè)個(gè)體里包含的每個(gè)已使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間,已 使用的物理節(jié)點(diǎn)Pj的穩(wěn)定時(shí)間計(jì)算如下:基于放置在物理節(jié)點(diǎn)匕上的各虛擬機(jī)的負(fù)載預(yù)測(cè) 信息,從當(dāng)前時(shí)刻到未來物理節(jié)點(diǎn)匕第一次出現(xiàn)負(fù)載過重狀態(tài)的時(shí)刻之間的時(shí)間間隔即為 該物理節(jié)點(diǎn)Pj的穩(wěn)定時(shí)間;
[0043] S321:計(jì)算集合pSet中每個(gè)個(gè)體的穩(wěn)定時(shí)間,個(gè)體的穩(wěn)定時(shí)間為該個(gè)體包含的所 有已使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間的最小值;
[0044] S322:計(jì)算集合pSet中每個(gè)個(gè)體的迀移次數(shù),將個(gè)體所描述的所有虛擬機(jī)的放置 方式和虛擬機(jī)的當(dāng)前放置方式進(jìn)行比較,具有不同放置方式的虛擬機(jī)的個(gè)數(shù)即為個(gè)體的迀 移次數(shù);
[0045] S323:以個(gè)體的穩(wěn)定時(shí)間和個(gè)體的迀移次數(shù)為兩個(gè)目標(biāo),使用NSGA-II算法對(duì)集合 pSet中的個(gè)體進(jìn)行分級(jí)和排序,挑選出最優(yōu)的PSIZE個(gè)個(gè)體,這些個(gè)體具有較長(zhǎng)的穩(wěn)定時(shí)間 和較少的迀移次數(shù)。
[0046] 本發(fā)明云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,基于應(yīng)用虛擬機(jī)的負(fù)載預(yù)測(cè) 信息,通過上述步驟,選取能使云平臺(tái)中各物理節(jié)點(diǎn)在未來較長(zhǎng)時(shí)間內(nèi)保持負(fù)載穩(wěn)定性的 虛擬機(jī)放置方法,這樣既保證虛擬機(jī)應(yīng)用的服務(wù)質(zhì)量,又保證新的虛擬機(jī)放置方式中各物 理節(jié)點(diǎn)在未來較長(zhǎng)時(shí)間內(nèi)不會(huì)出現(xiàn)新的資源熱點(diǎn)或應(yīng)用負(fù)載過重狀態(tài),避免虛擬機(jī)的頻繁 迀移,同時(shí),從虛擬機(jī)的當(dāng)前分布狀態(tài)到這種新的虛擬機(jī)放置方式之間的狀態(tài)轉(zhuǎn)換只需較 少的虛擬機(jī)迀移次數(shù)。
【附圖說明】
[0047]圖1為本發(fā)明云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法的系統(tǒng)框架圖;
[0048]圖2為本發(fā)明云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法的組編碼方式的示意 圖;
[0049] 圖3為本發(fā)明云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法的交叉遺傳的過程示意 圖。
【具體實(shí)施方式】
[0050] 為了進(jìn)一步理解本發(fā)明,下面結(jié)合實(shí)施例對(duì)本發(fā)明優(yōu)選實(shí)施方案進(jìn)行描述,但是 應(yīng)當(dāng)理解,這些描述只是為進(jìn)一步說明本發(fā)明的特征和優(yōu)點(diǎn),而不是對(duì)本發(fā)明權(quán)利要求的 限制。
[0051] 本發(fā)明的基本思想是:將虛擬機(jī)和物理節(jié)點(diǎn)的當(dāng)前映射狀態(tài)采用組編碼方式表 示,并將之作為初始代種群的一個(gè)個(gè)體。隨機(jī)產(chǎn)生初始代種群的其它PSIZE-I個(gè)個(gè)體?;?初始代種群,以個(gè)體的穩(wěn)定時(shí)間和迀移次數(shù)為優(yōu)化目標(biāo),執(zhí)行遺傳算法,生成GSIZE代種群。 在第GSIZE代種群中,選出T gain值最大的個(gè)體,該個(gè)體即為新的虛擬機(jī)放置方案的組編碼。
[0052 ]其中,Tgain = IX櫞NunFHzgat孅 X Tv曬刪|司
[0053]為了實(shí)現(xiàn)上述方案,在一個(gè)實(shí)施例中,本發(fā)明的方法采用了如下步驟:
[0054]步驟1:建立初始種群,種群大小為PSIZE,將虛擬機(jī)和物理節(jié)點(diǎn)的當(dāng)前映射狀態(tài)用 組編碼方式表示出來,如圖2所示實(shí)例方法,隨機(jī)生成初始代種群中其它PSIZE-I個(gè)個(gè)體,隨 機(jī)生成其它PSIZE-I個(gè)個(gè)體的方式具體地包含以下子步驟。
[0055] 步驟1.1:隨機(jī)生成虛擬機(jī)Vi的一個(gè)放置目標(biāo),即物理節(jié)點(diǎn)Pj,若虛擬機(jī)V i與物理節(jié) 點(diǎn)Pj同時(shí)滿足公式(1)和公式(2),則慮擬機(jī)的放詈目標(biāo)為Pj,X ij值由0變?yōu)?;
[0056]
[0057]
[0058] 其中,布爾變量Xkj = 1,表示虛擬機(jī)Vk已放置在物理節(jié)點(diǎn)Pj上,否則,Xkj = 0表示虛 擬機(jī)Vk未放置在物理節(jié)點(diǎn)Pj上,表示虛擬機(jī)Vk申請(qǐng)的處理器資源數(shù)量,表示物理 節(jié)點(diǎn)Pj所能提供的處理器資源總量,表示虛擬機(jī)Vk申請(qǐng)的內(nèi)存資源數(shù)量,表示物 理節(jié)點(diǎn)Pj所能提供的內(nèi)存資源總量。
[0059] 步驟1.2:若在步驟1.1中虛擬機(jī)Vi和物理節(jié)點(diǎn)Pj不滿足公式(1)或者公式(2),則按 照首次適應(yīng)算法為虛擬機(jī)V 1在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中找到新的放置 節(jié)點(diǎn),并同時(shí)滿足公式(1)和公式(2),若找不到,則在未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn) 隊(duì)列中找到新的放置節(jié)點(diǎn);
[0060] 步驟1.3:按照步驟1.1和步驟1.2為剩下的虛擬機(jī)隨機(jī)產(chǎn)生放置的物理節(jié)點(diǎn),形成 初始化種群的一個(gè)個(gè)體;
[0061 ] 步驟1.4:重復(fù)執(zhí)行步驟1.1、步驟1.2和步驟1.3,一共生成PSIZE-I個(gè)個(gè)體。
[0062]步驟2:以步驟1生成的初始代種群為基礎(chǔ),以個(gè)體的穩(wěn)定時(shí)間和迀移次數(shù)為優(yōu)化 目標(biāo),執(zhí)行遺傳算法,生成GSIZE代種群;
[0063] 具體步驟如下:
[0064] 步驟2.1:隨機(jī)選擇兩個(gè)個(gè)體,以交叉概率p。進(jìn)行交叉操作,即,產(chǎn)生一個(gè)0到100之 間的隨機(jī)數(shù)ranNuml,如果ranNuml/100>p。,則這兩個(gè)個(gè)體進(jìn)行交叉操作,否則,這兩個(gè)個(gè)體 不進(jìn)行交叉操作,重新選擇要交叉的兩個(gè)個(gè)體;
[0065]步驟2.2:如果這兩個(gè)個(gè)體交叉,則隨機(jī)選擇兩個(gè)個(gè)體中的交叉點(diǎn),即已使用的物 理節(jié)點(diǎn),互換這兩個(gè)物理節(jié)點(diǎn)上放置的虛擬機(jī),交叉后,若交叉點(diǎn)上的某個(gè)虛擬機(jī)和其它物 理節(jié)點(diǎn)Pi上的某個(gè)虛擬機(jī)相同,則將物理節(jié)點(diǎn)Pi的狀態(tài)由"已使用"變成"未使用",并為物理 節(jié)點(diǎn)Pi上的每一個(gè)虛擬機(jī)分別按照首次適應(yīng)算法在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn) 隊(duì)列中尋找新的放置節(jié)點(diǎn),如果找不到新的放置節(jié)點(diǎn),則在未使用的按節(jié)點(diǎn)序號(hào)排列的物 理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn)。個(gè)體交叉過程如圖3所示實(shí)例方法,兩個(gè)個(gè)體交叉生成兩 個(gè)子代個(gè)體;
[0066] 步驟2.3:對(duì)新產(chǎn)生的每個(gè)個(gè)體以變異概率pv進(jìn)行變異,即,產(chǎn)生一個(gè)0到100之間 的隨機(jī)數(shù)ranNum2,如果ranNum2/100〈pv,則對(duì)該個(gè)體進(jìn)行變異操作;否則對(duì)該個(gè)體不進(jìn)行 變異操作;
[0067]步驟2.4:如果對(duì)個(gè)體進(jìn)行變異操作,則在該個(gè)體中隨機(jī)選擇一個(gè)已使用的物理節(jié) AP1,將物理節(jié)點(diǎn)狀態(tài)由"已使用"變成"未使用",并為該物理節(jié)點(diǎn)P1上每一個(gè)虛擬機(jī)分 別按照首次適應(yīng)算法在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),如 果找不到新的放置節(jié)點(diǎn),則在未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié) 點(diǎn)。
[0068] 步驟2.5:重復(fù)步驟2.1、步驟2.2、步驟2.3和步驟2.4,一共產(chǎn)生2 X PSIZE個(gè)子代個(gè) 體。
[0069] 步驟2.6:將上述步驟產(chǎn)生的2 X PSIZE個(gè)子代個(gè)體和PSIZE個(gè)父代個(gè)體合并成一個(gè) 大的集合pSet。
[0070]步驟2.7:計(jì)算集合pSet中每個(gè)個(gè)體的穩(wěn)定時(shí)間1>($飽_]和迀移次數(shù)Num伸隨!離。 為該個(gè)體包含的所有已使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間的最小值,燦_通_為將個(gè)體 所描述的所有虛擬機(jī)的放置方式和虛擬機(jī)的當(dāng)前放置方式進(jìn)行比較,具有不同放置方式的 虛擬機(jī)的個(gè)數(shù)。而已使用的物理節(jié)點(diǎn)Pj的穩(wěn)定時(shí)間計(jì)算如下:基于放置在物理節(jié)點(diǎn)P j上的各 虛擬機(jī)的負(fù)載預(yù)測(cè)信息,從當(dāng)前時(shí)刻到未來物理節(jié)點(diǎn)匕第一次出現(xiàn)負(fù)載過重狀態(tài)的時(shí)刻之 間的時(shí)間間隔即為該物理節(jié)點(diǎn)匕的穩(wěn)定時(shí)間。
[0071] 步驟2.8:為每個(gè)個(gè)體計(jì)算Num',計(jì)算公式如公式(3)所示。
[0072] Num' = N-NumtHffltMSi+1 (3)
[0073]其中,N為云平臺(tái)中虛擬機(jī)總數(shù)目,為個(gè)體的迀移次數(shù)。
[0074] 步驟2.9:基于每個(gè)個(gè)體的穩(wěn)定時(shí)間T仰穩(wěn)a擱和Nun^,利用NSGA-II算法為集合PSet 中的每個(gè)個(gè)體計(jì)算支配等級(jí),支配等級(jí)從1開始編號(hào),第二個(gè)支配等級(jí)是2,依次類推,支配 等級(jí)越低,個(gè)體越被優(yōu)先選擇作為子代個(gè)體;對(duì)處于同一支配等級(jí)內(nèi)的個(gè)體計(jì)算其擁擠距 離,并將同一支配等級(jí)內(nèi)的個(gè)體按照擁擠距離的大小進(jìn)行降序排列,擁擠距離越大,個(gè)體越 被優(yōu)先作為子代個(gè)體。
[0075] 步驟2.10:按照每個(gè)個(gè)體的支配等級(jí)的升序和擁擠距離的降序?qū)蟨Set中所有 個(gè)體進(jìn)行排序,并選擇最優(yōu)的PSIZE個(gè)個(gè)體作為子代個(gè)體。
[0076] 步驟2.11:將子代個(gè)體作為新的父代個(gè)體,重復(fù)上述各步驟,再生成新的子代個(gè) 體,直至產(chǎn)生第GSIZE代種群。
[0077] 步驟3:在最后一代即第GSIZE代種群中,選出Tgain值最大的個(gè)體,該個(gè)體即為新的 虛擬機(jī)放置方案的組編碼。
[0078] 其中,Tgain=IX?i_rNunFHzt5aiMitXTv_Ms]
[0079] 以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì) 于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行 若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 云計(jì)算中基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,其特征在于,包括如下步驟: 51、 將云平臺(tái)中虛擬機(jī)和物理節(jié)點(diǎn)的映射關(guān)系采用組編碼的方式來表示; 52、 為遺傳算法建立初始代種群,種群大小為PSIZE,所述初始代種群用于產(chǎn)生新的子 代個(gè)體,其中,個(gè)體即為染色體; 53、 執(zhí)行遺傳算法,生成最后一代即第GSIZE代種群; 54、 在最后一代即第GSIZE代種群中,選出Tgain值最大的個(gè)體,該個(gè)體即為新的虛擬機(jī)放 置方案的組編碼; 其中,Tgain = Tt(?g雨胸-NmiFf倘a勢(shì)激XTvM進(jìn)if胸 T抑穩(wěn)酣fs]為該個(gè)體包含的所有已使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間的最小值, Num胃胃為將個(gè)體所描述的所有虛擬機(jī)的放置方式和虛擬機(jī)的當(dāng)前放置方式進(jìn)行比 較,具有不同放置方式的虛擬機(jī)的個(gè)數(shù), Twiaiifg]為系統(tǒng)常量。2. 根據(jù)權(quán)利要求1所述的基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,其特征在于,步驟S1具體 包括: S10:將放置有虛擬機(jī)的物理節(jié)點(diǎn)Pj上的虛擬機(jī)Vii,Vi2,…,V化整體表示為組編碼Pj{Vii, Vi2,...,V化},或者P品,集合Sj = {Vii,Vi2,...,Vik}, 其中il,i2,…,ike[l,N],N為云平臺(tái)中虛擬機(jī)總數(shù)目,je[l,M],M為云平臺(tái)中物理節(jié) 點(diǎn)總數(shù)目; 將放置有虛擬機(jī)的物理節(jié)點(diǎn)門的節(jié)點(diǎn)狀態(tài)定義為"已使用",Φ ;沒有放置任何虛擬 機(jī)的物理節(jié)點(diǎn)門的節(jié)點(diǎn)狀態(tài)定義為"未使思',&= Φ ; S11:將云平臺(tái)中所有物理節(jié)點(diǎn)的組編碼按照物理節(jié)點(diǎn)的序號(hào)依次排列,形成一個(gè)個(gè)體 編碼,所述個(gè)體編碼表示為如下表達(dá)式: (PiSi,P2S2,. ..,PmSm) (1) 其中,馬η馬二與Vi,J G [l:,i幻,i單J ,13. 根據(jù)權(quán)利要求1所述的基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,其特征在于,步驟S2具體 包括: S20:將云平臺(tái)中多個(gè)虛擬機(jī)和物理節(jié)點(diǎn)的當(dāng)前映射狀態(tài)用組編碼方式描述出來,作為 初始代種群的一個(gè)個(gè)體; S21:隨機(jī)生成PSIZE-1種虛擬機(jī)在物理節(jié)點(diǎn)上的不同的放置方案,每個(gè)虛擬機(jī)放置方 案對(duì)應(yīng)的組編碼均作為初始代種群的一個(gè)個(gè)體。4. 根據(jù)權(quán)利要求1所述的基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,其特征在于,步驟S3具體 包括: S30:將步驟S2中生成的初始代種群作為父代種群; S31:所述父代種群W交叉概率Pc、變異概率pv遺傳生成2XPSIZE個(gè)子代個(gè)體; S32:將所述2 X PSIZE個(gè)子代個(gè)體和PSIZE個(gè)父代個(gè)體合并成包含3 X PSIZE個(gè)個(gè)體的集 合pSet,使用NSGA-II算法對(duì)該集合pSet中的個(gè)體進(jìn)行分級(jí)排序,形成排序隊(duì)列pQueue,取 出排序隊(duì)列P如eue中頭PSIZE個(gè)個(gè)體,作為新一代種群; S33:如果遺傳的種群代數(shù)未達(dá)到GSIZE,則將新一代種群作為父代種群,轉(zhuǎn)到步驟S31。5. 根據(jù)權(quán)利要求4所述的基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,其特征在于,步驟S31具 體包括: S310:從父代種群中隨機(jī)選擇兩個(gè)個(gè)體chml和chm2,W交叉概率Pc進(jìn)行交叉操作,如果 運(yùn)兩個(gè)個(gè)體交叉,則轉(zhuǎn)到步驟S311,否則,轉(zhuǎn)到步驟S310; S311:在個(gè)體chml中隨機(jī)選擇一個(gè)已使用的物理節(jié)點(diǎn)Pi,在個(gè)體chm2中隨機(jī)選擇一個(gè)已 使用的物理節(jié)點(diǎn)Pj,交換運(yùn)兩個(gè)物理節(jié)點(diǎn)Pi、Pj上的虛擬機(jī),并相應(yīng)修改個(gè)體chml和chm2的 組編碼表示; S312:如果個(gè)體chml中物理節(jié)點(diǎn)Pi上的某個(gè)虛擬機(jī)和其它物理節(jié)點(diǎn)Pk上的某個(gè)虛擬機(jī) 相同,則將物理節(jié)點(diǎn)Pk的狀態(tài)由"已使用'變成"未使思',并為物理節(jié)點(diǎn)P止的每一個(gè)虛擬機(jī) 分別按照首次適應(yīng)算法在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn), 新的放置節(jié)點(diǎn)必須有足夠的空閑資源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn),則在 未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chml的組 編碼表示,得到一個(gè)個(gè)體chml >; S313:如果個(gè)體chm2中物理節(jié)點(diǎn)Pj上的某個(gè)虛擬機(jī)和其它物理節(jié)點(diǎn)Pi上的某個(gè)虛擬機(jī) 相同,則將物理節(jié)點(diǎn)Pi的狀態(tài)由"已使用'變成"未使思',并為物理節(jié)點(diǎn)Pi上的每一個(gè)虛擬機(jī) 分別按照首次適應(yīng)算法在已使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn), 新的放置節(jié)點(diǎn)必須有足夠的空閑資源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn),則在 未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chm2的組 編碼表示,得到一個(gè)個(gè)體chm2>; S314:將個(gè)體chml > W變異概率Pv進(jìn)行變異,如果該個(gè)體chml >進(jìn)行變異,則轉(zhuǎn)入步驟 S315,否則,將個(gè)體chml >作為子代的一個(gè)個(gè)體,轉(zhuǎn)入步驟S318; S315:在個(gè)體chml >中隨機(jī)選擇一個(gè)已使用的物理節(jié)點(diǎn)Ps,將物理節(jié)點(diǎn)Ps的狀態(tài)由"已使 用"變成"未使用",并為物理節(jié)點(diǎn)Ps上的每一個(gè)虛擬機(jī)分別按照首次適應(yīng)算法在已使用的 按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),新的放置節(jié)點(diǎn)必須有足夠的空閑資 源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn),則在未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié) 點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chml >的組編碼表示,得到子代的一個(gè)個(gè)體 chml"; S316 :將個(gè)體chm2 > W變異概率Pv進(jìn)行變異,如果該個(gè)體chm2 >進(jìn)行變異,則轉(zhuǎn)入步驟 S317,否則,將個(gè)體chm2 >作為子代的一個(gè)個(gè)體,轉(zhuǎn)入步驟S318; S317:在個(gè)體chm2 >中隨機(jī)選擇一個(gè)已使用的物理節(jié)點(diǎn)Pt,將物理節(jié)點(diǎn)Pt的狀態(tài)由"已使 用"變成"未使用",并為物理節(jié)點(diǎn)Pt上的每一個(gè)虛擬機(jī)分別按照首次適應(yīng)算法在已使用的 按節(jié)點(diǎn)序號(hào)排列的物理節(jié)點(diǎn)隊(duì)列上找到新的放置節(jié)點(diǎn),新的放置節(jié)點(diǎn)必須有足夠的空閑資 源來容納新的虛擬機(jī),如果找不到新的放置節(jié)點(diǎn),則在未使用的按節(jié)點(diǎn)序號(hào)排列的物理節(jié) 點(diǎn)隊(duì)列中尋找新的放置節(jié)點(diǎn),并相應(yīng)修改個(gè)體chm2>的組編碼表示,得到子代的一個(gè)個(gè)體 chm2"; S318:如果得到的子代個(gè)體總數(shù)小于2 X PSIZE,轉(zhuǎn)入步驟S310。6. 根據(jù)權(quán)利要求4所述的基于多目標(biāo)優(yōu)化的虛擬機(jī)放置方法,其特征在于,步驟S32具 體包括: S320:計(jì)算集合pSet中每個(gè)個(gè)體里包含的每個(gè)已使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間,已使用 的物理節(jié)點(diǎn)Pj的穩(wěn)定時(shí)間計(jì)算如下:基于放置在物理節(jié)點(diǎn)門上的各虛擬機(jī)的負(fù)載預(yù)測(cè)信息, 從當(dāng)前時(shí)刻到未來物理節(jié)點(diǎn)門第一次出現(xiàn)負(fù)載過重狀態(tài)的時(shí)刻之間的時(shí)間間隔即為該物 理節(jié)點(diǎn)門的穩(wěn)定時(shí)間; S321:計(jì)算集合pSet中每個(gè)個(gè)體的穩(wěn)定時(shí)間,個(gè)體的穩(wěn)定時(shí)間為該個(gè)體包含的所有已 使用的物理節(jié)點(diǎn)的穩(wěn)定時(shí)間的最小值; S322:計(jì)算集合pSet中每個(gè)個(gè)體的遷移次數(shù),將個(gè)體所描述的所有虛擬機(jī)的放置方式 和虛擬機(jī)的當(dāng)前放置方式進(jìn)行比較,具有不同放置方式的虛擬機(jī)的個(gè)數(shù)即為個(gè)體的遷移次 數(shù); S323:W個(gè)體的穩(wěn)定時(shí)間和個(gè)體的遷移次數(shù)為兩個(gè)目標(biāo),使用NSGA-II算法對(duì)集合pSet 中的個(gè)體進(jìn)行分級(jí)和排序,挑選出最優(yōu)的PSIZE個(gè)個(gè)體,運(yùn)些個(gè)體具有較長(zhǎng)的穩(wěn)定時(shí)間和較 少的遷移次數(shù)。
【文檔編號(hào)】G06F9/455GK105843666SQ201510869992
【公開日】2016年8月10日
【申請(qǐng)日】2015年12月1日
【發(fā)明人】鄧?yán)? 姚力
【申請(qǐng)人】武漢科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
曲周县| 灵丘县| 外汇| 甘孜| 南雄市| 晋江市| 吴桥县| 东至县| 闸北区| 稻城县| 临湘市| 黄山市| 道真| 深泽县| 铁岭市| 靖江市| 阳曲县| 尚义县| 盖州市| 仪征市| 凤城市| 灵石县| 南溪县| 舞阳县| 明溪县| 凤庆县| 德州市| 崇礼县| 巧家县| 松溪县| 渝北区| 滦南县| 南阳市| 绥德县| 樟树市| 黄梅县| 湘西| 手游| 江津市| 龙胜| 德清县|