程春玲,王 穎,張登銀
(1.南京郵電大學(xué)計(jì)算機(jī)學(xué)院,江蘇南京210003;2.南京郵電大學(xué)物聯(lián)網(wǎng)科技園,江蘇南京210003)
云計(jì)算中基于動(dòng)態(tài)閾值的服務(wù)器喚醒策略
程春玲1,王 穎1,張登銀2
(1.南京郵電大學(xué)計(jì)算機(jī)學(xué)院,江蘇南京210003;2.南京郵電大學(xué)物聯(lián)網(wǎng)科技園,江蘇南京210003)
基于預(yù)留機(jī)制的服務(wù)器動(dòng)態(tài)開(kāi)啟/關(guān)閉(dynamic powering on/off servers,DPS)策略采用靜態(tài)設(shè)置的任務(wù)請(qǐng)求數(shù)閾值,可能造成服務(wù)器狀態(tài)頻繁切換從而導(dǎo)致性能下降、能耗上升。對(duì)此,提出一種基于動(dòng)態(tài)閾值的服務(wù)器喚醒策略。首先,用具有不耐煩任務(wù)的排隊(duì)模型對(duì)云計(jì)算系統(tǒng)的任務(wù)調(diào)度進(jìn)行建模,分析系統(tǒng)中的平均任務(wù)背叛數(shù)和能耗成本,提出任務(wù)請(qǐng)求數(shù)閾值動(dòng)態(tài)調(diào)整策略;然后,根據(jù)服務(wù)器所在冷點(diǎn)區(qū)域和當(dāng)前關(guān)閉時(shí)長(zhǎng)選擇服務(wù)器進(jìn)行喚醒。仿真結(jié)果表明,與基于靜態(tài)閾值的服務(wù)器喚醒策略相比,本文策略能夠保證任務(wù)的平均響應(yīng)時(shí)間,并有效降低云計(jì)算系統(tǒng)的能耗開(kāi)銷。
云計(jì)算;服務(wù)器動(dòng)態(tài)開(kāi)啟/關(guān)閉;動(dòng)態(tài)閾值;排隊(duì)論;不耐煩任務(wù)
近年來(lái),隨著云計(jì)算規(guī)模的不斷增長(zhǎng),數(shù)據(jù)中心產(chǎn)生的能耗不斷增多,使云數(shù)據(jù)中心已經(jīng)出現(xiàn)兩難的情況:一方面由于物理服務(wù)器數(shù)量的不斷增多和處理能力的不斷增強(qiáng),帶來(lái)了更多的能量消耗;另一方面每個(gè)服務(wù)器過(guò)低的利用率又造成了巨大的電能浪費(fèi)[1]。目前,高能耗問(wèn)題已經(jīng)成為云計(jì)算領(lǐng)域突出的問(wèn)題,嚴(yán)重制約著云計(jì)算技術(shù)的發(fā)展。數(shù)據(jù)中心主要由IT設(shè)備、空調(diào)系統(tǒng)和配電系統(tǒng)3部分組成,調(diào)查顯示,IT設(shè)備是能耗最高的部分,約占數(shù)據(jù)中心總能耗的50%,其中用于數(shù)據(jù)處理的服務(wù)器能耗約占40%,存儲(chǔ)設(shè)備和網(wǎng)絡(luò)通信設(shè)備能耗各約占5%[2]。然而在服務(wù)器能耗中,85%都是無(wú)效的,這主要是因?yàn)樵茢?shù)據(jù)中心的服務(wù)器通常長(zhǎng)時(shí)間處于開(kāi)啟狀態(tài),等待云任務(wù)的到達(dá),而云任務(wù)到達(dá)具有隨機(jī)性,當(dāng)任務(wù)稀疏時(shí),服務(wù)器處于空轉(zhuǎn)狀態(tài),造成無(wú)效電力[3]。因此,在當(dāng)前和未來(lái)一段時(shí)間內(nèi),云數(shù)據(jù)中心的能耗優(yōu)化管理尤其是服務(wù)器的能耗優(yōu)化管理至關(guān)重要。
目前,能耗優(yōu)化主要有兩種思路:開(kāi)發(fā)出更加節(jié)能的硬件設(shè)備和關(guān)閉空閑設(shè)備,文獻(xiàn)[4]通過(guò)對(duì)云數(shù)據(jù)管理系統(tǒng)的測(cè)試和分析,提出降低“等待能耗”的第3種思路。在服務(wù)器能耗優(yōu)化方面,服務(wù)器動(dòng)態(tài)開(kāi)啟/關(guān)閉(dynamic powering on/off servers,DPS)技術(shù)仍是較為有效的一種方法。DPS技術(shù)通常針對(duì)服務(wù)器的開(kāi)啟/關(guān)閉時(shí)機(jī)進(jìn)行設(shè)定或預(yù)測(cè),在節(jié)點(diǎn)不提供服務(wù)的時(shí)段將其關(guān)閉,從而減少服務(wù)器能耗[5]。DPS技術(shù)主要包括超時(shí)策略、預(yù)測(cè)策略和隨機(jī)策略3類[6]。超時(shí)策略的基本思想是預(yù)先設(shè)定超時(shí)閾值,一旦空閑時(shí)間超過(guò)閾值,就切換到休眠模式,閾值可固定,也可隨系統(tǒng)自適應(yīng)調(diào)整。固定閾值策略[7]適合于對(duì)節(jié)約功耗要求不高、運(yùn)行中出現(xiàn)變化少的設(shè)備,若要提高節(jié)能效率,則需要考慮閾值自適應(yīng)調(diào)整。文獻(xiàn)[8]通過(guò)構(gòu)建一個(gè)半馬爾可夫控制過(guò)程模型,結(jié)合梯度估計(jì)與隨機(jī)逼近提出了一種超時(shí)策略的自適應(yīng)優(yōu)化算法。算法設(shè)定初始閾值,求解一個(gè)帶約束的優(yōu)化問(wèn)題,在滿足性能要求的情況下,使得系統(tǒng)的功耗最小,從而得到一個(gè)最優(yōu)的超時(shí)閾值。該算法可以以較少的計(jì)算量實(shí)現(xiàn)全局最優(yōu)解。文獻(xiàn)[9]分析了超時(shí)閾值選擇的影響因素,證實(shí)了綜合考慮系統(tǒng)休眠與喚醒的能量消耗、電池放電電壓大小和系統(tǒng)具體的應(yīng)用環(huán)境3方面是找到最優(yōu)閾值的捷徑。超時(shí)策略雖然實(shí)現(xiàn)簡(jiǎn)單,但是超時(shí)閾值難以合理的設(shè)置,若設(shè)置過(guò)大,服務(wù)器在等待超時(shí)的過(guò)程中仍然處于工作狀態(tài),不能有效地降低能耗;若設(shè)置過(guò)小,當(dāng)新的任務(wù)請(qǐng)求到達(dá)時(shí)經(jīng)常會(huì)引起服務(wù)延遲。預(yù)測(cè)策略的基本思想是通過(guò)對(duì)歷史空閑時(shí)間長(zhǎng)度的學(xué)習(xí)來(lái)預(yù)測(cè)將來(lái)的空閑時(shí)間長(zhǎng)度,根據(jù)預(yù)測(cè)結(jié)果是否大于空閑時(shí)間閾值決定是否需要關(guān)閉或休眠服務(wù)器。文獻(xiàn)[10]對(duì)經(jīng)典的指數(shù)平均算法進(jìn)行改進(jìn),提出了自適應(yīng)指數(shù)平均算法(exponential double smoothing-based adaptive sampling,EDSAS),其應(yīng)對(duì)空閑時(shí)間序列波動(dòng)較大情況的能力有所增強(qiáng)。文獻(xiàn)[11]提出了一種在線預(yù)測(cè)算法,該算法計(jì)算在固定間隔時(shí)間內(nèi)沒(méi)有任務(wù)到達(dá)服務(wù)器的概率P,若P>0.5,就將服務(wù)器關(guān)閉。預(yù)測(cè)策略通常要求空閑時(shí)間值具有前后關(guān)聯(lián)性,然而現(xiàn)有的預(yù)測(cè)機(jī)制對(duì)于真實(shí)數(shù)據(jù)的預(yù)測(cè)效果均不甚理想[12]。文獻(xiàn)[13]結(jié)合超時(shí)策略和預(yù)測(cè)策略提出了一種新的低功耗自適應(yīng)混合算法,該算法能夠在請(qǐng)求突發(fā)期間調(diào)整超時(shí)值,在請(qǐng)求非突發(fā)期間決定服務(wù)器狀態(tài),很好地適應(yīng)了突發(fā)性的請(qǐng)求到達(dá)模式,與超時(shí)、預(yù)測(cè)策略相比,能夠提供更低的功耗和更少的響應(yīng)時(shí)間。隨機(jī)策略將系統(tǒng)負(fù)載看成一個(gè)隨機(jī)優(yōu)化問(wèn)題,利用隨機(jī)決策模型求解算法。文獻(xiàn)[14]提出了一個(gè)隨機(jī)動(dòng)態(tài)模型,描述了在不確定條件下的資源配置策略,該策略基于馬爾可夫鏈概率模型,通過(guò)動(dòng)態(tài)規(guī)劃實(shí)現(xiàn)問(wèn)題求解。文獻(xiàn)[15]基于強(qiáng)化學(xué)習(xí)理論提出了一個(gè)自適應(yīng)算法,與傳統(tǒng)的隨機(jī)算法相比,該算法不需要先驗(yàn)狀態(tài)轉(zhuǎn)移概率矩陣,能夠很好地適應(yīng)負(fù)載變化。隨機(jī)策略是在給定性能約束條件下尋求最小功耗的線性規(guī)劃問(wèn)題,能夠得到問(wèn)題的相對(duì)較優(yōu)解,然而該策略在實(shí)施過(guò)程中開(kāi)銷過(guò)大,算法復(fù)雜度高,可應(yīng)用性較差[16]。
以上3種DPS策略都存在一定的不足,并且用戶請(qǐng)求的任務(wù)量是動(dòng)態(tài)變化的,而云數(shù)據(jù)中心的服務(wù)器失效是一種常態(tài),倘若在大量關(guān)閉服務(wù)器節(jié)點(diǎn)的同時(shí)突遇用戶任務(wù)請(qǐng)求高峰期,則由于啟動(dòng)服務(wù)器需要花費(fèi)一定的時(shí)間而無(wú)法及時(shí)地、有效地應(yīng)付云用戶的請(qǐng)求,因此研究者開(kāi)始研究基于預(yù)留機(jī)制的DPS策略?;陬A(yù)留機(jī)制的DPS策略通過(guò)預(yù)留服務(wù)器來(lái)緩沖任務(wù)量的動(dòng)態(tài)變化,該策略將數(shù)據(jù)中心的服務(wù)器分為兩大模塊,其中永久運(yùn)行服務(wù)器構(gòu)成服務(wù)主模塊(service main module,SMM),等待啟動(dòng)的服務(wù)器構(gòu)成服務(wù)預(yù)留模塊(service reserved module,SRM),動(dòng)態(tài)決定該預(yù)留模塊中的服務(wù)器狀態(tài)。文獻(xiàn)[17]提出了never-off策略:數(shù)據(jù)中心的服務(wù)器全部開(kāi)啟,等待任務(wù)的到達(dá)并提供服務(wù)。相對(duì)于never-off策略,基于預(yù)留機(jī)制的DPS策略可以獲得較好的節(jié)能效果。文獻(xiàn)[18]從經(jīng)濟(jì)學(xué)角度出發(fā),提出基于預(yù)留機(jī)制的服務(wù)器狀態(tài)管理策略,根據(jù)用戶支付給云數(shù)據(jù)中心的費(fèi)用與云數(shù)據(jù)中心支付的電費(fèi)的大小關(guān)系決定SRM中服務(wù)器的狀態(tài)。另外,一些文獻(xiàn)[19-21]從設(shè)置閾值出發(fā),對(duì)服務(wù)器狀態(tài)進(jìn)行管理,當(dāng)集群利用率、任務(wù)請(qǐng)求數(shù)或其他性能指標(biāo)超出閾值時(shí),開(kāi)啟SRM中的服務(wù)器;低于閾值時(shí),關(guān)閉SRM中被開(kāi)啟的服務(wù)器。文獻(xiàn)[19]設(shè)置服務(wù)器集群利用率閾值,根據(jù)系統(tǒng)當(dāng)前的集群利用率與集群利用率閾值的關(guān)系動(dòng)態(tài)地配置SRM中服務(wù)器的狀態(tài)。文獻(xiàn)[20]基于休假排隊(duì)系統(tǒng)中休假時(shí)間選擇的思想設(shè)置任務(wù)請(qǐng)求數(shù)閾值,該閾值的選取考慮了用戶給定的延遲上限以及服務(wù)器的開(kāi)啟和關(guān)閉速率。文獻(xiàn)[21]根據(jù)任務(wù)的期望執(zhí)行時(shí)間將任務(wù)分配到相應(yīng)任務(wù)緩沖區(qū)中,并設(shè)置任務(wù)錯(cuò)失率上閾值和任務(wù)請(qǐng)求數(shù)下閾值,當(dāng)任務(wù)緩沖區(qū)中的任務(wù)錯(cuò)失率高于上閾值Ψ時(shí),開(kāi)啟服務(wù)器,當(dāng)任務(wù)緩沖區(qū)對(duì)應(yīng)的任務(wù)請(qǐng)求數(shù)低于下閾值γ時(shí),關(guān)閉服務(wù)器。文獻(xiàn)[19]的集群利用率和文獻(xiàn)[21]的任務(wù)錯(cuò)失率,本質(zhì)上都是與任務(wù)請(qǐng)求數(shù)相關(guān)的,因?yàn)槿蝿?wù)請(qǐng)求數(shù)越多,相對(duì)地,服務(wù)器集群利用率、任務(wù)緩沖區(qū)中任務(wù)錯(cuò)失率就越高。但文獻(xiàn)[19-21]中與任務(wù)請(qǐng)求數(shù)相關(guān)的閾值都是靜態(tài)設(shè)置的,不能根據(jù)實(shí)際情況動(dòng)態(tài)調(diào)整。此外,當(dāng)需要開(kāi)啟SRM中的服務(wù)器時(shí),需要考慮選擇哪個(gè)服務(wù)器進(jìn)行喚醒。文獻(xiàn)[22]指出現(xiàn)有的集群系統(tǒng)中Maui作業(yè)調(diào)度器提供的經(jīng)典服務(wù)器分配算法是CPULoad,該算法選擇服務(wù)器的依據(jù)是可用CPU計(jì)算能力,然而文獻(xiàn)[23]指出服務(wù)器集群中存在“熱點(diǎn)區(qū)域”,“熱點(diǎn)區(qū)域”通常會(huì)加快硬件失效的速度,給數(shù)據(jù)中心帶來(lái)額外開(kāi)銷,所以可以根據(jù)溫度因素優(yōu)化選擇要喚醒的服務(wù)器,但是該文獻(xiàn)只考慮了制冷設(shè)備對(duì)服務(wù)器運(yùn)行的影響,沒(méi)有考慮頻繁的狀態(tài)切換對(duì)服務(wù)器自身造成的不良結(jié)果。綜上,基于預(yù)留機(jī)制的服務(wù)器狀態(tài)管理策略存在一定的不足,從任務(wù)請(qǐng)求數(shù)閾值角度出發(fā)的DPS策略主要存在以下不足:
(1)靜態(tài)設(shè)置的任務(wù)請(qǐng)求數(shù)閾值可能造成系統(tǒng)的抖動(dòng)。如果排隊(duì)的任務(wù)請(qǐng)求數(shù)在任務(wù)請(qǐng)求數(shù)閾值左右徘徊,可能造成SRM中的服務(wù)器頻繁地在關(guān)閉和開(kāi)啟狀態(tài)間切換,不僅不能達(dá)到節(jié)能的目的,還會(huì)造成系統(tǒng)性能的下降。
(2)當(dāng)需要開(kāi)啟SRM中的服務(wù)器時(shí),依據(jù)CPU計(jì)算能力選擇服務(wù)器可能會(huì)導(dǎo)致SRM中的部分服務(wù)器經(jīng)常被選擇,使得部分服務(wù)器狀態(tài)轉(zhuǎn)換次數(shù)較大,導(dǎo)致能耗的上升;此外,溫度的快速波動(dòng)會(huì)對(duì)服務(wù)器的運(yùn)行產(chǎn)生負(fù)面影響,導(dǎo)致服務(wù)器的性能變差,加快硬件失效的速度。
針對(duì)以上不足,本文改進(jìn)了基于預(yù)留機(jī)制的服務(wù)器狀態(tài)管理策略,提出一種基于動(dòng)態(tài)閾值的服務(wù)器喚醒策略來(lái)優(yōu)化管理云數(shù)據(jù)中心的服務(wù)器狀態(tài),其改進(jìn)點(diǎn)在于:
(1)根據(jù)系統(tǒng)中的平均任務(wù)背叛數(shù)和能耗成本動(dòng)態(tài)調(diào)整任務(wù)請(qǐng)求數(shù)閾值,使得云計(jì)算系統(tǒng)在性能和節(jié)能之間達(dá)到相對(duì)平衡;
(2)根據(jù)服務(wù)器冷點(diǎn)區(qū)域優(yōu)先級(jí)和時(shí)間優(yōu)先級(jí)選擇喚醒服務(wù)器,使服務(wù)器關(guān)閉/休眠時(shí)間盡可能長(zhǎng),減少服務(wù)器狀態(tài)轉(zhuǎn)換次數(shù),做到能耗的進(jìn)一步優(yōu)化以及保證數(shù)據(jù)中心服務(wù)器的穩(wěn)定。
在云數(shù)據(jù)中心,任務(wù)請(qǐng)求隨機(jī)到達(dá)系統(tǒng),當(dāng)任務(wù)到達(dá)時(shí),如果系統(tǒng)內(nèi)有空閑的服務(wù)器,則直接調(diào)度到相應(yīng)的空閑服務(wù)器運(yùn)行,否則該任務(wù)在全局任務(wù)隊(duì)列中排隊(duì)等待,系統(tǒng)根據(jù)當(dāng)前排隊(duì)的任務(wù)請(qǐng)求數(shù)是否超過(guò)任務(wù)請(qǐng)求數(shù)閾值決定是否喚醒額外的服務(wù)器;在排隊(duì)過(guò)程中,任務(wù)等待服務(wù)器的響應(yīng)具有一定的忍耐度,若等待時(shí)間過(guò)長(zhǎng),就會(huì)引起用戶出現(xiàn)不耐煩情緒,從而離開(kāi)隊(duì)伍去別處另求服務(wù),即發(fā)生“任務(wù)背叛”。云數(shù)據(jù)中心當(dāng)前處于開(kāi)啟狀態(tài)的服務(wù)器數(shù)量越少,發(fā)生任務(wù)背叛的強(qiáng)度越高。以上任務(wù)到達(dá)系統(tǒng)并接受服務(wù)的調(diào)度過(guò)程可以用具有不耐煩任務(wù)的排隊(duì)系統(tǒng)來(lái)建模,圖1是基于具有不耐煩任務(wù)的M/M/n排隊(duì)系統(tǒng)調(diào)度框架。
圖1 云計(jì)算系統(tǒng)中具有不耐煩任務(wù)的排隊(duì)調(diào)度模型
圖1中,任務(wù)以泊松流到達(dá)云計(jì)算系統(tǒng),平均到達(dá)率為λ,任務(wù)控制器按照先來(lái)先服務(wù)的原則將任務(wù)隊(duì)列中的任務(wù)調(diào)度到相應(yīng)服務(wù)器節(jié)點(diǎn),服務(wù)器節(jié)點(diǎn)接收并執(zhí)行任務(wù),平均服務(wù)率為μ。本模型假設(shè)任務(wù)到達(dá)過(guò)程相互獨(dú)立,所有服務(wù)器的服務(wù)過(guò)程也相互獨(dú)立。數(shù)據(jù)中心共提供N臺(tái)同構(gòu)的服務(wù)器,其中的n(0≤n≤N)臺(tái)服務(wù)器構(gòu)成SMM,剩下的N-n臺(tái)服務(wù)器構(gòu)成SRM。狀態(tài)管理器根據(jù)全局任務(wù)隊(duì)列Qglobal中的任務(wù)請(qǐng)求數(shù)與任務(wù)請(qǐng)求數(shù)閾值的關(guān)系對(duì)SRM中的服務(wù)器進(jìn)行狀態(tài)管理。Qglobal中的排隊(duì)系統(tǒng)可定義為三元組(k,Φk,non),其中,k表示系統(tǒng)中當(dāng)前排隊(duì)的任務(wù)數(shù);Φk表示系統(tǒng)中不耐煩任務(wù)離去的強(qiáng)度(發(fā)生任務(wù)背叛的強(qiáng)度),其值與系統(tǒng)中的排隊(duì)長(zhǎng)k有關(guān)(排隊(duì)長(zhǎng)為k時(shí),發(fā)生任務(wù)背叛的強(qiáng)度為Φk),且Φk→∞(當(dāng)k→∞);non為云計(jì)算系統(tǒng)處于開(kāi)啟狀態(tài)的服務(wù)器數(shù)量。
全局任務(wù)隊(duì)列中具有不耐煩顧客的M/M/n排隊(duì)系統(tǒng)的狀態(tài)流圖如圖2所示。
圖2 具有不耐煩顧客的M/M/n排隊(duì)系統(tǒng)的狀態(tài)流圖
圖2中,0,1,…,n,n+1,…,n+k分別表示云計(jì)算系統(tǒng)處于各種不同的狀態(tài),其中0狀態(tài)表示系統(tǒng)中沒(méi)有任務(wù)執(zhí)行,也沒(méi)有任務(wù)排隊(duì),處于該狀態(tài)的概率為p0;n+k(0≤n;0≤k)狀態(tài)表示系統(tǒng)中有n個(gè)任務(wù)正在執(zhí)行,有k個(gè)任務(wù)正在排隊(duì),處于該狀態(tài)的概率為pn+k。
2.1 任務(wù)請(qǐng)求數(shù)閾值的動(dòng)態(tài)調(diào)整
將服務(wù)器喚醒需要消耗電力,如果服務(wù)器喚醒后只是短暫的使用,那么這個(gè)喚醒能耗就無(wú)法帶來(lái)收益,因此合理設(shè)置任務(wù)請(qǐng)求數(shù)閾值可以優(yōu)化管理服務(wù)器的狀態(tài)。較小的任務(wù)請(qǐng)求數(shù)閾值可以促使服務(wù)器快速啟動(dòng)以降低服務(wù)延遲,而較大的任務(wù)請(qǐng)求數(shù)閾值可以避免開(kāi)啟過(guò)多預(yù)留模塊的服務(wù)器,有利于降低系統(tǒng)能耗。為了在性能和能耗之間取得較好的平衡,可以根據(jù)平均任務(wù)背叛數(shù)和能耗成本共同控制任務(wù)請(qǐng)求數(shù)閾值的變化。
2.1.1 平均任務(wù)背叛數(shù)的計(jì)算
系統(tǒng)當(dāng)前的平均任務(wù)背叛數(shù)L是系統(tǒng)排隊(duì)長(zhǎng)為i(1≤i≤k)時(shí)發(fā)生任務(wù)背叛的強(qiáng)度以及系統(tǒng)排隊(duì)長(zhǎng)為i的概率乘積求和,則L為
式中,pi為云計(jì)算系統(tǒng)中排隊(duì)長(zhǎng)為i(1≤i≤k)的概率;Φi為系統(tǒng)排隊(duì)長(zhǎng)為i時(shí)發(fā)生任務(wù)背叛的強(qiáng)度。
要計(jì)算出L,須求出在當(dāng)前已經(jīng)開(kāi)啟的服務(wù)器總數(shù)non下系統(tǒng)處于各個(gè)狀態(tài)的概率,為簡(jiǎn)便表示,設(shè)Φi=δ×i(即任務(wù)背叛強(qiáng)度是排隊(duì)長(zhǎng)的正比例函數(shù),δ為正比例系數(shù)),設(shè),到達(dá)云計(jì)算系統(tǒng)的任務(wù)總數(shù)為K,初始時(shí)刻,系統(tǒng)開(kāi)啟的服務(wù)器數(shù)量為永久運(yùn)行的服務(wù)器數(shù)量n,則根據(jù)圖2,可以列出已經(jīng)開(kāi)啟的服務(wù)器數(shù)量為n時(shí)系統(tǒng)平衡條件下的K氏方程。
當(dāng)K≤non時(shí):
對(duì)0狀態(tài)有λp0=μp1,得
對(duì)n-1狀態(tài)有λpn-1=nμpn,得
當(dāng)K>non時(shí):
對(duì)n狀態(tài)有λpn=(nμ+δ)pn+1,得
一般地
已知狀態(tài)轉(zhuǎn)移概率的正則性條件為
將式(2)~式(5)代入式(6),可以計(jì)算得到p0的值為
綜上,系統(tǒng)當(dāng)前的平均任務(wù)背叛數(shù)L的計(jì)算公式為
式中,系統(tǒng)當(dāng)前排隊(duì)的任務(wù)數(shù)k、開(kāi)啟的服務(wù)器數(shù)量non可以從系統(tǒng)當(dāng)前運(yùn)行情況獲得;正比例系數(shù)δ、系統(tǒng)的任務(wù)平均到達(dá)率λ、系統(tǒng)的服務(wù)器平均服務(wù)率μ可以通過(guò)長(zhǎng)期監(jiān)測(cè)云計(jì)算系統(tǒng)的運(yùn)行情況統(tǒng)計(jì)獲得。
2.1.2 能耗成本的計(jì)算
云數(shù)據(jù)中心中,服務(wù)器處于不同狀態(tài)下的功耗不同。設(shè)處于繁忙運(yùn)行的服務(wù)器的功耗為Pbusy;處于空閑運(yùn)行的服務(wù)器的功耗為Pidle;服務(wù)器從關(guān)閉/休眠狀態(tài)轉(zhuǎn)換為開(kāi)啟狀態(tài)消耗的功耗為Poff->on,轉(zhuǎn)換時(shí)間為tswitch;服務(wù)器從開(kāi)啟狀態(tài)轉(zhuǎn)換為關(guān)閉/休眠狀態(tài)消耗的電量和轉(zhuǎn)換時(shí)間很少,可以忽略不計(jì)。系統(tǒng)按預(yù)設(shè)的周期T計(jì)算能耗成本,設(shè)在周期T內(nèi),SRM中有x臺(tái)服務(wù)器處于繁忙運(yùn)行狀態(tài),有y臺(tái)服務(wù)器處于空閑運(yùn)行狀態(tài),則云計(jì)算系統(tǒng)在周期T內(nèi)運(yùn)行能耗Prun和轉(zhuǎn)換能耗Pswitch分別為
則在一個(gè)周期內(nèi)總的能耗成本
2.1.3 任務(wù)請(qǐng)求數(shù)閾值的動(dòng)態(tài)控制
若平均任務(wù)背叛數(shù)較多,說(shuō)明任務(wù)請(qǐng)求隊(duì)列過(guò)長(zhǎng),處于運(yùn)行狀態(tài)服務(wù)器數(shù)量較少,表明上次設(shè)置的閾值較大,因此可以將閾值調(diào)??;若能耗較大,說(shuō)明開(kāi)啟的預(yù)留服務(wù)器較多,表明上次設(shè)置的閾值較小,因此可以將閾值調(diào)大。調(diào)整方法如下:
其中,閾值調(diào)整參數(shù)
式中,α(t)為第t個(gè)周期的任務(wù)請(qǐng)求數(shù)閾值,t={1,2,3…};初始值α(1)在數(shù)值上設(shè)為云計(jì)算系統(tǒng)中的服務(wù)器的總數(shù)N;k為當(dāng)前排隊(duì)的任務(wù)數(shù);L為當(dāng)前的平均任務(wù)背叛數(shù);Lfixed為任務(wù)背叛數(shù)閾值;Pbusy為單臺(tái)服務(wù)器處于繁忙運(yùn)行狀態(tài)的功耗;Pfixed為能耗成本閾值;n為永久運(yùn)行服務(wù)器的數(shù)量;x為SRM中當(dāng)前處于繁忙運(yùn)行狀態(tài)的服務(wù)器數(shù)量;ROUND為取整函數(shù)。
2.2 服務(wù)器節(jié)點(diǎn)的選擇喚醒
通常云數(shù)據(jù)中心采用中央空調(diào),并且采用通風(fēng)地磚實(shí)現(xiàn)云數(shù)據(jù)中心制冷[23],典型的數(shù)據(jù)中心機(jī)房制冷設(shè)備部署如圖3所示,數(shù)據(jù)中心機(jī)房中共有I個(gè)通風(fēng)口,由于各個(gè)通風(fēng)口成行排列,可以將三維空間的距離問(wèn)題轉(zhuǎn)化為二維平面的距離問(wèn)題(只考慮橫向坐標(biāo)和豎向坐標(biāo)),并且距離服務(wù)器最近的通風(fēng)口對(duì)服務(wù)器的溫度影響最大(其余的通風(fēng)口與服務(wù)器之間隔著一系列服務(wù)器機(jī)組,從而對(duì)服務(wù)器的溫度影響可以忽略不計(jì))。設(shè)第i(1≤i≤I)個(gè)通風(fēng)口的坐標(biāo)為(Xi,0),第j個(gè)服務(wù)器節(jié)點(diǎn)的坐標(biāo)為(xj,zj)(1≤j≤N),服務(wù)器j到通風(fēng)口i的距離記為disji,設(shè)dj表示第j個(gè)服務(wù)器的冷點(diǎn)區(qū)域優(yōu)先級(jí),服務(wù)器節(jié)點(diǎn)距離通風(fēng)口距離越短,溫度越低,服務(wù)器節(jié)點(diǎn)的冷點(diǎn)區(qū)域優(yōu)先級(jí)越高;tj表示第j個(gè)服務(wù)器節(jié)點(diǎn)的時(shí)間優(yōu)先級(jí),服務(wù)器的頻繁開(kāi)關(guān)會(huì)影響服務(wù)器的性能,上一次關(guān)閉時(shí)刻距離當(dāng)前時(shí)間越長(zhǎng),服務(wù)器節(jié)點(diǎn)的時(shí)間優(yōu)先級(jí)越高。
圖3 數(shù)據(jù)中心機(jī)房制冷設(shè)備部署
2.2.1 冷點(diǎn)區(qū)域優(yōu)先級(jí)
首先計(jì)算服務(wù)器j到最近一個(gè)通風(fēng)口的距離disji,根據(jù)disji按照固定組距r劃分d優(yōu)先級(jí),若disji∈[0,r),則為1級(jí)冷點(diǎn)區(qū)域,依此類推;dj的計(jì)算公式為
2.2.2 時(shí)間優(yōu)先級(jí)
為系統(tǒng)SRM中的服務(wù)器設(shè)置計(jì)時(shí)器,初始時(shí)刻計(jì)時(shí)器的值為∞,當(dāng)服務(wù)器開(kāi)啟后運(yùn)行一段時(shí)間并再次關(guān)閉的時(shí)候,該服務(wù)器上計(jì)時(shí)器的值更新為0,并重新開(kāi)始計(jì)時(shí)。計(jì)時(shí)器的值越大,該服務(wù)器的時(shí)間優(yōu)先級(jí)越高。若服務(wù)器j上的計(jì)時(shí)器關(guān)閉,則Timerj=0,此時(shí)∞表示計(jì)時(shí)器的計(jì)時(shí)值;反之,若服務(wù)器j上的計(jì)時(shí)器開(kāi)啟,則Timerj=1,此時(shí)Timerj·t表示服務(wù)器j上計(jì)時(shí)器的計(jì)時(shí)值。tj的計(jì)算公式如下:
2.3 基于動(dòng)態(tài)閾值的服務(wù)器喚醒算法
基于動(dòng)態(tài)閾值的服務(wù)器喚醒(servers awakening based on dynamic threshold,SADT)算法過(guò)程為:
步驟1 初始化
包括全局任務(wù)隊(duì)列初始化、任務(wù)請(qǐng)求數(shù)閾值初始化、確定冷點(diǎn)區(qū)域優(yōu)先級(jí)。
步驟2 接收用戶的任務(wù)請(qǐng)求
若SMM中有空閑服務(wù)器,則按照先來(lái)先服務(wù)原則將該任務(wù)調(diào)度到空閑服務(wù)器上,否則任務(wù)進(jìn)入全局任務(wù)隊(duì)列等待。
步驟3 按預(yù)設(shè)周期T動(dòng)態(tài)調(diào)整任務(wù)請(qǐng)求數(shù)閾值
計(jì)算平均任務(wù)背叛數(shù)和能耗成本,根據(jù)計(jì)算結(jié)果與任務(wù)背叛數(shù)閾值和能耗成本閾值的關(guān)系調(diào)整任務(wù)請(qǐng)求數(shù)閾值。
步驟4 喚醒服務(wù)器
當(dāng)排隊(duì)的任務(wù)請(qǐng)求數(shù)超過(guò)任務(wù)請(qǐng)求數(shù)閾值時(shí),首先根據(jù)服務(wù)器的冷點(diǎn)區(qū)域優(yōu)先級(jí)選擇冷點(diǎn)區(qū)域,再根據(jù)冷點(diǎn)區(qū)域上SRM服務(wù)器的時(shí)間優(yōu)先級(jí)來(lái)確定最終選擇的服務(wù)器。
SADT算法的偽代碼描述如下:
輸入:任務(wù)及其屬性
輸出:服務(wù)器選擇喚醒方案
SADT算法從服務(wù)器的喚醒時(shí)機(jī)和喚醒對(duì)象兩個(gè)角度改進(jìn)了現(xiàn)有基于預(yù)留機(jī)制的DPS算法。在喚醒時(shí)機(jī)上,通過(guò)具有不耐煩顧客的排隊(duì)論分析系統(tǒng)的平均任務(wù)背叛數(shù)和能耗成本來(lái)動(dòng)態(tài)設(shè)置任務(wù)請(qǐng)求數(shù)閾值,解決了傳統(tǒng)的靜態(tài)閾值取值困難、依賴于主觀經(jīng)驗(yàn)、難以適應(yīng)動(dòng)態(tài)的云任務(wù)負(fù)載而出現(xiàn)系統(tǒng)抖動(dòng)問(wèn)題;在喚醒對(duì)象上,根據(jù)服務(wù)器的溫度和運(yùn)行時(shí)間選擇需喚醒的服務(wù)器,解決了隨機(jī)選擇服務(wù)器喚醒的不確定性,避免了根據(jù)CPU計(jì)算能力選擇服務(wù)器可能造成的部分服務(wù)器被頻繁喚醒引起的性能下降和服務(wù)器失效。SADT算法的時(shí)間復(fù)雜度為O(KN),其中,K為到達(dá)云計(jì)算系統(tǒng)的任務(wù)總數(shù),N為云數(shù)據(jù)中心的服務(wù)器總數(shù),與傳統(tǒng)的基于預(yù)留機(jī)制的DPS算法和never-off算法[17]的時(shí)間復(fù)雜度相同。
3.1 實(shí)驗(yàn)環(huán)境和參數(shù)設(shè)置
在CloudSim-2.1.1環(huán)境下,設(shè)計(jì)了3組實(shí)驗(yàn),對(duì)本文改進(jìn)的動(dòng)態(tài)閾值策略、選擇喚醒策略和完整的基于動(dòng)態(tài)閾值的服務(wù)器喚醒策略,分別從任務(wù)的平均響應(yīng)時(shí)間和系統(tǒng)執(zhí)行任務(wù)產(chǎn)生的總能耗兩個(gè)方面進(jìn)行仿真來(lái)評(píng)估算法的性能。實(shí)驗(yàn)建立了一個(gè)由100個(gè)服務(wù)器組成的數(shù)據(jù)中心,其中75個(gè)SMM服務(wù)器,25個(gè)等待啟動(dòng)的SRM服務(wù)器。首先生成一批獨(dú)立的任務(wù)請(qǐng)求,使得任務(wù)的到達(dá)間隔時(shí)間服從參數(shù)為1/λ的負(fù)指數(shù)分布,該間隔時(shí)間可以通過(guò)負(fù)指數(shù)分布函數(shù)來(lái)生成。根據(jù)任務(wù)的到達(dá)時(shí)間間隔,計(jì)算得到每個(gè)任務(wù)到達(dá)系統(tǒng)的時(shí)刻,最終確定所有任務(wù)到達(dá)系統(tǒng)的時(shí)刻。系統(tǒng)按照先來(lái)先服務(wù)的原則調(diào)度任務(wù),當(dāng)任務(wù)到達(dá)系統(tǒng)時(shí),若發(fā)現(xiàn)系統(tǒng)中有空閑運(yùn)行服務(wù)器,則該任務(wù)調(diào)度到空閑運(yùn)行服務(wù)器上執(zhí)行,此時(shí)系統(tǒng)對(duì)該任務(wù)的響應(yīng)時(shí)間為服務(wù)時(shí)間;若系統(tǒng)中沒(méi)有空閑運(yùn)行服務(wù)器,則該任務(wù)需要在全局任務(wù)隊(duì)列中排隊(duì)等候,在任務(wù)排隊(duì)的過(guò)程中,根據(jù)平均任務(wù)背叛數(shù)和能耗成本調(diào)整任務(wù)請(qǐng)求數(shù)閾值,并根據(jù)當(dāng)前排隊(duì)的任務(wù)請(qǐng)求數(shù)與任務(wù)請(qǐng)求數(shù)的關(guān)系決定是否開(kāi)啟SRM中服務(wù)器,當(dāng)系統(tǒng)中有空閑運(yùn)行的服務(wù)器或已經(jīng)額外開(kāi)啟SRM中的服務(wù)器時(shí),繼續(xù)調(diào)度全局任務(wù)隊(duì)列中隊(duì)首的任務(wù),此時(shí)系統(tǒng)對(duì)該任務(wù)的響應(yīng)時(shí)間為該任務(wù)的等待時(shí)間和服務(wù)時(shí)間之和,當(dāng)所有任務(wù)全部執(zhí)行完成時(shí),模擬實(shí)驗(yàn)結(jié)束。實(shí)驗(yàn)的機(jī)器配置為:CPU Intel(R)Core(TM)2Duo T6500@2.10GHz;內(nèi)存3GB;硬盤(pán)320GB;OS Windows 8 Enterprise Professional 32位。
實(shí)驗(yàn)中,為了保證仿真系統(tǒng)的運(yùn)行存在平穩(wěn)狀態(tài),設(shè)置0<λ/μ<1;服務(wù)器空閑運(yùn)行功耗和服務(wù)器繁忙運(yùn)行功耗的比值為0.7;實(shí)驗(yàn)環(huán)境涉及的相關(guān)參數(shù)以及取值如表1所示。
表1 實(shí)驗(yàn)參數(shù)設(shè)置
3.2 實(shí)驗(yàn)及其結(jié)果分析
由于本文提出的SADT算法的改進(jìn)主要在于閾值的動(dòng)態(tài)調(diào)整和服務(wù)器的選擇喚醒,因此,先分別對(duì)兩個(gè)改進(jìn)點(diǎn)進(jìn)行對(duì)比實(shí)驗(yàn),再評(píng)估SADT算法的整體性能和能耗開(kāi)銷。
3.2.1 動(dòng)態(tài)閾值策略的比較
首先,仿真比較了在隨機(jī)選擇服務(wù)器喚醒的情況下,本文提出的任務(wù)請(qǐng)求數(shù)閾值動(dòng)態(tài)調(diào)整、never-off算法[17]和靜態(tài)閾值算法[20]的任務(wù)平均響應(yīng)時(shí)間和系統(tǒng)執(zhí)行任務(wù)產(chǎn)生的總能耗。
平均響應(yīng)時(shí)間為任務(wù)集上所有任務(wù)響應(yīng)時(shí)間的平均值,反映了DPS策略的執(zhí)行性能,平均響應(yīng)時(shí)間越短,DPS策略的執(zhí)行性能越高。實(shí)驗(yàn)比較了任務(wù)數(shù)在10~1 000個(gè),每次遞增變化時(shí),3種算法的平均響應(yīng)時(shí)間,實(shí)驗(yàn)結(jié)果如圖4所示。
從圖4可以看出,當(dāng)任務(wù)數(shù)小于200時(shí),3種算法的平均響應(yīng)時(shí)間差別不大,這是由于任務(wù)數(shù)量較小時(shí),云數(shù)據(jù)中心已經(jīng)開(kāi)啟的服務(wù)器數(shù)量能夠滿足任務(wù)的需求。隨著任務(wù)數(shù)的增加,never-off算法的平均響應(yīng)時(shí)間最短,靜態(tài)閾值算法的平均響應(yīng)時(shí)間最長(zhǎng),本文算法的平均響應(yīng)時(shí)間介于上述兩者之間。這是由于在never-off算法中,云數(shù)據(jù)中心的服務(wù)器全部開(kāi)啟并提供服務(wù),所有任務(wù)都可以盡快地分配到服務(wù)器;在靜態(tài)閾值算法中,當(dāng)開(kāi)啟的服務(wù)器增加到一定數(shù)量后就不再增加,因此當(dāng)任務(wù)數(shù)繼續(xù)增多時(shí),部分任務(wù)排隊(duì)等候,使平均響應(yīng)時(shí)間增長(zhǎng),不能較好地滿足云任務(wù)的響應(yīng)時(shí)間需求;而在本文算法中,云數(shù)據(jù)中心的運(yùn)行服務(wù)器數(shù)量能夠根據(jù)任務(wù)背叛情況動(dòng)態(tài)改變,能夠較好地滿足云任務(wù)的響應(yīng)時(shí)間需求。
圖4 不同閾值下的平均響應(yīng)時(shí)間
系統(tǒng)總能耗為系統(tǒng)運(yùn)行期間所有服務(wù)器產(chǎn)生的能耗總和,反映了DPS策略的節(jié)能效果。當(dāng)任務(wù)數(shù)在10~1 000個(gè),每次遞增變化時(shí),3種算法的系統(tǒng)總能耗如圖5所示。
圖5 不同閾值下的系統(tǒng)總能耗
從圖5可以看出,never-off算法的能耗開(kāi)銷最大,本文算法的能耗開(kāi)銷最小,靜態(tài)閾值算法的能耗開(kāi)銷介于上述兩者之間。這是由于在never-off算法中,數(shù)據(jù)中心的服務(wù)器全部開(kāi)啟等待任務(wù)的到達(dá),而服務(wù)器空閑運(yùn)行時(shí)會(huì)產(chǎn)生大量空閑能耗,因此never-off的節(jié)能效果最差;在靜態(tài)閾值算法中,只有當(dāng)任務(wù)數(shù)超過(guò)任務(wù)請(qǐng)求數(shù)閾值時(shí),部分服務(wù)器才開(kāi)啟并提供服務(wù),避免了大量空閑能耗的產(chǎn)生,因此靜態(tài)閾值算法相對(duì)never-off算法有一定的改進(jìn);然而靜態(tài)設(shè)置的任務(wù)請(qǐng)求數(shù)閾值,可能造成服務(wù)器狀態(tài)頻繁切換從而導(dǎo)致能耗的上升,在本文算法中,可以根據(jù)系統(tǒng)運(yùn)行情況動(dòng)態(tài)調(diào)整任務(wù)請(qǐng)求數(shù)閾值,決策出相對(duì)較優(yōu)的運(yùn)行服務(wù)器數(shù)量,避免開(kāi)啟過(guò)多預(yù)留模塊的服務(wù)器,有利于降低云數(shù)據(jù)中心空閑能耗。
通過(guò)對(duì)動(dòng)態(tài)閾值策略的仿真比較可以看出,never-off算法能最好地保證系統(tǒng)性能,但是該策略所消耗的總能耗卻也最大,不能夠照顧云數(shù)據(jù)中心的利益;靜態(tài)閾值算法雖然在一定程度上能夠照顧到云數(shù)據(jù)中心的利益,達(dá)到較好的節(jié)能效果,但是任務(wù)數(shù)較多時(shí),不能照顧到云用戶的利益,使得系統(tǒng)執(zhí)行任務(wù)的平均響應(yīng)時(shí)間較長(zhǎng);而本文的動(dòng)態(tài)閾值策略能夠兼顧云用戶和云數(shù)據(jù)中心的利益,相對(duì)較優(yōu)。
3.2.2 選擇喚醒策略的比較
本節(jié)評(píng)估了在靜態(tài)設(shè)置的任務(wù)請(qǐng)求數(shù)閾值下,不同的喚醒服務(wù)器策略對(duì)系統(tǒng)性能的影響。從任務(wù)的平均響應(yīng)時(shí)間和系統(tǒng)執(zhí)行任務(wù)產(chǎn)生的總能耗比較了本文的服務(wù)器喚醒策略、CPUload喚醒算法[22]、溫度感知喚醒算法[23]3種算法的執(zhí)行效果。首先,比較了任務(wù)數(shù)在10~1 000個(gè),每次遞增變化時(shí),3種算法的平均響應(yīng)時(shí)間,仿真結(jié)果如圖6所示。
圖6 不同喚醒策略下的平均響應(yīng)時(shí)間
從圖6可以看出,文獻(xiàn)[22]算法的平均響應(yīng)時(shí)間最長(zhǎng),本文算法的平均響應(yīng)時(shí)間最短,文獻(xiàn)[23]算法的平均響應(yīng)時(shí)間介于上述兩者之間。這是因?yàn)樵谖墨I(xiàn)[22]算法中,只根據(jù)CPU計(jì)算能力選擇喚醒服務(wù)器,在文獻(xiàn)[23]算法中,根據(jù)服務(wù)器和制冷設(shè)備的相對(duì)位置選擇服務(wù)器喚醒,這樣會(huì)導(dǎo)致部分服務(wù)器節(jié)點(diǎn)頻繁在關(guān)閉態(tài)和開(kāi)啟態(tài)之間切換,加快服務(wù)器節(jié)點(diǎn)失效,從而需要開(kāi)啟額外的服務(wù)器,因此會(huì)延長(zhǎng)服務(wù)器對(duì)任務(wù)的響應(yīng)時(shí)間;而在本文算法中,同時(shí)根據(jù)冷點(diǎn)區(qū)域優(yōu)先級(jí)和時(shí)間優(yōu)先級(jí)優(yōu)化選擇服務(wù)器,這樣就不會(huì)導(dǎo)致部分服務(wù)器溫度的快速波動(dòng),從而減緩服務(wù)器的失效速度,不至于影響服務(wù)器對(duì)任務(wù)的響應(yīng)時(shí)間。
本節(jié)評(píng)估了3種算法的系統(tǒng)總能耗,實(shí)驗(yàn)中,任務(wù)數(shù)在10~1 000個(gè),每次遞增變化時(shí),3種算法的系統(tǒng)總能耗仿真結(jié)果如圖7所示。
圖7 不同喚醒策略下的系統(tǒng)總能耗
從圖7可以看出,文獻(xiàn)[22]算法的系統(tǒng)總能耗最高,本文算法的系統(tǒng)總能耗最低,文獻(xiàn)[23]算法的系統(tǒng)總能耗介于上述兩者之間,這是因?yàn)樵谖墨I(xiàn)[22]算法中,只根據(jù)CPU計(jì)算能力選擇喚醒服務(wù)器;文獻(xiàn)[23]算法中,根據(jù)服務(wù)器和制冷設(shè)備的相對(duì)位置選擇喚醒服務(wù)器,相對(duì)文獻(xiàn)[22]算法有一定的改進(jìn),然而該算法沒(méi)有考慮頻繁的狀態(tài)切換對(duì)服務(wù)器自身造成的不良結(jié)果;而在本文算法中,能夠優(yōu)化選擇已關(guān)閉時(shí)間長(zhǎng)度較大的服務(wù)器進(jìn)行喚醒,不至于導(dǎo)致SRM中的部分服務(wù)器頻繁進(jìn)行狀態(tài)切換,從而減緩服務(wù)器失效的速度,不需要開(kāi)啟額外的服務(wù)器,因此產(chǎn)生的轉(zhuǎn)換能耗較低,相應(yīng)產(chǎn)生的系統(tǒng)總能耗就低。
通過(guò)對(duì)選擇喚醒策略的仿真比較可以看出,本文算法的平均響應(yīng)時(shí)間小,產(chǎn)生的系統(tǒng)總能耗低。因此,本文的選擇喚醒策略相對(duì)較優(yōu)。
3.2.3 SADT算法的性能分析
最后,完整地將本文提出的SADT算法與無(wú)閾值的服務(wù)器喚醒算法[17]、基于靜態(tài)閾值的服務(wù)器喚醒算法[20]進(jìn)行比較。同樣仿真了當(dāng)任務(wù)數(shù)在10~1 000個(gè),每次遞增變化時(shí),3種算法的任務(wù)平均響應(yīng)時(shí)間和系統(tǒng)總能耗,實(shí)驗(yàn)結(jié)果分別如圖8、圖9所示。
圖8 完整算法的平均響應(yīng)時(shí)間
圖9 完整算法的系統(tǒng)總能耗
從圖8可以看出,文獻(xiàn)[17]算法的平均響應(yīng)時(shí)間最短,文獻(xiàn)[20]算法的平均響應(yīng)時(shí)間最長(zhǎng),而本文算法的平均響應(yīng)時(shí)間介于上述兩者之間,這是因?yàn)楸疚乃惴軌蚋鶕?jù)任務(wù)阻塞率動(dòng)態(tài)調(diào)整任務(wù)請(qǐng)求數(shù)閾值,從而動(dòng)態(tài)控制數(shù)據(jù)中心的活躍服務(wù)器數(shù)量,不會(huì)造成云數(shù)據(jù)中心開(kāi)啟的服務(wù)器數(shù)量過(guò)少,可以很好地適應(yīng)云用戶的要求。
從圖9可以看出,文獻(xiàn)[17]算法的系統(tǒng)總能耗最高,文獻(xiàn)[20]算法的系統(tǒng)總能耗次之,本文算法的系統(tǒng)總能耗最低,這是因?yàn)楸疚乃惴軌蚋鶕?jù)能耗成本動(dòng)態(tài)調(diào)整任務(wù)請(qǐng)求數(shù)閾值,從而動(dòng)態(tài)控制數(shù)據(jù)中心的活躍服務(wù)器數(shù)量,不會(huì)造成云數(shù)據(jù)中心開(kāi)啟的服務(wù)器數(shù)量過(guò)多,因此降低了云數(shù)據(jù)中心的整體能耗。
綜上,本文提出的SADT算法能夠兼顧到云用戶和云數(shù)據(jù)中心的利益,既保證了系統(tǒng)對(duì)任務(wù)的平均響應(yīng)時(shí)間又降低了云計(jì)算系統(tǒng)的能耗開(kāi)銷。
云數(shù)據(jù)中心需要消耗大量電力來(lái)維持其正常工作,向云用戶提供服務(wù),基于預(yù)留機(jī)制的服務(wù)器狀態(tài)管理策略可以確保服務(wù)器給用戶提供較高性能的服務(wù)并且減少服務(wù)器的電力消耗。本文在基于預(yù)留機(jī)制的服務(wù)器狀態(tài)管理策略的基礎(chǔ)上,提出了一種基于動(dòng)態(tài)閾值的服務(wù)器喚醒策略。該策略綜合考慮用戶端的任務(wù)背叛情況和服務(wù)端的能耗成本情況,動(dòng)態(tài)調(diào)整任務(wù)請(qǐng)求數(shù)閾值,并根據(jù)服務(wù)器的冷點(diǎn)區(qū)域優(yōu)先級(jí)和時(shí)間優(yōu)先級(jí)來(lái)控制喚醒服務(wù)器的選擇,從而做到性能的保證和能耗的進(jìn)一步優(yōu)化。
到達(dá)云計(jì)算系統(tǒng)的任務(wù)分為實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù),實(shí)時(shí)任務(wù)對(duì)任務(wù)的截止期有一定要求,本文主要面向非實(shí)時(shí)任務(wù),下一步將重點(diǎn)考慮用戶對(duì)任務(wù)截止期的要求,面向硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù),結(jié)合動(dòng)態(tài)開(kāi)啟/關(guān)閉技術(shù)、動(dòng)態(tài)電壓和頻率調(diào)整技術(shù),進(jìn)一步對(duì)云計(jì)算系統(tǒng)的能耗進(jìn)行優(yōu)化管理。
[1]Beloglazov A.Energy-efficient management of virtual machines in data centers for cloud computing[D].Melbourne:The University of Melbourne,2013.
[2]Gu L J,Zhou F Q,Meng H.The research of power consumption and energy efficiency in our datacenter[J].The Energy of China,2010,32(11):42-45.(谷立靜,周伏秋,孟輝.我國(guó)數(shù)據(jù)中心能耗及能效水平研究[J].中國(guó)能源,2010,32(11):42-45.)
[3]Tan Y M,Zeng G S,Wang W.Policy of energy optimal management for cloud computing platform with stochastic tasks[J].Journal of Software,2012,23(2):266-278.(譚一鳴,曾國(guó)蓀,王偉.隨機(jī)任務(wù)在云計(jì)算平臺(tái)中能耗的優(yōu)化管理方法[J].軟件學(xué)報(bào),2012,23(2):266-278.)
[4]Song J,Li T T,Zhu Z L,et al.Benchmarking and analyzing the energy consumption of cloud data management system[J].Chinese Journal of Computers,2013,36(7):1485-1499.(宋杰,李甜甜,朱志良,等.云數(shù)據(jù)管理系統(tǒng)能耗基準(zhǔn)測(cè)試與分析[J].計(jì)算機(jī)學(xué)報(bào),2013,36(7):1485-1499.)
[5]Kumar J A,Vasudevan S.Verifying dynamic power management schemes using statistical model checking[C]∥Proc.of the 17th Asia and South Pacific Design Automation Conference,2012:579-584.
[6]Jeyarani R,Nagaveni N,Vasanth-Ram R.Design and implementation of adaptive power-aware virtual machine provisioner(APA-VMP)using swarm intelligence[J].Future Generation Computer Systems,2012,28(5):811-821.
[7]Khan U A,Rinner B.Online learning of timeout policies for dynamic power management[D].Klagenfurt:Alpen-Adria University Klagenfurt,2013.
[8]Jiang Q,Xi H S,Yin B Q.Adaptive optimisation of timeout policy for dynamic power management based on semi-Markov control processes[J].IET Control Theory &Applications,2010,4(10):1945-1958.
[9]Cao Z,You Z.The influencing factor of threshold selection in dynamic threshold of timeout policies[J].Journal of Harbin Institute of Technology,2013,45(6):119-123.(曹哲,尤政.超時(shí)策略動(dòng)態(tài)閾值的閾值選擇影響因素[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2013,45(6):119-123.)
[10]Gupta M,Shum L V,Bodanese E,et al.Design and evaluation of an adaptive sampling strategy for a wireless air pollution sensor network[C]∥Proc.of the 36th Conference on Local Computer Networks,2011:1003-1010.
[11]Long S,Zhao Y,Chen W.A three-phase energy-saving strategy for cloud storage systems[J].Journal of Systems and Software,2014,87(1):38-47.
[12]Triki M,Ammari A C,Wang Y,et al.Reinforcement learning-based dynamic power management of a battery-powered system supplying multiple active modes[C]∥Proc.of the European Modelling Symposium,2013:437-442.
[13]Shih H C,Wang K.An adaptive hybrid dynamic power management algorithm for mobile devices[J].Computer Networks,2012,56(2):548-565.
[14]Choi G B,Lee S G,Lee J M.Modeling and stochastic dynamic optimization for optimal energy resource allocation[J].Computer-Aided Chemical Engineering,2012,31(5):765-769.
[15]Yue S,Zhu D,Wang Y,et al.Reinforcement learning based dynamic power management with a hybrid power supply[C]∥Proc.of the 30th International Conference on Computer Design,2012:81-86.
[16]Terzopoulos G,Karatza H.Performance evaluation and energy consumption of a real-time heterogeneous grid system using DVS and DPM[J].Simulation Modelling Practice and Theory,2013,36(2):33-43.
[17]Hyyti?E,Righter R,Aalto S.Task assignment in a heterogeneous server farm with switching delays and general energyaware cost structure[J].Performance Evaluation,2014,75(5):17-35.
[18]Mazzucco M,Dyachuk D.Optimizing cloud providers revenues via energy efficient server allocation[J].Sustainable Computing:Informatics and Systems,2012,2(1):1-12.
[19]Maheshwari N,Nanduri R,Varma V.Dynamic energy efficient data placement and cluster reconfiguration algorithm for MapReduce framework[J].Future Generation Computer Systems,2012,28(1):119-127.
[20]Wang W,Luo J Z,Song A B.Dynamic pricing based energycost optimization in data center environments[J].Chinese Journal of Computers,2013,36(3):599-612.(王巍,羅軍舟,宋愛(ài)波.基于動(dòng)態(tài)定價(jià)策略的數(shù)據(jù)中心能耗成本優(yōu)化[J].計(jì)算機(jī)學(xué)報(bào),2013,36(3):599-612.)
[21]Kim W,Mvulla J.Reducing resource over-provisioning using workload shaping for energy efficient cloud computing[J].Applied Mathematics &Information Sciences,2013,7(5):2097-2104.
[22]Li Y.Research and implementation of cluster job management middleware[D].Beijing:Capital Normal University,2009.(李媛.集群作業(yè)管理中間件的研究與實(shí)現(xiàn)[D].北京:首都師范大學(xué),2009.)
[23]Liang A,Xiao L,Pang Y,et al.Thermal-aware workload distribu-tion for clusters[J].Procedia Engineering,2011,15:3308-3312.
E-mail:chengcl@njupt.edu.cn
王 穎(1989-),女,碩士研究生,主要研究方向?yàn)橘Y源管理、云計(jì)算。E-mail:15050523137@163.com
張登銀(1965-),男,研究員,博士研究生導(dǎo)師,博士,主要研究方向?yàn)樾盘?hào)與信息處理、信息網(wǎng)絡(luò)。
E-mail:zhangdy@njupt.edu.cn
Strategy of servers awakening based on dynamic threshold in cloud computing
CHENG Chun-ling1,WANG Ying1,ZHANG Deng-yin2
(1.College of Computer,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;2.Internet of Things Technology Park,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
The dynamic powering on/off servers(DPS)strategy based on reservation sets the static threshold of the task request number beforehand,which may cause frequent switching of the server status.To solve this problem,a strategy of servers awakening based on the dynamic threshold in cloud computing is proposed.Firstly,the queuing model with impatient tasks is introduced to model the task scheduling in the cloud computing system,and analyze the average number of task betrayal and the cost of power consumption,thereby the strategy of dynamicly adjusting the threshold of the task request number is presented.After that,a server is chosen to be awakened according to the cold area where the server located and the length of its shutdown time.The simulation results show that the proposed strategy can ensure the average response time for tasks and reduce the energy cost in cloud computing system efficiently.
cloud computing;dynamic powering on/off servers(DPS);dynamic threshold;queuing theory;impatient tasks
TP 393
A
10.3969/j.issn.1001-506X.2015.06.32
程春玲(1972-),女,教授,博士研究生,主要研究方向?yàn)樵朴?jì)算、資源管理及性能優(yōu)化。
1001-506X(2015)06-1437-09
2014-05-19;
2014-08-23;網(wǎng)絡(luò)優(yōu)先出版日期:2014-10-22。
網(wǎng)絡(luò)優(yōu)先出版地址:http://www.cnki.net/kcms/detail/11.2422.TN.20141022.1305.001.html
江蘇省科技支撐項(xiàng)目(BE2012849);江蘇省研究生科研創(chuàng)新計(jì)劃(CXZZ12_0483)資助課題