安紅宇,王宇廷,金順福
(燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004)
云計(jì)算通過網(wǎng)絡(luò)有效聚合被虛擬化的計(jì)算資源,基于集中構(gòu)建的數(shù)據(jù)中心為單一用戶或多租客提供動(dòng)態(tài)、高性價(jià)比和彈性規(guī)模擴(kuò)展的各類信息服務(wù),改變了傳統(tǒng)信息技術(shù)產(chǎn)業(yè)的體系架構(gòu)和運(yùn)作模式,受到國內(nèi)外學(xué)術(shù)界和產(chǎn)業(yè)界的極大關(guān)注[1]。值得注意的是,在云系統(tǒng)的運(yùn)行過程中往往會(huì)因?yàn)樘摂M機(jī)的不合理調(diào)度,導(dǎo)致資源和能量的浪費(fèi),引起云供應(yīng)商和云用戶服務(wù)利益失衡[2]。
近年來,國內(nèi)外專家學(xué)者結(jié)合節(jié)能問題對云資源的管理展開了研究。云系統(tǒng)中產(chǎn)生能源浪費(fèi)主要有兩個(gè)方面的原因:一方面是云系統(tǒng)的資源服務(wù)與云用戶的任務(wù)請求不匹配,另一方面是云系統(tǒng)中資源的低效管理與任務(wù)的無序調(diào)度。文獻(xiàn)[3]提出了一種基于異構(gòu)云環(huán)境的自適應(yīng)任務(wù)分配算法,最小化云系統(tǒng)的服務(wù)時(shí)間并降低能耗。在CloudSim仿真環(huán)境下進(jìn)行實(shí)驗(yàn),驗(yàn)證了該算法在云環(huán)境中的有效性。文獻(xiàn)[4]提出了一種啟發(fā)式方法(Placement Selections-Experimental Scenarios, PS-ES)。將粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法與模擬退火(Simulated Annealing, SA)算法相結(jié)合,改進(jìn)具有全局搜索能力的PSO算法。與隨機(jī)遷移和最優(yōu)遷移相比,PS-ES方法降低了總能耗,可以更好地保護(hù)虛擬機(jī)運(yùn)行和遷移的性能。文獻(xiàn)[5]構(gòu)建了一個(gè)虛擬機(jī)放置/遷移平臺(tái),最大限度地降低了云數(shù)據(jù)中心的總功耗。通過優(yōu)化調(diào)度與估算技術(shù)的協(xié)作,在平臺(tái)中嵌入了估計(jì)模塊以預(yù)測系統(tǒng)的預(yù)期負(fù)載。文獻(xiàn)[6]針對云計(jì)算系統(tǒng)在運(yùn)行過程中由于計(jì)算節(jié)點(diǎn)空閑而產(chǎn)生空閑能耗,以及由于不匹配任務(wù)調(diào)度而產(chǎn)生“奢侈”能耗的問題,運(yùn)用排隊(duì)理論對云計(jì)算系統(tǒng)進(jìn)行建模,提出了一種大服務(wù)強(qiáng)度小執(zhí)行能耗的任務(wù)調(diào)度策略。該策略在保證執(zhí)行性能的前提下,可大幅度降低云計(jì)算系統(tǒng)的能耗開銷。上述研究均在云系統(tǒng)的節(jié)能方面做出了貢獻(xiàn),但云系統(tǒng)的個(gè)人收益與社會(huì)收益的均衡問題仍有待解決。
相關(guān)專家將基于博弈思想的排隊(duì)經(jīng)濟(jì)學(xué)理論引入到云環(huán)境中,研究了云系統(tǒng)個(gè)人收益與社會(huì)收益的均衡問題。文獻(xiàn)[7]針對單一的長期租賃方案引發(fā)的服務(wù)質(zhì)量差、資源浪費(fèi)嚴(yán)重的問題,設(shè)計(jì)了雙資源租賃方案,將短期租賃和長期租賃相結(jié)合?;陔p租賃方案制定利潤最大化策略,得到了云平臺(tái)的優(yōu)化配置方案。為了最大化云計(jì)算中服務(wù)用戶虛擬資源租賃的利潤,文獻(xiàn)[8]以最大化租賃利潤為目標(biāo)函數(shù),提出了一種新的虛擬資源租賃算法。有效提高了虛擬資源的利用率,保證了資源租賃獲得的利潤。文獻(xiàn)[9]提出了云服務(wù)定價(jià)方案,并從云提供商和企業(yè)客戶的角度出發(fā)建立決策模型,以最大化云提供商的總利潤。通過使用真實(shí)的定價(jià)數(shù)據(jù)進(jìn)行了實(shí)例說明,為云提供商和云用戶之間的動(dòng)態(tài)定價(jià)提供了有價(jià)值的見解。為有效提高計(jì)算資源的利用率,減少任務(wù)執(zhí)行所需要的成本,文獻(xiàn)[10]提出了一種基于效益博弈的云計(jì)算資源動(dòng)態(tài)可協(xié)調(diào)分配機(jī)制。在合理分配資源的同時(shí),最大化任務(wù)的執(zhí)行效益。上述針對云系統(tǒng)的社會(huì)收益最大化問題的研究,均給出了有效的資源合理分配方案,但忽略了云系統(tǒng)能耗過高的問題。
兼顧云系統(tǒng)的節(jié)能水平與云用戶的響應(yīng)性能,基于單重休眠機(jī)制,在信息完全可視的環(huán)境下,研究云用戶的接入閾值策略。結(jié)合基于博弈思想的排隊(duì)經(jīng)濟(jì)學(xué)理論,分析個(gè)人最優(yōu)接入閾值與社會(huì)最優(yōu)接入閾值的關(guān)系,為云用戶在綠色云計(jì)算環(huán)境下的接入控制策略提供理論依據(jù)。
隨著云用戶需求的不斷增多,云系統(tǒng)的規(guī)模隨之?dāng)U大。除了服務(wù)云用戶過程中消耗必要的能量外,虛擬機(jī)閑置期間也會(huì)造成很大程度的能源浪費(fèi)。為了提高云系統(tǒng)的能量效率,同時(shí)保證云用戶的服務(wù)質(zhì)量,在云系統(tǒng)的集群范圍內(nèi)引入同步單重休眠機(jī)制[11]。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 帶有休眠機(jī)制的云系統(tǒng)結(jié)構(gòu)Fig.1 Cloud system architecture with sleep mechanism
系統(tǒng)中的虛擬機(jī)可能處于休眠狀態(tài)、喚醒狀態(tài)或空閑狀態(tài)。處于喚醒狀態(tài)或空閑狀態(tài)的虛擬機(jī),由任務(wù)調(diào)度器為其分配服務(wù)對象;處于休眠狀態(tài)的虛擬機(jī),由休眠定時(shí)器控制其休眠周期。一旦系統(tǒng)為空,集群內(nèi)的全部虛擬機(jī)同時(shí)進(jìn)入休眠狀態(tài),并啟動(dòng)定時(shí)器以控制休眠周期長度。當(dāng)休眠定時(shí)器超時(shí)后,若系統(tǒng)中沒有云用戶,則全部虛擬機(jī)同時(shí)進(jìn)入空閑狀態(tài),此狀態(tài)下進(jìn)入系統(tǒng)的云用戶可在任務(wù)調(diào)度器的協(xié)調(diào)下立即接受服務(wù);若系統(tǒng)中有云用戶在等待,全部虛擬機(jī)同時(shí)進(jìn)入喚醒狀態(tài)。如果系統(tǒng)緩存中的云用戶數(shù)量大于集群內(nèi)的虛擬機(jī)數(shù)量,需調(diào)度全部虛擬機(jī)為若干云用戶提供服務(wù),剩余的云用戶繼續(xù)等待;否則,只需分配若干虛擬機(jī)服務(wù)云用戶,其余虛擬機(jī)等待任務(wù)調(diào)度器繼續(xù)部署下一任務(wù)。
在完全可視條件下,云用戶在進(jìn)入云系統(tǒng)前可在觀察區(qū)得知系統(tǒng)中已有云用戶數(shù)量與虛擬機(jī)當(dāng)前狀態(tài)等信息。若觀察到系統(tǒng)中的云用戶數(shù)量大于接入閾值,則選擇離開系統(tǒng);否則,云用戶選擇接入系統(tǒng)。顯然,休眠狀態(tài)下的接入閾值要小于喚醒狀態(tài)下的接入閾值[12]。
考慮信息完全可視的情況,云用戶在進(jìn)入系統(tǒng)前可觀察到系統(tǒng)中云用戶的數(shù)量和虛擬機(jī)的狀態(tài)。系統(tǒng)中云用戶在時(shí)刻t的數(shù)量用N(t)表示,虛擬機(jī)在時(shí)刻t的狀態(tài)用I(t)表示,虛擬機(jī)的狀態(tài)包括休眠狀態(tài)(I(t)=0)、喚醒狀態(tài)(I(t)=1)和空閑狀態(tài)(I(t)=2)。
假設(shè)一個(gè)集群內(nèi)共有k臺(tái)虛擬機(jī)對外服務(wù),且k臺(tái)虛擬機(jī)同構(gòu);一個(gè)云用戶的服務(wù)時(shí)間服從參數(shù)為μ的指數(shù)分布;假設(shè)云用戶到達(dá)是服從參數(shù)為λ的泊松過程;一個(gè)休眠周期長度服從參數(shù)為θ的指數(shù)分布。假設(shè)云用戶的服務(wù)時(shí)間、到達(dá)時(shí)間以及虛擬機(jī)的休眠時(shí)間相互獨(dú)立,且服從先到先服務(wù)的排隊(duì)規(guī)則?;谝陨霞僭O(shè),可建立一個(gè)服務(wù)時(shí)間、到達(dá)間隔和休眠周期長度均服從指數(shù)分布的多服務(wù)臺(tái)同步單重休假排隊(duì)模型,且該模型可用二維連續(xù)時(shí)間Markov鏈{(N(t),I(t)):t≥0}刻畫[13]。
為了揭示綠色云環(huán)境下云用戶的納什均衡行為,最大化云系統(tǒng)的社會(huì)收益,結(jié)合虛擬機(jī)同步單重休眠機(jī)制,研究信息完全可視下的云用戶接入閾值策略,包括云用戶的個(gè)人最優(yōu)接入閾值策略和社會(huì)最優(yōu)接入閾值策略。
每個(gè)云用戶將根據(jù)自己搜集到的信息判斷是否有價(jià)值接入系統(tǒng)接受服務(wù)。為方便討論,將新到達(dá)云用戶在虛擬機(jī)處于休眠狀態(tài)、喚醒狀態(tài)和空閑狀態(tài)情況下的預(yù)期逗留時(shí)間分別用Tind(0)、Tind(1)和Tind(2)表示,預(yù)期個(gè)人收益分別用Gind(0)、Gind(1)和Gind(2)表示。
如表3所示,通過將發(fā)表文獻(xiàn)數(shù)量前10的作者統(tǒng)計(jì)排名,發(fā)現(xiàn)除了排名第一的作者楊劍有6篇文獻(xiàn),排名第二、第三位的作者均有3篇文獻(xiàn)外,其他的作者均為2篇文獻(xiàn),表明楊劍、邱堅(jiān)、陳銳是情報(bào)信息機(jī)構(gòu)開展科技創(chuàng)新知識(shí)服務(wù)研究的主要研究者,對本領(lǐng)域的學(xué)術(shù)交流與發(fā)展發(fā)揮了重要作用。
1) 當(dāng)一個(gè)新云用戶到達(dá)時(shí),若系統(tǒng)中的云用戶數(shù)量n小于虛擬機(jī)的數(shù)量k,即n (1) 選擇接入系統(tǒng)接受服務(wù)的新到達(dá)云用戶的預(yù)期個(gè)人收益為 (2) 2) 當(dāng)一個(gè)新云用戶到達(dá)時(shí),若系統(tǒng)中的云用戶數(shù)量n不小于虛擬機(jī)數(shù)量k,即n≥k時(shí),虛擬機(jī)不會(huì)處于空閑狀態(tài),選擇接入系統(tǒng)接受服務(wù)的新到達(dá)云用戶的預(yù)期逗留時(shí)間為 (3) 新到達(dá)云用戶若選擇接入系統(tǒng)接受服務(wù),其預(yù)期個(gè)人收益為 (Gind(0),Gind(1))= (4) 當(dāng)虛擬機(jī)處于休眠狀態(tài)時(shí),若預(yù)期個(gè)人收益Gind(0)非負(fù),云用戶選擇接入系統(tǒng)接受服務(wù);當(dāng)虛擬機(jī)處于喚醒狀態(tài)時(shí),若預(yù)期個(gè)人收益Gind(1)非負(fù),云用戶選擇接入系統(tǒng)接受服務(wù)。令休眠狀態(tài)和喚醒狀態(tài)的個(gè)人最優(yōu)接入閾值分別表示為ne(0)與ne(1),則有 (5) 顯然,虛擬機(jī)處于休眠狀態(tài)時(shí)的接入閾值ne(0)低于喚醒狀態(tài)下的接入閾值ne(1)。在虛擬機(jī)處于休眠狀態(tài)的情形下,若新到達(dá)云用戶得知當(dāng)前系統(tǒng)中云用戶數(shù)量n≤ne(0)時(shí),則選擇接入系統(tǒng);否則,選擇離開,并不再返回系統(tǒng)。在虛擬機(jī)處于喚醒狀態(tài)的情形下,若新到達(dá)云用戶得知當(dāng)前系統(tǒng)中云用戶數(shù)量n≤ne(1)時(shí),新到達(dá)云用戶選擇接入系統(tǒng);否則,選擇離開,并不再返回系統(tǒng)。 綜合考慮系統(tǒng)中所有云用戶與云供應(yīng)商的集體收益,需進(jìn)一步研究社會(huì)最優(yōu)接入閾值策略。 假設(shè)休眠狀態(tài)系統(tǒng)的接入閾值為n(0),喚醒狀態(tài)系統(tǒng)的接入閾值為n(1)。直觀地,n(0) (6) 根據(jù)1.2節(jié)給出的模型假設(shè),分析云系統(tǒng)的狀態(tài)轉(zhuǎn)移過程,如圖2所示。 圖2 云系統(tǒng)的狀態(tài)轉(zhuǎn)移過程Fig.2 The state transition process of a cloud system 根據(jù)圖2的狀態(tài)轉(zhuǎn)移過程,建立如下方程組: (7) 采用高斯賽德爾方法[14],結(jié)合歸一化條件,求解方程組(7),給出Markov鏈{(N(t),I(t)):t≥0}的穩(wěn)態(tài)分布。 當(dāng)虛擬機(jī)處于休眠狀態(tài)時(shí),其運(yùn)行速率較慢,能耗降低;當(dāng)虛擬機(jī)處于空閑狀態(tài)時(shí),能耗相對休眠狀態(tài)有所增加,但低于喚醒狀態(tài)時(shí)的能耗;當(dāng)虛擬機(jī)處于喚醒狀態(tài)時(shí),能耗增加至最高。能量節(jié)省存在于虛擬機(jī)的休眠狀態(tài)。令虛擬機(jī)處于休眠狀態(tài)時(shí)的能耗水平表示為Vs,處于空閑狀態(tài)時(shí)的能耗水平表示為Vf,處于喚醒狀態(tài)時(shí)的能耗水平表示為Va。在同步單重休眠機(jī)制下,云系統(tǒng)的能量節(jié)省水平S可表示為 (8) 定義單位時(shí)間內(nèi)的社會(huì)收益Gsoc為系統(tǒng)中單位時(shí)間內(nèi)所有云用戶完成服務(wù)后所得收益減去總的等待費(fèi)用,再加上系統(tǒng)在單位時(shí)間內(nèi)因能量節(jié)省所獲取的收益,則有 (9) 其中,φ為能量節(jié)省水平相關(guān)的影響因子。 使系統(tǒng)社會(huì)收益最大的云用戶接入閾值即為云用戶的社會(huì)最優(yōu)接入閾值[15]。令n*(0)與n*(1)分別表示休眠狀態(tài)與喚醒狀態(tài)下的云用戶社會(huì)最優(yōu)接入閾值,由式(9)可得 (10) 為了在信息完全可視的條件下刻畫出休眠參數(shù)對系統(tǒng)節(jié)能水平的影響,揭示云用戶的個(gè)人最優(yōu)接入閾值與社會(huì)最優(yōu)接入閾值的關(guān)系,進(jìn)行系統(tǒng)實(shí)驗(yàn)。 系統(tǒng)實(shí)驗(yàn)的硬件環(huán)境為Intel i7- 4790 3.60 GHz CPU,8 GB內(nèi)存;操作系統(tǒng)為Windows 10;交互式軟件的開發(fā)環(huán)境為MATLAB R2016a。 設(shè)置實(shí)驗(yàn)參數(shù)如下:集群中虛擬機(jī)數(shù)量k=10,云用戶到達(dá)率λ=4.5,虛擬機(jī)服務(wù)率μ=0.55,虛擬機(jī)休眠參數(shù)θ=0.2,云用戶的等待費(fèi)用,云用戶的收益R=100,虛擬機(jī)處于喚醒狀態(tài)時(shí)的能耗水平Va=20,虛擬機(jī)處于休眠狀態(tài)時(shí)的能耗水平Vs=2,處于空閑狀態(tài)時(shí)的能耗水平Vf=10,能量節(jié)能水平的影響因子φ=2。 基于以上設(shè)置實(shí)驗(yàn)參數(shù),揭示出同步單重休眠機(jī)制下云用戶的個(gè)人最優(yōu)接入閾值與社會(huì)最優(yōu)接入閾值的關(guān)系,如圖3所示。 圖3 同步單重休眠機(jī)制下云用戶的最優(yōu)接入閾值Fig.3 Optimal access threshold of cloud users undersynchronous single sleep mechanism 圖3(a)揭示了虛擬機(jī)處于休眠狀態(tài)時(shí)云用戶的最優(yōu)接入閾值的變化趨勢。隨著休眠參數(shù)θ的不斷增大,云用戶的個(gè)人最優(yōu)接入閾值ne(0)逐漸遞增。休眠參數(shù)越大,云用戶觀察到虛擬機(jī)處于喚醒狀態(tài)的幾率會(huì)更大,云系統(tǒng)的服務(wù)水平相應(yīng)提高,所以云用戶的個(gè)人最優(yōu)接入閾值呈上升趨勢。隨著休眠參數(shù)θ的不斷增大,云用戶的社會(huì)最優(yōu)接入閾值n*(0)逐漸減少。休眠參數(shù)越大,虛擬機(jī)處于喚醒狀態(tài)的時(shí)間相對變長,云用戶選擇接入系統(tǒng)的意愿提升,采用較小的社會(huì)最優(yōu)接入閾值可以保證云用戶的響應(yīng)性能,所以,休眠參數(shù)越大,云用戶的社會(huì)最優(yōu)接入閾值越低。 圖3(b)揭示了虛擬機(jī)處于喚醒狀態(tài)時(shí)云用戶的最優(yōu)接入閾值的變化趨勢。隨著休眠參數(shù)θ的不斷增大,云用戶的個(gè)人最優(yōu)接入閾值ne(1)保持不變。當(dāng)一個(gè)云用戶到達(dá)系統(tǒng)時(shí),若虛擬機(jī)處于喚醒狀態(tài),則在該用戶離開系統(tǒng)前虛擬機(jī)將始終處于喚醒狀態(tài),云用戶的預(yù)計(jì)逗留時(shí)間只與服務(wù)率有關(guān),而不受休眠參數(shù)的影響。云用戶的社會(huì)最優(yōu)接入閾值n*(1)會(huì)隨著休眠參數(shù)θ的增大而逐漸減少。休眠參數(shù)的增大顯然會(huì)使云系統(tǒng)的節(jié)能水平降低,此時(shí)若有更多的云用戶接入系統(tǒng),節(jié)能水平會(huì)繼續(xù)下降。為了彌補(bǔ)因節(jié)能水平降低給社會(huì)收益造成的影響,只能降低云用戶的社會(huì)最優(yōu)接入閾值,以提高云用戶的響應(yīng)性能。 觀察圖3(a)與圖3(b)可以看出,在休眠參數(shù)一定時(shí),無論在休眠狀態(tài)還是在喚醒狀態(tài)下,云用戶的個(gè)人最優(yōu)接入閾值均大于社會(huì)最優(yōu)接入閾值,且其差距隨著休眠參數(shù)的增加逐漸變大。固定休眠參數(shù),對比圖3(a)與圖3(b),可知休眠狀態(tài)下的個(gè)人最優(yōu)接入閾值和社會(huì)最優(yōu)接入閾值均低于喚醒狀態(tài)下的個(gè)人最優(yōu)接入閾值和社會(huì)最優(yōu)接入閾值,這與直觀理解是一致的。 根據(jù)以上規(guī)律,云供應(yīng)商可結(jié)合休眠策略針對每個(gè)接入系統(tǒng)的云用戶征收一定的費(fèi)用,促使云用戶的個(gè)人最優(yōu)接入閾值策略與最優(yōu)接入閾值策略一致,穩(wěn)定高效地利用云系統(tǒng)中的虛擬機(jī)資源,以取得更高的收益。 針對信息可視模式和同步單重休眠機(jī)制,討論了云用戶的個(gè)人最優(yōu)接入閾值策略與社會(huì)最優(yōu)接入閾值策略。根據(jù)已知的系統(tǒng)中云用戶數(shù)量和虛擬機(jī)狀態(tài)等信息,計(jì)算云用戶的預(yù)期逗留時(shí)間和預(yù)期個(gè)人收益,給出了云用戶的個(gè)人最優(yōu)接入閾值策略。建立同步單重休假模型,運(yùn)用高斯賽德爾方法求得了系統(tǒng)模型的穩(wěn)態(tài)解,并考慮能量節(jié)省水平建立了社會(huì)收益函數(shù),通過最大化社會(huì)收益函數(shù),給出了社會(huì)最優(yōu)接入閾值策略。系統(tǒng)實(shí)驗(yàn)結(jié)果表明,在確定狀態(tài)下的云用戶個(gè)人最優(yōu)接入閾值高于社會(huì)最優(yōu)接入閾值,基于該規(guī)律,在綠色云計(jì)算環(huán)境下云供應(yīng)商可采取相應(yīng)的收費(fèi)策略調(diào)整云用戶的接入數(shù)量,最終實(shí)現(xiàn)云系統(tǒng)的社會(huì)收益最大化。2.2 社會(huì)最優(yōu)接入閾值策略
3 系統(tǒng)實(shí)驗(yàn)
4 結(jié)論