李 嵐
(安徽交通職業(yè)技術(shù)學(xué)院 水運工程系,合肥 230001)
計算機(jī)調(diào)度系統(tǒng)是一類以云計算作為基礎(chǔ)的新型計算策略與服務(wù)形式[1],可以通過應(yīng)用虛擬化的處理技術(shù)為計算數(shù)據(jù)提供可變的存儲空間與計算機(jī)數(shù)量[2-3].當(dāng)前,各類信息數(shù)據(jù)不斷增加,對于數(shù)據(jù)處理速度也提出了新的要求[4-5].同時隨著信息處理系統(tǒng)復(fù)雜度的持續(xù)提升,要求進(jìn)一步整合云計算架構(gòu),從而確保系統(tǒng)計算性能獲得提高的前提下進(jìn)一步減少運行成本[6],而關(guān)于綜合考慮性能方面的內(nèi)容還需進(jìn)一步深入研究[7].
本文綜合分析了云計算中的計算機(jī)調(diào)度系統(tǒng)存在的缺陷,引入了群體智能軟件優(yōu)化算法以完成云計算多目標(biāo)的調(diào)度.在引入群體智能軟件優(yōu)化算法后,選擇更加合理的計算機(jī)調(diào)度系統(tǒng)也能夠提高計算機(jī)的動態(tài)調(diào)度速率.所以,可利用群體智能軟件優(yōu)化算法完成云計算中的調(diào)度系統(tǒng).
本文提出了群體智能軟件優(yōu)化方法,將n個不同序號進(jìn)行組合成為隊列形式,然后結(jié)合搜索方法求得m個云環(huán)境下群體軟件的響應(yīng)關(guān)系.將群體的各計算機(jī)位置與速率表示成如下形式:
(1)
(2)
在每次調(diào)度中的不同計算機(jī)速率與位置可以按照式(3)與式(4)的形式更新.
vid(t+1)=ωvid(t)+c1r1[pid(t)-vid(t)]+c2r2[pgd(t)-vid(t)]
(3)
vid(t+1)=vid(t)+vid(t+1)
(4)
式中:i表示群體智能軟件中計算機(jī)編號;d表示計算機(jī)維數(shù);r1、r2表示0~1范圍內(nèi)的隨機(jī)數(shù);c1、c2表示在線的學(xué)習(xí)因子,一般情況下c1、c2在0~4范圍內(nèi)的選取大小相同的數(shù);ω表示群體的慣性權(quán)重;Pid表示個體i處在此刻在調(diào)度后的最佳位置;Pgd表示目前智能軟件所在的最佳位置.
考慮到慣性權(quán)值的最終確定可以按照式(5)來表示的:
ω=(ωmax-ωmin)×tan[m×(1-(t/num)k)]+ωmin
(5)
式中:m值主要是用來確保ω值,當(dāng){ωmin,ωmax}之間發(fā)生的改變;k值的變化將會對慣性權(quán)重產(chǎn)生影響;num表示系統(tǒng)一共的調(diào)度次數(shù);t表示在調(diào)度過程所用的時間.
在群體智能軟件優(yōu)化算法中加入了全局搜索的思想.利用解的調(diào)度形成另一個解,通過對目標(biāo)函數(shù)變化量的計算,可以判斷是否接受或拒絕該解,并且在調(diào)度完成后參照比例相應(yīng)的降低t值,全局搜索公式為
T(t+1)=α×T(t)
(6)
式中:α是模擬全局搜索過程中的冷卻衰減因子,其值是比1.00略大的正常數(shù).
采用群體智能軟件優(yōu)化算法先對計算機(jī)放置位置進(jìn)行搜索,確保平臺具有良好運行性能的前提下進(jìn)一步提升計算機(jī)的利用率,從而顯著減少能耗.
1)云計算中CPU利用率對服務(wù)等級協(xié)議具有直接影響.如式(7)所示,是在CPU使用率基礎(chǔ)上得到的SLA評價函數(shù).
fSLA(UCPU)=1/(1+ep-UCPU)
(7)
其中:UCPU代表相應(yīng)云計算所具有的CPU使用率,p對SLA閾值范圍進(jìn)行限定.
2)以計算機(jī)的剩余利用率來判斷當(dāng)前計算機(jī)的利用率.可以用表達(dá)式(8)進(jìn)行描述:
(8)
式中:Ri表示第i維在進(jìn)行標(biāo)準(zhǔn)化后剩余的計算機(jī),Rmin表示不同標(biāo)準(zhǔn)化剩余計算機(jī)對應(yīng)的最小取值.
3)節(jié)點能耗包括運行能耗與基礎(chǔ)能耗共兩類,可利用CPU使用率來評價節(jié)點能耗的大小,在式(9)中顯示了節(jié)點能耗相應(yīng)的評價函數(shù).
(9)
式中:Pidle表示在空載的情況下電能消耗,Pbusy表示在滿載情況下的電能消耗,利用公式可以得到低能耗節(jié)點,并將其作為搜索過程的解.
4)根據(jù)不同的目標(biāo)優(yōu)化標(biāo)準(zhǔn)可以對權(quán)值進(jìn)行合理設(shè)定,以此完成多目標(biāo)的優(yōu)化處理.對于綜合適應(yīng)度函數(shù)的定義見式(10):
f(UCPU,Umem,Ubw)=K1fSLA+K2fr+K3fp
(10)
利用時間序列預(yù)測平滑指數(shù)模型對熱點進(jìn)行預(yù)測,明顯降低了熱點的誤判概率同時也減少了分配次數(shù).結(jié)合歷史數(shù)值,對后續(xù)CPU使用率進(jìn)行預(yù)測分析.在第t+1時刻時相應(yīng)的負(fù)載見式(11):
xt+1=αxt+α2xt-1+…+αn+1xt-n+αt
(11)
式中:α是對平滑指數(shù)進(jìn)行預(yù)測的參數(shù),是一個比1小的正數(shù),用于預(yù)測后續(xù)窗口CPU利用率的影響程度;αt是正態(tài)分布中的一個隨機(jī)變量,確保預(yù)測結(jié)果能夠符合隨機(jī)性特征.
云計算對于目標(biāo)的優(yōu)化作用是降低分配次數(shù)以及計算機(jī)的分配時間,從而實現(xiàn)目標(biāo)優(yōu)化過程,這對分配質(zhì)量及效率都將產(chǎn)生顯著影響.
1)選擇CPU利用率與計算機(jī)內(nèi)存策略,對計算機(jī)進(jìn)行分配時要確保其具有良好的分配質(zhì)量,得到式(12)所示的分配函數(shù).
(12)
式中:UCPU代表計算機(jī)的CPU利用率,Rram是計算機(jī)內(nèi)存大小.
2)對計算機(jī)進(jìn)行分配時需對數(shù)據(jù)進(jìn)行全面復(fù)制.式(13)給出了計算機(jī)的評價公式.
(13)
式中:UCPU、Uram、Ustorage分別表示計算機(jī)的CPU、內(nèi)存、硬盤的占用值,UFCPU、UFS與UFR分別代表計算機(jī)的CPU、硬盤及內(nèi)存容量.
3)對分配效果與時間進(jìn)行綜合分析,利用較少的分配時間并顯著降低分配次數(shù)與節(jié)點利用率,以此確保云計算能夠長期穩(wěn)定高效的運行,結(jié)果見式(14).
E=a×Q+b×V
(14)
式中:a與b都是權(quán)值.
利用CloudSim模擬云計算進(jìn)行實驗,為仿真測試總共構(gòu)建400個兩種云計算,并創(chuàng)建了263個四類配置計算機(jī),每個計算機(jī)各自都能運行5個云計算任務(wù).模擬實驗總共進(jìn)行了1周時間,對算法的長期穩(wěn)定性與效率進(jìn)行了測試.
本文探討了k在式(5)慣性權(quán)重中的取值結(jié)果.當(dāng)k值依次等于0.3、1.0、2.0與3.0的情況下,當(dāng)k等于不同的取值時,慣性權(quán)重將表現(xiàn)為不同的曲線形式,從而對群體智能軟件優(yōu)化算法的搜索區(qū)域與收斂速率產(chǎn)生明顯影響,結(jié)果見圖1與圖2.
從圖1與圖2中可以發(fā)現(xiàn),在k值等于2.0的情況下,慣性權(quán)重曲線表現(xiàn)為凹函數(shù)形態(tài),采用群體智能軟件優(yōu)化算法可以獲得良好的效果.
圖1 不同k值算法收斂性
圖2 各k值下的算法適應(yīng)度
2.3.1 SLA違背率分析
SLA違背率仿真結(jié)果如表1所示.
表1 SLA違背率
根據(jù)表1可知,違背率最高的是貪心算法,F(xiàn)IFS分配方法具有最低的SLA違背率.從長期運行狀態(tài)看,SISOA在前期具有更高的SLA違背率,當(dāng)運行時間達(dá)到4天之后,其SLA違背率比標(biāo)準(zhǔn)群體智能軟件優(yōu)化算法更低,而且不斷降低,體現(xiàn)出了SISOA在長期負(fù)載中的優(yōu)勢.
2.3.2 云計算中剩余計算機(jī)利用率
表2顯示了剩余計算機(jī)的測試結(jié)果.
表2 剩余計算機(jī)利用率
表2表示了不同算法的計算機(jī)利用率,從中可以發(fā)現(xiàn)平均剩余計算機(jī)保持穩(wěn)定狀態(tài),當(dāng)任務(wù)完成后,為確保計算機(jī)能夠進(jìn)一步獲得高效利用,要求集中放置低載節(jié)點計算機(jī).FIFS剩余計算機(jī)在任務(wù)完成后不斷增加,這是由于當(dāng)任務(wù)完成之后,內(nèi)存與CPU的占用空間都降低了.PSO具有良好的初期表現(xiàn)狀態(tài),但后續(xù)運行中無法獲得較高的剩余計算機(jī)利用率.SISOA則與PSO剛好相反,其前期剩余計算機(jī)利用率較低,而在長時間的運行中表現(xiàn)出了更好的優(yōu)化效果.由此可見,此動態(tài)調(diào)度能夠達(dá)到更佳的長期集群計算機(jī)利用率.
2.3.3 平臺能耗分析
表3顯示了各算法的平臺能耗測試結(jié)果.其中,F(xiàn)IFS使用了集群的所有云計算,從而導(dǎo)致后續(xù)能耗不斷增大.貪心算法所需的節(jié)點數(shù)量最少,所以能耗也最低.SISOA與標(biāo)準(zhǔn)計算機(jī)群具有相近的能耗,不過對于長期運行過程而言,SISOA表現(xiàn)出較低的能耗.
表3 各算法平臺能耗
2.3.4 計算機(jī)分配次數(shù)分析
表4顯示了各算法在電力云計算中持續(xù)運行7天所得分配次數(shù).
表4 計算機(jī)分配次數(shù)
由表4可知,PSO是一個初期適應(yīng)度最佳的函數(shù),因此其前期分配次數(shù)更少,但在長時間的后續(xù)仿真中,SISOA具有明顯更優(yōu)的分配效果,而貪心算法則需要最多的分配次數(shù).
本文對計算機(jī)調(diào)度系統(tǒng)進(jìn)行了深入研究,分析了各算法的計算機(jī)利用率、SLA、分配次數(shù)與能耗方面的測試結(jié)果.提出了融合群體智能軟件優(yōu)化算法的計算機(jī)動態(tài)調(diào)度,對該算法進(jìn)行了優(yōu)化處理并將其應(yīng)用到計算機(jī)調(diào)度系統(tǒng)中,確保系統(tǒng)具有良好的SLA.同時,在其他各項性能方面也能達(dá)到均衡性.仿真測試結(jié)果顯示,此方法具有良好的服務(wù)性能與計算機(jī)利用率,有效地提高了云計算性能.
[1] BASHIR,SUSARLA,VAIRAVAN.A statistical study of the performance of a task scheduling algorithm[J].IEEE Transactions on Computers,2016,C-32(8):774-777.
[2] RENAULT M P,ROSéN A, STEE R V.Online algorithms with advice for bin packing and scheduling problems[J].Theoretical Computer Science,2015,600(C):155-170.
[3] GEORGIOU C,KOWALSKI D R, ZAVOU E.Online parallel scheduling of non-uniform tasks[J].Theoretical Computer Science,2015,590(C):129-146.
[4] YANG X S,DEB S,FONG S,et al.From swarm intelligence to metaheuristics:nature-inspired optimization algorithms[J].Computer,2016,49(9):52-59.
[5] SINGH S, CHANA I.Qrsf:qos-aware resource scheduling framework in cloud computing[J].Journal of Supercomputing,2015,71(1):241-292.
[7] CICIRELLI F,FOLINO G,FORESTIERO A,et al.Strategies for parallelizing swarm intelligence algorithms[J].IEEE Transactions on Computers,2015,60(7):329-336.