, ,
(1.甘肅同興智能科技發(fā)展有限責(zé)任公司,甘肅 蘭州 730000; 2.國(guó)網(wǎng)蘭州供電公司,甘肅 蘭州 730050)
隨著電網(wǎng)云平臺(tái)技術(shù)的飛速發(fā)展,作為電網(wǎng)云平臺(tái)載體的數(shù)據(jù)中心服務(wù)器數(shù)量也越來(lái)越多,由此引發(fā)數(shù)據(jù)中心資源調(diào)度成為電網(wǎng)云平臺(tái)管理者關(guān)注的問(wèn)題。電網(wǎng)云平臺(tái)的資源調(diào)度問(wèn)題需要在低能耗和高性能之間做出妥協(xié),面向單一低能耗的資源調(diào)度可能會(huì)導(dǎo)致服務(wù)響應(yīng)延遲、性能降低等問(wèn)題;面向單一計(jì)算性能的資源調(diào)度算法也會(huì)導(dǎo)致過(guò)于糟糕的能耗問(wèn)題[1]。
云平臺(tái)資源調(diào)度近年來(lái)一直是一個(gè)活躍的研究領(lǐng)域,許多資源調(diào)度研究成果可作為電網(wǎng)云平臺(tái)資源調(diào)度的借鑒。文獻(xiàn)[2]在云計(jì)算環(huán)境中提出了一種基于時(shí)間成本和能耗模型的改進(jìn)克隆選擇算法(improved clonal selection algorithm,ICSA),并通過(guò)實(shí)驗(yàn)結(jié)果表明,所提出的ICSA方法可以有效地滿足用戶要求的服務(wù)等級(jí)協(xié)議。文獻(xiàn)[3]從系統(tǒng)資源分配角度分析如何減少能源消耗,并提出了一個(gè)云基礎(chǔ)設(shè)施資源自動(dòng)管理框架。文獻(xiàn)[4]提出了一種以帶寬為中心的任務(wù)調(diào)度模型和算法。該算法沒(méi)有考慮系統(tǒng)的負(fù)載均衡,導(dǎo)致任務(wù)分配不均衡。文獻(xiàn)[5]設(shè)計(jì)了一種稱為成本調(diào)度算法(cost conscious scheduling,CCS)的調(diào)度批處理作業(yè)的算法。該算法使用改進(jìn)的差分進(jìn)化算法(improved differential evolution algorithm,IDEA)對(duì)一個(gè)涉及任務(wù)調(diào)度和資源分配的并行機(jī)制調(diào)度進(jìn)行了研究。
文獻(xiàn)[6]提出了一種面向云平臺(tái)的虛擬桌面調(diào)度算法,旨在優(yōu)化資源利用率,提高客戶滿意度。通過(guò)優(yōu)化操作,該算法可以提高29%的資源利用率。文獻(xiàn)[7]提出了云計(jì)算環(huán)境下的能量效率模型和度量方法,可以有效地計(jì)算單個(gè)計(jì)算機(jī)和云環(huán)境下的能源效率。基于公共和私有云數(shù)據(jù)傳輸中的能耗以及測(cè)量和詳細(xì)統(tǒng)計(jì)數(shù)據(jù)的轉(zhuǎn)換,文獻(xiàn)[8]詳細(xì)分析了云計(jì)算軟件作為服務(wù),存儲(chǔ)即服務(wù)和平臺(tái)即服務(wù)的能耗情況。文獻(xiàn)[9]提出了一種實(shí)時(shí)能量管理系統(tǒng),它可以實(shí)時(shí)監(jiān)控CPU的利用率,并根據(jù)服務(wù)性能需要調(diào)整時(shí)鐘頻率和電壓供應(yīng),使CPU保持在占用率的80%左右來(lái)處理負(fù)載變化。
基于對(duì)上述研究成果的總結(jié),提出了一種基于克隆選擇算法的資源調(diào)度算法,用以優(yōu)化電網(wǎng)云平臺(tái)的資源調(diào)度??寺∵x擇算法是一種基于免疫系統(tǒng)克隆選擇理論的進(jìn)化優(yōu)化算法,通過(guò)迭代仿真生物進(jìn)化從而實(shí)現(xiàn)全局尋優(yōu)策略。該算法適合于解決一些使用傳統(tǒng)數(shù)學(xué)規(guī)劃方法無(wú)法解決的復(fù)雜環(huán)境下的優(yōu)化問(wèn)題。實(shí)驗(yàn)結(jié)果表明,所提出的算法可以合理優(yōu)化電網(wǎng)云平臺(tái)中的數(shù)據(jù)中心資源節(jié)點(diǎn)的調(diào)度,降低數(shù)據(jù)中心能耗,降低電網(wǎng)云平臺(tái)的運(yùn)行成本。
負(fù)載均衡是優(yōu)化資源利用率,最大化吞吐量,減少延遲并確保容錯(cuò)配置的常用技術(shù)[10]。在電網(wǎng)云計(jì)算環(huán)境中,負(fù)載均衡是一種技術(shù),用于在多個(gè)數(shù)據(jù)中心或其他資源節(jié)點(diǎn)之間傳播工作負(fù)載,以避免單個(gè)資源過(guò)載。圖1顯示了云平臺(tái)的計(jì)算模型。
圖1 云計(jì)算模型
為了更好地描述負(fù)載均衡和能耗優(yōu)化模型的設(shè)計(jì),可以給出動(dòng)態(tài)能耗優(yōu)化模型如下。數(shù)據(jù)中心通常由電網(wǎng)云平臺(tái)中分布在不同地理位置的多個(gè)資源節(jié)點(diǎn)組成。實(shí)際上,每個(gè)子任務(wù)ti(i= 1,2,...,m)可以得到資源節(jié)點(diǎn)Rj以滿足基本實(shí)現(xiàn)條件,其中m表示滿足子任務(wù)ti的資源數(shù)量。泊松分布適用于描述在單位時(shí)間內(nèi)(或空間)發(fā)生的隨機(jī)事件的數(shù)量。因此,云平臺(tái)環(huán)境中資源分配和任務(wù)調(diào)度的動(dòng)態(tài)過(guò)程可以看作一個(gè)泊松分布。
定義1:假設(shè)云平臺(tái)模型GCloud=(D,T,P,G),D= {D1,D2,...,Dd}是d個(gè)云服務(wù)器數(shù)據(jù)中心的集合;T是隨機(jī)任務(wù)和計(jì)算節(jié)點(diǎn),Tij表示任務(wù)ti在節(jié)點(diǎn)j上執(zhí)行;Pi是閑置時(shí)節(jié)點(diǎn)i的功率,Gi是節(jié)點(diǎn)i的峰值功率。
定義2:假設(shè)每個(gè)數(shù)據(jù)中心的網(wǎng)絡(luò)帶寬矩陣在電網(wǎng)云平臺(tái)中為B,bi j為數(shù)據(jù)中心各節(jié)點(diǎn)的傳輸帶寬。
(1)
為了盡量減少成本約束下的能源消耗,成本約束下的能源優(yōu)化就是計(jì)算完成云計(jì)算過(guò)程中的能源消耗成本。
式中:i= 1,2,...,m;j= 1,2,...,n。
為了減少計(jì)算節(jié)點(diǎn)的能耗,可以通過(guò)減少空閑節(jié)點(diǎn)X的百分比來(lái)實(shí)現(xiàn)。電網(wǎng)云平臺(tái)的能耗計(jì)算公式為
隨著云計(jì)算的快速發(fā)展,云數(shù)據(jù)中心的服務(wù)器規(guī)模每年都在不斷擴(kuò)大,造成巨大的功耗。此外,不合理的調(diào)度策略導(dǎo)致能源浪費(fèi),使電網(wǎng)云平臺(tái)數(shù)據(jù)中心的運(yùn)行成本不斷增加。
資源算法的變異算子如算法1所示。
算法1:變異算子
輸入:變異概率Pm
輸出:優(yōu)化個(gè)體ai
1)k=INT(PmSize);INT(*)是整數(shù)函數(shù);
4)生成隨機(jī)數(shù)r=random(0,1);
6)返回ai。
資源調(diào)度算法的選擇算子如算法2所示。
算法2:選擇算子
輸入:選擇概率Ps。
輸出:優(yōu)化個(gè)體ak。
1)k=INT(PmSize);INT(*)是整數(shù)函數(shù);
2)根據(jù)抗體群體的降序親和力值,直接選擇第k個(gè)抗體ak;
3)生成隨機(jī)數(shù)r=random(0,1);
4)如果Ps>r,將ak保存作為下一代入口;
5)返回ak。
圖2顯示了電網(wǎng)云平臺(tái)的任務(wù)調(diào)度過(guò)程。
圖2 電網(wǎng)云平臺(tái)的任務(wù)調(diào)度
為了測(cè)試算法在不同環(huán)境下的性能和效率,使用具有10 GB RAM和4 TB存儲(chǔ)6臺(tái)物理機(jī)器搭建電網(wǎng)云計(jì)算平臺(tái),其中每臺(tái)機(jī)器具有8個(gè)容量為10 000 MIPS的CPU。在電網(wǎng)云計(jì)算實(shí)驗(yàn)平臺(tái)上設(shè)置CloudSim仿真環(huán)境,其中包括作業(yè)調(diào)度程序、資源規(guī)劃程序、云和虛擬機(jī)實(shí)例。CloudSim平臺(tái)提供的虛擬化引擎可以幫助用戶構(gòu)建和管理數(shù)據(jù)中心節(jié)點(diǎn)[11-12]。通過(guò)比較了ICSA、CCS和所提算法在實(shí)驗(yàn)云計(jì)算環(huán)境中的運(yùn)行情況,來(lái)驗(yàn)證所提算法的性能。
圖3顯示了不同數(shù)量任務(wù)的響應(yīng)時(shí)間比較,可以看出:在初始階段,所提算法的響應(yīng)時(shí)間略高于CCS和ICSA,隨著任務(wù)數(shù)量的逐漸增加,這一差距逐漸減?。辉诤笃陔A段,所提算法的響應(yīng)時(shí)間遠(yuǎn)低于其他兩種算法。圖4顯示了不同迭代次數(shù)的響應(yīng)時(shí)間比較,可以看出,所提算法與其他兩種算法相比具有明顯的優(yōu)勢(shì)。這是因?yàn)樗崴惴ǔ浞掷昧丝寺∵x擇原則。 為了驗(yàn)證所提算法的有效性,比較了3種算法的執(zhí)行時(shí)間,如圖5所示,可以清楚地看出,所提算法的執(zhí)行時(shí)間在處理過(guò)程中是最小的。
圖3 不同任務(wù)數(shù)的響應(yīng)時(shí)間比較
圖4 不同迭代次數(shù)的響應(yīng)時(shí)間比較
圖6顯示了不同調(diào)度周期的能耗比較。值得一提的是,CCS、所提算法和ICSA分別在每個(gè)調(diào)度周期平均消耗2.35、1.91和2.36 kW/h,其中所提算法的最低能耗為1.62 kW/h。
圖6 不同調(diào)度周期的能耗比較
圖7顯示了不同數(shù)量任務(wù)的平均能耗比較,可以看出,所提算法在大多數(shù)情況下表現(xiàn)出更優(yōu)異的性能,并且實(shí)現(xiàn)了極大的節(jié)能。由于所提算法同時(shí)從幾個(gè)初始值開始,有效減少了對(duì)初始值的依賴,并加快了整體搜索速度。
圖7 不同數(shù)量任務(wù)的平均能耗比較
圖8 不同數(shù)量任務(wù)的平均執(zhí)行成本比較
圖8顯示了不同數(shù)量任務(wù)的平均執(zhí)行成本的比較。值得一提的是,這3種算法的初始成本是相同的,隨著任務(wù)數(shù)量的增加,這3種算法有不同的增長(zhǎng)趨勢(shì)。
圖9顯示了不同數(shù)量任務(wù)的平均執(zhí)行功率比較的實(shí)驗(yàn)結(jié)果,不難看出所提算法的曲線波動(dòng)幅度最小,說(shuō)明所提算法的平均執(zhí)行力較好,而CCS和ICSA波動(dòng)較大。
圖9 不同數(shù)量任務(wù)的平均執(zhí)行功率比較
電網(wǎng)云平臺(tái)由一系列互聯(lián)和虛擬化計(jì)算機(jī)組成,通過(guò)計(jì)算機(jī)動(dòng)態(tài)虛擬化提供一個(gè)或多個(gè)統(tǒng)一計(jì)算和存儲(chǔ)資源。針對(duì)資源優(yōu)化調(diào)度和能耗降低目標(biāo),提出了基于負(fù)載均衡策略和克隆選擇理論的資源調(diào)度算法。實(shí)驗(yàn)結(jié)果表明,該資源調(diào)度算法具有較好的云平臺(tái)數(shù)據(jù)中心能耗降低能力。