張從越 付 雄 喬 磊
1(南京郵電大學(xué)計(jì)算機(jī)學(xué)院 江蘇 南京 210023)
2(北京控制工程研究所 北京 100190)
云數(shù)據(jù)中心的規(guī)模日益增長(zhǎng)導(dǎo)致其產(chǎn)生的能源消耗及成本呈指數(shù)級(jí)增長(zhǎng)[1]。每個(gè)物理機(jī)利用虛擬機(jī)化技術(shù)可以運(yùn)行多個(gè)虛擬機(jī)[2]。利用虛擬機(jī)化技術(shù)管理云數(shù)據(jù)中心的資源,可以在一定程度上緩解數(shù)據(jù)中心的壓力,但是最根本的解決方法仍然是資源調(diào)度即實(shí)現(xiàn)虛擬機(jī)部署策略。所以如何通過(guò)資源調(diào)度來(lái)節(jié)約構(gòu)建云數(shù)據(jù)中心的成本已經(jīng)成為云計(jì)算領(lǐng)域的研究熱點(diǎn)[3]。本文主要通過(guò)優(yōu)化虛擬機(jī)放置策略來(lái)提高物理主機(jī)資源利用率,降低云數(shù)據(jù)中心的能耗,保證云數(shù)據(jù)中心各個(gè)物理機(jī)之間負(fù)載均衡。
虛擬機(jī)放置問(wèn)題屬于NP難度問(wèn)題[4-5]。在建立大型數(shù)據(jù)中心的時(shí)候,企業(yè)需要平衡其成本和效率,盡可能在滿足客戶對(duì)高質(zhì)量服務(wù)的需求的前提下,降低能耗,節(jié)約成本。因此,關(guān)于通過(guò)虛擬機(jī)放置來(lái)實(shí)現(xiàn)云數(shù)據(jù)中心節(jié)能和提高數(shù)據(jù)中心服務(wù)質(zhì)量的方案的研究越來(lái)越多。
文獻(xiàn)[6]引入一種改進(jìn)裝箱算法進(jìn)行虛擬機(jī)遷移,優(yōu)化資源分配,同時(shí)引入一個(gè)閾值定義虛擬機(jī)的遷移時(shí)機(jī),以合并的手段降低主機(jī)活躍數(shù)量。但該方法忽略了在遷移過(guò)程中的開(kāi)銷即遷移代價(jià)。文獻(xiàn)[7]提出了動(dòng)態(tài)虛擬機(jī)遷移算法,通過(guò)量化負(fù)載均衡度解決云數(shù)據(jù)中心的負(fù)載不均衡問(wèn)題。文獻(xiàn)[8]提出了以保證單個(gè)虛擬機(jī)運(yùn)行性能為前提的虛擬機(jī)整合調(diào)度算法,通過(guò)減小虛擬機(jī)遷移時(shí)間來(lái)保證虛擬機(jī)性能,從而提升整體的服務(wù)質(zhì)量。目前,基于預(yù)測(cè)的遷移策略也被廣泛用于虛擬機(jī)整合,張蓓蓓等[9]通過(guò)構(gòu)建神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)虛擬機(jī)的負(fù)載變化,提出基于預(yù)測(cè)負(fù)載的虛擬機(jī)加權(quán)整合算法來(lái)減少遷移次數(shù)從而降低遷移代價(jià)。以上這些算法屬于針對(duì)單目標(biāo)優(yōu)化的部署策略,在虛擬機(jī)整合過(guò)程中只針對(duì)單個(gè)目標(biāo)的優(yōu)化效果突出。
Xu等[10]運(yùn)用基于多目標(biāo)優(yōu)化的遺傳算法來(lái)解決虛擬機(jī)與物理主機(jī)配對(duì)的問(wèn)題,優(yōu)化目標(biāo)考慮遷移代價(jià)、整體能耗、資源浪費(fèi)等。Muhammad等[11]應(yīng)用遺傳算法來(lái)求解虛擬機(jī)的遷移方案,通過(guò)減少虛擬機(jī)遷移的數(shù)量來(lái)降低云數(shù)據(jù)中心的能源消耗,并在一定程度上提高云數(shù)據(jù)中心整體的負(fù)載均衡。但是遺傳算法在進(jìn)行搜索時(shí)不具備啟發(fā)性質(zhì),隨機(jī)搜索會(huì)影響最優(yōu)解的收斂。并且遺傳算法后期反饋效果不明顯,收斂速度會(huì)出現(xiàn)大幅度降低,在數(shù)據(jù)中心較為龐大時(shí)會(huì)產(chǎn)生大量的冗余迭代,影響求得最優(yōu)解的效率。文獻(xiàn)[12]為了同時(shí)滿足提升服務(wù)質(zhì)量(QoS)、減少資源競(jìng)爭(zhēng),以及減少能源消耗,提出了基于數(shù)據(jù)中心動(dòng)態(tài)變化的多目標(biāo)虛擬機(jī)整合策略,主要解決云數(shù)據(jù)中心整體改變和局部物理主機(jī)的負(fù)載變化引起的虛擬機(jī)動(dòng)態(tài)部署問(wèn)題,但該算法會(huì)增加遷移時(shí)間。
綜上所述,現(xiàn)有方法存在考慮目標(biāo)單一化或多目標(biāo)優(yōu)化難以尋找最優(yōu)解等問(wèn)題。針對(duì)以上研究工作的不足,本文提出一種基于蟻群算法的虛擬機(jī)放置策略ACA-VMP(Ant-Colony-Algorithm-based on Virtual Machine Placement)。首先構(gòu)建虛擬機(jī)放置系統(tǒng)模型,該模型的優(yōu)化目標(biāo)包括云數(shù)據(jù)中心的負(fù)載均衡度、能源消耗與物理主機(jī)資源利用率。然后利用蟻群算法的啟發(fā)式搜索通過(guò)動(dòng)態(tài)的多輪迭代尋找最優(yōu)解,利用其信息素正反饋機(jī)制逐漸逼近最優(yōu)解,通過(guò)最后一輪迭代確定一個(gè)近似最優(yōu)的虛擬機(jī)放置策略。最后通過(guò)Cloudsim來(lái)仿真云環(huán)境來(lái)進(jìn)行實(shí)驗(yàn)對(duì)比,評(píng)估算法的綜合性能。實(shí)驗(yàn)結(jié)果表明,算法在保證云數(shù)據(jù)中心服務(wù)質(zhì)量和降低總體能耗之間尋找一個(gè)較好的平衡點(diǎn),符合高效率低能耗的要求。
在大型云數(shù)據(jù)中心中,虛擬機(jī)的放置影響著數(shù)據(jù)中心的綜合性能。虛擬機(jī)放置問(wèn)題是指在滿足能耗、服務(wù)質(zhì)量、遷移成本等約束條件的基礎(chǔ)上,將m臺(tái)虛擬機(jī)放入n臺(tái)物理主機(jī)中并滿足云數(shù)據(jù)中心高效率、低能耗的要求。在部署虛擬機(jī)的過(guò)程中,將虛擬機(jī)遷移到不同的目的物理主機(jī)的遷移成本也不同,對(duì)云環(huán)境整體的影響也不相同。所以在構(gòu)建虛擬機(jī)放置系統(tǒng)模型時(shí)要綜合考慮影響。
在構(gòu)建虛擬機(jī)放置系統(tǒng)模型時(shí),降低能耗是虛擬機(jī)放置的首要目標(biāo)。與內(nèi)存和網(wǎng)絡(luò)帶寬等系統(tǒng)資源相比,CPU又占據(jù)了其中絕大部分的能源消耗,因此物理主機(jī)的能耗只考慮CPU的能耗。研究表明物理主機(jī)的CPU 利用率和其產(chǎn)生的能耗存在著線性關(guān)系[13]。根據(jù)式(1)量化物理主機(jī)j的能耗。為了統(tǒng)一優(yōu)化目標(biāo)衡量準(zhǔn)則,根據(jù)式(2)設(shè)置能耗歸一化函數(shù)將物理主機(jī)總能耗歸一化。
Pj=Pfree+(Pfull-Pfree)×Uj
(1)
(2)
在虛擬機(jī)放置過(guò)程中還需要考慮云數(shù)據(jù)中心整體的負(fù)載均衡度。負(fù)載均衡是指云環(huán)境下各物理機(jī)之間的工作負(fù)載彼此均衡,不會(huì)頻繁出現(xiàn)某些物理主機(jī)的超載或低載,通過(guò)降低虛擬機(jī)遷移次數(shù)來(lái)減少遷移代價(jià)從而節(jié)約能耗,提高云數(shù)據(jù)中心服務(wù)質(zhì)量。根據(jù)各個(gè)物理主機(jī)的CPU與內(nèi)存等資源利用率設(shè)置負(fù)載均衡因子衡量負(fù)載均衡度,并將負(fù)載均衡因子歸一化方便作為約束函數(shù)。定義負(fù)載均衡因子如下:
(3)
資源利用率對(duì)云數(shù)據(jù)中心的能耗及成本也會(huì)有影響,通過(guò)提高整體的資源利用率來(lái)降低云數(shù)據(jù)中心中活躍物理主機(jī)的數(shù)量,有效地節(jié)約成本。因此在虛擬機(jī)放置策略中保證物理主機(jī)的資源利用率是十分必要的。在搜索過(guò)程中趨向?qū)ふ屹Y源利用率較高的物理主機(jī)。根據(jù)每臺(tái)物理主機(jī)CPU、內(nèi)存、帶寬的資源利用率可求得物理主機(jī)的平均資源利用率Uj。
(4)
根據(jù)以上三種優(yōu)化目標(biāo)可以得到如下虛擬機(jī)放置優(yōu)化模型:
虛擬機(jī)放置優(yōu)化模型的約束條件為:
如何根據(jù)優(yōu)化目標(biāo)為虛擬機(jī)尋找最優(yōu)的放置位置,是虛擬機(jī)放置中的關(guān)鍵問(wèn)題。本文采用基于多目標(biāo)優(yōu)化的蟻群算法綜合考慮以上三種優(yōu)化目標(biāo),在滿足約束條件的前提下,將每個(gè)待遷移虛擬機(jī)遷移至合適的目的主機(jī)。
蟻群算法屬于進(jìn)化算法,在尋找解集的過(guò)程中強(qiáng)化學(xué)習(xí)能力。蟻群算法已經(jīng)被廣泛應(yīng)用于旅行商問(wèn)題、網(wǎng)絡(luò)路由問(wèn)題、車輛路由問(wèn)題等組合優(yōu)化問(wèn)題。而虛擬機(jī)的放置就屬于物理主機(jī)與虛擬機(jī)的組合優(yōu)化問(wèn)題。
在虛擬機(jī)放置策略上,虛擬機(jī)放置問(wèn)題的可行解為螞蟻的選擇路徑,解空間為蟻群搜索的全路徑。根據(jù)虛擬機(jī)放置系統(tǒng)模型,利用蟻群算法進(jìn)行隨機(jī)搜索,通過(guò)迭代尋找最優(yōu)解。螞蟻在搜索過(guò)程中釋放信息素并趨向?qū)ふ屹Y源利用率較高的物理主機(jī),通過(guò)嗅探解空間中所有路徑上的信息素與目標(biāo)物理主機(jī)的資源利用率來(lái)選擇搜索路徑[14],體現(xiàn)出蟻群在搜索過(guò)程中利用其對(duì)信息素的正反饋能力來(lái)進(jìn)行學(xué)習(xí)強(qiáng)化。搜索路徑的選擇由每個(gè)物理主機(jī)被選中的概率即狀態(tài)轉(zhuǎn)移概率決定,根據(jù)期望啟發(fā)式因子β與信息啟發(fā)式因子? 得到狀態(tài)轉(zhuǎn)移概率,根據(jù)狀態(tài)轉(zhuǎn)移概率利用輪盤賭算法獲取被選擇的物理主機(jī)。為防止過(guò)早陷入局部最優(yōu)解,設(shè)置信息素消散速率ρ,可以有效控制信息素增長(zhǎng)速率。每次搜索確定一組虛擬機(jī)與物理主機(jī)的匹配解集并更新該條路徑上的信息素。之后根據(jù)每一步的狀態(tài)轉(zhuǎn)移概率繼續(xù)搜索,一次搜索循環(huán)結(jié)束,根據(jù)量化公式計(jì)算負(fù)載均衡因子和能耗,由此更新全局信息素,完成一輪搜索得到初始解集。根據(jù)信息素進(jìn)行迭代循環(huán)至m輪,不斷更新解集,循環(huán)結(jié)束得到虛擬機(jī)與物理機(jī)的匹配解集Q即是最優(yōu)解。
首先初始化云數(shù)據(jù)中心,包括物理主機(jī)列表S和待遷移虛擬機(jī)列表V。初始化蟻群數(shù)量m,m越大,迭代次數(shù)越多,可以更準(zhǔn)確地獲取最優(yōu)解。但是算法的收斂速度會(huì)隨著迭代過(guò)程不斷減緩,正反饋機(jī)制也會(huì)降低,m過(guò)大就會(huì)產(chǎn)生大量冗余迭代,會(huì)提高算法的時(shí)間復(fù)雜度,資源浪費(fèi)嚴(yán)重。
虛擬機(jī)列表作為蟻群對(duì)每個(gè)物理主機(jī)進(jìn)行搜索。根據(jù)資源約束條件得到可裝入當(dāng)前虛擬機(jī)的物理主機(jī)列表,根據(jù)式(5)計(jì)算虛擬機(jī)Vi對(duì)放入當(dāng)前物理主機(jī)Sj的期望程度。根據(jù)式(6)由期望程度與信息素計(jì)算物理機(jī)Sj被當(dāng)前虛擬機(jī)Vi選擇的概率。
(5)
(6)
得到物理主機(jī)列表中每個(gè)物理主機(jī)的被選中概率后,根據(jù)輪盤賭算法獲取被選中的物理主機(jī)Sj,將虛擬機(jī)Vi放置到物理主機(jī)上之后更新物理主機(jī)資源容量,重復(fù)上述步驟依次尋找待遷移虛擬與物理主機(jī)的解集,式(7)根據(jù)能耗與負(fù)載均衡因子計(jì)算路徑上的信息素增量。式(8)根據(jù)信息素消散速率更新全路徑信息素。完成一次搜索迭代后復(fù)原云數(shù)據(jù)中心,進(jìn)行下一輪迭代。每一次迭代根據(jù)式(2)-式(4)計(jì)算目標(biāo)函數(shù)并記錄。
(7)
(8)
式(7)表示信息素增量與負(fù)載均衡因子和能耗成反比。負(fù)載均衡因子與能耗越小,表明該條路徑越趨近于最優(yōu)解,所以信息素增量更多,后續(xù)被選擇的概率越大,符合蟻群算法啟發(fā)式搜索的特性。信息素濃度的消散因子ρ越小,信息素消散的速率越低,虛擬機(jī)i到物理主機(jī)j上的路徑上剩余堆積的信息素越多,會(huì)導(dǎo)致在搜索過(guò)程中會(huì)有較多無(wú)效路徑在每次迭代中被搜索到。ρ過(guò)大,則在排除無(wú)效路徑的同時(shí),部分有效路徑也存在著一定的概率被放棄搜索,影響搜索最優(yōu)解的準(zhǔn)確率。
算法偽代碼如算法1所示。
算法1基于多目標(biāo)優(yōu)化的蟻群算法
輸入:虛擬機(jī)集合V ,物理主機(jī)集合S。
輸出:最優(yōu)解集Q。
1 Init PheromoneMatrix(V,S)
2 while m 3 do for each vm in V do 4 hosts=[] 5 for each host in S.size do 6 if(vm.resource 7 hosts.add(host) 8 expect[j]=use (5) to get expect[j] 9 seleted[j]=use (6) to get seleted[j] 10 end for 11 get selected host by Roulette() 12 update resources and pheromone matrix 13 Q.add(vm,selectedHost) 14 end for 15 Q=[] 16 E=use (1,2) to update energy 17 N=use (3) to update load balancing 18 P=use (4) to update resource utilization 19 use (7,8) to update PheromoneMatrix 20 end while 21 return Q ACA-VMP算法在一次迭代中將待遷移虛擬機(jī)列表的所有虛擬機(jī)放入數(shù)據(jù)中心中對(duì)應(yīng)的物理主機(jī)的時(shí)間復(fù)雜度為O(n2),在搜索過(guò)程迭代m次的情況下整體的時(shí)間復(fù)雜度為O(mn2)。用于存儲(chǔ)物理機(jī)列表、虛擬機(jī)列表等的空間復(fù)雜度為O(n),存儲(chǔ)信息素及結(jié)果集的空間復(fù)雜度為O(n2),所以整體的空間復(fù)雜度為O(n2)。 由于目標(biāo)系統(tǒng)是IaaS(基礎(chǔ)設(shè)施即服務(wù))且需要在大型數(shù)據(jù)中心進(jìn)行相關(guān)實(shí)驗(yàn),實(shí)驗(yàn)難度及實(shí)驗(yàn)成本非常高,為了簡(jiǎn)化實(shí)驗(yàn)和節(jié)約成本,本文通過(guò)在Cloudsim上仿真云計(jì)算環(huán)境來(lái)測(cè)試ACA-VMP算法的性能。Cloudsim是一款云計(jì)算環(huán)境的仿真軟件[15],可以模擬云環(huán)境中的各種資源并能提供實(shí)時(shí)任務(wù)運(yùn)行于虛擬機(jī)上,有助于測(cè)試不同的算法并評(píng)估算法性能。 Cloudsim實(shí)現(xiàn)云計(jì)算環(huán)境仿真主要依賴以下幾個(gè)核心基礎(chǔ)類: Vm:該類實(shí)現(xiàn)了對(duì)虛擬機(jī)的仿真,包括內(nèi)存、CPU、存儲(chǔ)虛擬機(jī)的內(nèi)部分配策略。 Host:該類實(shí)現(xiàn)了對(duì)物理主機(jī)的仿真,封裝了真實(shí)物理節(jié)點(diǎn)相關(guān)的配置信息。一個(gè)物理主機(jī)可對(duì)應(yīng)多個(gè)虛擬機(jī)。 Broker:代理類,起中介作用。協(xié)調(diào)用戶及服務(wù)供應(yīng)商和部署服務(wù)任務(wù)。 Cloudlet:該類是用來(lái)模擬云的應(yīng)用服務(wù)的類。 VmAllocationPolicy:抽象類,主要是來(lái)拓展物理主機(jī)中虛擬機(jī)的分配策略。它主要實(shí)現(xiàn)在數(shù)據(jù)中心中,選擇一個(gè)合適的主機(jī)來(lái)放置虛擬機(jī),以滿足它的資源需求。 DataCenter:數(shù)據(jù)中心,虛擬機(jī)與物理主機(jī)的集合,結(jié)合云任務(wù)模擬整個(gè)云環(huán)境。 部署仿真環(huán)境的主要步驟如下: Step1創(chuàng)建數(shù)據(jù)中心DataCenter。 Step2創(chuàng)建代理Broker。 Step3初始化VM列表與HOST列表,提交VM列表給代理Broker,并加入數(shù)據(jù)中心。 Step4用蟻群算法實(shí)現(xiàn)VmAllocationPolicy,將虛擬機(jī)分配策略加入數(shù)據(jù)中心。 Step5創(chuàng)建Cloudlet云任務(wù)列表,加入云數(shù)據(jù)中心。 Step6結(jié)合虛擬機(jī)選擇算法開(kāi)始仿真。仿真過(guò)程可以加入云任務(wù)、創(chuàng)建新實(shí)體。 Step7記錄數(shù)據(jù),包括每次遷移產(chǎn)生的能耗、數(shù)據(jù)中心負(fù)載均衡度、物理主機(jī)資源利用率。 實(shí)驗(yàn)?zāi)M了多個(gè)不同大小的數(shù)據(jù)中心,用來(lái)測(cè)試算法在不同環(huán)境下的效果,數(shù)據(jù)中心的仿真環(huán)境及參數(shù)配置如表1-表3所示。 表1 數(shù)據(jù)中心配置信息 表2 虛擬機(jī)配置信息 其中每臺(tái)物理主機(jī)分別擁有4 096 MB的RAM、4 TB存儲(chǔ)和1 Gbit/s帶寬。 表3 蟻群算法參數(shù)配置 在仿真實(shí)驗(yàn)中,本文選擇了另外四種虛擬機(jī)放置算法與ACA-VMP進(jìn)行實(shí)驗(yàn)對(duì)比。分別是降序首次適應(yīng)算法(FFD)、感知能耗的最佳適配遞減算法(PABFD)、感知能耗的最佳適配遞減算法、模擬退火組合算法(PABFD-SA),以及遺傳算法(GA)。將五種算法結(jié)合基于四分位距(InterQuartile Range,IQR)的過(guò)載檢測(cè)算法和利用率最小策略(the Minimum Utilization Policy,MU)的虛擬機(jī)選擇算法,來(lái)確保實(shí)驗(yàn)的一致性與準(zhǔn)確性。 首先在多目標(biāo)優(yōu)化的蟻群算法經(jīng)過(guò)多次迭代最后求得最優(yōu)解的迭代過(guò)程中,各個(gè)優(yōu)化目標(biāo)的變化情況,圖1為負(fù)載均衡因子這一優(yōu)化目標(biāo)的變化。 圖1 不同場(chǎng)景下的負(fù)載均衡因子變化 圖1顯示了在不同場(chǎng)景下ACA-VMP算法多次迭代中云數(shù)據(jù)中心的負(fù)載均衡因子變化,可以得出以下結(jié)論:(1)在不同場(chǎng)景下,負(fù)載均衡因子均有不斷降低的趨勢(shì),說(shuō)明蟻群算法的正反饋機(jī)制能夠在迭代過(guò)程中逐漸提升云數(shù)據(jù)中心的整體負(fù)載均衡度。(2)負(fù)載均衡因子波動(dòng)的幅度越來(lái)越小,說(shuō)明ACA-VMP算法逐步趨向于穩(wěn)定,逐步趨向于最優(yōu)解。(3)在實(shí)驗(yàn)環(huán)境從D2-D5不斷擴(kuò)大的情況下,優(yōu)化目標(biāo)仍沒(méi)有出現(xiàn)大幅度波動(dòng)。說(shuō)明ACA-VMP算法在時(shí)間允許的情況下,并不會(huì)因?yàn)槲锢碇鳈C(jī)與虛擬機(jī)的增多而逐漸偏離最優(yōu)解,即ACA-VMP算法通過(guò)提高搜索精度可以實(shí)現(xiàn)對(duì)規(guī)模較大的數(shù)據(jù)中心的優(yōu)化。 圖2-圖4是對(duì)云數(shù)據(jù)中心的負(fù)載均衡度、資源利用率、能源消耗三個(gè)優(yōu)化目標(biāo)的評(píng)估,可以看出ACA-VMP算法的在多目標(biāo)優(yōu)化上的優(yōu)越性。 圖2 不同場(chǎng)景下的負(fù)載均衡因子比較 圖3 不同場(chǎng)景下的能耗比較 圖4 不同場(chǎng)景下的資源利用率比較 圖2顯示了五種算法在不同大小的云數(shù)據(jù)中心的負(fù)載均衡度??梢悦黠@看出FFD算法得到的負(fù)載均衡度在任何環(huán)境中都較差,因?yàn)樵撍惴▽儆趩我荒繕?biāo)優(yōu)化算法,為了減少活躍物理主機(jī)數(shù)量這一個(gè)目標(biāo)導(dǎo)致部分物理主機(jī)負(fù)載過(guò)高,并且隨著仿真環(huán)境從D1至D6的不斷增大,效果越來(lái)越差。相比于其他算法,ACA-VMP算法雖然在Datacenter1中并不算最優(yōu),但是隨著實(shí)驗(yàn)場(chǎng)景的變化,ACA-VMP算法的負(fù)載均衡度逐漸優(yōu)于其他幾種算法并且沒(méi)有出現(xiàn)大幅度的降低,在較大數(shù)據(jù)中心中仍有良好的表現(xiàn),并且相比其他三種算法,負(fù)載均衡度的整體波動(dòng)幅度最小,充分說(shuō)明了ACA-VMP算法對(duì)云數(shù)據(jù)中心整體的負(fù)載均衡度有一定的優(yōu)化且穩(wěn)定性更好。 圖3顯示了五種算法在不同大小的云數(shù)據(jù)中心的能耗??梢钥闯鲈贒1至D3中由于數(shù)據(jù)中心過(guò)小,幾種算法都沒(méi)有明顯差距。隨著仿真環(huán)境從D1至D6的不斷增大,尤其在D5至D6上,ACA-VMP表現(xiàn)良好,且差距逐漸擴(kuò)大,其中GA在某些場(chǎng)景下效果更好,但是在D3至D6中能耗波動(dòng)幅度較大,算法不夠穩(wěn)定。FFD算法由于沒(méi)有考慮到優(yōu)化能耗而導(dǎo)致能耗一直很高,資源浪費(fèi)較嚴(yán)重。 圖4顯示了五種算法在不同大小的云數(shù)據(jù)中心的資源利用率??梢钥闯鯢FD在資源利用率方面有一定的優(yōu)化,因?yàn)镕FD屬于單一目標(biāo)優(yōu)化,在放置過(guò)程中能夠降低活躍物理主機(jī)的數(shù)量,優(yōu)化資源利用率,但是在較大的數(shù)據(jù)中心中效果不突出。PABFD與PABFD-SA算法波動(dòng)幅度較大,容易陷入局部極值。ACA-VMP算法在搜索過(guò)程中趨向?qū)ふ屹Y源利用率較高的物理主機(jī),并綜合考慮各種資源,所以資源利用率相較其他四種算法更高,從D4至D6中可以看出ACA-VMP算法在較大的數(shù)據(jù)中心的優(yōu)勢(shì)更加突出。 綜上,ACA-VMP算法確實(shí)可以有效地降低云數(shù)據(jù)中心的總體能耗,提高負(fù)載均衡度,提高物理主機(jī)的資源利用率,能夠在服務(wù)質(zhì)量和能耗之間找到一個(gè)較好的平衡點(diǎn),綜合性能表現(xiàn)最佳。因此,本文算法符合高效率和低能耗的要求。 降低能耗與提高資源利用率是云計(jì)算中建立大型數(shù)據(jù)中心過(guò)程中的重要環(huán)節(jié)。本文提出ACA-VMP算法實(shí)現(xiàn)云環(huán)境中虛擬機(jī)的放置整合策略。實(shí)驗(yàn)結(jié)果表明,本文提出的虛擬機(jī)放置策略在云數(shù)據(jù)中心負(fù)載均衡、降低能耗、提高資源利用率等方面得到了較好的結(jié)果。由于實(shí)驗(yàn)的局限性,本文只在仿真工具上進(jìn)行對(duì)比實(shí)驗(yàn),無(wú)法保證其在實(shí)際環(huán)境中的效率。由于實(shí)際中的云數(shù)據(jù)中心更加龐大,算法的時(shí)間復(fù)雜度也會(huì)增加。在未來(lái)的工作中,將繼續(xù)改進(jìn)本文的方法,并將它們擴(kuò)展到真實(shí)的云環(huán)境,以便對(duì)其進(jìn)行評(píng)估。3 實(shí)驗(yàn)及結(jié)果分析
4 結(jié) 語(yǔ)