徐勝超
(廣州華商學(xué)院 數(shù)據(jù)科學(xué)學(xué)院,廣州 511300)
云資源[1-2]是云計(jì)算平臺(tái)利用虛擬化技術(shù)向外共享的資源。隨著信息技術(shù)的不斷提升,云計(jì)算平臺(tái)[3]的規(guī)模逐漸擴(kuò)大,云資源的異構(gòu)性也隨之增多。諸多云資源數(shù)據(jù)在運(yùn)行過程中所消耗的能量過高,而高能耗就會(huì)直接提高企業(yè)的經(jīng)濟(jì)成本。為了降低企業(yè)能耗,需要對(duì)云資源實(shí)行低能耗部署與調(diào)度,以此減輕云平臺(tái)的負(fù)擔(dān),提升云資源的整體利用率,從而實(shí)現(xiàn)數(shù)據(jù)中心綠色節(jié)能。為了達(dá)到理想部署效果,需要對(duì)容器云資源低能耗部署方法展開研究。
文獻(xiàn)[4]提出邊云協(xié)同計(jì)算中基于預(yù)測(cè)的資源部署與任務(wù)調(diào)度優(yōu)化算法,優(yōu)先對(duì)云計(jì)算能力實(shí)行擴(kuò)展操作,將其擴(kuò)展到與其相對(duì)應(yīng)的邊緣設(shè)備中,以此設(shè)計(jì)出一個(gè)協(xié)同計(jì)算框架,并預(yù)測(cè)部署任務(wù),把預(yù)測(cè)結(jié)果與分類聚合相結(jié)合,以此完成資源任務(wù)的部署;再對(duì)邊緣器實(shí)行劃分,從中取得服務(wù)目標(biāo)曲線,以此完成對(duì)任務(wù)的調(diào)度優(yōu)化。該方法設(shè)計(jì)的計(jì)算框架不夠完善,導(dǎo)致最終部署效果不理想。
文獻(xiàn)[5]提出面向大數(shù)據(jù)復(fù)雜應(yīng)用的虛擬集群動(dòng)態(tài)部署模型方法,在容器技術(shù)支持情況下建立了一個(gè)部署模型,依據(jù)資源的動(dòng)態(tài)變動(dòng),利用該模型對(duì)虛擬群體實(shí)行調(diào)整和計(jì)算,其中包含節(jié)點(diǎn)類型的計(jì)算和節(jié)點(diǎn)規(guī)模的調(diào)整,并利用該模型完成對(duì)用戶作業(yè)的部署,實(shí)現(xiàn)資源部署的目的。該方法建立的模型不夠全面,存在請(qǐng)求接收率差的問題。
文獻(xiàn)[6]提出移動(dòng)網(wǎng)絡(luò)部署與計(jì)算資源分配聯(lián)合算法,針對(duì)在虛擬網(wǎng)絡(luò)中對(duì)資源實(shí)行分配處理時(shí)出現(xiàn)的時(shí)延問題,結(jié)合資源的分配與部署,實(shí)現(xiàn)時(shí)延加權(quán)和最小化的目的,并采用策略梯度算法對(duì)學(xué)習(xí)策略實(shí)行資源指導(dǎo)和部署。該方法的分配處理效果不佳,存在平均可靠性差的問題。
蛙跳算法是一種全新的后啟發(fā)式群體進(jìn)化算法,具有高效的計(jì)算性能和優(yōu)良的全局搜索能力。混合蛙跳算法在蛙跳算法基礎(chǔ)上進(jìn)行改進(jìn),在全局范圍內(nèi)通過重新排序、分組,加快種群的收斂速度,從而獲取最優(yōu)解。為了解決容器云資源部署中存在的問題,本文利用混合蛙跳算法對(duì)容器云資源低能耗部署方法展開研究,并通過仿真實(shí)驗(yàn)驗(yàn)證了本文方法的有效性,解決了已有的方法中存在的某些問題。
云服務(wù)提供商[7-8]對(duì)網(wǎng)絡(luò)的應(yīng)用需求越來越多,需要選取云資源配置對(duì)網(wǎng)絡(luò)資源部署,通常情況下選取的云資源配置分為兩種:①容器部署[9];②由虛擬機(jī)與容器結(jié)合后的資源部署,其部署性能最佳。
當(dāng)云資源數(shù)據(jù)任務(wù)輸送到云數(shù)據(jù)中心后,就會(huì)對(duì)云資源實(shí)行初始配置,配置完成后云資源任務(wù)在運(yùn)行期間會(huì)通過虛擬機(jī)的方式[10]實(shí)行遷移,從而完成容器云資源部署。
1.1.1 虛擬機(jī)資源配置
物理服務(wù)器在系統(tǒng)數(shù)據(jù)中心內(nèi)總量較多,當(dāng)虛擬服務(wù)器向物理服務(wù)器發(fā)出請(qǐng)求時(shí),就需要按照設(shè)定的策略利用物理服務(wù)器對(duì)虛擬服務(wù)器實(shí)行部署。其部署流程如下。
步驟1分別選取一臺(tái)物理機(jī)和虛擬機(jī),物理機(jī)中存在部署的資源。
步驟2利用物理機(jī)[11]向虛擬機(jī)分配內(nèi)存資源。
步驟3利用物理機(jī)向虛擬機(jī)分配帶寬資源。
步驟4利用物理機(jī)向虛擬機(jī)分配CPU資源[12]。當(dāng)物理機(jī)中存有不同的處理核時(shí),虛擬機(jī)就需要與其相對(duì)應(yīng)的處理核數(shù)量,分配CPU資源時(shí)應(yīng)按照特定順序?qū)⑽锢頇C(jī)的處理核分配到虛擬機(jī)內(nèi)。
步驟5利用物理機(jī)向虛擬機(jī)分配磁盤資源。
步驟6重復(fù)步驟1—步驟5,直至全部資源分配完成結(jié)束。
1.1.2 容器云資源配置
一般來說容器的部署流程與虛擬機(jī)相似,但容器屬于云資源任務(wù)的實(shí)際載體,因此,容器中的CPU需要以實(shí)際CPU負(fù)載量和虛擬服務(wù)器的可用CPU對(duì)比。基于實(shí)際情況,容器CPU的利用率一般低于虛擬機(jī)。
1.1.3 遷移容器或虛擬機(jī)
云資源任務(wù)種類繁多,執(zhí)行云資源任務(wù)有兩種方式:①遷移容器方式,具備處理時(shí)間短的優(yōu)勢(shì),但其需求波動(dòng)較大;②遷移虛擬機(jī)方式,對(duì)任務(wù)處理的時(shí)間較長,且需要執(zhí)行的數(shù)據(jù)總量多。
有些物理機(jī)在執(zhí)行任務(wù)時(shí),執(zhí)行速度較快,若此時(shí)沒有被部署新任務(wù),物理機(jī)就會(huì)因?yàn)檫^于空閑而導(dǎo)致資源利用率低[13-14],資源利用率低于設(shè)定的臨界值時(shí),物理機(jī)的狀態(tài)就會(huì)轉(zhuǎn)換成欠載狀態(tài)。而有些物理機(jī)在執(zhí)行任務(wù)時(shí)所用時(shí)間較長,接收到新任務(wù)的部署后就會(huì)過于繁忙,導(dǎo)致資源的利用率過高[15],資源利用率超出設(shè)定的臨界值時(shí),該物理機(jī)的狀態(tài)就會(huì)變換成過載狀態(tài)。這兩種狀態(tài)都存在弊端,欠載狀態(tài)容易浪費(fèi)資源,過載狀態(tài)更容易對(duì)系統(tǒng)的穩(wěn)定性產(chǎn)生影響。因此對(duì)任務(wù)實(shí)行部署時(shí),要考慮到物理服務(wù)器之間的負(fù)載均衡條件。
容器云資源環(huán)境中,考慮到服務(wù)器的負(fù)載均衡,應(yīng)對(duì)虛擬機(jī)實(shí)行遷移。由于容器云中包含物理服務(wù)器、虛擬機(jī)、容器等3種不同層次的對(duì)象,因此它與早期的云計(jì)算環(huán)境大不相同,有著可遷移的特點(diǎn)。各類對(duì)象在遷移過程中都要遵循一致策略。
容器在遷移時(shí)先要考慮何時(shí)才能對(duì)服務(wù)器實(shí)行遷移,這主要由系統(tǒng)數(shù)據(jù)中心的資源調(diào)度策略[16]決定而成,共分為3種觸發(fā)方式。
定時(shí)觸發(fā)。設(shè)定固定的時(shí)間點(diǎn)對(duì)需要遷移的工作實(shí)行處理。
定量觸發(fā)。設(shè)定具體的執(zhí)行任務(wù),當(dāng)一定量的任務(wù)被執(zhí)行完成后,即可執(zhí)行遷移。
監(jiān)控觸發(fā)。利用系統(tǒng)數(shù)據(jù)中心對(duì)服務(wù)器實(shí)行實(shí)時(shí)監(jiān)控,根據(jù)監(jiān)測(cè)到的情況判斷是否對(duì)虛擬機(jī)實(shí)行遷移。依據(jù)以上3點(diǎn),完成容器遷移的觸發(fā)。
設(shè)置過載與欠載臨界值,以物理主機(jī)的處理器利用率大小為主遷移服務(wù)器。同時(shí)遷移的位置與設(shè)定的物理機(jī)策略有關(guān),具體遷移流程如下。
步驟1對(duì)物理機(jī)的整體資源利用率實(shí)行統(tǒng)計(jì),并將超過設(shè)定臨界值的物理機(jī)保存到設(shè)定的OverList列表中,根據(jù)保存結(jié)果對(duì)其實(shí)行降序排列。
步驟2對(duì)OverList列表物理機(jī)中的虛擬機(jī)資源利用率實(shí)行降序排序。
步驟3將沒有處于OverList列表的物理機(jī)用作遷移對(duì)象。
步驟4在OverList列表中以先后順序?yàn)橹?挑選一臺(tái)物理機(jī)用作遷移源物理機(jī)。以設(shè)定的順序?yàn)橹?將遷移源物理機(jī)中的虛擬機(jī)轉(zhuǎn)移添加到遷移目標(biāo)內(nèi),令其滿足不過載的條件,直至遷移源物理機(jī)不過載為止。若存在虛擬機(jī)不被遷移目標(biāo)接收的情況,就需要返回至步驟3,再次選取一臺(tái)物理機(jī)用作遷移對(duì)象,并對(duì)其實(shí)行遷移,直至在OverList列表的物理機(jī)被處理為止。
步驟5對(duì)資源利用率出現(xiàn)欠載狀態(tài)[17]的物理機(jī)實(shí)行統(tǒng)計(jì),并將其保存到設(shè)定的UnderList列表。
步驟6選取一臺(tái)不存于任何列表中的物理機(jī),看作遷移目標(biāo)。
步驟7在UnderList列表內(nèi)挑選一臺(tái)可以用作遷移源物理機(jī)的物理服務(wù)器。并對(duì)遷移源
物理機(jī)部署的虛擬機(jī)遷移,移至遷移目標(biāo)中,保證其滿足不過載的條件。若存在不能完全接收遷移虛擬機(jī)[18]的問題,則需要重新選取物理機(jī)用作遷移目標(biāo)。
步驟8關(guān)閉遷移源物理機(jī),遷移結(jié)束。
基于上述遷移流程,得知資源在遷移或部署過程中,都需要選擇一個(gè)指定的物理機(jī),這樣才能實(shí)現(xiàn)容器的資源部署。也因此得知物理機(jī)是能源消耗最大的服務(wù)器,要實(shí)現(xiàn)容器云資源低能耗部署,就需要優(yōu)先降低物理機(jī)的能耗,并找到容器之間的能耗值計(jì)算關(guān)系。
基于上述容器云資源配置分析,得知容器云資源能耗影響因素,為了實(shí)現(xiàn)容器云資源低能耗部署,需要獲取容器能耗值,因而設(shè)立能耗優(yōu)化及資源調(diào)度方案。
1.3.1 建立能耗測(cè)量監(jiān)控平臺(tái)
為了獲取各個(gè)容器之間的能耗值,設(shè)立一個(gè)能耗測(cè)量監(jiān)控平臺(tái)[19],主要用來對(duì)能耗實(shí)行測(cè)量和計(jì)算。采用間接測(cè)量方式,對(duì)容器的資源利用率及性能數(shù)據(jù)實(shí)行采集,根據(jù)資源利用率與能耗之間的關(guān)系,取得能耗值或?qū)崿F(xiàn)對(duì)能耗值的預(yù)測(cè)。本文中各個(gè)服務(wù)器的能耗可表示為CPU、內(nèi)存、磁盤存儲(chǔ)、網(wǎng)絡(luò)帶寬的總和。
假設(shè)在有m個(gè)物理主機(jī)和n個(gè)容器的云平臺(tái)中,云資源部署的能量損耗主要來自固定和遷移兩部分,經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),云資源能耗與物理主機(jī)的資源利用率有較大關(guān)聯(lián),t時(shí)刻物理主機(jī)的能耗為
Ehost(t)=E(Ucpu(t))+E(Umem(t))+
E(Udisk(t))+E(Ubw(t))
(1)
(1)式中:E(Ucpu(t))表示物理主機(jī)CPU的能耗;E(Umem(t))為物理主機(jī)的內(nèi)存能耗;E(Udisk(t))為物理主機(jī)的磁盤能耗;E(Ubw(t))為物理主機(jī)的網(wǎng)絡(luò)帶寬能耗。第i個(gè)物理主機(jī)在[ta,tb]時(shí)間段的總體能量損耗Ei計(jì)算公式為
(2)
容器云資源調(diào)度過程中的能耗,除了硬件資源利用率實(shí)時(shí)變化產(chǎn)生的能耗外,還包括容器遷移能耗。基于系統(tǒng)各部位的資源利用率以及能耗公式得出容器遷移開銷,其計(jì)算公式為
(3)
(3)式中:j為容器編號(hào);vj(t)為t時(shí)刻的第j個(gè)容器處理器利用率;t1為容器開始遷移的時(shí)間;tkj為容器完成全部遷移所需的時(shí)間;Vj為容器遷移開銷。由于容器遷移開銷是影響容器云資源調(diào)度能耗的重要影響因素,因此容器云資源能耗分析過程中重點(diǎn)計(jì)算容器遷移開銷。整個(gè)容器云平臺(tái)的能量損耗為
(4)
1.3.2 虛擬機(jī)管理器對(duì)物理機(jī)能耗的監(jiān)測(cè)
利用虛擬管理器對(duì)物理機(jī)能耗實(shí)行監(jiān)測(cè)時(shí)[20],還需要把物理機(jī)能耗打開及能耗關(guān)閉狀態(tài)全部考慮在內(nèi)。物理機(jī)處于開啟狀態(tài)但沒有運(yùn)行時(shí),所產(chǎn)生的能耗要與獲取的能耗值相比較。物理機(jī)處于就緒狀態(tài)時(shí)所消耗的時(shí)間超出設(shè)定的時(shí)間閾值,就需要及時(shí)關(guān)閉物理機(jī),使其停止運(yùn)作。
虛擬機(jī)管理器監(jiān)測(cè)到物理機(jī)和其余虛擬機(jī)工作情況后,將監(jiān)測(cè)到的相關(guān)信息輸送到建立的能耗測(cè)量監(jiān)控平臺(tái)中,利用該平臺(tái)對(duì)其實(shí)行能耗計(jì)算,并把計(jì)算結(jié)果發(fā)送至能耗調(diào)度器[21]。采用超時(shí)判定法對(duì)物理機(jī)關(guān)閉的時(shí)間閾值實(shí)行設(shè)置,定義為
T=(Poff+Pon)/Ekeep
(5)
(5)式中:T為時(shí)間閾值;Poff為物理機(jī)在關(guān)閉時(shí)產(chǎn)生的能耗;Pon為開啟物理機(jī)時(shí)產(chǎn)生的能耗;Ekeep為物理機(jī)空閑時(shí)間產(chǎn)生的能耗。
本文基于超時(shí)判定法衡量物理機(jī)在不同狀態(tài)下產(chǎn)生的能耗,使物理機(jī)在工作時(shí)一直處于低能耗狀態(tài);從容器資源利用率及能耗兩個(gè)角度出發(fā),建立能耗調(diào)度器,對(duì)能耗測(cè)量監(jiān)控平臺(tái)數(shù)據(jù)獲取的資源利用率和能耗值采用混合蛙跳算法取得最佳部署方案。
蛙跳算法是一種新興的群智能優(yōu)化算法,概念簡單,易于實(shí)現(xiàn)。而混合蛙跳算法是在蛙跳算法的基礎(chǔ)上進(jìn)行的改進(jìn)算法,混合蛙跳算法[22]是一種啟發(fā)式計(jì)算技術(shù),其本身具備全局搜索能力最強(qiáng)的優(yōu)勢(shì)。這種算法模擬青蛙群體尋找食物時(shí),按族群分類進(jìn)行思想傳遞的過程,將全局信息交換和局部深度搜索相結(jié)合,局部搜索使得思想在局部個(gè)體間傳遞,混合策略使得局部間的思想得到交換?;旌贤芴惴ǖ幕玖鞒倘缦隆?/p>
步驟1基于混合蛙跳算法設(shè)置初始種群數(shù)目、族群數(shù)目及族群最大迭代次數(shù)。
步驟2針對(duì)青蛙個(gè)體編碼,得出青蛙個(gè)體適應(yīng)度值,根據(jù)計(jì)算結(jié)果對(duì)其實(shí)行降序排序,從中劃分出若干個(gè)族群。
步驟3對(duì)青蛙的各個(gè)子群實(shí)行更新。
步驟4混合青蛙個(gè)體與種群,排序適應(yīng)度值,選出最優(yōu)青蛙,對(duì)其實(shí)行混沌優(yōu)化。
步驟5當(dāng)優(yōu)化結(jié)果滿足終止條件時(shí),結(jié)束尋優(yōu),若不滿足,則需要返回至步驟2繼續(xù)優(yōu)化。
步驟6通過獲取的最優(yōu)個(gè)體,獲取最優(yōu)解。
基于上述容器云資源部署方案,本文采用混合蛙跳算法對(duì)其實(shí)行局部搜索,以此取得最優(yōu)解,得出最佳容器云資源低能耗部署方案;將若干個(gè)云資源任務(wù)分配到虛擬機(jī)資源中,利用混合蛙跳算法的青蛙個(gè)體對(duì)方案實(shí)行編碼,并以尋優(yōu)的方式尋找到最優(yōu)解。
當(dāng)容器云資源中共包含3個(gè)資源、5個(gè)任務(wù)時(shí),它的總編碼X=[2.3,3.2,2.5,1.8,2.0];對(duì)其解碼后,X=[2,3,2,1,2]。
根據(jù)解碼表達(dá)式可知,青蛙個(gè)體將任務(wù)1、任務(wù)3和任務(wù)5調(diào)度到資源2中,任務(wù)2和任務(wù)4則調(diào)度到資源3中執(zhí)行。
考慮到青蛙運(yùn)動(dòng)過程中的變化因素,對(duì)多次迭代下的青蛙的運(yùn)動(dòng)速度V與位置D進(jìn)行更新,具體公式為
(6)
(6)式中:Tmax為最大迭代次數(shù);θ為慣性權(quán)重;Tg為局部極值點(diǎn);N′為最佳種群變異概率;dα為青蛙坐標(biāo)。
任務(wù)調(diào)度[23]后要在適當(dāng)時(shí)間內(nèi)完成,因而需要設(shè)置適應(yīng)度函數(shù),定義為
(7)
根據(jù)上述適應(yīng)度函數(shù),經(jīng)過多次迭代計(jì)算,獲取最優(yōu)個(gè)體,構(gòu)建目標(biāo)優(yōu)化函數(shù),得到目標(biāo)函數(shù)的優(yōu)化結(jié)果,即獲取最佳容器云資源低能耗部署方案,利用該方案對(duì)容器云資源實(shí)行低能耗部署。目標(biāo)函數(shù)的表達(dá)式為
(8)
(8)式中:Ga為尋優(yōu)速度;la為計(jì)算權(quán)值。
實(shí)驗(yàn)硬件平臺(tái)為 CPU-Intel Core i7-8700K 3.7 GHz,內(nèi)存8 GB,磁盤2 TB,網(wǎng)絡(luò)帶寬100 MB/s。
軟件平臺(tái)基于容器云模擬器 Cloudsim5.0,該軟件中所有的服務(wù)要求都被打包成一個(gè)云任務(wù),一個(gè)虛擬機(jī)可以在同一時(shí)間執(zhí)行多個(gè)云任務(wù)[24-26]。根據(jù)需要的物理資源,這些初始化的虛擬機(jī)依次分配到已打開的物理主機(jī)。在容器云中,數(shù)據(jù)中心是由大量的物理主機(jī)節(jié)點(diǎn)構(gòu)成的,主機(jī)則是云數(shù)據(jù)中心的基礎(chǔ)實(shí)體。在 CloudSim5.0中,可以預(yù)先設(shè)定云平臺(tái)的內(nèi)存、硬盤、預(yù)設(shè)部署原則以及約束條件。實(shí)驗(yàn)設(shè)置容器云平臺(tái)中虛擬機(jī)的數(shù)量為1 000個(gè),物理主機(jī)數(shù)量為40臺(tái)。
實(shí)驗(yàn)中容器云執(zhí)行速度范圍為100~500 MI/s,子任務(wù)的任務(wù)長度范圍為10 000~50 000 MI,實(shí)驗(yàn)參數(shù)如表1所示。
表1 實(shí)驗(yàn)參數(shù)設(shè)置Tab.1 Parameters of experiment
采用多峰函數(shù)Rastrigrin完成對(duì)比實(shí)驗(yàn)。Rastrigrin可以采集大量的局部極值點(diǎn),對(duì)搜索過程的整體搜索能力進(jìn)行判定。為了確保實(shí)驗(yàn)的公平性,將函數(shù)維數(shù)統(tǒng)一設(shè)置為30,采用混合蛙跳算法、虛擬集群動(dòng)態(tài)部署算法和移動(dòng)網(wǎng)絡(luò)部署算法,測(cè)試迭代次數(shù)與適應(yīng)值之間的趨勢(shì)變化如圖1所示。
圖1 適應(yīng)度函數(shù)值變化趨勢(shì)Fig.1 Trends of fitness function value
由圖1可知,開始階段各算法適應(yīng)度函數(shù)值下降均較快,局部最優(yōu)的現(xiàn)象很快就出現(xiàn)了。但是,混合蛙跳算法使粒子很快跳出了局部最優(yōu)陷阱,更快地達(dá)到了最優(yōu)。這表明該算法收斂性較好。
為了獲取容器云資源部署時(shí)的測(cè)試結(jié)果,本文選取3個(gè)能夠體現(xiàn)出容器云資源部署效果的測(cè)試指標(biāo),即資源請(qǐng)求接收率、云平臺(tái)能耗、平均時(shí)延。
采用基于混合蛙跳算法的容器云資源低能耗部署方法、面向大數(shù)據(jù)復(fù)雜應(yīng)用的虛擬集群動(dòng)態(tài)部署模型方法[5]和移動(dòng)網(wǎng)絡(luò)部署與計(jì)算資源分配聯(lián)合算法[6]實(shí)行比對(duì)實(shí)驗(yàn)測(cè)試。
針對(duì)3種方法分別對(duì)選取的測(cè)試指標(biāo)實(shí)行實(shí)驗(yàn)對(duì)比,根據(jù)測(cè)試結(jié)果分析與驗(yàn)證容器云資源部署效果。
3.4.1 請(qǐng)求接收率測(cè)試
負(fù)載均衡效果會(huì)對(duì)容器云資源任務(wù)部署請(qǐng)求接收率造成影響,因而設(shè)立考慮能源負(fù)載均衡及不考慮能源負(fù)載均衡兩種情況,利用3種方法對(duì)不同情況下的請(qǐng)求接收率實(shí)行測(cè)試,測(cè)試結(jié)果如圖2所示。
圖2 請(qǐng)求接收率對(duì)比Fig.2 Comparision in request acceptance rate
由圖2可見,在考慮負(fù)載均衡情況下,3種方法的請(qǐng)求接收率均較高,其接收結(jié)果都處于80%以上;但不考慮負(fù)載均衡后,3種方法的請(qǐng)求接收率均有所下降,其中虛擬集群動(dòng)態(tài)部署方法和移動(dòng)網(wǎng)絡(luò)部署方法運(yùn)動(dòng)軌跡下降速度最快。對(duì)比而言,混合蛙跳方法的請(qǐng)求接收率最高,同時(shí)受到負(fù)載均衡影響效果最小,原因是該方法設(shè)立了資源調(diào)度方案,達(dá)到優(yōu)化能耗的目的,從而提升請(qǐng)求接收率。
3.4.2 容器云平臺(tái)能耗測(cè)試
容器云平臺(tái)能量損耗影響著云資源任務(wù)部署的成效,為了驗(yàn)證容器云資源部署效果,利用混合蛙跳方法、虛擬集群動(dòng)態(tài)部署方法和移動(dòng)網(wǎng)絡(luò)部署方法分別對(duì)容器云資源能量損耗展開測(cè)試。統(tǒng)計(jì)了一天24小時(shí)內(nèi)整個(gè)容器云平臺(tái)的能量損耗,測(cè)試結(jié)果如表2所示。
表2 能量損耗對(duì)比Tab.2 Comparision in energy consumption
由表2可知,經(jīng)過10次實(shí)驗(yàn)的反復(fù)測(cè)試,混合蛙跳方法的容器云平臺(tái)能量損耗最高值為24 565 kJ,最低值為15 678 kJ,平均能耗為19 990 kJ,但是虛擬集群動(dòng)態(tài)部署方法[5]平均能耗有28 262 kJ,移動(dòng)網(wǎng)絡(luò)部署方法[6]的平均能耗有28 519 kJ相對(duì)于其他2種方法,混合蛙跳方法的容器云資源能量損耗最低,這說明利用本文提出的基于混合蛙跳算法進(jìn)行容器云資源低能耗部署的效果最好。分析原因是本文采用混合蛙跳算法對(duì)云資源任務(wù)實(shí)行局部搜索,以此取得最優(yōu)解,得出最佳容器云資源低能耗部署方案,從而實(shí)現(xiàn)容器云資源低能耗的部署。
3.4.3 平均時(shí)延測(cè)試
容器云資源任務(wù)在部署期間,其部署平均時(shí)延影響著容器云資源的任務(wù)部署效率,所以利用3種方法分別對(duì)容器云資源任務(wù)實(shí)行平均時(shí)延測(cè)試,具體測(cè)試結(jié)果如表3所示。
表3 平均時(shí)延測(cè)試結(jié)果Tab.3 Results of experiments in time delay
從表3可知,對(duì)容器云資源任務(wù)部署時(shí)3種方法所消耗的部署時(shí)間各不相同。混合蛙跳方法在整體任務(wù)部署期間,消耗的時(shí)間較少,部署效率高。虛擬集群動(dòng)態(tài)部署方法和移動(dòng)網(wǎng)絡(luò)部署方法平均時(shí)延上升速度較快,消耗的時(shí)間較多,部署效率差。這是因?yàn)楸疚幕旌贤芴惴ㄈ萜髟瀑Y源低能耗部署能夠快速搜索最優(yōu)解,降低了容器云資源任務(wù)部署時(shí)間。
容器云中運(yùn)行過多的數(shù)據(jù)會(huì)導(dǎo)致消耗的能量過高,影響任務(wù)部署效果。本文基于混合蛙跳算法的容器云資源低能耗部署方法對(duì)容器云資源的配置展開了詳細(xì)分析,基于能耗監(jiān)控分析結(jié)果設(shè)立資源調(diào)度方案,采用混合蛙跳算法對(duì)方案實(shí)行局部搜索,得出最優(yōu)部署方案。該方法為容器云資源低能耗部署方法提供了重要參考價(jià)值,后期的工作將研究其他的群體智能算法運(yùn)用到容器云資源部署中[27-29]。