国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2020-03-02 10:05:28胡志剛肖慧李克勤
關(guān)鍵詞:元組利用率數(shù)據(jù)中心

胡志剛,肖慧?,李克勤

(1.中南大學(xué) 計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙410083;2.湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙410082)

近年來,隨著云計(jì)算商業(yè)模式和技術(shù)架構(gòu)的越來越成熟,云用戶大幅度增加,為了滿足他們的需求而新建的數(shù)據(jù)中心、新置的服務(wù)器和制冷設(shè)備也隨之大幅度增加,解決數(shù)據(jù)中心的高能耗問題已經(jīng)成為一個(gè)大的挑戰(zhàn)[1].同時(shí),云用戶對(duì)云服務(wù)的性能需求也愈加具體嚴(yán)格化,用戶在交易前會(huì)與云服務(wù)商制定服務(wù)水平協(xié)議(Service Level Agreement,SLA)來規(guī)范化質(zhì)量等級(jí)(Quality of Service,QoS)需求,以確保本次服務(wù)交易的完美達(dá)成[2].如果云服務(wù)商無法提供事先商定的QoS,違背用戶的期望,會(huì)給用戶造成不可預(yù)估的損失.因此,在減少數(shù)據(jù)中心能耗的同時(shí),提供用戶所期望的QoS是云計(jì)算發(fā)展迫切需要解決的問題.

虛擬機(jī)整合[3]可以根據(jù)變化的資源需求周期性地調(diào)整當(dāng)前的虛擬機(jī)主機(jī)間映射關(guān)系,在主機(jī)間遷移虛擬機(jī)以充分并均衡地利用計(jì)算資源.虛擬機(jī)整合技術(shù)主要包括啟發(fā)式貪心算法[4-7]、線性/約束規(guī)劃技術(shù)[8-11]和元啟發(fā)式算法[12-15].貪心算法因其時(shí)間復(fù)雜度低、實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn)被廣泛應(yīng)用來進(jìn)行虛擬機(jī)動(dòng)態(tài)整合.貪心算法雖然計(jì)算開銷低,但卻容易陷入局部最優(yōu)而錯(cuò)過最優(yōu)解.線性/約束規(guī)劃技術(shù)可以獲得最優(yōu)解,但受問題規(guī)模和復(fù)雜性的限制,無法很好地?cái)U(kuò)展到大型數(shù)據(jù)中心.近年來研究人員提出了許多基于生物啟發(fā)計(jì)算的元啟發(fā)整合算法,例如蟻群算法、基因算法、人工蜂群算法,可以有效幫助解決大規(guī)模問題并避免局部最優(yōu)解.蟻群系統(tǒng)算法(Ant Colony System,ACS)[16-17],作為蟻群算法的一種,通過在解空間中進(jìn)行基于概率式的搜索,可以在多項(xiàng)式時(shí)間復(fù)雜度里找到近似最優(yōu)解.

現(xiàn)有的虛擬機(jī)整合研究大多只關(guān)注了云數(shù)據(jù)中心的能耗問題.然而,為了實(shí)現(xiàn)云系統(tǒng)交付的QoS,還應(yīng)該同時(shí)考慮SLA違約問題.虛擬機(jī)整合可以通過將虛擬機(jī)整合到盡可能少的主機(jī)上來降低能耗,然而過分整合可能會(huì)降低系統(tǒng)性能并導(dǎo)致SLA違約[18].因此,最優(yōu)虛擬機(jī)整合方法應(yīng)在能耗和QoS之間取得平衡.

本文將虛擬機(jī)整合問題構(gòu)建為一個(gè)多目標(biāo)組合優(yōu)化問題,優(yōu)化目標(biāo)包括降低能耗、保證QoS要求和減少遷移次數(shù),提出了一種基于多目標(biāo)優(yōu)化的虛擬機(jī)整合算法(Multi-objective Virtual Machine Consolidation,MOVMC).首先使用CPU利用率雙閾值[4]來判斷主機(jī)負(fù)載狀態(tài),確定整合時(shí)機(jī);然后基于ACS假設(shè)虛擬機(jī)和主機(jī)之間的映射關(guān)系是食物源,使用人工蟻群同時(shí)選擇待遷移虛擬機(jī)和目標(biāo)主機(jī),尋找虛擬機(jī)和主機(jī)之間的最佳映射關(guān)系.通過在CloudSim平臺(tái)上使用真實(shí)工作負(fù)載來評(píng)估所提出的方法.實(shí)驗(yàn)結(jié)果表明,該方法在減少能耗、SLA違約和虛擬機(jī)遷移方面具有明顯的優(yōu)勢(shì).

1 基于多目標(biāo)優(yōu)化的虛擬機(jī)整合模型

1.1 數(shù)據(jù)中心模型

在數(shù)據(jù)中心中有許多不同配置的主機(jī),虛擬機(jī)根據(jù)各自的資源需求被分別部署到合適的主機(jī)上運(yùn)行.將數(shù)據(jù)中心里的主機(jī)集群記為:

H={h1,h2,…,hj,…,hm}

其中m為主機(jī)的數(shù)量.數(shù)據(jù)中心中運(yùn)行的虛擬機(jī)集合記為:

V={v1,v2,…,vi,…,vn}

其中n為虛擬機(jī)的數(shù)量.變量xij表示虛擬機(jī)vi是否分配給主機(jī)hj,若已分配則值為1,否則為0.矩陣X=[xi,j]n×m表示數(shù)據(jù)中心里虛擬機(jī)和主機(jī)間的映射關(guān)系.部署了虛擬機(jī)vi的主機(jī)記為h(vi),主機(jī)hj上運(yùn)行的虛擬機(jī)集合記為V(hj).虛擬機(jī)vi申請(qǐng)的CPU資源量記為VRj,主機(jī)hj總CPU資源需求量PRj可表達(dá)為:

主機(jī)hj的CPU資源總量記為CRj,則主機(jī)hj的CPU資源利用率Uj可通過式(2)計(jì)算得到:

1.2 能耗模型

數(shù)據(jù)中心中主機(jī)的能耗與工作負(fù)載程度有關(guān),取決于CPU、內(nèi)存、磁盤和網(wǎng)卡等資源的利用率.大多數(shù)研究表明,主機(jī)的能耗主要來自CPU,和CPU利用率呈高度正相關(guān)關(guān)系[19-20].基于此,數(shù)據(jù)中心總能耗可以表示為:

式中:ECj(Uj)表示主機(jī)hj隨CPU利用率Uj變化而產(chǎn)生的能耗.

1.3 多目標(biāo)組合優(yōu)化

綜合考慮影響虛擬機(jī)整合的多個(gè)因素,本文定義了以下虛擬機(jī)整合優(yōu)化目標(biāo).

為了降低能耗和節(jié)約能源,應(yīng)該盡量減少數(shù)據(jù)中心總能耗EC,即min(EC).

同一主機(jī)上的虛擬機(jī)間存在資源競(jìng)爭(zhēng).以往研究表明[21],當(dāng)資源競(jìng)爭(zhēng)越激烈,尤其當(dāng)資源利用率接近或超過一定閾值時(shí),主機(jī)的性能越差,QoS水平越容易下降.顯然,主機(jī)的QoS水平與資源利用率有很大的關(guān)系.因此為了更方便有效地優(yōu)化QoS,通過限制主機(jī)CPU資源利用率低于過載閾值Thro,以保證主機(jī)QoS,如式(4)所示:

另外,虛擬機(jī)整合觸發(fā)的虛擬機(jī)遷移會(huì)消耗能源和計(jì)算資源,給網(wǎng)絡(luò)傳輸造成負(fù)擔(dān),也會(huì)影響數(shù)據(jù)中心里其他運(yùn)行虛擬機(jī)的性能[22],因此需盡可能減少虛擬機(jī)遷移次數(shù)MG,即min(MG).

為了優(yōu)化以上目標(biāo),通過線性加權(quán)的方式將其整合到一起,簡(jiǎn)化表達(dá)為一個(gè)有著資源限制的最小組合優(yōu)化問題,如式(5)所示:

式中:ωmg代表遷移次數(shù)MG相對(duì)于總能耗EC的相對(duì)權(quán)重.

2 MOVMC整合算法

虛擬機(jī)動(dòng)態(tài)整合支持虛擬機(jī)在運(yùn)行的主機(jī)之間動(dòng)態(tài)遷移,來適應(yīng)數(shù)據(jù)中心里不斷變動(dòng)的負(fù)載.對(duì)于任何一種虛擬機(jī)整合算法,有3個(gè)關(guān)鍵問題必須加以解決[23].第一,虛擬機(jī)整合在什么條件下會(huì)被觸發(fā)(選擇整合時(shí)機(jī));第二,選擇哪些虛擬機(jī)遷移能達(dá)到最好的能耗和QoS(選擇遷移虛擬機(jī));第三,將選擇遷移的虛擬機(jī)重新部署到哪些主機(jī)上最好(選擇目標(biāo)主機(jī)).

本文提出的MOVMC整合算法利用CPU利用率雙閾值和ACS來解決上述問題.基于靜態(tài)雙閾值策略,MOVMC算法通過設(shè)置主機(jī)CPU利用率上限閾值Thro和下限閾值Thru(0≤Thru<Thro≤1)來確定整合時(shí)機(jī).利用設(shè)置的靜態(tài)閾值識(shí)別主機(jī)的負(fù)載狀態(tài),將所有主機(jī)劃分為3個(gè)集合,過載主機(jī)集合Ho、正常負(fù)載主機(jī)集合Hn、低載主機(jī)集合Hu.對(duì)主機(jī)Hj而言,當(dāng)Thro≤Uj<1時(shí),主機(jī)過載;當(dāng)Thru≤Uj<Thro時(shí),主機(jī)為正常負(fù)載狀態(tài);當(dāng)0<Uj<Thru時(shí),主機(jī)低載.當(dāng)主機(jī)過載或低載時(shí)需要進(jìn)行虛擬機(jī)整合.根據(jù)Beloglazov[4]等的研究并通過實(shí)驗(yàn)驗(yàn)證得到:當(dāng)設(shè)置上限閾值Thro為80%,下限閾值Thru為40%時(shí),算法可以獲得優(yōu)秀的性能.

定義映射關(guān)系元組集合T={(vm,hd)},T中每個(gè)元組包括兩個(gè)元素:選擇遷移的虛擬機(jī)vm和目標(biāo)主機(jī)hd.MOVMC算法將T中的元組看作食物源,使用ACS搜索T中的元組,來更新虛擬機(jī)主機(jī)映射關(guān)系.

虛擬機(jī)整合算法的執(zhí)行時(shí)間主要取決于T中元組的數(shù)量.為了減少算法的時(shí)間復(fù)雜度,進(jìn)行多階段整合,限制T中元組的數(shù)量.一方面,先對(duì)過載主機(jī)進(jìn)行虛擬機(jī)整合,再對(duì)低載主機(jī)進(jìn)行整合.另一方面,在選擇目標(biāo)主機(jī)時(shí),為了盡量減少低載主機(jī)數(shù)量以降低能耗,首先在正常負(fù)載主機(jī)集合中選擇,若尋找目標(biāo)主機(jī)失敗,則在低載主機(jī)集合中選擇.只有當(dāng)無法將虛擬機(jī)遷移到正在運(yùn)行的主機(jī)上時(shí),才會(huì)激活處于睡眠模式的主機(jī).這樣可以縮小每次搜索的解空間,提高螞蟻搜索解的效率,在不影響解質(zhì)量的情況下,能大大減少算法的計(jì)算時(shí)間.

在虛擬機(jī)整合過程中,MOVMC算法創(chuàng)建信息素矩陣[τi,j]n×m來保存過去搜索的經(jīng)驗(yàn),τi,j表示選擇映射關(guān)系元組(vi,hj)的有利度.使用局部信息素更新和全局信息素更新兩種規(guī)則來更新元組信息素.定義啟發(fā)式因子來基于偽隨機(jī)比例規(guī)則指導(dǎo)螞蟻選擇最優(yōu)元組,獲得最小能耗和最少遷移次數(shù).在下文中,將給出以上概念的詳細(xì)定義.

2.1 信息素蹤跡

螞蟻在尋找食物源的途中會(huì)沉積信息素,其他螞蟻聞到信息素后,會(huì)傾向于選擇信息素濃度較高的途徑.在初始化信息素矩陣[τi,j]n×m時(shí),采用Dorigo等人[17]使用的解質(zhì)量評(píng)估方法來計(jì)算信息素的初始值,定義為:

式中:EC0是初始狀態(tài)下所有主機(jī)的功耗;MG是近似最優(yōu)的遷移次數(shù),其值可以通過最近鄰啟發(fā)式算法[17]估計(jì)得到.

在每次選擇新元組(vi,hj)后,螞蟻會(huì)使用以下局部信息素更新規(guī)則來更新遍歷元組的信息素水平:

式中:ρl∈[0,1]為局部信息素消散參數(shù).

在所有螞蟻完成解的構(gòu)建后,根據(jù)目標(biāo)函數(shù)評(píng)估當(dāng)前所有解的質(zhì)量.為了保存螞蟻以往搜索過程中獲得的經(jīng)驗(yàn),針對(duì)全局最優(yōu)解應(yīng)用以下全局信息素更新規(guī)則:

式中:Δτ為增加的額外信息素量;ρg∈[0,1]是全局信息素消散參數(shù);X+是算法目前找到的最優(yōu)解.

2.2 啟發(fā)式因子

在ACS中,啟發(fā)式因子被用來與信息素相結(jié)合,共同指導(dǎo)螞蟻構(gòu)建解方案.啟發(fā)式因子用ηi,j表示,代表選擇元組(vi,hj)的期望值.

在考慮虛擬機(jī)選擇和目標(biāo)主機(jī)選擇的基礎(chǔ)上,定義一種選擇元組(vi,hj)的混合啟發(fā)式因子ηi,j為:

式中:ηv(h(vi),-vi)是從vi的源主機(jī)h(vi)選擇遷移vi的啟發(fā)式因子,而ηh(hj,+vi)是將vi重新部署到目標(biāo)主機(jī)hj的啟發(fā)式因子.

2.2.1 選擇虛擬機(jī)

當(dāng)主機(jī)過載時(shí),必須從主機(jī)遷出某些虛擬機(jī)以釋放部分資源以防止SLA違約.遷移CPU利用率高的虛擬機(jī)可以盡量緩解主機(jī)的過載危機(jī),減少虛擬機(jī)遷移次數(shù).對(duì)過載主機(jī)hj∈Ho,定義選擇虛擬機(jī)vi遷移的啟發(fā)式因子如下:

當(dāng)主機(jī)處于低載狀態(tài)時(shí),應(yīng)該遷出該主機(jī)上的所有虛擬機(jī),并將其切換到休眠狀態(tài),以避免空閑功耗.因此,為了盡可能減少無效遷移和低載主機(jī)數(shù)量,應(yīng)優(yōu)先選擇遷移虛擬機(jī),使低載主機(jī)遷出后資源利用率盡量低.因此定義選擇低載主機(jī)hj∈Hu中虛擬機(jī)vi遷移的啟發(fā)式因子為:

式中:Uj(-vi)代表主機(jī)hj遷出虛擬機(jī)vi后的CPU利用率.

2.2.2 選擇目標(biāo)主機(jī)

為了避免主機(jī)CPU利用率過高導(dǎo)致的QoS降級(jí),在正常負(fù)載主機(jī)集合中選擇目標(biāo)主機(jī)時(shí),選擇遷入虛擬機(jī)后資源利用率低的主機(jī)更有利.為虛擬機(jī)vi選擇目標(biāo)主機(jī)hj∈Hn的啟發(fā)式因子定義如下:

式中:Uj(+vi)是主機(jī)hj遷入虛擬機(jī)vi后的CPU利用率.另外在啟發(fā)式因子中設(shè)置了CPU資源利用率約束,以防止導(dǎo)致目標(biāo)主機(jī)過載的遷移.

低負(fù)載主機(jī)的資源利用率較低,可以保證QoS卻十分浪費(fèi)能源.因此,在低負(fù)載主機(jī)集合Hu中選擇目標(biāo)主機(jī)hj時(shí),優(yōu)先選擇遷入虛擬機(jī)之后資源利用率更高的主機(jī),以最小化低載主機(jī)數(shù)量,對(duì)應(yīng)的啟發(fā)式因子定義如下:

2.3 偽隨機(jī)比例規(guī)則

基于啟發(fā)式因子和信息素信息,螞蟻使用偽隨機(jī)比例規(guī)則來選擇下一個(gè)元組(vm,hd)進(jìn)行遍歷,如式(14)所示:

式中:α和β分別為控制信息素和啟發(fā)式因子的重要性參數(shù);q為一個(gè)均勻分布在[0,1]的隨機(jī)數(shù);q0∈[0,1]是一個(gè)固定的參數(shù),決定累積經(jīng)驗(yàn)與隨機(jī)選擇的相對(duì)重要性;(vs,hg)是根據(jù)式(15)中的概率分布選擇的隨機(jī)元組變量.

結(jié)合上文中提出的啟發(fā)式因子計(jì)算準(zhǔn)則和偽隨機(jī)比例規(guī)則,本文提出一種選擇元組算法(Next Tuple Selection,NTS),該算法基于源主機(jī)和目標(biāo)主機(jī)負(fù)載狀態(tài)標(biāo)識(shí)heuP選擇下一個(gè)映射關(guān)系元組(vm,hd)進(jìn)行遍歷,算法偽代碼如算法1所示.本文提出的虛擬機(jī)整合算法MOVMC的偽代碼如算法2所示.MOVMC算法通過限制蟻群算法搜索的解集合大小有效降低了算法復(fù)雜度.從算法2的偽代碼可以看出,MOVMC在最壞情況下的算法復(fù)雜度是,其中nI是迭代的次數(shù),分別表示過載主機(jī)和低載主機(jī)中虛擬機(jī)的總數(shù)量.如算法2中第3行所示,最外層循環(huán)迭代nI次.因?yàn)槲浵伩梢圆⑿兴阉鞲髯缘慕?,所以算?中第4行所示的第2層循環(huán)不會(huì)對(duì)算法的時(shí)間復(fù)雜度造成影響.如算法2中第5行和18行所示,在最壞情況下,第3層循環(huán)需要分別迭代次.在每次迭代時(shí),如算法1所示,需要循環(huán)計(jì)算個(gè)元組對(duì)應(yīng)的概率以選擇下一個(gè)元組進(jìn)行遍歷.

算法1選擇元組進(jìn)行遍歷(NTS)輸入:T,heuP輸出:(vm,hd)1.switch(heuP)2.//選擇虛擬機(jī)從過載主機(jī)遷移到正常負(fù)載主機(jī)3.case“ON”4.根據(jù)式(10)(12)(9)計(jì)算η={ηmd|?(vm,hd)∈T}5.break 6.//選擇虛擬機(jī)從過載主機(jī)遷移到低負(fù)載主機(jī)7.case“OU”8.根據(jù)式(10)(13)(9)計(jì)算η={ηmd|?(vm,hd)∈T}9.break 10.//選擇虛擬機(jī)從低載主機(jī)遷移到正常負(fù)載主機(jī)11.case“UN”12.根據(jù)式(11)(12)(9)計(jì)算η={ηmd|?(vm,hd)∈T}13.break 14.//選擇虛擬機(jī)從低載主機(jī)遷移到低負(fù)載主機(jī)15.case“UU”16.根據(jù)式(11)(13)(9)計(jì)算η={ηmd|?(vm,hd)∈T}17.break 18.根據(jù)式(15)計(jì)算Pvmc={pmd|?(vm,hd)∈T}19.根據(jù)式(14)選擇下一個(gè)遍歷的元組(vm,hd)∈T

算法2 MOVMC輸入:X輸出:X+1.S←φ,X+←φ,Xk←φ,t←φ 2.根據(jù)式(6)將信息素矩陣初始化為τ0 3.for i∈[1,nI]do 4.for k∈[1,nA]do 5.for vo∈V(Ho)do//過載主機(jī)虛擬機(jī)整合6.Ton←{(vm,hd)|h(vm)∈Ho∧Hd∈Hn}7.t←NTS(Ton,“ON”)8.if t為空then 9.Tou←{(vm,hd)|h(vm)∈Ho∧Hd∈Hu}10.t←NTS(Tou,“OU”)11.if t為空then 12.break 13.end if 14.end if 15.更新虛擬機(jī)主機(jī)映射關(guān)系16.根據(jù)式(7)對(duì)t應(yīng)用局部信息素更新規(guī)則17.end for 18.for vu∈V(Hu)do//低載主機(jī)虛擬機(jī)整合

19.Tun←{(vm,hd)|h(vm)∈Hu∧Hd∈Hn}20.t←NTS(Tun,“UN”)21.if t為空then 22.Tuu←{(vm,hd)|h(vm)∈Hu∧Hd∈Hu}23.t←NTS(Tuu,“UU”)24.if t為空then 25.break 26.end if 27.end if 28.更新虛擬機(jī)主機(jī)映射關(guān)系29.根據(jù)式(7)對(duì)t應(yīng)用局部信息素更新規(guī)則30.end for 31.S←S∪{Xk}32.end for 33.X+←arg maxXk∈S{F(Xk)}34.根據(jù)式(8)對(duì)X+應(yīng)用全局信息素更新規(guī)則35.end for

3 實(shí)驗(yàn)與算法評(píng)估

3.1 實(shí)驗(yàn)環(huán)境和配置

為了評(píng)估算法性能,采用CloudSim模擬云計(jì)算環(huán)境[24]進(jìn)行仿真實(shí)驗(yàn).CloudSim是一個(gè)離散型事件模擬器,支持虛擬環(huán)境建模和虛擬資源管理.實(shí)驗(yàn)中模擬的云數(shù)據(jù)中心包含800臺(tái)物理主機(jī),主機(jī)有兩種配置,一半為HP ProLiant G4,另一半為HP Pro-Liant G5.主機(jī)配置詳情見表1.此外,本次實(shí)驗(yàn)使用了4種Amazon EC2虛擬機(jī)[25],虛擬機(jī)實(shí)例詳情如表2所示.實(shí)驗(yàn)中使用的工作負(fù)載來自CoMon項(xiàng)目,該項(xiàng)目主要負(fù)責(zé)監(jiān)控PlanetLab[26]中基礎(chǔ)設(shè)施的運(yùn)行情況.實(shí)驗(yàn)采用的數(shù)據(jù)從遍布全球500多個(gè)地區(qū)超過1 000個(gè)虛擬機(jī)上采集獲得.

表1 主機(jī)配置Tab.1 Host configuration

表2 虛擬機(jī)類型Tab.2 VM types

3.2 評(píng)估指標(biāo)

3.2.1 能耗指標(biāo)

隨著數(shù)據(jù)中心內(nèi)主機(jī)硬件設(shè)施不斷升級(jí),例如多核處理器,大容量?jī)?nèi)存和硬盤,傳統(tǒng)的CPU利用率-能耗模型已經(jīng)無法再準(zhǔn)確地描述能耗.為了得到更準(zhǔn)確的能耗值,使用標(biāo)準(zhǔn)性能評(píng)估公司(Standard Performance Evaluation Corporation)提供的真實(shí)數(shù)據(jù).表3顯示了不同負(fù)載級(jí)別下HP ProLiant G4和HP ProLiant G5主機(jī)的能耗.

表3 主機(jī)在不同CPU利用率級(jí)別下的能耗Tab.3 Host energy consumption at different CPU utilization levels

3.2.2 SLA違約指標(biāo)

在數(shù)據(jù)中心里,保證用戶所需QoS十分重要,SLA規(guī)定了用戶的QoS需求.為了更好地優(yōu)化QoS,Beloglazov等[5]提出了若干衡量SLA違約的度量標(biāo)準(zhǔn).

SLAVO定義為主機(jī)資源利用率達(dá)到100%的時(shí)間所占的比例,以衡量主機(jī)過載導(dǎo)致的SLA違約,如式(16)所示:

虛擬機(jī)遷移會(huì)導(dǎo)致總體性能下降.SLAVM代表因虛擬機(jī)遷移而造成的SLA違約,定義為:

SLAV用于評(píng)估云數(shù)據(jù)中心的整體QoS水平,能綜合反映出由主機(jī)超載和虛擬機(jī)遷移導(dǎo)致的總性能下降,定義如下:

SLAV變量值越小,說明SLA違約越少,QoS水平越高.

3.2.3 能耗-性能指標(biāo)

虛擬機(jī)整合應(yīng)該平衡地對(duì)能耗和SLA違約進(jìn)行優(yōu)化.通過結(jié)合能耗指標(biāo)EC和SLA違約指標(biāo)SLAV獲得綜合的能耗-性能指標(biāo)ESV,如式(19)所示:

式中:EC表示數(shù)據(jù)中心總能耗.EC值越低,表明數(shù)據(jù)中心能源效率越高.

3.2.4 虛擬機(jī)遷移次數(shù)

虛擬機(jī)的動(dòng)態(tài)遷移會(huì)產(chǎn)生一定的開銷,例如占用計(jì)算資源和消耗能源.此外,由于虛擬機(jī)遷移導(dǎo)致的服務(wù)暫停可能會(huì)影響QoS.因此,減少虛擬機(jī)遷移數(shù)量可以節(jié)約資源和能耗并提高QoS,有助于虛擬機(jī)整合獲得理想的效果.

3.3 參數(shù)選擇

在MOVMC算法中,α和β值分別控制蟻群算法中信息素和啟發(fā)式因子的重要性,對(duì)蟻群算法的性能有很大的影響.α反映了螞蟻在以往搜索過程中積累的信息素在指導(dǎo)蟻群尋找新解時(shí)的重要程度.α值越大,螞蟻越有可能選擇之前走過的路徑,尋找隨機(jī)解的可能性隨之降低.β則反映了啟發(fā)式因子在指導(dǎo)蟻群尋找新解時(shí)的重要程度.β值越大,啟發(fā)式因子的重要程度越大.α和β的取值越大,計(jì)算量也越大,計(jì)算時(shí)間就越長(zhǎng).考慮到數(shù)據(jù)中心內(nèi)龐大的數(shù)據(jù)量,為了得到最優(yōu)的算法性能,選擇α和β值在[0.5,3.5]內(nèi)以0.5為單位遞增,討論α和β的組合取值對(duì)算法目標(biāo)函數(shù)值的影響,實(shí)驗(yàn)結(jié)果如圖1所示.算法中使用的其他參數(shù)值如表4所示.當(dāng)α和β取值過大時(shí),算法容易過早收斂,易陷入局部最優(yōu).當(dāng)α和β取值過小時(shí),基于經(jīng)驗(yàn)值和先驗(yàn)性因素的指導(dǎo)作用減弱,致使算法很難找到最優(yōu)解.從圖1中可以看出,當(dāng)α和β取值分別為1和1.5時(shí),對(duì)應(yīng)的目標(biāo)函數(shù)值最小,系統(tǒng)可以取得最好的性能.故在后面的對(duì)比實(shí)驗(yàn)中,將α和β分別取值為1和1.5作為系統(tǒng)參數(shù)值.

圖1 不同α和β取值對(duì)比Fig.1 Comparison of differentαandβ

表4 MOVMC算法參數(shù)Tab.4 MOVMC parameters

3.4 結(jié)果分析

為了評(píng)估MOVMC算法的性能,本研究將MOVMC算法與6種虛擬機(jī)動(dòng)態(tài)分配算法ST[4]、DT[4]、MAD[5]、IQR[5]、LR[5]和EVMCACS[15]進(jìn)行比較.圖2為在實(shí)際工作負(fù)載下MOVMC、ST、DT、MAD、IQR、LR、EVMCACS的能耗值.算法名稱后面的數(shù)值為該算法的當(dāng)前參數(shù)值.與ST、DT、MAD、IQR、LR、EVMCACS相比,MOVMC消耗的能源最少.由于MOVMC算法優(yōu)先將虛擬機(jī)遷移到正常負(fù)載的主機(jī),因此許多低載主機(jī)都可以切換到睡眠模式,從而減少了數(shù)據(jù)中心中活躍主機(jī)的數(shù)量并節(jié)省大量能源.

圖2 能耗值對(duì)比Fig.2 Comparison of energy consumption

圖3是算法針對(duì)SLA違約指標(biāo)進(jìn)行的比較.圖3(a)是對(duì)SLAV的比較,可以看出,與其他算法相比,MOVMC算法在實(shí)際工作負(fù)載下具有最低的SLA違約率.MOVMC算法從過載主機(jī)中遷出虛擬機(jī),通過保證主機(jī)的CPU利用率低于過載閾值來防止SLA違約.另外,啟發(fā)式準(zhǔn)則確保目標(biāo)主機(jī)在遷入虛擬機(jī)后不會(huì)超出過載閾值.因此,MOVMC算法的SLAV性能優(yōu)于其他算法.

圖3 SLA性能指標(biāo)值對(duì)比Fig.3 Comparison of SLA performance indexes

SLAV是綜合SLAVO和SLAVM得到的指標(biāo),因此接下來分別對(duì)算法的SLAVO和SLAVM進(jìn)行分析.圖3(b)為SLAVO值的對(duì)比,可以清楚地看出MOVMC算法的SLAVO值低于其他算法.這主要是因?yàn)镸OVMC算法將主機(jī)的資源利用率限制在過載閾值以下,有效地降低了主機(jī)資源過載的風(fēng)險(xiǎn),保證了運(yùn)行主機(jī)的QoS.此外,在重新部署虛擬機(jī)時(shí),MOVMC算法優(yōu)先選擇正常負(fù)載主機(jī)中資源利用率更低的主機(jī),從另一個(gè)角度保證了主機(jī)運(yùn)行時(shí)的QoS.圖3(c)為不同算法的SLAVM性能比較.從圖中可以看出,MOVMC算法在SLAVM方面的性能最優(yōu).根據(jù)圖4,MOVMC算法有效地減少了虛擬機(jī)遷移次數(shù),從而減少了遷移對(duì)服務(wù)質(zhì)量的影響.因此,與其他算法相比,MOVMC算法具有較低的SLAVM.

由圖4可知,MOVMC算法提高了遷移效率并獲得了最少的遷移次數(shù).MOVMC算法有效地保證了運(yùn)行主機(jī)良好的QoS,降低了主機(jī)過載風(fēng)險(xiǎn),從而減少了主機(jī)過載觸發(fā)的虛擬機(jī)遷移數(shù)量.另一方面,MOVMC算法中定義的目標(biāo)函數(shù)趨于最少化虛擬機(jī)遷移的次數(shù).

圖4 虛擬機(jī)遷移次數(shù)對(duì)比Fig.4 Comparison of the number of VM migrations

圖5展示了利用ESV指標(biāo)進(jìn)行評(píng)估得到的算法綜合性能,可以看出MOVMC算法綜合性能最好.根據(jù)仿真結(jié)果,MOVMC算法的ESV指標(biāo)值僅是DT算法的33%,ST算法的ESV指標(biāo)最差.主要原因是MOVMC算法通過精確識(shí)別主機(jī)負(fù)載狀態(tài),有效降低了主機(jī)過載風(fēng)險(xiǎn)和虛擬機(jī)遷移次數(shù),減少了低載主機(jī)的數(shù)量.

以上實(shí)驗(yàn)結(jié)果表明,MOVMC算法能做出更合理的虛擬機(jī)遷移決策,在降低數(shù)據(jù)中心能耗和保證QoS方面有較好的性能.

圖5 ESV值對(duì)比Fig.5 Comparison of ESV

4 結(jié)論

本文提出了一種基于多目標(biāo)組合優(yōu)化的虛擬機(jī)整合算法,通過將虛擬機(jī)整合到合適的主機(jī)中來解決數(shù)據(jù)中心中高能耗和QoS降級(jí)的問題.虛擬機(jī)整合問題被構(gòu)建為一個(gè)多目標(biāo)優(yōu)化問題,基于雙閾值決定觸發(fā)虛擬機(jī)整合的條件.將虛擬機(jī)與主機(jī)之間的映射關(guān)系比作食物源,基于ACS通過多階段整合來優(yōu)化映射關(guān)系.通過人工螞蟻的分布式搜索和協(xié)作,獲得虛擬機(jī)與主機(jī)之間的全局最優(yōu)映射關(guān)系.使用實(shí)際工作負(fù)載對(duì)所提出方法的性能進(jìn)行評(píng)估,仿真結(jié)果表明,與其他方法相比,該方法能有效降低數(shù)據(jù)中心的能耗,并保證高水平QoS.

在未來的工作中,進(jìn)一步研究在整合時(shí)間決策過程中,針對(duì)不斷變化的工作負(fù)載采用自適應(yīng)閾值,做出更合理的遷移決策.進(jìn)行更多的仿真實(shí)驗(yàn)來評(píng)估所提出的方法在實(shí)際工作負(fù)載中的性能.

猜你喜歡
元組利用率數(shù)據(jù)中心
酒泉云計(jì)算大數(shù)據(jù)中心
Python核心語法
海量數(shù)據(jù)上有效的top-kSkyline查詢算法*
化肥利用率穩(wěn)步增長(zhǎng)
做好農(nóng)村土地流轉(zhuǎn) 提高土地利用率
民航綠色云數(shù)據(jù)中心PUE控制
基于減少檢索的負(fù)表約束優(yōu)化算法
淺議如何提高涉煙信息的利用率
板材利用率提高之研究
基于云計(jì)算的交通運(yùn)輸數(shù)據(jù)中心實(shí)現(xiàn)與應(yīng)用
吴堡县| 大洼县| 日喀则市| 北辰区| 昭通市| 丽水市| 文山县| 肇东市| 沾化县| 文水县| 武冈市| 铜川市| 横山县| 会昌县| 拉孜县| 岳池县| 翁源县| 蓬莱市| 长垣县| 醴陵市| 那坡县| 沅陵县| 芜湖县| 斗六市| 谢通门县| 钦州市| 锦州市| 阜南县| 文化| 许昌市| 普陀区| 湟源县| 湖口县| 玉门市| 义乌市| 犍为县| 藁城市| 花莲县| 金塔县| 海南省| 阳西县|