本發(fā)明屬于云計(jì)算節(jié)能調(diào)度領(lǐng)域,具體涉及基于滾動灰色預(yù)測模型的云數(shù)據(jù)中心節(jié)能調(diào)度實(shí)現(xiàn)方法。
背景技術(shù):
云計(jì)算作為信息通信技術(shù)行業(yè)的新興技術(shù)已逐漸走入千家萬戶,它以高效益、低門檻、高擴(kuò)展性的特點(diǎn)受到了廣大企業(yè)及個體用戶的青睞。隨著云計(jì)算發(fā)展的逐漸成熟、用戶需求的不斷豐富,數(shù)據(jù)中心服務(wù)器等一系列的配套設(shè)施規(guī)模也在飛速增長。世界各地也都建立起了包含著數(shù)以萬計(jì)服務(wù)節(jié)點(diǎn)的大規(guī)模云計(jì)算數(shù)據(jù)中心,這使得更多的計(jì)算資源及存儲資源被保存在云端,但由此也引發(fā)了一系列的能耗問題。綠色和平組織在其云計(jì)算報(bào)告中稱,預(yù)計(jì)到2020年,全球主要IT運(yùn)營商的數(shù)據(jù)中心的能耗將接近19630億千瓦時,這將超過目前德國、法國、加拿大和巴西消耗的電力總量總和。與此同時,中國政府工作報(bào)告指出在2008年的主要任務(wù)是“加大節(jié)能減排和環(huán)境保護(hù)力度,科技部與工信部于2014年制定了《2014-2015年節(jié)能減排科技專項(xiàng)行動方案》,來發(fā)揮科技緩解資源環(huán)境約束的引領(lǐng)作用。日益不斷攀升的能耗開銷在加重了企業(yè)負(fù)擔(dān)的同時,也增加了全球范圍內(nèi)影響氣候變化的碳排放量,給環(huán)境問題敲響了警鐘。
這些集群服務(wù)器快速攀升的能耗已經(jīng)成為影響企業(yè)效益及其發(fā)展的重要因素。云計(jì)算節(jié)能領(lǐng)域的研究也成為了國內(nèi)外新興技術(shù)研究的重點(diǎn)任務(wù)。目前國內(nèi)外對于云計(jì)算節(jié)能研究的出發(fā)點(diǎn)各不相同,也存在著一定的不足,目前對于云數(shù)據(jù)中心在流量突發(fā)情況下的工作負(fù)載監(jiān)控、預(yù)測問題仍存在著較大的不足,對虛擬機(jī)的調(diào)度整合策略存在著缺陷。
技術(shù)實(shí)現(xiàn)要素:
為了更加智能有效地在網(wǎng)絡(luò)流量突發(fā)情況下減少數(shù)據(jù)中心的功耗并保障其服務(wù)質(zhì)量,本發(fā)明提供基于滾動灰色預(yù)測模型的云數(shù)據(jù)中心節(jié)能調(diào)度實(shí)現(xiàn)方法。
本發(fā)明具體通過如下技術(shù)方案實(shí)現(xiàn)。
基于滾動灰色預(yù)測模型的云數(shù)據(jù)中心節(jié)能調(diào)度實(shí)現(xiàn)方法,其將云數(shù)據(jù)中心的節(jié)能流程抽象為負(fù)載預(yù)測、誤差校驗(yàn)、熱感知分類和虛擬機(jī)調(diào)度四個模塊;通過對數(shù)據(jù)中心工作負(fù)載進(jìn)行預(yù)測,從而對各主機(jī)進(jìn)行狀態(tài)分類,進(jìn)而通過虛擬機(jī)調(diào)度算法達(dá)到節(jié)能的目的。
進(jìn)一步地,所述負(fù)載預(yù)測具體是:利用滾動灰色預(yù)測模型對數(shù)據(jù)中心的工作負(fù)載進(jìn)行預(yù)測,得到下一時刻數(shù)據(jù)中心各主機(jī)節(jié)點(diǎn)的負(fù)載利用率。
進(jìn)一步地,所述誤差校驗(yàn)具體是:對負(fù)載預(yù)測值與實(shí)際工作負(fù)載進(jìn)行誤差校驗(yàn),確定當(dāng)前預(yù)測結(jié)果的偏差值,并基于誤差校驗(yàn)?zāi)K進(jìn)行學(xué)習(xí),校正預(yù)測結(jié)果。
進(jìn)一步地,所述熱感知分類具體是:根據(jù)主機(jī)當(dāng)前的負(fù)載預(yù)測值對云數(shù)據(jù)中心內(nèi)所有主機(jī)進(jìn)行熱感知分類,并引入服務(wù)水平協(xié)議作為參考指標(biāo)設(shè)定主機(jī)工作負(fù)載閾值的上界和下界;當(dāng)主機(jī)負(fù)載利用率在高于閾值上界、低于閾值下界、處于閾值上下界之間、負(fù)載利用率為0這四種情況下劃分為不同的四種熱狀態(tài)。
進(jìn)一步地,所述虛擬機(jī)調(diào)度具體是:根據(jù)當(dāng)前主機(jī)的熱狀態(tài)對其進(jìn)行虛擬機(jī)調(diào)度,通過虛擬機(jī)調(diào)度操作解決主機(jī)過載、空載的問題,將數(shù)據(jù)中心各主機(jī)的維持在一個健康的熱狀態(tài)下。
進(jìn)一步地,通過基于滾動灰色預(yù)測模型算法,并以模塊化的形式實(shí)現(xiàn)到云數(shù)據(jù)中心環(huán)境中,來智能地監(jiān)控?cái)?shù)據(jù)中心的負(fù)載信息、以及運(yùn)行時的各性能數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)和技術(shù)效果:
本發(fā)明通過挖掘并分析數(shù)據(jù)中心實(shí)時工作負(fù)載數(shù)據(jù),利用基于灰色預(yù)測模型的工作負(fù)載預(yù)測算法建立負(fù)載預(yù)測評估模型,對數(shù)據(jù)中心中各服務(wù)器下一時刻的負(fù)載狀態(tài)進(jìn)行預(yù)測,避免服務(wù)器的過載或空載現(xiàn)象,更加有效地應(yīng)對目前較為普遍的網(wǎng)絡(luò)流量突發(fā)現(xiàn)象。通過分析負(fù)載與能效的關(guān)聯(lián)關(guān)系,建立主機(jī)的利用率熱感知分類模型;并提出基于熱感知機(jī)制的主機(jī)分類標(biāo)準(zhǔn),來解決數(shù)據(jù)中心各主機(jī)直接負(fù)載不均導(dǎo)致的能耗性能問題。
本發(fā)明通過基于滾動灰色預(yù)測模型算法,并以模塊化的形式實(shí)現(xiàn)到云數(shù)據(jù)中心環(huán)境中,來智能地監(jiān)控?cái)?shù)據(jù)中心的負(fù)載信息、以及運(yùn)行時的各性能數(shù)據(jù)。減少數(shù)據(jù)中心工作時尤其是流量突發(fā)情況下的能耗水平,降低云服務(wù)提供商的運(yùn)維成本,與此同時提升數(shù)據(jù)中心SLA的指標(biāo),保障用戶的云服務(wù)使用體驗(yàn)。
附圖說明
圖1為云計(jì)算智能資源調(diào)度框架圖。
圖2為云數(shù)據(jù)中心系統(tǒng)節(jié)能框架圖。
圖3為云數(shù)據(jù)中心任務(wù)序列1的負(fù)載預(yù)測實(shí)驗(yàn)結(jié)果圖。
圖4為云數(shù)據(jù)中心任務(wù)序列2的負(fù)載預(yù)測實(shí)驗(yàn)結(jié)果圖。
圖5為滾動灰色預(yù)測模型和ARIMA模型實(shí)驗(yàn)數(shù)據(jù)對比圖。
圖6為滾動灰色預(yù)測模型和ARIMA模型平均偏差比對比圖。
具體實(shí)施方式
為了使本發(fā)明的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,進(jìn)行進(jìn)一步的詳細(xì)說明,但本發(fā)明的實(shí)施和保護(hù)不限于此。
1.策略框架
1.1云計(jì)算資源智能調(diào)度框架
圖1是云計(jì)算平臺資源智能調(diào)度框架的架構(gòu)圖,從下而上分為主機(jī)層、虛擬機(jī)層、性能評估層、調(diào)度層和用戶層。其中調(diào)度層和評估層是整個節(jié)能策略框架的核心所在。下面將對每一層進(jìn)行闡述。
主機(jī)層是指云數(shù)據(jù)中心中的所有服務(wù)器,包含所有物理主機(jī)節(jié)點(diǎn)。這些硬件設(shè)備是云環(huán)境最底層的基礎(chǔ)設(shè)施,為我們進(jìn)行節(jié)能調(diào)度管理提供了硬件基礎(chǔ)。
虛擬機(jī)層則是建立在主機(jī)層虛擬化技術(shù)基礎(chǔ)上的,通過將多臺服務(wù)器實(shí)體虛擬化,構(gòu)成了虛擬機(jī)層這個資源池,能夠?qū)崿F(xiàn)云環(huán)境中的共同計(jì)算及資源共享。
性能評估層是指對云數(shù)據(jù)中心的的負(fù)載利用率、能耗、SLA、PUE等性能數(shù)據(jù)進(jìn)行采集評估。評估層需要與虛擬層進(jìn)行數(shù)據(jù)通信來獲取虛擬機(jī)資源利用情況、各虛擬機(jī)的運(yùn)行狀態(tài)等信息。
調(diào)度層則在基于性能評估層所采集負(fù)載、能耗等數(shù)據(jù)的基礎(chǔ)上,對主機(jī)進(jìn)行虛擬機(jī)初次分配,以及虛擬機(jī)遷移操作,通過對虛擬機(jī)進(jìn)行調(diào)度來保障主機(jī)能夠運(yùn)行在一個良好的負(fù)責(zé)利用率環(huán)境下。
用戶層是指云計(jì)算環(huán)境中的所有用戶及服務(wù)請求者,包括個人用戶、企業(yè)用戶以及云計(jì)算的所有使用者。用戶層會時刻對數(shù)據(jù)中心發(fā)出新的服務(wù)請求。
1.2云數(shù)據(jù)中心系統(tǒng)節(jié)能框架
圖2是云計(jì)算數(shù)據(jù)中心系統(tǒng)節(jié)能架構(gòu)的框架圖,從上而下分為四個模塊,分別是負(fù)載預(yù)測模塊、誤差校驗(yàn)?zāi)K、熱感知分類模塊以及虛擬機(jī)調(diào)度模塊。下面將對每一個模塊進(jìn)行闡述。
(1)負(fù)載預(yù)測模塊:數(shù)據(jù)中心每秒都會處理成千上萬的服務(wù)請求,負(fù)載預(yù)測模塊可以持續(xù)地監(jiān)測數(shù)據(jù)中心中物理機(jī)(Power Machine)的工作負(fù)載數(shù)據(jù),并通過分析有效歷史負(fù)載數(shù)據(jù)來預(yù)測每一個PM在未來時刻的CPU利用率。負(fù)載預(yù)測模塊可以幫助我們有效地區(qū)分?jǐn)?shù)據(jù)中心當(dāng)前狀態(tài)下過載與空載的服務(wù)器。
(2)誤差校驗(yàn)?zāi)K:當(dāng)負(fù)載預(yù)測器完成了預(yù)測過程之后,誤差校驗(yàn)?zāi)K會計(jì)算實(shí)際值與預(yù)測值之間的偏差,并通過分析和計(jì)算它們的相對誤差來優(yōu)化未來的預(yù)測結(jié)果。
(3)熱感知分類模塊:根據(jù)上述模塊得到的工作負(fù)載預(yù)測值,我們將物理機(jī)分為了四種類別,稱為沸點(diǎn)(boiling point)、溫點(diǎn)(warming point)、涼點(diǎn)(cooling point)、冰點(diǎn)(freezing point)。我們在此節(jié)能架構(gòu)下引入了服務(wù)水平協(xié)議(Service Level Agreement,SLA)作為我們的一項(xiàng)重要參考指標(biāo),并利用SLA設(shè)定了PM工作負(fù)載閾值的上界和下界。當(dāng)PM當(dāng)前的負(fù)載利用率高于閾值上界時我們稱之為沸點(diǎn);當(dāng)其利用率低于閾值下界(非0)時我們稱之為涼點(diǎn);負(fù)載利用率為0時為冰點(diǎn);當(dāng)PM的負(fù)載利用率處于閾值上下界之間時我們稱之為溫點(diǎn)。熱感知分類模塊通過對PM進(jìn)行類別區(qū)域的劃分,我們可以很好地了解并調(diào)控當(dāng)前數(shù)據(jù)中心內(nèi)部的負(fù)載情況。
(4)虛擬機(jī)調(diào)度模塊:云計(jì)算節(jié)能的目的是使得整個數(shù)據(jù)中心能夠以較高的利用率運(yùn)轉(zhuǎn),并且最大程度保障用戶的云服務(wù)質(zhì)量。因此我們需要使得盡可能多的PM以溫點(diǎn)的形式運(yùn)轉(zhuǎn)。因此我們需要轉(zhuǎn)換更多的沸點(diǎn)PM到溫點(diǎn)之中,并盡可能地整合一些涼點(diǎn)或者冰點(diǎn)的PM。虛擬機(jī)調(diào)度模塊會將部分運(yùn)行在沸點(diǎn)上的虛擬機(jī)遷移至涼點(diǎn)之中,部分容量足夠大的涼點(diǎn)將會被動態(tài)整合為一體。
2.負(fù)載預(yù)測
2.1數(shù)據(jù)中心能效指標(biāo)
本文提出的云數(shù)據(jù)中心環(huán)境下的能效指標(biāo)更為豐富,表1列出了需要獲取的性能指標(biāo)數(shù)據(jù)。主要有三種指標(biāo)類型,分別是時間類型、環(huán)境類型和性能指標(biāo)。
表1
時間類型是具有重大意義的屬性,它決定了測試過程中數(shù)據(jù)中心的運(yùn)行時間以及調(diào)度時間間距。環(huán)境類型定義了數(shù)據(jù)中心中各主機(jī)以及虛擬機(jī)的具體配置參數(shù),以及當(dāng)前處理的云任務(wù)列表的長度大小,這些指標(biāo)共同決定了數(shù)據(jù)中心運(yùn)作過程中的客觀狀態(tài)。性能指標(biāo)主要反映當(dāng)前數(shù)據(jù)中心的運(yùn)轉(zhuǎn)情況,包括主機(jī)在各個時刻下的利用率、能耗數(shù)據(jù),數(shù)據(jù)中心在某時間區(qū)間下的能效,數(shù)據(jù)中心符合及違反服務(wù)水平協(xié)議的主機(jī)比例,調(diào)度過程中被關(guān)閉的主機(jī)數(shù)量,調(diào)度過程發(fā)生的虛擬機(jī)遷移總數(shù)等數(shù)據(jù)。
2.2滾動灰色預(yù)測模型
面對流量突發(fā)現(xiàn)象,需要實(shí)時準(zhǔn)確地分析處理海量的網(wǎng)絡(luò)業(yè)務(wù)量數(shù)據(jù),這具有很大的挑戰(zhàn)性。而當(dāng)流量突發(fā)情況發(fā)生時,數(shù)據(jù)中心中沸點(diǎn)及涼點(diǎn)的出現(xiàn)頻率會更加頻繁,服務(wù)器過載現(xiàn)象更為嚴(yán)重。本文提出一種應(yīng)對流量突發(fā)情況的數(shù)據(jù)中心工作負(fù)載預(yù)測方法。
數(shù)據(jù)中心的工作負(fù)載變化具有一定的波動性與不確定性,建立工作負(fù)載的短期預(yù)測模型屬于少數(shù)據(jù)建模問題,而灰色模型相比別的模型更適合解決少數(shù)據(jù)、貧信息狀態(tài)預(yù)測問題,通過少量的數(shù)據(jù)便可建立工作負(fù)載的殘差狀態(tài)預(yù)測模型,適合用于數(shù)據(jù)中心工作負(fù)載的短期預(yù)測模型的建立中去。
該工作負(fù)載預(yù)測方法基于改進(jìn)后的灰色模型提出,灰色預(yù)測方法被視為是時間序列預(yù)測模型很好的替代策略,在云環(huán)境中,我們將數(shù)據(jù)中心中各PM的歷史工作負(fù)載值作為歷史數(shù)據(jù)序列,灰色模型使用了一次微分方程來描述整個系統(tǒng)的建立過程。
設(shè)x(0)=(x(0)(1),x(0)(2),…,x(0)(n))為原始工作負(fù)載數(shù)列,其中n為數(shù)據(jù)序列的長度,其1次累加生成數(shù)列為x(1)=(x(1)(1),x(1)(2),…,x(1)(n)),其中
定義x(1)的灰導(dǎo)數(shù)為
d(k)=x(0)(k)=x(1)(k)-x(1)(k-1).
令z(1)為數(shù)列x(1)的鄰值生成數(shù)列,即
z(1)(k)=αx(1)(k)+(1-α)x(1)(k-1),
其中,α為差異系數(shù),α∈(0,1)。
于是定義GM(1,1)的灰微分方程模型為
d(k)+az(1)(k)=b,或x(0)(k)+az(1)(k)=b,
x(0)(k)+az(1)(k)=b,
在式(1)中,x(0)(k)稱為灰導(dǎo)數(shù),a稱為發(fā)展系數(shù),z(1)(k)稱為白化背景值,b稱為灰作用量。
將時刻表k=2,3,…,n代入(1)式并引入矩陣向量記號:
則GM(1,1)模型可以表示為矩陣Y=Bu.其中u為a和b的擬合系數(shù)矩陣,B為原始序列提供的信息矩陣。
用回歸分析求得a,b的估計(jì)值,于是數(shù)列相應(yīng)的白化模型為
解得
于是得到預(yù)測值
從而相應(yīng)地得到下一時刻工作負(fù)載預(yù)測值:
傳統(tǒng)的GM(1,1)模型很有可能會由于數(shù)據(jù)及部分?jǐn)?shù)值的匱乏而陷入預(yù)測精度低的困境。采用滾動GM(1,1)模型后,每進(jìn)行下一次預(yù)測都將重新建立預(yù)測模型,模型會不斷采用較新的數(shù)據(jù)進(jìn)行預(yù)測,過舊的數(shù)據(jù)將會被擯棄。利用前100個調(diào)度周期歷史數(shù)據(jù)預(yù)測第101個周期結(jié)果,并不斷更新,可以大大提升預(yù)測的精度。我們將根據(jù)數(shù)據(jù)中心歷史負(fù)載動態(tài)更新模型中平移變換常量C的值,確保預(yù)測過程中灰色模型始終處于可用狀態(tài)。通過迭代選出序列中λ(k)的最大值Maxλ(k)以及最小值Minλ(k),確保Minλ(k)和Maxλ(k)均在可容空間內(nèi)。
3.基于熱感知的虛擬機(jī)分類策略
傳統(tǒng)的虛擬機(jī)調(diào)度策略的建立大多基于啟發(fā)式算法(遺傳算法、模擬退火、粒子群算法等),而啟發(fā)式算法會無法避免陷入局部最優(yōu)解的問題,啟發(fā)式算法本質(zhì)上是一種貪心策略,導(dǎo)致不符合貪心規(guī)則的最優(yōu)解會被錯過?;跓岣兄奶摂M機(jī)分類調(diào)度策略根據(jù)主機(jī)的“冷熱”狀態(tài)對物理節(jié)點(diǎn)之間的虛擬機(jī)進(jìn)行重分配,可以有效減少數(shù)據(jù)中心中的過載與空載主機(jī)數(shù),達(dá)到能耗與SLA的平衡。
熱感知模型持續(xù)監(jiān)控?cái)?shù)據(jù)中心物理節(jié)點(diǎn)的熱狀態(tài)信息,將當(dāng)前物理節(jié)點(diǎn)根據(jù)“冷熱”狀態(tài)劃分為四種類型,分別為沸點(diǎn)(boiling point)、溫點(diǎn)(warming point)、涼點(diǎn)(cooling point)、冰點(diǎn)(freezing point),并利用SLA設(shè)定了PM工作負(fù)載閾值的上界和下界。當(dāng)PM當(dāng)前的負(fù)載利用率高于閾值上界時我們稱之為沸點(diǎn);當(dāng)其利用率低于閾值下界(非0)時我們稱之為涼點(diǎn);負(fù)載利用率為0時為冰點(diǎn);當(dāng)PM的負(fù)載利用率處于閾值上下界之間時我們稱之為溫點(diǎn)。我們需要使得盡可能多的PM以溫點(diǎn)的形式運(yùn)轉(zhuǎn)。因此我們需要轉(zhuǎn)換更多的沸點(diǎn)PM到溫點(diǎn)之中,并盡可能地整合一些涼點(diǎn)或者冰點(diǎn)的PM。虛擬機(jī)調(diào)度模塊會將部分運(yùn)行在沸點(diǎn)上的虛擬機(jī)遷移至涼點(diǎn)之中,部分容量足夠大的涼點(diǎn)將會被動態(tài)整合為一體,處于冰點(diǎn)的物理機(jī)將會被關(guān)閉以節(jié)能。
4.實(shí)驗(yàn)說明
對于滾動灰色預(yù)測模型來說,我們首先需要先讓數(shù)據(jù)中心運(yùn)行一段時間t,獲取一定數(shù)量的歷史負(fù)載數(shù)據(jù)作為輸入樣本提供給滾動灰色預(yù)測模型學(xué)習(xí)。時間t越大,滾動灰色預(yù)測模型預(yù)測的結(jié)果就越準(zhǔn),此處實(shí)驗(yàn)t取100個采樣周期長度。
滾動灰色預(yù)測模型實(shí)驗(yàn)測試的平均絕對偏差值與平均絕對百分誤差的計(jì)算方法如定義如下:
其中x(0)(k)為負(fù)載利用率的實(shí)際值,為滾動灰色預(yù)測模型的預(yù)測結(jié)果。
我們采集了數(shù)據(jù)中心100個采樣周期內(nèi)的負(fù)載數(shù)據(jù)作為滾動灰色預(yù)測模型的初始輸入序列,緊接著運(yùn)行滾動灰色預(yù)測模型算法,算法通過對前100個采樣周期的數(shù)據(jù)序列進(jìn)行計(jì)算預(yù)測得到第101個周期時刻的負(fù)載數(shù)據(jù),再對比計(jì)算第101個周期時刻的工作負(fù)載實(shí)際值與預(yù)測值的平均絕對偏差和平均絕對百分誤差來調(diào)整原有的滾動模型,并更新輸入數(shù)據(jù)序列。之后依此預(yù)測第102、103及以后周期的工作負(fù)載。
圖3和圖4是對兩組云任務(wù)序列進(jìn)行工作負(fù)載預(yù)測的實(shí)驗(yàn)結(jié)果,其中圖3的云任務(wù)序列在第1-5小時、第22-24小時發(fā)生了流量突發(fā)事件,圖4的云任務(wù)序列在第10小時和第20小時發(fā)生了流量突發(fā)事件。實(shí)驗(yàn)用滾動灰色預(yù)測模型與自回歸移動平均(ARIMA)模型以及實(shí)際負(fù)載值進(jìn)行了對比,兩組實(shí)驗(yàn)結(jié)果都顯示滾動灰色預(yù)測模型對于數(shù)據(jù)中心的工作負(fù)載的預(yù)測精度更為接近實(shí)際值(Actual),相比ARIMA模型,滾動灰色預(yù)測模型對于流量突發(fā)情況下的反饋更為及時。
圖5是在運(yùn)行圖4所示云任務(wù)序列之后的實(shí)驗(yàn)結(jié)果,結(jié)果顯示滾動灰色預(yù)測模型的在云數(shù)據(jù)中心的負(fù)載預(yù)測過程中的平均偏差比為6.93%,而ARIMA模型的平均偏差比為10.35%,滾動灰色預(yù)測模型的整體預(yù)測效果更優(yōu)。圖6為滾動灰色預(yù)測模型與ARIMA模型實(shí)驗(yàn)后的偏差比面積圖,若折線與X軸圍成的面積越小,則代表其預(yù)測偏差越小,精度越高。如圖所示ARIMA模型的偏差比面積要遠(yuǎn)大于滾動灰色預(yù)測模型,更凸顯出滾動灰色預(yù)測模型在云數(shù)據(jù)中心負(fù)載預(yù)測中的優(yōu)勢。