, ,
(1.華東理工大學(xué)計(jì)算機(jī)科學(xué)與工程系,上海 200237; 2.上海市計(jì)算機(jī)軟件測(cè)評(píng)重點(diǎn)實(shí)驗(yàn)室,上海 201112)
基于能耗降低的虛擬機(jī)動(dòng)態(tài)遷移算法
李飛標(biāo)1,2,虞慧群1,范貴生1
(1.華東理工大學(xué)計(jì)算機(jī)科學(xué)與工程系,上海200237;2.上海市計(jì)算機(jī)軟件測(cè)評(píng)重點(diǎn)實(shí)驗(yàn)室,上海201112)
在云計(jì)算環(huán)境中,有效的虛擬機(jī)動(dòng)態(tài)遷移算法有助于降低能耗和SLA違反率。本文提出了一種改進(jìn)的虛擬機(jī)動(dòng)態(tài)遷移算法,通過(guò)雙閾值策略、基于最小遷移代價(jià)的虛擬機(jī)選擇策略和目標(biāo)物理節(jié)點(diǎn)的概率選擇策略來(lái)降低能耗,并降低SLA違反率。仿真實(shí)驗(yàn)表明,該方法在虛擬機(jī)動(dòng)態(tài)遷移中能夠降低系統(tǒng)的能源消耗,同時(shí)也降低了SLA違反率。
云計(jì)算; 虛擬機(jī); 動(dòng)態(tài)遷移算法; 能耗;SLA違反率
云計(jì)算是一種新的服務(wù)模式和商業(yè)計(jì)算模型,而云數(shù)據(jù)中心是當(dāng)前云計(jì)算一個(gè)非常重要的應(yīng)用形式,它基于云計(jì)算架構(gòu),并以松耦合形式提供計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源。同時(shí),各類(lèi)物理資源采用虛擬化技術(shù),以保證整體具備較高的綠色節(jié)能能力。其中,比較常見(jiàn)的應(yīng)用是將數(shù)據(jù)中心的集群服務(wù)器采用虛擬化技術(shù)為用戶(hù)提供按需租用服務(wù),包括租用服務(wù)器、網(wǎng)絡(luò)、存儲(chǔ)等資源。隨著云數(shù)據(jù)中心應(yīng)用的日益廣泛,如何保證虛擬機(jī)動(dòng)態(tài)遷移和配置的能力已成為當(dāng)前研究的熱點(diǎn)[1-3]。然而隨著越來(lái)越多的服務(wù)配置到云端,使得云數(shù)據(jù)中心資源利用率并不高,存在著資源浪費(fèi)和由此帶來(lái)的高能耗問(wèn)題。
虛擬機(jī)動(dòng)態(tài)遷移是將正在運(yùn)行的虛擬機(jī)從一臺(tái)主機(jī)遷移到另一臺(tái)主機(jī),保證系統(tǒng)正常運(yùn)行。云環(huán)境下利用虛擬機(jī)動(dòng)態(tài)遷移,以使遷移開(kāi)銷(xiāo)最小并保證系統(tǒng)的性能為目標(biāo),對(duì)數(shù)據(jù)中心的服務(wù)器資源進(jìn)行整合,從而提高資源的利用率,降低系統(tǒng)的能耗,因此具有重要的研究意義和現(xiàn)實(shí)價(jià)值[4]。然而目前的一些動(dòng)態(tài)遷移算法大多存在著高能耗和SLA違反率較高的問(wèn)題。
為了解決云計(jì)算服務(wù)規(guī)模不斷增大帶來(lái)的高能耗問(wèn)題,本文綜合考慮和研究了系統(tǒng)的性能要求、能源消耗和整個(gè)虛擬機(jī)遷移過(guò)程等因素,提出了一種虛擬機(jī)動(dòng)態(tài)遷移算法。
(1) 在遷移觸發(fā)階段,引入雙限定閾值觸發(fā)策略,即通過(guò)設(shè)定服務(wù)器負(fù)載的高閾值和低閾值,判斷服務(wù)器負(fù)載是否均達(dá)到了虛擬機(jī)的遷移條件;
(2) 在待遷移的虛擬機(jī)選擇階段,基于最小遷移代價(jià)來(lái)選擇虛擬機(jī),即以對(duì)系統(tǒng)性能影響為遷移代價(jià),選取具有最小遷移代價(jià)的方案進(jìn)行虛擬機(jī)的遷移,避免遷移帶來(lái)過(guò)多的系統(tǒng)資源消耗;
(3) 在目標(biāo)物理節(jié)點(diǎn)的選擇階段,綜合考慮節(jié)點(diǎn)的CPU計(jì)算能力和內(nèi)存容量?jī)蓚€(gè)性能特征,基于概率機(jī)制來(lái)選擇目標(biāo)節(jié)點(diǎn),避免群聚效應(yīng)的發(fā)生。
近年來(lái),國(guó)內(nèi)外已有不少學(xué)者對(duì)虛擬機(jī)動(dòng)態(tài)遷移問(wèn)題進(jìn)行了研究,對(duì)于動(dòng)態(tài)遷移的不同過(guò)程或者某些因素也提出了一些虛擬機(jī)動(dòng)態(tài)遷移算法。例如,ST(Single Threshold)算法和DT(Double Threshold)算法,都是通過(guò)設(shè)定閾值來(lái)進(jìn)行遷移,只不過(guò)DT算法是一種新的基于雙限定閾值的虛擬機(jī)動(dòng)態(tài)遷移調(diào)度算法,即通過(guò)設(shè)定虛擬機(jī)遷移的總利用率上限和設(shè)定關(guān)閉物理節(jié)點(diǎn)的下限進(jìn)行遷移操作[5]。但是DT算法只在遷移的觸發(fā)階段加入了雙閾值的觸發(fā)策略,而在待遷移虛擬機(jī)選擇和目標(biāo)服務(wù)器選擇上并沒(méi)有采取相關(guān)的節(jié)能方法。在DT算法的基礎(chǔ)上,改進(jìn)的PDT(Predicted Double Threshold)算法[6]引入了負(fù)載預(yù)測(cè)機(jī)制,即在雙閾值觸發(fā)機(jī)制的基礎(chǔ)上,加入了對(duì)云數(shù)據(jù)中心的負(fù)載預(yù)測(cè)機(jī)制,減少了不必要的遷移和服務(wù)器過(guò)載的發(fā)生,降低了能耗。但是由于目前的負(fù)載預(yù)測(cè)算法并不是很成熟,與實(shí)際結(jié)果可能存在偏差,各方面性能仍有提升空間。另外,LBES(Load Balancing and Energy Saving)算法[7]是一種面向負(fù)載均衡的算法,它將應(yīng)用對(duì)存儲(chǔ)資源的需求轉(zhuǎn)換為一系列約束,再通過(guò)分析約束之間的關(guān)系選擇合適的存儲(chǔ)節(jié)點(diǎn)或者已有的調(diào)度方案,并考慮結(jié)合能量消耗,提高調(diào)度方案的復(fù)用率,維護(hù)了策略復(fù)用與節(jié)點(diǎn)負(fù)載之間的平衡關(guān)系,尋找到最佳的負(fù)載均衡策略,但該算法同樣限制于負(fù)載平衡的難題,節(jié)能效果不顯著而且SLA違反率高。
除了這些常見(jiàn)算法以外,還有的算法主要關(guān)注虛擬機(jī)內(nèi)存遷移問(wèn)題,利用馬爾科夫鏈預(yù)測(cè)臟內(nèi)存頁(yè),但這種算法只傳輸預(yù)測(cè)修改率低的內(nèi)存頁(yè),以期減少遷移時(shí)間,并沒(méi)有考慮其他因素[8]。
虛擬機(jī)動(dòng)態(tài)遷移算法一般是在遷移觸發(fā)、遷移虛擬機(jī)選擇和目標(biāo)服務(wù)器選擇階段采取策略,然而以上幾種遷移算法并沒(méi)有綜合考慮整個(gè)遷移過(guò)程,或者是整個(gè)系統(tǒng)性能的影響,容易造成能耗高和SLA違反率高等問(wèn)題[9-10]。
2.1虛擬機(jī)動(dòng)態(tài)遷移問(wèn)題描述
越來(lái)越大的云服務(wù)規(guī)模,導(dǎo)致云數(shù)據(jù)中心負(fù)載過(guò)大,降低了系統(tǒng)的資源利用率,使得能耗越來(lái)越高。有效的虛擬機(jī)動(dòng)態(tài)遷移有助于減少能量的消耗,主要包括以下3個(gè)過(guò)程:
(1) 遷移觸發(fā)。設(shè)服務(wù)器集合S={s1,s2,…,sn},服務(wù)器s的資源集合smul={scpu,smem,sbw}分別表示服務(wù)器的CPU資源、內(nèi)存資源和網(wǎng)絡(luò)帶寬資源。依據(jù)判定條件,選擇最佳時(shí)機(jī)觸發(fā)遷移。
(2) 選擇待遷移的虛擬機(jī)。設(shè)虛擬機(jī)集合為V={v1,v2,…,vm},虛擬機(jī)v的資源集合vmul={vcpu,vmem,vbw}分別表示虛擬機(jī)的CPU資源請(qǐng)求、內(nèi)存資源請(qǐng)求和網(wǎng)絡(luò)帶寬資源請(qǐng)求。當(dāng)遷移觸發(fā)后,在虛擬機(jī)集合V中,選擇一個(gè)遷移開(kāi)銷(xiāo)最小且釋放資源多的虛擬機(jī)vi進(jìn)行遷移。
(3) 選擇目標(biāo)服務(wù)器。在目標(biāo)服務(wù)器集合中,依據(jù)目標(biāo)服務(wù)器選擇算法給被遷移的虛擬機(jī)vi選擇一個(gè)最佳目標(biāo)服務(wù)器。
遷移的目標(biāo)是為了取得更低的能耗,并保持較低的SLA違反率。由于CPU能耗是總能耗的主要組成部分,因此本文對(duì)于服務(wù)器的能耗主要關(guān)注CPU部分。CPU的能耗和利用率成正比關(guān)系,而且由于服務(wù)器節(jié)點(diǎn)負(fù)載實(shí)時(shí)變化,能耗模型應(yīng)為時(shí)間t的函數(shù),因此服務(wù)器在t0到t時(shí)間段的總能耗E如式(1)所示。
(1)
其中:u(t)表示CPU的利用率;pi(u(t))為服務(wù)器的能耗函數(shù)。
用戶(hù)的服務(wù)質(zhì)量用SLA違反率的高低來(lái)評(píng)價(jià),SLA違反率越低,則用戶(hù)享有更好的服務(wù)質(zhì)量。結(jié)合本文考慮的因素,用虛擬機(jī)請(qǐng)求的CPU、內(nèi)存、帶寬資源和實(shí)際獲得的CPU、內(nèi)存、帶寬資源的差值分別占虛擬機(jī)請(qǐng)求的CPU、內(nèi)存、帶寬資源比重的平均值來(lái)表示SLA違反率。
2.2遷移觸發(fā)
基于雙閾值的虛擬機(jī)動(dòng)態(tài)遷移策略需要綜合考慮服務(wù)器CPU、內(nèi)存、帶寬資源的使用情況。服務(wù)器的CPU利用率如式(2)所示。
(2)
其中,Vcpui表示單個(gè)CPU在虛擬機(jī)vi中的利用率;Scpu表示該物理節(jié)點(diǎn)總的CPU利用率。
服務(wù)器的內(nèi)存利用率如式(3)所示。
(3)
其中:Vmemi表示虛擬機(jī)vi所獲得的內(nèi)存大小;M表示該物理節(jié)點(diǎn)總的內(nèi)存大小。
服務(wù)器的帶寬利用率如式(4)所示。
(4)
其中:Vbwi表示帶寬在虛擬機(jī)vi上的利用情況;Tb表示該物理節(jié)點(diǎn)最大的帶寬流量。
服務(wù)器節(jié)點(diǎn)CPU、內(nèi)存、帶寬資源的利用率可用一個(gè)三維向量表示,如式(5)所示。
Umul={Ucpu,Umem,Ubw}
(5)
在采集服務(wù)器的CPU、內(nèi)存或帶寬資源等各種資源數(shù)據(jù)時(shí),設(shè)定一個(gè)采集周期T來(lái)保證采集到的相關(guān)數(shù)據(jù)的準(zhǔn)確性,大幅度地減小了采集到的資源數(shù)據(jù)與實(shí)際資源數(shù)據(jù)的偏差。在確定觸發(fā)遷移的判定條件時(shí),設(shè)定一個(gè)高閾值Tup和一個(gè)低閾值Tlow。另外,為了使判定條件更加合理,選定在連續(xù)3個(gè)周期內(nèi)進(jìn)行判斷遷移時(shí)機(jī)。如果在3個(gè)連續(xù)周期內(nèi),該物理主機(jī)采集到的資源向量Umul的3個(gè)分量均小于閾值Tlow,也就是說(shuō),服務(wù)器的CPU、內(nèi)存和帶寬資源的利用率在連續(xù)3個(gè)周期都低于閾值Tlow,則觸發(fā)遷移,這種情況屬于低負(fù)載觸發(fā)遷移。另外,在3個(gè)連續(xù)周期內(nèi),如果Ucpu>Tup,則CPU會(huì)觸發(fā)遷移;如果Umem>Tup,則內(nèi)存會(huì)觸發(fā)遷移;如果Ubw>Tup,則帶寬會(huì)觸發(fā)遷移,以上3種情況都屬于高負(fù)載觸發(fā)遷移。若是其他情況,則表明物理主機(jī)負(fù)載正常,無(wú)需遷移。具體的遷移觸發(fā)流程如圖1所示。
圖1 遷移觸發(fā)流程圖Fig.1 Flow chart of triggering migration
2.3待遷移虛擬機(jī)的選擇
為了使得遷移開(kāi)銷(xiāo)最小,以對(duì)系統(tǒng)性能影響為遷移代價(jià),選取具有最小遷移代價(jià)的方案進(jìn)行虛擬機(jī)的遷移,避免遷移帶來(lái)過(guò)多的系統(tǒng)資源消耗。虛擬機(jī)動(dòng)態(tài)遷移時(shí)會(huì)消耗系統(tǒng)資源,可能導(dǎo)致SLA違反的發(fā)生。Voorsluys等[11]為了能夠計(jì)算系統(tǒng)性能下降的量化數(shù)值,設(shè)計(jì)了一種模型架構(gòu),提出了系統(tǒng)性能影響的具體量化方法,將CPU負(fù)載占用的10%作為系統(tǒng)性能的下降值。虛擬機(jī)遷移需要的時(shí)間ti,mig由虛擬機(jī)的內(nèi)存和遷移時(shí)的網(wǎng)絡(luò)帶寬決定,如式(6)所示。
(6)
其中,BWi表示供虛擬機(jī)遷移的帶寬,則遷移帶來(lái)的服務(wù)器性能下降D(vi)如式(7)所示。
(7)
其中:t0表示遷移的開(kāi)始時(shí)間;ti,mig表示虛擬機(jī)遷移過(guò)程花費(fèi)的時(shí)間。
在選擇需要遷移的虛擬機(jī)時(shí),若Umul的3個(gè)分量均小于低閾值Tlow,也就是低負(fù)載觸發(fā)的遷移時(shí),則物理主機(jī)上所有的虛擬機(jī)都要進(jìn)行遷移,與此同時(shí)還要關(guān)閉主機(jī),或者使物理主機(jī)在低能耗的情況下工作,減小系統(tǒng)能耗;相反,若是高負(fù)載觸發(fā)的遷移,則為了使得遷移代價(jià)最小,此時(shí)需要在判斷服務(wù)器CPU、內(nèi)存和帶寬資源的可利用率與已經(jīng)被虛擬機(jī)消耗的利用率的差值是否小于閾值Tup的同時(shí)計(jì)算并且選擇最小遷移代價(jià),在虛擬機(jī)遷移后,物理主機(jī)的各種負(fù)載也都要低于Tup,以避免物理主機(jī)超載,在保證系統(tǒng)的性能、SLA違反率較低的同時(shí)降低了系統(tǒng)的能量消耗。需要遷移的虛擬機(jī)集合R如式(8)所示。
(8)
基于最小遷移代價(jià)虛擬機(jī)選擇算法流程如下:
最小遷移代價(jià)虛擬機(jī)選擇算法(Min_migration_cost VM migration seclection)
Input:hostList //主機(jī)列表
Output:migVMList //遷移虛擬機(jī)列表
(1) 對(duì)hostList按照資源量從大到小排序
(2) for host inhostList do
(3) 取得當(dāng)前主機(jī)所有虛擬機(jī)的使用資源 (vmUseList)
(4) 對(duì)vmUseList按照資源量從大到小排序
(5) While !(Tlow (6) minCost = MAX (7) for each VM invmUseList do (8)r=Umul-sum (Vmul/S) (9) //求解公式(7)中的判斷條件 (10) While (r (11)tmig=vmem/BW//公式(5) (12) cost=D(vi) //公式(6) (13) if cost (14) migVM = VM (15) minCost = cost (16) End if (17) ifmigVM != NULL then (18) 當(dāng)前主機(jī)上vmUseList刪除虛擬機(jī) (19) migVMList.add(migVM) (20) //加入當(dāng)前VM到遷出list (21) end if (22) End While (23) End for (24) End While (25) End for (26) returnmigVMList 假設(shè)M為可使用的物理主機(jī)數(shù)量,N為每臺(tái)物理主機(jī)的虛擬機(jī)數(shù)量,則該選擇算法的時(shí)間復(fù)雜度為O(MxN)。 2.4遷移目標(biāo)物理節(jié)點(diǎn)的選擇 利用上述算法進(jìn)行虛擬機(jī)選擇后,需要遷移的虛擬機(jī)確定,得到需要遷移的虛擬機(jī)集合,接下來(lái)就是選擇目標(biāo)物理節(jié)點(diǎn)來(lái)完成這些虛擬機(jī)的遷移,此時(shí)需要選擇合適的目標(biāo)節(jié)點(diǎn)接受被遷移的虛擬機(jī)。 為了防止多個(gè)虛擬機(jī)同時(shí)選擇性能最好的同一個(gè)物理節(jié)點(diǎn)遷移的群聚效應(yīng)的發(fā)生,綜合考慮節(jié)點(diǎn)的CPU資源和內(nèi)存大小兩個(gè)因素,計(jì)算需要遷移的虛擬機(jī)與目標(biāo)服務(wù)器(CPU消耗/內(nèi)存消耗)的匹配程度,基于概率選擇機(jī)制選擇目標(biāo)節(jié)點(diǎn),避免因?yàn)槲锢砉?jié)點(diǎn)內(nèi)存過(guò)剩但CPU利用率不足或者內(nèi)存不足但CPU資源過(guò)剩導(dǎo)致的資源浪費(fèi)。具體的目標(biāo)物理節(jié)點(diǎn)的選擇步驟如下: Step 1 根據(jù)目標(biāo)節(jié)點(diǎn)的URavailable和虛擬機(jī)的URcost值匹配度,以及目標(biāo)節(jié)點(diǎn)的性能,從云數(shù)據(jù)中心選擇出n個(gè)符合要求的目標(biāo)節(jié)點(diǎn)。 定義URi表示運(yùn)行的虛擬機(jī)vi的CPU利用率Ucpu與該虛擬機(jī)的內(nèi)存利用率Umem的比值。根據(jù)UR定義可知,虛擬機(jī)CPU利用率越高,占用的內(nèi)存越小,該虛擬機(jī)UR值越大。URavailable和URcost分別代表可利用率的比值、已消耗的利用率的比值。 定義Ri表示運(yùn)行的虛擬機(jī)vi的CPU利用率Ucpu與該虛擬機(jī)的內(nèi)存利用率Umem的乘積。根據(jù)R的定義可知,虛擬機(jī)CPU利用率越高,占用的內(nèi)存越大,R值也越大。 Step 2 根據(jù)n個(gè)目標(biāo)節(jié)點(diǎn)的Ravailable所組成的概率模型進(jìn)行選擇,設(shè)節(jié)點(diǎn)i的當(dāng)前可利用資源能力為(Ri)available,則該節(jié)點(diǎn)接受被遷移虛擬機(jī)的概率Pi如式(9)所示。 (9) Step 3 選擇一個(gè)目標(biāo)節(jié)點(diǎn)時(shí),用random函數(shù)生成一個(gè)[0,1]的小數(shù),然后根據(jù)該數(shù)最后落在哪個(gè)目標(biāo)節(jié)點(diǎn)的概率空間中,將虛擬機(jī)遷移到這個(gè)目標(biāo)節(jié)點(diǎn)。 物理主機(jī)可利用資源能力越大,成為接受該被遷移虛擬機(jī)目標(biāo)節(jié)點(diǎn)的概率也越大。因此,概率機(jī)制在一定程度上避免了群聚效應(yīng)發(fā)生,較大程度地提高了資源利用率。 3.1仿真實(shí)驗(yàn)設(shè)計(jì) 本文利用CloudSim云仿真平臺(tái)[12]對(duì)提出的虛擬機(jī)動(dòng)態(tài)遷移算法進(jìn)行了實(shí)驗(yàn)驗(yàn)證分析,并從能量消耗、虛擬機(jī)遷移數(shù)量和SLA違反率3個(gè)方面與常用的幾種虛擬機(jī)動(dòng)態(tài)遷移算法進(jìn)行了性能比較,這些算法包括:ST算法、DT算法、PDT算法和LBES算法。實(shí)驗(yàn)環(huán)境配置為MyEclipse 8.5,JDK:jdkl.6.0,CloudSim-3.0,主要實(shí)驗(yàn)參數(shù)見(jiàn)表1。 表1 環(huán)境參數(shù)配置 3.2仿真結(jié)果分析 通過(guò)仿真環(huán)境,分別對(duì)上述幾種算法和本文算法進(jìn)行虛擬機(jī)動(dòng)態(tài)遷移測(cè)試。 圖2示出了幾種算法的能耗對(duì)比結(jié)果。從圖2可以看出,在閾值相同的情況下,DT算法比ST算法能耗低,這是因?yàn)镈T算法是在ST算法的基礎(chǔ)上設(shè)定了一個(gè)更小的閾值,當(dāng)物理機(jī)的CPU利用率小于這個(gè)閾值時(shí),會(huì)選擇將該物理機(jī)上的所有虛擬機(jī)都遷移出去,并關(guān)閉該物理機(jī),使得總能耗降低。PDT算法和LBES算法是在DT算法的基礎(chǔ)上通過(guò)對(duì)負(fù)載的預(yù)測(cè)機(jī)制,減少不必要的遷移和服務(wù)器過(guò)載的發(fā)生,從而降低能量消耗,但是目前預(yù)測(cè)負(fù)載機(jī)制的性能并不是很成熟。本文提出的虛擬機(jī)動(dòng)態(tài)遷移算法不僅采用了雙閾值策略,還在遷移過(guò)程的其他階段采取了有效策略,使得系統(tǒng)資源利用率更高、能耗最小,在節(jié)能效果上比其他算法更加顯著。 圖3示出了幾種算法的SLA違反率對(duì)比結(jié)果。由圖3可以看出,在閾值相同的情況下,DT算法的SLA違反率高于ST算法,這是因?yàn)镈T算法為了節(jié)能設(shè)定的閾值使得關(guān)閉的物理主機(jī)增多,相應(yīng)地每個(gè)物理主機(jī)所承受的任務(wù)數(shù)增多,導(dǎo)致SLA違反率升高。而PDT算法和LBES算法由于考慮了負(fù)載預(yù)測(cè)加以平衡負(fù)載,所以SLA違反率降低。本文算法在DT算法的基礎(chǔ)上,還考慮了遷移代價(jià)等,使得SLA違反率更低。 圖2 幾種算法的能耗對(duì)比Fig.2 Comparison of energy consumption for different algorithms 圖3 幾種算法的SLA違反率對(duì)比Fig.3 Comparison of the violation rate of SLA for different algorithms 圖4示出了幾種算法的虛擬機(jī)遷移數(shù)量對(duì)比結(jié)果。由圖4可以看出,在閾值相同的情況下,DT算法、PDT算法和LBES算法都比ST算法的虛擬機(jī)遷移數(shù)量低,設(shè)定的雙閾值和負(fù)載預(yù)測(cè)避免了許多無(wú)用的虛擬機(jī)遷移。本文算法設(shè)定了雙閾值,并充分考慮到遷移代價(jià)最小等,大大減少了虛擬機(jī)的遷移數(shù)量。 總的來(lái)說(shuō),本文提出的動(dòng)態(tài)遷移算法是對(duì)遷移過(guò)程的3個(gè)關(guān)鍵階段分別加入了雙閾值策略、最小遷移代價(jià)的虛擬機(jī)選擇策略和基于概率機(jī)制的目標(biāo)物理節(jié)點(diǎn)選擇策略。仿真模擬對(duì)比實(shí)驗(yàn)結(jié)果表明,從能量消耗、虛擬機(jī)遷移數(shù)量和SLA違反率3個(gè)方面分析比較來(lái)看,本文算法比其他算法的資源利用率高、SLA違反率較低、能耗最小。 圖4 幾種算法的虛擬機(jī)遷移數(shù)量對(duì)比Fig.4 Comparison of the number of VM migration for different algorithms 當(dāng)前高能耗是制約云數(shù)據(jù)中心發(fā)展的一大難題,針對(duì)服務(wù)器資源利用率偏低、能耗浪費(fèi)嚴(yán)重的問(wèn)題,通過(guò)分析虛擬機(jī)遷移的過(guò)程,對(duì)傳統(tǒng)算法進(jìn)行了優(yōu)化,給出了相關(guān)的遷移策略,提出了一種改進(jìn)的虛擬機(jī)動(dòng)態(tài)遷移算法。仿真實(shí)驗(yàn)結(jié)果表明,本文的虛擬機(jī)動(dòng)態(tài)遷移算法,通過(guò)設(shè)定虛擬機(jī)遷移的總利用率上限和設(shè)定關(guān)閉物理節(jié)點(diǎn)的下限進(jìn)行遷移操作,使得關(guān)閉的物理主機(jī)增多,同時(shí)選擇最小遷移代價(jià)虛擬機(jī)和綜合考慮CPU計(jì)算能力和內(nèi)存容量來(lái)選擇目標(biāo)服務(wù)器,減少了不必要的遷移,從而降低了能量消耗,同時(shí)也使得SLA違反率有所降低。隨著虛擬機(jī)遷移技術(shù)的持續(xù)升溫,在后續(xù)研究中,將會(huì)考慮在遷移過(guò)程中加入負(fù)載預(yù)測(cè)機(jī)制,研究設(shè)計(jì)切實(shí)可行的負(fù)載預(yù)測(cè)模型,使得虛擬機(jī)遷移更加高效、節(jié)能。 [1] FILANI D,HE J,GAO S,etal.Dynamic data center power management:Trends,issues,and solutions[J].Intel Technology Journal,2008,12 (1):59-67. [2] SHIEH A,KANDULA S,GREENBERG A,etal.Sharing the data center network[C]// Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation.Berkeley,USA :ACM,2011:309-322. [3] XU F,LIU F,JIN H,etal.Managing performance overhead of virtual machines in cloud computing:A survey,state of the art,and future directions[J].Proceedings of the IEEE,2014,102 (1):11-31. [4] IBRAHIM EJDAYID A.MANSOUR,etal.Effective live cloud migration[C]//IEEE on International Conference on Future Internet of Things and Cloud (FiCloud).USA:IEEE,2016:334-339. [5] 畢冉,李建中,高宏,等.無(wú)線傳感器網(wǎng)絡(luò)中基于雙閾值的分布式監(jiān)測(cè)算法[J].電子學(xué)報(bào),2014,42(8):1594-1600. [6] 李丹程,王曉晨,宋曉雪,等.基于OpenStack的資源負(fù)載預(yù)測(cè)方法研究[J].計(jì)算機(jī)應(yīng)用研究,2014,31(7):2178-2182. [7] 肖鵬,劉洞波,屈喜龍.云計(jì)算中基于能耗比例模型的虛擬機(jī)調(diào)度算法[J].電子學(xué)報(bào),2015,43(2):305-311. [8] XU F,LIU F,JIN H,etal.iAware:Making live migration of virtual machines interference-aware in the cloud[J].IEEE Transactions on Computers ,2014,63 (12):3012-3025. [9] EGGER B,CHO Y.Efficient check pointing of live virtual machines[J].IEEE Transactions on Computers, 2016,65(10):3041 - 3054. [10] DENG W,LIU F,JIN H,etal.Harnessing renewable energy in cloud datacenters:Opportunities and challenges[J].IEEE Network,2013,28( 1):48-55. [11] VOORSLUYS W.Cost of Virtual Machine Live Migration in Clouds:A Performance Evaluation[M].Berlin Heidelberg:Springer ,2009:254-265. [12] RAWAT P S,DIMRI P,SAROHA G P,etal. Power consumption analysis across heterogeneous data center using CloudSim[C]//2016 3rd International Conference on Computing for Sustainable Global Development.USA:IEEE,2016:1-5. LiveMigrationAlgorithmofVirtualMachineforReduceEnergyConsumption LIFei-biao1,2,YUHui-qun1,FANGui-sheng1 (DepartmentofComputerScienceandEngineering,EastChinaUniversityofScienceandTechnology,Shanghai200237,China;2.ShanghaiKeyLaboratoryofComputerSoftwareTestingandEvaluating,Shanghai201112,China) In cloud computing environment,an effective live migration algorithm of virtual machine can greatly reduce energy consumption and the violation rate of SLA.This work proposes an improved virtual machine live migration algorithm,which adopts the double thresholds strategy,the virtual machine selection strategy based on the minimum cost of migration,and the probabilistic selection strategy of the target physical nodes.The simulation experiments show that the proposed algorithm can reduce the system energy consumption and the SLA violation rate in the virtual machine live migration. cloud computing; virtual machine; live migration algorithm; energy consumption; violation rate of SLA TP393 A 1006-3080(2017)05-0692-06 10.14135/j.cnki.1006-3080.2017.05.014 2016-11-23 李飛標(biāo)(1991-),男,安徽人,碩士生,主要研究方向?yàn)樵朴?jì)算和軟件工程等。E-mail:lifeibiao2010@163.com 虞慧群,E-mail: yhq@ecust.edu.cn3 仿真實(shí)驗(yàn)設(shè)計(jì)與分析
4 結(jié)束語(yǔ)