關(guān)鍵詞:服務(wù)質(zhì)量;虛擬機(jī)放置;能耗優(yōu)化;突發(fā)負(fù)載
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)26-0057-07開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID) :
0 引言
隨著云計(jì)算不斷普及,數(shù)據(jù)中心的體量和業(yè)務(wù)量也逐漸增加。服務(wù)提供商與用戶之間的服務(wù)水平協(xié)議(SLA) 規(guī)定了對(duì)任務(wù)延遲的保證。服務(wù)提供商必須根據(jù)用戶需求來(lái)提供資源,在保障任務(wù)完成的同時(shí)滿足用戶的SLA。這帶來(lái)以下幾方面的挑戰(zhàn)。
首先,數(shù)據(jù)中心運(yùn)營(yíng)過(guò)程出現(xiàn)的大量突發(fā)性工作負(fù)載如何進(jìn)行有效處理已成為一個(gè)難題[1]。面臨突發(fā)負(fù)載時(shí),服務(wù)供應(yīng)商通常采用增加服務(wù)器的數(shù)量或?qū)⒊^(guò)處理閾值的任務(wù)進(jìn)行等待直到有空閑資源再進(jìn)行處理等方法應(yīng)對(duì)。但增加服務(wù)器需要一定的時(shí)間,在這段時(shí)間內(nèi),數(shù)據(jù)中心一直處在過(guò)載的狀態(tài)下運(yùn)行,這將導(dǎo)致數(shù)據(jù)中心的響應(yīng)延遲提高,進(jìn)而影響對(duì)用戶的服務(wù)質(zhì)量。在延緩任務(wù)執(zhí)行方法上,目前有研究提出利用速率限制[2-3]來(lái)應(yīng)對(duì)突發(fā)負(fù)載,但這往往會(huì)帶來(lái)較大的能源消耗。同時(shí),由于突發(fā)負(fù)載的到來(lái)難以預(yù)測(cè),因此需要尋找更好的解決方法。
其次,在云數(shù)據(jù)中心中,用戶和服務(wù)提供商簽署服務(wù)級(jí)別協(xié)議(Service-Level Agreement, SLA)后,用戶有權(quán)獲得滿足其指定服務(wù)級(jí)別的高質(zhì)量服務(wù),如何保證用戶的服務(wù)質(zhì)量亦是一個(gè)頗具挑戰(zhàn)性的問(wèn)題。在突發(fā)負(fù)載的情況下,服務(wù)提供商通常優(yōu)先執(zhí)行優(yōu)先級(jí)別較高的任務(wù),但這容易導(dǎo)致一部分優(yōu)先級(jí)較低的任務(wù)長(zhǎng)時(shí)間無(wú)法得到執(zhí)行,陷入“長(zhǎng)尾效應(yīng)”。因此,如何在保障大部分任務(wù)的服務(wù)質(zhì)量的情況下消除“長(zhǎng)尾效應(yīng)”,已成為關(guān)鍵問(wèn)題。
并且,數(shù)據(jù)中心業(yè)務(wù)量的增加導(dǎo)致能源消耗增加以及更多的碳排放量[4-6]。為了減少數(shù)據(jù)中心的能耗,一種常見的方法是利用虛擬機(jī)放置策略來(lái)減少物理資源的使用以降低能耗。目前已有許多研究者[7-9]對(duì)虛擬機(jī)(Virtual Machine, VM)放置算法進(jìn)行研究。但是,大多數(shù)放置算法致力于優(yōu)化物理資源的利用率(例如帶寬資源、CPU使用率、網(wǎng)絡(luò)資源、內(nèi)存使用率等)來(lái)減少服務(wù)器能耗,忽略了數(shù)據(jù)中心日常使用的制冷能耗。然而數(shù)據(jù)中心的制冷能耗已占到了數(shù)據(jù)中心總能耗的較大部分,有實(shí)驗(yàn)表明[10],在對(duì)44個(gè)數(shù)據(jù)中心進(jìn)行統(tǒng)計(jì)研究后,指出制冷系統(tǒng)(ComputerRoom Air Conditioner, CRAC)消耗了數(shù)據(jù)中心總能耗的40%,甚至在某些制冷效率低的數(shù)據(jù)中心中,這一統(tǒng)計(jì)值高達(dá)60%。為了解決上述問(wèn)題,在這項(xiàng)研究中,本文提出了一種有效的虛擬機(jī)節(jié)能放置策略SABA-S,該策略能在突發(fā)負(fù)載時(shí)保證用戶的服務(wù)質(zhì)量,并綜合考慮了制冷系統(tǒng)的熱循環(huán)模型和服務(wù)器能耗模型來(lái)減少數(shù)據(jù)中心日常使用能耗。
本文的主要貢獻(xiàn)有以下三點(diǎn):
1) 針對(duì)數(shù)據(jù)中心的突發(fā)負(fù)載,本文采用了任務(wù)隊(duì)列拆分重組的方法,對(duì)原始任務(wù)隊(duì)列進(jìn)行拆分,按優(yōu)先級(jí)高低和耗時(shí)長(zhǎng)短進(jìn)行重組,并對(duì)超出數(shù)據(jù)中心負(fù)載上限的部分做延后處理。實(shí)驗(yàn)表明,任務(wù)隊(duì)列拆分重組方法在處理突發(fā)負(fù)載時(shí),相比傳統(tǒng)的FCFS(FirstCome First Service, 先來(lái)先服務(wù))算法能降低平均81% 的等待延時(shí)。
2) 將任務(wù)按照優(yōu)先級(jí)和耗時(shí)重組后,算法將優(yōu)先執(zhí)行關(guān)鍵任務(wù),同時(shí)為了保障普通任務(wù)的服務(wù)質(zhì)量,算法將分配一定比例的資源給普通任務(wù),并且,為了防止一部分任務(wù)陷入“長(zhǎng)尾效應(yīng)”,長(zhǎng)時(shí)間無(wú)法得到執(zhí)行,算法將監(jiān)聽任務(wù)的響應(yīng)比,對(duì)響應(yīng)比較高的任務(wù)提高其優(yōu)先級(jí)。實(shí)驗(yàn)表明,本文算法在短時(shí)普通任務(wù)的耗時(shí)相比同樣具有優(yōu)先級(jí)策略的PLSC(峰值負(fù)載處理)算法能降低82%的等待延時(shí)。
3) 針對(duì)數(shù)據(jù)中心的能耗過(guò)高問(wèn)題,本文所提策略對(duì)服務(wù)器能耗模型和制冷系統(tǒng)能耗模型進(jìn)行綜合考慮,并基于模擬退火算法進(jìn)行改進(jìn),優(yōu)化了初始解的產(chǎn)生方式、迭代過(guò)程并加入了服務(wù)器啟動(dòng)數(shù)量控制模塊。實(shí)驗(yàn)表明,本文策略相對(duì)其他算法能明顯降低數(shù)據(jù)中心日常運(yùn)行的能耗。
1 相關(guān)工作
隨著數(shù)據(jù)中心相關(guān)技術(shù)的成熟,近些年已有許多工作在處理突發(fā)負(fù)載,保障對(duì)用戶服務(wù)質(zhì)量以及降低數(shù)據(jù)中心能源消耗方面進(jìn)行了研究。
1.1 突發(fā)負(fù)載應(yīng)對(duì)策略
在數(shù)據(jù)中心出現(xiàn)突發(fā)負(fù)載時(shí),有研究[11]通過(guò)計(jì)算服務(wù)器的平均負(fù)載,利用平均負(fù)載代替當(dāng)前負(fù)載作為虛擬機(jī)遷移的依據(jù),降低突發(fā)負(fù)載對(duì)實(shí)時(shí)虛擬機(jī)遷移造成的惡性影響。在能源消耗部分,他們將虛擬機(jī)進(jìn)行遷移整合,關(guān)閉空載的服務(wù)器,以此實(shí)現(xiàn)能耗的優(yōu)化,但他們并沒有采取措施保障對(duì)用戶的服務(wù)質(zhì)量。也有研究[12]通過(guò)計(jì)算不同服務(wù)器的過(guò)載概率,優(yōu)先將虛擬機(jī)放置到過(guò)載概率低的服務(wù)器上來(lái)應(yīng)對(duì)突發(fā)負(fù)載,但這可能導(dǎo)致較多的服務(wù)器處于低負(fù)載狀態(tài),造成資源浪費(fèi)。亦有研究[1]通過(guò)對(duì)任務(wù)隊(duì)列進(jìn)行拆分重組,將超出數(shù)據(jù)中心處理閾值的部分延后處理,保證數(shù)據(jù)中心能夠在突發(fā)負(fù)載的情況下正常運(yùn)轉(zhuǎn),但是該研究并沒有考慮數(shù)據(jù)中心的能耗問(wèn)題。HU C等人[13]提出的PLSC算法在對(duì)到來(lái)的任務(wù)進(jìn)行拆分重組基礎(chǔ)上,利用任務(wù)的關(guān)鍵程度形成新的任務(wù)隊(duì)列,并保障了關(guān)鍵任務(wù)的服務(wù)質(zhì)量。但是對(duì)于普通任務(wù)來(lái)說(shuō),他們沒有采取額外的措施來(lái)保證普通任務(wù)的服務(wù)質(zhì)量,并且在一些情況下將會(huì)導(dǎo)致長(zhǎng)尾效應(yīng),即一部分普通任務(wù)長(zhǎng)時(shí)間無(wú)法獲得執(zhí)行。同時(shí),該算法沒有考慮虛擬機(jī)放置時(shí)的能源消耗。
1.2 服務(wù)質(zhì)量保障策略
在保障服務(wù)質(zhì)量的方法中,有研究[14]提出通過(guò)博弈論中的戰(zhàn)略博弈想法來(lái)構(gòu)建虛擬機(jī)放置模型,以此尋找降低服務(wù)器能耗和保障服務(wù)質(zhì)量之間的平衡,但該研究未考慮突發(fā)負(fù)載帶來(lái)的負(fù)面影響。也有研究[15]根據(jù)不同類型的任務(wù)對(duì)延時(shí)敏感度不同,將任務(wù)按類型拆分,優(yōu)先處理延時(shí)敏感的任務(wù),同時(shí)設(shè)立延時(shí)容忍機(jī)制,為低延時(shí)敏感度的任務(wù)設(shè)立延時(shí)容忍,延時(shí)超過(guò)一定時(shí)間后,增加該任務(wù)處理的優(yōu)先級(jí),避免了長(zhǎng)尾效應(yīng),但該研究并沒有涉及降低能耗方面的內(nèi)容。另有研究[16]通過(guò)引入令牌桶的概念,為每個(gè)工作負(fù)載設(shè)置速率限制,保障了工作負(fù)載的尾部延遲服務(wù)水平,并減少了服務(wù)器的使用數(shù)量,但該研究需要相應(yīng)的硬件配合,成本較高。
1.3 能源消耗降低策略
先前對(duì)于VM放置算法的研究,大部分精力都集中在平衡VM的需求和物理服務(wù)器的計(jì)算資源上[17-19]。這些研究通過(guò)優(yōu)化數(shù)據(jù)中心中的VM放置來(lái)降低服務(wù)器資源的使用率。但這些節(jié)能解決方案不足以明顯提高數(shù)據(jù)中心的能源效率。本文提出了一種VM放置算法,該算法在考慮了數(shù)據(jù)中心制冷能耗的基礎(chǔ)上進(jìn)一步降低了服務(wù)器能耗。最近,許多研究表明,根據(jù)服務(wù)器節(jié)點(diǎn)間的熱循環(huán)效應(yīng)來(lái)放置任務(wù),可以節(jié)省數(shù)據(jù)中心的能耗[7-9]。這些研究利用熱循環(huán)模型來(lái)優(yōu)化資源分配,以減少數(shù)據(jù)中心的制冷能耗。但是,這些放置策略主要集中在任務(wù)上,而忽略了VM對(duì)數(shù)據(jù)中心能源效率的影響,同時(shí)這些策略在放置任務(wù)時(shí)沒有綜合考慮服務(wù)器能耗的影響,可能會(huì)造成服務(wù)器能耗的增加。與已有工作不同,本文利用熱循環(huán)模型來(lái)考慮節(jié)能的虛擬機(jī)放置,在減少制冷能耗的同時(shí)進(jìn)一步降低服務(wù)器能耗。
由于先前關(guān)于數(shù)據(jù)中心虛擬機(jī)放置的研究沒有深入研究如何以一個(gè)較低的能源消耗處理突發(fā)負(fù)載,同時(shí)在此基礎(chǔ)上保證用戶的服務(wù)質(zhì)量,因此,本文提出了一種新的虛擬機(jī)放置策略SABA-S,可以應(yīng)對(duì)以下場(chǎng)景:
1) 突發(fā)負(fù)載:SABA-S利用拆分重組任務(wù)隊(duì)列來(lái)緩解突發(fā)負(fù)載對(duì)數(shù)據(jù)中心的負(fù)面影響。
2) 長(zhǎng)尾效應(yīng):SABA-S通過(guò)任務(wù)的響應(yīng)比來(lái)為任務(wù)增加執(zhí)行優(yōu)先權(quán),消除長(zhǎng)尾。
3) 能源消耗:SABA-S提出一種啟發(fā)式虛擬機(jī)放置算法,利用該算法能綜合考慮服務(wù)器能耗和制冷系統(tǒng)能耗,有效降低虛擬機(jī)放置過(guò)程的能源消耗。
2 SABA-S策略
SABA-S策略包含兩部分:第一部分用于處理數(shù)據(jù)中心的突發(fā)負(fù)載。此部分首先判斷到來(lái)的負(fù)載是否為突發(fā)負(fù)載,若是突發(fā)負(fù)載,則對(duì)任務(wù)隊(duì)列按優(yōu)先級(jí)高低和耗時(shí)長(zhǎng)短進(jìn)行拆分重組,延緩超過(guò)處理閾值的低優(yōu)先級(jí)隊(duì)列,降低突發(fā)負(fù)載對(duì)數(shù)據(jù)中心性能的影響,同時(shí)監(jiān)聽任務(wù)響應(yīng)比,提高響應(yīng)比過(guò)大的任務(wù)的優(yōu)先級(jí),防止其陷入“長(zhǎng)尾效應(yīng)”,保障對(duì)用戶的服務(wù)質(zhì)量;第二部分則基于模擬退火算法進(jìn)行改進(jìn),將虛擬機(jī)放置于合適的服務(wù)器上,以降低數(shù)據(jù)中心日常運(yùn)行時(shí)的制冷及服務(wù)器能耗。 SABA-S策略架構(gòu)如圖1 所示。
2.1 SABA-S策略架構(gòu)
SABA-S策略架構(gòu)模型如圖1所示,數(shù)據(jù)中心接受任務(wù)請(qǐng)求,若到來(lái)的任務(wù)量超過(guò)數(shù)據(jù)中心的當(dāng)前處理閾值,則判定為突發(fā)負(fù)載,由SABA-S策略對(duì)其進(jìn)行處理。該策略分為兩步,首先將到來(lái)的任務(wù)拆分分類,按照標(biāo)簽分為普通任務(wù)和關(guān)鍵任務(wù),再將任務(wù)拆分細(xì)化到按耗時(shí)分級(jí),分為長(zhǎng)時(shí)任務(wù)、中時(shí)任務(wù)和短時(shí)任務(wù)(3、2、1個(gè)單位時(shí)間任務(wù))。將任務(wù)分類之后,按照算法的規(guī)則,優(yōu)先執(zhí)行關(guān)鍵任務(wù),但為了防止普通任務(wù)累積過(guò)多,導(dǎo)致長(zhǎng)尾效應(yīng),本文采用了監(jiān)聽任務(wù)響應(yīng)比來(lái)提高長(zhǎng)時(shí)間未執(zhí)行任務(wù)的優(yōu)先級(jí)和分配固定比例的資源去執(zhí)行普通任務(wù)兩個(gè)方法解決這個(gè)問(wèn)題。由于短時(shí)任務(wù)的用戶往往對(duì)延遲敏感度較高,因此對(duì)于普通任務(wù),策略將優(yōu)先分配資源給短時(shí)任務(wù)。將到來(lái)的任務(wù)拆分重組成新的隊(duì)列后,將執(zhí)行SABA-S策略的第二部分,該部分的算法將綜合考慮制冷系統(tǒng)能耗和服務(wù)器能耗來(lái)對(duì)虛擬機(jī)放置時(shí)的能源消耗進(jìn)行優(yōu)化。模擬退火算法(SA) 在數(shù)據(jù)中心虛擬機(jī)放置的問(wèn)題上有著良好的表現(xiàn),SABA-S策略針對(duì)SA的缺點(diǎn)進(jìn)行了改進(jìn),使其能在較短的時(shí)間內(nèi)獲得最優(yōu)解。
當(dāng)出現(xiàn)突發(fā)負(fù)載時(shí),數(shù)據(jù)中心無(wú)法保障所有任務(wù)的服務(wù)質(zhì)量,不及時(shí)進(jìn)行處理甚至將影響整個(gè)數(shù)據(jù)中心的性能。SABA-S策略的任務(wù)隊(duì)列拆分重組模塊在對(duì)任務(wù)的關(guān)鍵程度進(jìn)行劃分后,還考慮了任務(wù)的運(yùn)行時(shí)長(zhǎng),運(yùn)行時(shí)長(zhǎng)較短的任務(wù)往往用戶對(duì)延遲的敏感度較高。所以,在保障關(guān)鍵任務(wù)的服務(wù)質(zhì)量的基礎(chǔ)上,盡可能地去保障普通任務(wù)中運(yùn)行時(shí)長(zhǎng)較短的服務(wù)質(zhì)量。表1列出了本文的常用符號(hào)。
2.2 SABA-S 拆分重組算法
當(dāng)前數(shù)據(jù)中心大多使用先到先執(zhí)行的策略。在面對(duì)突發(fā)負(fù)載時(shí),并非所有任務(wù)都能在規(guī)定時(shí)間內(nèi)執(zhí)行完成,此時(shí)首先需要保證關(guān)鍵任務(wù)的服務(wù)質(zhì)量。而先到先執(zhí)行策略無(wú)法在突發(fā)負(fù)載的情況下保障指定類型任務(wù)的服務(wù)質(zhì)量,因此,本文提出一種拆分重組算法來(lái)優(yōu)先保障關(guān)鍵任務(wù)的服務(wù)質(zhì)量。
本文提出了一種新穎的拆分重組算法(SABA-S 策略第一部分),該算法首先將到來(lái)的任務(wù)進(jìn)行分類,按是否為關(guān)鍵任務(wù)分為兩類,再按任務(wù)耗費(fèi)時(shí)間分為三類,形成六類任務(wù),如圖2所示。在面臨突發(fā)負(fù)載時(shí),算法優(yōu)先保障關(guān)鍵任務(wù)的服務(wù)質(zhì)量,同時(shí)分出一定量的服務(wù)器資源來(lái)運(yùn)行普通任務(wù),防止普通任務(wù)的延時(shí)過(guò)高。在關(guān)鍵任務(wù)執(zhí)行之后,將對(duì)普通任務(wù)中占比較大的部分優(yōu)先執(zhí)行,以滿足大部分用戶的需求。同時(shí),算法還會(huì)監(jiān)測(cè)任務(wù)的響應(yīng)比,通過(guò)以下公式來(lái)確定任務(wù)的運(yùn)行順序。
其中:Z代表任務(wù)的優(yōu)先權(quán),Z值越大,表示該任務(wù)優(yōu)先級(jí)越高。w表示用戶遞交任務(wù)時(shí)的期望完成時(shí)間。ΣT表示該任務(wù)已等待時(shí)間的總和。
算法如下所示。該算法對(duì)到達(dá)數(shù)據(jù)中心的任務(wù)隊(duì)列讀取一次,按任務(wù)關(guān)鍵與否進(jìn)行拆分,然后再次讀取拆分后的隊(duì)列,根據(jù)數(shù)據(jù)中心的處理閾值進(jìn)行重組,時(shí)間復(fù)雜度為O(n)。
算法1 SABA-S 任務(wù)隊(duì)列重組算法
輸入:到來(lái)的任務(wù)隊(duì)列M
輸出:重組后的任務(wù)隊(duì)列N,未處理任務(wù)隊(duì)列K
1 if( len(M) > DCvalve) //判斷是否為突發(fā)負(fù)載
在生成初始解時(shí),為機(jī)架頂部附近的位置分配了一個(gè)相對(duì)較大的值。與SA相比,SABA-S策略生成了初始值,該初始值將加速獲得最終的最優(yōu)解。在生成新解決方案的步驟中,如果在轉(zhuǎn)換策略之后新解決方案將較少的值分配給頂部機(jī)架附近的位置,則將不會(huì)執(zhí)行轉(zhuǎn)換。也就是說(shuō),SABA-S策略可防止當(dāng)前解的方向發(fā)生變化,不會(huì)向不利于SABA-S獲得全局最優(yōu)解的方向變化。與SA算法相比,如果CPU利用率不高,則SABA-S將啟動(dòng)較少的節(jié)點(diǎn)來(lái)調(diào)度虛擬機(jī)。因此,SABA-S在確保任務(wù)完成的同時(shí)提高了節(jié)點(diǎn)的利用率。
算法偽代碼如算法3所示。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)設(shè)備系統(tǒng)環(huán)境采用Windows 10的64位操作系統(tǒng),計(jì)算機(jī)的硬件配置8 GB RAM,1 TB ROM,處理器 Intel ? Core? i7-6700 處理器(主頻為 3.40 GHz) 。所有程序使用MATLAB語(yǔ)言進(jìn)行實(shí)現(xiàn)。
本文采用的SABA-S策略將使用真實(shí)的數(shù)據(jù)集與PPVMP算法[22]、XInt-GA算法[20]、PLSC算法[13]進(jìn)行比較分析。
我們對(duì)阿里數(shù)據(jù)中心的數(shù)據(jù)集進(jìn)行分析整合,截取了一段60小時(shí)的負(fù)載情況作為實(shí)驗(yàn)數(shù)據(jù)。該數(shù)據(jù)如圖4 所示,我們將數(shù)據(jù)中心的最大負(fù)載設(shè)定為1400,虛擬機(jī)數(shù)量在一部分時(shí)間超過(guò)了負(fù)載閾值1400,若無(wú)法及時(shí)處理這部分突發(fā)負(fù)載,將會(huì)損害系統(tǒng)的性能和任務(wù)的服務(wù)質(zhì)量。
SABA-S策略將到來(lái)的虛擬機(jī)數(shù)量進(jìn)行突發(fā)負(fù)載的處理,得到的結(jié)果如圖5所示。SABA-S處理突發(fā)負(fù)載的策略是將任務(wù)拆分重組后,對(duì)超過(guò)數(shù)據(jù)中心負(fù)載處理閾值的低優(yōu)先級(jí)部分進(jìn)行延后處理。由于考慮了不同的任務(wù)負(fù)載具有不同的處理時(shí)間,因此長(zhǎng)時(shí)間的任務(wù)負(fù)載將會(huì)對(duì)之后的數(shù)據(jù)中心負(fù)載處理數(shù)量造成影響。從圖5中可以看出,經(jīng)過(guò)處理后的負(fù)載沒有超過(guò)數(shù)據(jù)中心的負(fù)載閾值。因此,SABA-S策略可以保障突發(fā)負(fù)載時(shí)數(shù)據(jù)中心的系統(tǒng)性能。
所有任務(wù)的執(zhí)行時(shí)間消耗如圖6(a) 所示。本文對(duì)所有到來(lái)的任務(wù)按執(zhí)行時(shí)間消耗進(jìn)行分類,將耗時(shí)在30s之內(nèi)的任務(wù)定義為1個(gè)單位時(shí)間任務(wù),這部分占比66%,耗時(shí)在30s~80s的任務(wù)定義為2個(gè)單位時(shí)間任務(wù),這部分占比15.9%,耗時(shí)在80s以上的任務(wù)定義為3個(gè)單位時(shí)間任務(wù),這部分占比18.1%,如圖6(b) 所示。
3.2 任務(wù)延時(shí)結(jié)果對(duì)比
任務(wù)隊(duì)列拆分重組模塊的實(shí)驗(yàn)結(jié)果如圖7所示,圖7(a) 是普通任務(wù)的實(shí)驗(yàn)結(jié)果圖,普通任務(wù)中1個(gè)單位時(shí)間的任務(wù)占據(jù)66%的比例,并且短時(shí)間的任務(wù)用戶對(duì)延時(shí)較為敏感,因此優(yōu)先保障短時(shí)的普通任務(wù)。在本文實(shí)驗(yàn)中,SABA-S策略第一部分在短時(shí)普通任務(wù)上延時(shí)是空白對(duì)照組(FCFS) 的48%,是PLSC 的18%,確保了短時(shí)任務(wù)的服務(wù)質(zhì)量,在3個(gè)單位時(shí)間的任務(wù)中,由于該類任務(wù)占比較少,并且長(zhǎng)時(shí)任務(wù)的用戶對(duì)延時(shí)敏感度低,可以接受較高的延時(shí)。圖7(b) 是關(guān)鍵任務(wù)的延時(shí)結(jié)果圖,SABA-S在保障關(guān)鍵任務(wù)的服務(wù)質(zhì)量的同時(shí),分出一部分資源給普通任務(wù),在關(guān)鍵任務(wù)的延時(shí)可接受范圍內(nèi),減少了普通任務(wù)的延時(shí)。
3.3 能源消耗實(shí)驗(yàn)對(duì)比結(jié)果
圖8、圖9、圖10是算法SABA-S、XIntGA、PPVMP 和PLSC能耗實(shí)驗(yàn)結(jié)果圖。圖8展示了在不同時(shí)刻總能耗的比較。圖中結(jié)果表明,總能耗隨著任務(wù)數(shù)量的變化而變化,在絕大多數(shù)情況下,SABA-S策略具有更低的能耗表現(xiàn)。由于SABA-S策略采用的是迭代算法,因此在時(shí)間開銷上會(huì)略遜于其他算法。圖9是制冷能耗的對(duì)比結(jié)果。PPVMP和PLSC算法并沒有考慮制冷系統(tǒng)的能耗,在虛擬機(jī)放置時(shí)沒有考慮數(shù)據(jù)中心氣流組織模型,因此在放置過(guò)程中會(huì)產(chǎn)生局部熱點(diǎn),導(dǎo)致制冷系統(tǒng)必須以一個(gè)較低的溫度來(lái)保證數(shù)據(jù)中心的穩(wěn)定運(yùn)行,增加了制冷系統(tǒng)的能耗。
XIntGA算法考慮了制冷的能耗,在虛擬機(jī)放置時(shí)盡可能將虛擬機(jī)平均放置在所有服務(wù)器上,降低局部熱點(diǎn)出現(xiàn)的概率,且所有服務(wù)器發(fā)熱量較低,因此可以獲得較好的制冷系統(tǒng)能耗。但是,XIntGA沒有考慮服務(wù)器對(duì)制冷系統(tǒng)的影響,導(dǎo)致部分時(shí)刻制冷系統(tǒng)的能耗高于其他算法??梢钥吹?,SABA-S策略在制冷方面降低能耗的效果明顯優(yōu)于其他算法。
圖10是服務(wù)器能耗的對(duì)比結(jié)果。與其他算法相比,由于XIntGA算法沒有考慮服務(wù)器能耗,并且在任務(wù)量不大時(shí)仍開啟所有的服務(wù)器進(jìn)行虛擬機(jī)放置,因此服務(wù)器能耗巨大。從圖10可以看出,XIntGA算法的服務(wù)器能耗幾乎時(shí)刻都處于峰值狀態(tài)。PPVMP算法由于采用了基于蟻群優(yōu)化的算法來(lái)減少服務(wù)器能耗,在保障了虛擬機(jī)的運(yùn)行性能的情況下啟動(dòng)最少的服務(wù)器數(shù)量來(lái)進(jìn)行虛擬機(jī)的放置,因此在降低服務(wù)器能耗中獲得了較好效果。SABA-S策略相對(duì)其他算法在降低服務(wù)器能耗方面仍具有優(yōu)勢(shì)。
4 結(jié)束語(yǔ)
SABA-S策略創(chuàng)新性地將3個(gè)方面的工作結(jié)合在一起,實(shí)現(xiàn)了數(shù)據(jù)中心面對(duì)突發(fā)負(fù)載時(shí)的降低虛擬機(jī)放置能耗和保障用戶任務(wù)服務(wù)質(zhì)量。應(yīng)對(duì)突發(fā)負(fù)載,SABA-S將任務(wù)拆分重組,延緩一部分任務(wù)的執(zhí)行,保障數(shù)據(jù)中心整體系統(tǒng)的穩(wěn)定性;面對(duì)用戶提出的服務(wù)質(zhì)量要求,在保障關(guān)鍵任務(wù)的服務(wù)質(zhì)量的前提下,分配一定的資源提高了普通任務(wù)的服務(wù)質(zhì)量;針對(duì)數(shù)據(jù)中心的能耗問(wèn)題,利用了SABA-S策略中的能耗算法,即一種基于模擬退火算法的啟發(fā)式算法,綜合考慮了服務(wù)器能耗和制冷系統(tǒng)的熱循環(huán),降低了虛擬機(jī)放置過(guò)程的能耗,并在該算法中添加了服務(wù)器數(shù)量控制模塊來(lái)減少服務(wù)器日常運(yùn)行的能耗。將來(lái),我們考慮利用深度神經(jīng)網(wǎng)絡(luò)來(lái)建立數(shù)據(jù)中心突發(fā)負(fù)載的預(yù)測(cè)模型,以此來(lái)預(yù)測(cè)數(shù)據(jù)中心突發(fā)負(fù)載出現(xiàn)的可能,這將能更好地對(duì)數(shù)據(jù)中心的資源進(jìn)行管理。