安紅宇,王宇廷,金順福
(燕山大學 信息科學與工程學院,河北 秦皇島 066004)
云計算通過網絡有效聚合被虛擬化的計算資源,基于集中構建的數據中心為單一用戶或多租客提供動態、高性價比和彈性規模擴展的各類信息服務,改變了傳統信息技術產業的體系架構和運作模式,受到國內外學術界和產業界的極大關注[1]。值得注意的是,在云系統的運行過程中往往會因為虛擬機的不合理調度,導致資源和能量的浪費,引起云供應商和云用戶服務利益失衡[2]。
近年來,國內外專家學者結合節能問題對云資源的管理展開了研究。云系統中產生能源浪費主要有兩個方面的原因:一方面是云系統的資源服務與云用戶的任務請求不匹配,另一方面是云系統中資源的低效管理與任務的無序調度。文獻[3]提出了一種基于異構云環境的自適應任務分配算法,最小化云系統的服務時間并降低能耗。在CloudSim仿真環境下進行實驗,驗證了該算法在云環境中的有效性。文獻[4]提出了一種啟發式方法(Placement Selections-Experimental Scenarios, PS-ES)。將粒子群優化(Particle Swarm Optimization, PSO)算法與模擬退火(Simulated Annealing, SA)算法相結合,改進具有全局搜索能力的PSO算法。與隨機遷移和最優遷移相比,PS-ES方法降低了總能耗,可以更好地保護虛擬機運行和遷移的性能。文獻[5]構建了一個虛擬機放置/遷移平臺,最大限度地降低了云數據中心的總功耗。通過優化調度與估算技術的協作,在平臺中嵌入了估計模塊以預測系統的預期負載。文獻[6]針對云計算系統在運行過程中由于計算節點空閑而產生空閑能耗,以及由于不匹配任務調度而產生“奢侈”能耗的問題,運用排隊理論對云計算系統進行建模,提出了一種大服務強度小執行能耗的任務調度策略。該策略在保證執行性能的前提下,可大幅度降低云計算系統的能耗開銷。上述研究均在云系統的節能方面做出了貢獻,但云系統的個人收益與社會收益的均衡問題仍有待解決。
相關專家將基于博弈思想的排隊經濟學理論引入到云環境中,研究了云系統個人收益與社會收益的均衡問題。文獻[7]針對單一的長期租賃方案引發的服務質量差、資源浪費嚴重的問題,設計了雙資源租賃方案,將短期租賃和長期租賃相結合。基于雙租賃方案制定利潤最大化策略,得到了云平臺的優化配置方案。為了最大化云計算中服務用戶虛擬資源租賃的利潤,文獻[8]以最大化租賃利潤為目標函數,提出了一種新的虛擬資源租賃算法。有效提高了虛擬資源的利用率,保證了資源租賃獲得的利潤。文獻[9]提出了云服務定價方案,并從云提供商和企業客戶的角度出發建立決策模型,以最大化云提供商的總利潤。通過使用真實的定價數據進行了實例說明,為云提供商和云用戶之間的動態定價提供了有價值的見解。為有效提高計算資源的利用率,減少任務執行所需要的成本,文獻[10]提出了一種基于效益博弈的云計算資源動態可協調分配機制。在合理分配資源的同時,最大化任務的執行效益。上述針對云系統的社會收益最大化問題的研究,均給出了有效的資源合理分配方案,但忽略了云系統能耗過高的問題。
兼顧云系統的節能水平與云用戶的響應性能,基于單重休眠機制,在信息完全可視的環境下,研究云用戶的接入閾值策略。結合基于博弈思想的排隊經濟學理論,分析個人最優接入閾值與社會最優接入閾值的關系,為云用戶在綠色云計算環境下的接入控制策略提供理論依據。
隨著云用戶需求的不斷增多,云系統的規模隨之擴大。除了服務云用戶過程中消耗必要的能量外,虛擬機閑置期間也會造成很大程度的能源浪費。為了提高云系統的能量效率,同時保證云用戶的服務質量,在云系統的集群范圍內引入同步單重休眠機制[11]。系統結構如圖1所示。

圖1 帶有休眠機制的云系統結構Fig.1 Cloud system architecture with sleep mechanism
系統中的虛擬機可能處于休眠狀態、喚醒狀態或空閑狀態。處于喚醒狀態或空閑狀態的虛擬機,由任務調度器為其分配服務對象;處于休眠狀態的虛擬機,由休眠定時器控制其休眠周期。一旦系統為空,集群內的全部虛擬機同時進入休眠狀態,并啟動定時器以控制休眠周期長度。當休眠定時器超時后,若系統中沒有云用戶,則全部虛擬機同時進入空閑狀態,此狀態下進入系統的云用戶可在任務調度器的協調下立即接受服務;若系統中有云用戶在等待,全部虛擬機同時進入喚醒狀態。如果系統緩存中的云用戶數量大于集群內的虛擬機數量,需調度全部虛擬機為若干云用戶提供服務,剩余的云用戶繼續等待;否則,只需分配若干虛擬機服務云用戶,其余虛擬機等待任務調度器繼續部署下一任務。
在完全可視條件下,云用戶在進入云系統前可在觀察區得知系統中已有云用戶數量與虛擬機當前狀態等信息。若觀察到系統中的云用戶數量大于接入閾值,則選擇離開系統;否則,云用戶選擇接入系統。顯然,休眠狀態下的接入閾值要小于喚醒狀態下的接入閾值[12]。
考慮信息完全可視的情況,云用戶在進入系統前可觀察到系統中云用戶的數量和虛擬機的狀態。系統中云用戶在時刻t的數量用N(t)表示,虛擬機在時刻t的狀態用I(t)表示,虛擬機的狀態包括休眠狀態(I(t)=0)、喚醒狀態(I(t)=1)和空閑狀態(I(t)=2)。

假設一個集群內共有k臺虛擬機對外服務,且k臺虛擬機同構;一個云用戶的服務時間服從參數為μ的指數分布;假設云用戶到達是服從參數為λ的泊松過程;一個休眠周期長度服從參數為θ的指數分布。假設云用戶的服務時間、到達時間以及虛擬機的休眠時間相互獨立,且服從先到先服務的排隊規則。基于以上假設,可建立一個服務時間、到達間隔和休眠周期長度均服從指數分布的多服務臺同步單重休假排隊模型,且該模型可用二維連續時間Markov鏈{(N(t),I(t)):t≥0}刻畫[13]。
為了揭示綠色云環境下云用戶的納什均衡行為,最大化云系統的社會收益,結合虛擬機同步單重休眠機制,研究信息完全可視下的云用戶接入閾值策略,包括云用戶的個人最優接入閾值策略和社會最優接入閾值策略。
每個云用戶將根據自己搜集到的信息判斷是否有價值接入系統接受服務。為方便討論,將新到達云用戶在虛擬機處于休眠狀態、喚醒狀態和空閑狀態情況下的預期逗留時間分別用Tind(0)、Tind(1)和Tind(2)表示,預期個人收益分別用Gind(0)、Gind(1)和Gind(2)表示。
如表3所示,通過將發表文獻數量前10的作者統計排名,發現除了排名第一的作者楊劍有6篇文獻,排名第二、第三位的作者均有3篇文獻外,其他的作者均為2篇文獻,表明楊劍、邱堅、陳銳是情報信息機構開展科技創新知識服務研究的主要研究者,對本領域的學術交流與發展發揮了重要作用。
1) 當一個新云用戶到達時,若系統中的云用戶數量n小于虛擬機的數量k,即n (1) 選擇接入系統接受服務的新到達云用戶的預期個人收益為 (2) 2) 當一個新云用戶到達時,若系統中的云用戶數量n不小于虛擬機數量k,即n≥k時,虛擬機不會處于空閑狀態,選擇接入系統接受服務的新到達云用戶的預期逗留時間為 (3) 新到達云用戶若選擇接入系統接受服務,其預期個人收益為 (Gind(0),Gind(1))= (4) 當虛擬機處于休眠狀態時,若預期個人收益Gind(0)非負,云用戶選擇接入系統接受服務;當虛擬機處于喚醒狀態時,若預期個人收益Gind(1)非負,云用戶選擇接入系統接受服務。令休眠狀態和喚醒狀態的個人最優接入閾值分別表示為ne(0)與ne(1),則有 (5) 顯然,虛擬機處于休眠狀態時的接入閾值ne(0)低于喚醒狀態下的接入閾值ne(1)。在虛擬機處于休眠狀態的情形下,若新到達云用戶得知當前系統中云用戶數量n≤ne(0)時,則選擇接入系統;否則,選擇離開,并不再返回系統。在虛擬機處于喚醒狀態的情形下,若新到達云用戶得知當前系統中云用戶數量n≤ne(1)時,新到達云用戶選擇接入系統;否則,選擇離開,并不再返回系統。 綜合考慮系統中所有云用戶與云供應商的集體收益,需進一步研究社會最優接入閾值策略。 假設休眠狀態系統的接入閾值為n(0),喚醒狀態系統的接入閾值為n(1)。直觀地,n(0) (6) 根據1.2節給出的模型假設,分析云系統的狀態轉移過程,如圖2所示。 圖2 云系統的狀態轉移過程Fig.2 The state transition process of a cloud system 根據圖2的狀態轉移過程,建立如下方程組: (7) 采用高斯賽德爾方法[14],結合歸一化條件,求解方程組(7),給出Markov鏈{(N(t),I(t)):t≥0}的穩態分布。 當虛擬機處于休眠狀態時,其運行速率較慢,能耗降低;當虛擬機處于空閑狀態時,能耗相對休眠狀態有所增加,但低于喚醒狀態時的能耗;當虛擬機處于喚醒狀態時,能耗增加至最高。能量節省存在于虛擬機的休眠狀態。令虛擬機處于休眠狀態時的能耗水平表示為Vs,處于空閑狀態時的能耗水平表示為Vf,處于喚醒狀態時的能耗水平表示為Va。在同步單重休眠機制下,云系統的能量節省水平S可表示為 (8) 定義單位時間內的社會收益Gsoc為系統中單位時間內所有云用戶完成服務后所得收益減去總的等待費用,再加上系統在單位時間內因能量節省所獲取的收益,則有 (9) 其中,φ為能量節省水平相關的影響因子。 使系統社會收益最大的云用戶接入閾值即為云用戶的社會最優接入閾值[15]。令n*(0)與n*(1)分別表示休眠狀態與喚醒狀態下的云用戶社會最優接入閾值,由式(9)可得 (10) 為了在信息完全可視的條件下刻畫出休眠參數對系統節能水平的影響,揭示云用戶的個人最優接入閾值與社會最優接入閾值的關系,進行系統實驗。 系統實驗的硬件環境為Intel i7- 4790 3.60 GHz CPU,8 GB內存;操作系統為Windows 10;交互式軟件的開發環境為MATLAB R2016a。 設置實驗參數如下:集群中虛擬機數量k=10,云用戶到達率λ=4.5,虛擬機服務率μ=0.55,虛擬機休眠參數θ=0.2,云用戶的等待費用,云用戶的收益R=100,虛擬機處于喚醒狀態時的能耗水平Va=20,虛擬機處于休眠狀態時的能耗水平Vs=2,處于空閑狀態時的能耗水平Vf=10,能量節能水平的影響因子φ=2。 基于以上設置實驗參數,揭示出同步單重休眠機制下云用戶的個人最優接入閾值與社會最優接入閾值的關系,如圖3所示。 圖3 同步單重休眠機制下云用戶的最優接入閾值Fig.3 Optimal access threshold of cloud users undersynchronous single sleep mechanism 圖3(a)揭示了虛擬機處于休眠狀態時云用戶的最優接入閾值的變化趨勢。隨著休眠參數θ的不斷增大,云用戶的個人最優接入閾值ne(0)逐漸遞增。休眠參數越大,云用戶觀察到虛擬機處于喚醒狀態的幾率會更大,云系統的服務水平相應提高,所以云用戶的個人最優接入閾值呈上升趨勢。隨著休眠參數θ的不斷增大,云用戶的社會最優接入閾值n*(0)逐漸減少。休眠參數越大,虛擬機處于喚醒狀態的時間相對變長,云用戶選擇接入系統的意愿提升,采用較小的社會最優接入閾值可以保證云用戶的響應性能,所以,休眠參數越大,云用戶的社會最優接入閾值越低。 圖3(b)揭示了虛擬機處于喚醒狀態時云用戶的最優接入閾值的變化趨勢。隨著休眠參數θ的不斷增大,云用戶的個人最優接入閾值ne(1)保持不變。當一個云用戶到達系統時,若虛擬機處于喚醒狀態,則在該用戶離開系統前虛擬機將始終處于喚醒狀態,云用戶的預計逗留時間只與服務率有關,而不受休眠參數的影響。云用戶的社會最優接入閾值n*(1)會隨著休眠參數θ的增大而逐漸減少。休眠參數的增大顯然會使云系統的節能水平降低,此時若有更多的云用戶接入系統,節能水平會繼續下降。為了彌補因節能水平降低給社會收益造成的影響,只能降低云用戶的社會最優接入閾值,以提高云用戶的響應性能。 觀察圖3(a)與圖3(b)可以看出,在休眠參數一定時,無論在休眠狀態還是在喚醒狀態下,云用戶的個人最優接入閾值均大于社會最優接入閾值,且其差距隨著休眠參數的增加逐漸變大。固定休眠參數,對比圖3(a)與圖3(b),可知休眠狀態下的個人最優接入閾值和社會最優接入閾值均低于喚醒狀態下的個人最優接入閾值和社會最優接入閾值,這與直觀理解是一致的。 根據以上規律,云供應商可結合休眠策略針對每個接入系統的云用戶征收一定的費用,促使云用戶的個人最優接入閾值策略與最優接入閾值策略一致,穩定高效地利用云系統中的虛擬機資源,以取得更高的收益。 針對信息可視模式和同步單重休眠機制,討論了云用戶的個人最優接入閾值策略與社會最優接入閾值策略。根據已知的系統中云用戶數量和虛擬機狀態等信息,計算云用戶的預期逗留時間和預期個人收益,給出了云用戶的個人最優接入閾值策略。建立同步單重休假模型,運用高斯賽德爾方法求得了系統模型的穩態解,并考慮能量節省水平建立了社會收益函數,通過最大化社會收益函數,給出了社會最優接入閾值策略。系統實驗結果表明,在確定狀態下的云用戶個人最優接入閾值高于社會最優接入閾值,基于該規律,在綠色云計算環境下云供應商可采取相應的收費策略調整云用戶的接入數量,最終實現云系統的社會收益最大化。




2.2 社會最優接入閾值策略



3 系統實驗

4 結論