潘繼財(cái)
(中國科學(xué)技術(shù)信息研究所,北京 100038)
在云計(jì)算技術(shù)的廣泛應(yīng)用背景下,網(wǎng)絡(luò)資源的共享更加便利,也使得用戶能夠更方便地獲取更加便利的網(wǎng)絡(luò)服務(wù)。但隨著云計(jì)算服務(wù)的普適化發(fā)展及網(wǎng)絡(luò)用戶數(shù)量的不斷增加,產(chǎn)生了大量的云計(jì)算工作和能量消耗,在高數(shù)據(jù)負(fù)載壓力下,資源分配服務(wù)器能耗大、工作狀態(tài)不穩(wěn)定,導(dǎo)致云計(jì)算任務(wù)調(diào)度系統(tǒng)無法正常工作,嚴(yán)重時可能導(dǎo)致系統(tǒng)癱瘓,無法為用戶提供資源分配和任務(wù)調(diào)度服務(wù)[1-2]。
為此,國內(nèi)的相關(guān)研究者對云計(jì)算環(huán)境下的任務(wù)調(diào)度進(jìn)行了深入的研究,文獻(xiàn)[3]提出基于異構(gòu)云算法的云計(jì)算任務(wù)調(diào)度模型結(jié)合異構(gòu)資源分配服務(wù)器組件高速資源分配網(wǎng)絡(luò),采用并行式和分布式算法構(gòu)建云計(jì)算任務(wù)調(diào)度模型協(xié)調(diào)多個不同架構(gòu)的服務(wù)器進(jìn)行任務(wù)分配,有效提升了任務(wù)調(diào)度的準(zhǔn)確率,但針對能耗方面的優(yōu)化效果不明顯,整體能力消耗大、服務(wù)器負(fù)載高,計(jì)算量大、任務(wù)調(diào)度效率較低,整體工作狀態(tài)難以維持穩(wěn)定狀態(tài)。文獻(xiàn)[4]提出基于動態(tài)優(yōu)先級和調(diào)度決策的云計(jì)算任務(wù)調(diào)度模型應(yīng)用TS-DPSD算法構(gòu)建動態(tài)優(yōu)先級模型,考慮任務(wù)的價值度和緊急度進(jìn)行調(diào)度排序,保證了任務(wù)調(diào)度的公平性和高效率性,并參考螢火蟲行為,利用螢火蟲算法以時間為吸引度進(jìn)行任務(wù)調(diào)度,再次提升了任務(wù)調(diào)度的效率,但缺點(diǎn)在于沒有對整體的能耗進(jìn)行考慮,導(dǎo)致資源分配不理性,任務(wù)調(diào)度缺乏精確性。
針對上述方法存在的問題,本文提出了基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型。首先計(jì)算任務(wù)調(diào)度的耗時及資源分配產(chǎn)生的總能耗,基于動態(tài)能力感知,構(gòu)建云計(jì)算任務(wù)調(diào)度模型,對資源屬性及任務(wù)屬性進(jìn)行分配,利用虛擬技術(shù)對調(diào)度任務(wù)進(jìn)行需求分析和分類,通過動態(tài)能量感知構(gòu)建云計(jì)算任務(wù)調(diào)度模型,將任務(wù)調(diào)度資源映射到虛擬計(jì)算中進(jìn)行任務(wù)調(diào)度,實(shí)現(xiàn)動態(tài)任務(wù)調(diào)度。
分析云計(jì)算任務(wù)節(jié)點(diǎn),通過計(jì)算節(jié)點(diǎn)集群中資源分配服務(wù)器的個數(shù),進(jìn)行任務(wù)調(diào)度服務(wù)器選擇,匹配適用于任務(wù)調(diào)度需求的云計(jì)算任務(wù)節(jié)點(diǎn)。通過將節(jié)點(diǎn)集群中的資源分配服務(wù)器投影到云計(jì)算任務(wù)節(jié)點(diǎn)投影空間,判斷投影點(diǎn)是否集中在集群中的重心點(diǎn)附近,是則說明整個資源分配服務(wù)器處于穩(wěn)定的工作狀態(tài),負(fù)載均衡。反之則則說明整體資源分配服務(wù)器的工作狀態(tài)不穩(wěn)定,負(fù)載較高。
云計(jì)算任務(wù)節(jié)點(diǎn)中的資源分配服務(wù)器工作狀態(tài)可用b={b1,b2,…,bn}來表示。當(dāng)云計(jì)算任務(wù)節(jié)點(diǎn)接收某一任務(wù)和任務(wù)調(diào)度指令時,資源分配服務(wù)器的工作狀態(tài)發(fā)生改變,其對應(yīng)的參數(shù)向量隨之發(fā)生變化,在某種程度上,參數(shù)向量的變化程度反映了資源分配服務(wù)器工作狀態(tài)的變化類型[5-6]。
對于一個運(yùn)行良好的云計(jì)算任務(wù)調(diào)度系統(tǒng),計(jì)算節(jié)點(diǎn)在云計(jì)算任務(wù)節(jié)點(diǎn)投影空間中的投影點(diǎn)應(yīng)以空間重心點(diǎn)為中心進(jìn)行聚集,越靠近重心點(diǎn)位置,投影點(diǎn)越密集[7-8]。
假設(shè)云計(jì)算節(jié)點(diǎn)集群中資源分配服務(wù)器的個數(shù)為q,資源分配服務(wù)器的參數(shù)個數(shù)為p。進(jìn)行任務(wù)調(diào)度時參考各個資源分配服務(wù)器的各個參數(shù)向量進(jìn)行服務(wù)器選擇,針對不同任務(wù)的調(diào)度需求,p個參數(shù)的重要性各不相同。假設(shè)在進(jìn)行某一任務(wù)調(diào)度時,各個參數(shù)的權(quán)重分別為h1,h2,…,hP,令h1+h2+…+hP=1,則節(jié)點(diǎn)在云計(jì)算任務(wù)節(jié)點(diǎn)投影空間中的投影點(diǎn)集L為:
L={l1P,l2P,…,lqP}
其中:l表示節(jié)點(diǎn)在云計(jì)算任務(wù)節(jié)點(diǎn)投影空間中對應(yīng)的投影點(diǎn)。
則該云計(jì)算任務(wù)節(jié)點(diǎn)投影空間的重心點(diǎn)G=(k1,k2,k3)的位置計(jì)算公式如下:
(1)
(2)
(3)
式中,k1、k2、k3分別對應(yīng)重心點(diǎn)在三維空間中的位置參數(shù)[9]。
重心點(diǎn)位置反映了整體資源分配服務(wù)器的總體工作狀態(tài),也是云計(jì)算任務(wù)調(diào)度重要參考指數(shù),通過將節(jié)點(diǎn)集群中的資源分配服務(wù)器投射到云計(jì)算任務(wù)節(jié)點(diǎn)投影空間,使得服務(wù)器的工作狀態(tài)更加直觀明了。若投影點(diǎn)集中在聚集中重心點(diǎn)周圍,則表示整體資源分配服務(wù)器的工作狀態(tài)穩(wěn)定,負(fù)載均衡。若投影點(diǎn)在空間中呈現(xiàn)出為中心式分散狀態(tài),則表示整體資源分配服務(wù)器的工作狀態(tài)不穩(wěn)定,負(fù)載較高[10-12]。
云計(jì)算任務(wù)調(diào)度模型是基于動態(tài)能量感知技術(shù),對云計(jì)算的資源屬性和任務(wù)屬性進(jìn)行任務(wù)調(diào)度。云計(jì)算任務(wù)調(diào)度模型的能耗一般由動態(tài)能耗、CMOS電路短路能耗和漏電能耗3部分組成,其中,模型的動態(tài)能耗是主要的能耗方式[13],基于此,針對動態(tài)能耗的感知,本文利用動態(tài)能量感知技術(shù)構(gòu)建云計(jì)算任務(wù)調(diào)度模型,該模型使用成熟的虛擬計(jì)算將任務(wù)調(diào)度資源映射到虛擬層進(jìn)行任務(wù)調(diào)度。其中,提供物理資源的服務(wù)器采用N:1橫向虛擬整合法,實(shí)現(xiàn)任務(wù)調(diào)度。并對云計(jì)算任務(wù)調(diào)度模型的任務(wù)調(diào)度時間與任務(wù)調(diào)度能耗進(jìn)行相關(guān)分析,引入基于動態(tài)能量感知的能耗時間轉(zhuǎn)換因子,計(jì)算完成任務(wù)調(diào)度所需的能量消耗及時間消耗。
分析云計(jì)算任務(wù)調(diào)度問題,是為了研究云計(jì)算任務(wù)調(diào)度的所需時間及任務(wù)調(diào)度過程中產(chǎn)生的動態(tài)能量消耗??紤]動態(tài)能量消耗的情況下,任務(wù)調(diào)度問題可以定義為[14]:存在具有同一類任務(wù)調(diào)度需求(包含調(diào)度帶寬需求、調(diào)度距離需求、可信度需求等)的n個不具相互聯(lián)系的獨(dú)立性任務(wù)X={x1,x2,…,xn},以及滿足以上任務(wù)調(diào)度需求的相應(yīng)服務(wù)器中m個分配資源Y={y1,y2,…,ym},目標(biāo)調(diào)度任務(wù)需同時滿足最短時間跨度條件和最優(yōu)總能耗條件,旨在最大限度地提升任務(wù)調(diào)度的效率,避免系統(tǒng)超負(fù)載的同時降低運(yùn)行成本。
所有任務(wù)調(diào)度的最短時間跨度Tdmin的計(jì)算方式為:
Tdmin=Uj-Ri
(4)
式中,Uj表示任務(wù)xj完成調(diào)度的總時間;Ri表示完成分配資源yi資源分配的總時間。
分配資源yi的空閑分配時間Tfree為:
Tfree=Tdmin-Ri
(5)
其中:滿足以最短時間跨度Tdmin完成資源分配的服務(wù)器資源,Tfree值為0。
所有資源分配產(chǎn)生的總能耗E計(jì)算方式如下:
(6)
其中:Ei表示分配資源yi進(jìn)行資源分配時產(chǎn)生的動態(tài)能量消耗。
云計(jì)算任務(wù)調(diào)度模型主要解決云計(jì)算任務(wù)調(diào)度中的資源分配問題及任務(wù)調(diào)度過程中的工作負(fù)載問題。本文基于動態(tài)能力感知為基礎(chǔ)采用S={X,Y}二元組表示云計(jì)算任務(wù)調(diào)度模型[15],其中X元組和Y元組的具體含義如下:
1)Y={y1,y2,…,ym}表示m個分配資源的集合,yi表示第i個分配資源。
資源屬性:資源分配滿足虛擬映射原則,基于動態(tài)能量感知算法,考慮服務(wù)器電路的能耗,通過調(diào)整服務(wù)器的工作電壓和資源分配頻率改變整體能量消耗,其中的聯(lián)系為,當(dāng)服務(wù)器的工作電壓增大或資源分配頻率增大時,整體的能量消耗減小[16]。
云計(jì)算任務(wù)調(diào)度模型如圖1所示。
圖1 云計(jì)算任務(wù)調(diào)度模型
描述資源屬性,采用yi={cci,vi}二元組定義分配資源yi,其中cci表示分配資源yi在單位時間內(nèi)的資源分配能力,在某種程度上,反映了資源yi在單位時間內(nèi)的可分配次數(shù);vi表示了分配資源yi的服務(wù)器工作電壓策略,不同策略對應(yīng)不同的服務(wù)器工作電壓和資源分配頻率,其中,資源分配頻率的變化范圍為[0,2]。
2)X={x1,x2,…,xn}表示n個不具相互聯(lián)系的獨(dú)立性任務(wù)的集合,xj表示第j個任務(wù)。
任務(wù)屬性:O={oj,1 由于任務(wù)調(diào)度時間與任務(wù)調(diào)度能量消耗存在一定聯(lián)系[18],因此為便于時間分析,本文以動態(tài)能量感知為基礎(chǔ)引入能量消耗時間轉(zhuǎn)換因子,將完成任務(wù)調(diào)度所需的能量消耗參數(shù)統(tǒng)一轉(zhuǎn)換為時間參數(shù),能量消耗時間轉(zhuǎn)換因子的定義矩陣如下: a=[a1,a2,…,,am],ai (7) 其中:ai表示完成分配資源yi的分配時產(chǎn)生的能量消耗與時間的轉(zhuǎn)換因子[19]。 則完成yi分配資源的分配所產(chǎn)生的能量消耗轉(zhuǎn)化成的時間參數(shù)EXi可表示為: EXi=ai×Ei (8) 完成參數(shù)轉(zhuǎn)換后,定義EXC=[EXC[i,j]]n×m表示任務(wù)調(diào)度時間矩陣,其中,EXC[(i,j]表示完成xj任務(wù)調(diào)度在進(jìn)行分配資源yi所需的執(zhí)行時間。 任務(wù)調(diào)度時間序列如圖2所示。 圖2 任務(wù)調(diào)度時間序列 參考任務(wù)調(diào)度的計(jì)算量和分配資源的分配能力,完成xj任務(wù)調(diào)度在進(jìn)行分配資源yi所需的執(zhí)行時間EXC[(i,j]為: (9) 參考任務(wù)調(diào)度時間隨著服務(wù)器工作電壓和資源分配頻率的降低而增大的關(guān)系[20-22],則任務(wù)xj在服務(wù)器工作電壓策略為vi的分配資源yi上執(zhí)行的任務(wù)調(diào)度時間矩陣為: (10) 采用替換EXC矩陣中的,則完成xj任務(wù)調(diào)度在進(jìn)行分配資源yi所需的執(zhí)行時間為: EXC[i,j]=[ETC′[i,j]] (11) 為驗(yàn)證本文提出的基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型的有效性,與文獻(xiàn)[3]提出的基于異構(gòu)云算法的云計(jì)算任務(wù)調(diào)度模型、文獻(xiàn)[4]提出的基于動態(tài)優(yōu)先級和調(diào)度決策的云計(jì)算任務(wù)調(diào)度模型進(jìn)行實(shí)驗(yàn)對比。設(shè)定實(shí)驗(yàn)環(huán)境參數(shù)如下:Cloudsim Toolkit、操作工具Ant、云計(jì)算節(jié)點(diǎn)50個、工作電壓200 V、工作電流150 A、操作系統(tǒng)Windows10。在上述實(shí)驗(yàn)環(huán)境下開展云計(jì)算任務(wù)調(diào)度實(shí)驗(yàn)。 為了保證實(shí)驗(yàn)的真實(shí)性,分別對小數(shù)據(jù)集和大數(shù)據(jù)集進(jìn)行任務(wù)調(diào)度,分析不同調(diào)度模型的調(diào)度時間和調(diào)度能耗。 小數(shù)據(jù)集下調(diào)度模型執(zhí)行時間實(shí)驗(yàn)結(jié)果如圖3所示。 圖3 小數(shù)據(jù)集下調(diào)度模型執(zhí)行時間結(jié)果 觀察圖3可知,在任務(wù)集為800時,基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型任務(wù)調(diào)度耗時為160 s,異構(gòu)云算法調(diào)度模型任務(wù)調(diào)度耗時為250 s,動態(tài)優(yōu)先級和調(diào)度決策的調(diào)度模型任務(wù)調(diào)度耗時為360 s。在對小數(shù)據(jù)集進(jìn)行任務(wù)調(diào)度時,本文提出的任務(wù)調(diào)度模型耗時較少?;趧討B(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型在調(diào)度過程中采用順序執(zhí)行策略。所以的云計(jì)算任務(wù)依次執(zhí)行,因此任務(wù)調(diào)度數(shù)據(jù)集與任務(wù)調(diào)度時間基本呈現(xiàn)線性關(guān)系?;诋悩?gòu)云算法的云計(jì)算任務(wù)調(diào)度模型在調(diào)度過程中在前期調(diào)度過程相對平穩(wěn),調(diào)度時間較少,但是隨著任務(wù)的增加,調(diào)度模型的調(diào)度結(jié)果出現(xiàn)波動,花費(fèi)的調(diào)度時間也不斷增加。本文提出的調(diào)度模型雖然也引入了順序排序,但是在調(diào)度過程中充分分析了任務(wù)長度,利用處理器提高調(diào)度速度,因此花費(fèi)的調(diào)度時間更短。 調(diào)度能耗實(shí)驗(yàn)結(jié)果如圖4所示。 圖4 小數(shù)據(jù)集下調(diào)度能耗實(shí)驗(yàn)結(jié)果 根據(jù)圖4可知,在任務(wù)集為800時,基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型能耗為175 kW/h,異構(gòu)云算法調(diào)度模型能耗為260 kW/h,動態(tài)優(yōu)先級和調(diào)度決策的調(diào)度模型能耗為290 kW/h??梢钥闯霰疚奶岢龅恼{(diào)度模型任務(wù)調(diào)度能耗相對較少,傳統(tǒng)調(diào)度模型采用的調(diào)度方法為順序執(zhí)行調(diào)度方法,因此當(dāng)調(diào)度數(shù)據(jù)集到達(dá)一定水平后任務(wù)調(diào)度模型會啟動虛擬機(jī),每一個調(diào)度任務(wù)對應(yīng)一臺虛擬機(jī),因此調(diào)度能耗過多。而本文提出的調(diào)度模型利用動態(tài)能量感知對虛擬機(jī)進(jìn)行優(yōu)化,確保一個虛擬機(jī)可以與多個調(diào)度任務(wù)協(xié)調(diào),有效減少調(diào)度能耗。 本文提出的大數(shù)據(jù)集共有3類,分別是DAS2-fs4、LINL-T3D和KTH-SP2,得到的調(diào)度模型調(diào)度時間如圖5所示。 圖5 大數(shù)據(jù)集調(diào)度模型調(diào)度時間實(shí)驗(yàn)結(jié)果 在對3種調(diào)度數(shù)據(jù)集進(jìn)行調(diào)度時,本文提出的調(diào)度模型花費(fèi)的調(diào)度時間最短,隨著能量感知的不同,調(diào)度模型花費(fèi)的時間也有所不同,但總體上,本文研究的調(diào)度模型處理優(yōu)勢更加明顯。 調(diào)度能耗實(shí)驗(yàn)結(jié)果如圖6所示。 圖6 大數(shù)據(jù)集調(diào)度模型調(diào)度能耗實(shí)驗(yàn)結(jié)果 由圖6可知,基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型對DAS2-fs4數(shù)據(jù)集調(diào)度能耗略高于異構(gòu)云算法調(diào)度模型,能耗為4 000 kW/h。對LINL-T3D和KTH-SP2數(shù)據(jù)集進(jìn)行調(diào)度時的調(diào)度能耗均為3種方法的最低值。本文提出的調(diào)度模型調(diào)度能耗在對DAS2-fs4數(shù)據(jù)集調(diào)度能耗要低于傳統(tǒng)的異構(gòu)云算法調(diào)度模型,但是對LINL-T3D和KTH-SP2數(shù)據(jù)集進(jìn)行調(diào)度時,花費(fèi)的調(diào)度能耗更少,更適合實(shí)際應(yīng)用中。 綜上所述,無論是對大數(shù)據(jù)集還是小數(shù)據(jù)集,本文提出的基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型在對任務(wù)進(jìn)行調(diào)度時,花費(fèi)的時間都最短,調(diào)度能耗都最低,因此調(diào)度能力更強(qiáng),調(diào)度效果更好。 本文提出基于動態(tài)能量感知的云計(jì)算任務(wù)調(diào)度模型,實(shí)現(xiàn)了高效率、低能耗的資源分配和任務(wù)調(diào)度,通過實(shí)驗(yàn)驗(yàn)證了本文研究的云計(jì)算任務(wù)調(diào)度模型的性能較好,對維護(hù)網(wǎng)絡(luò)資源分配服務(wù)器的穩(wěn)定運(yùn)行、保證高效率的網(wǎng)絡(luò)資源共享和應(yīng)用具有重要意義,同時能夠促進(jìn)動態(tài)能量感知技術(shù)的云計(jì)算技術(shù)的進(jìn)一步發(fā)展和應(yīng)用。 受網(wǎng)絡(luò)環(huán)境的影響,本文所設(shè)計(jì)的云計(jì)算任務(wù)調(diào)度模型可能在某些網(wǎng)絡(luò)不穩(wěn)定或無網(wǎng)絡(luò)地區(qū)的適應(yīng)性不強(qiáng),其資源分配和任務(wù)調(diào)度的穩(wěn)定性還需進(jìn)行進(jìn)一步的研究和探索。2.3 任務(wù)調(diào)度時間分析
3 實(shí)驗(yàn)研究
3.1 小數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
3.2 大數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
4 結(jié)束語