唐涌濤 段永強 黃捷 蘇榮 福文劍



摘 要云計算資源管理是指將存儲、網絡帶寬以及其他資源分配給一組應用程序的操作。由于資源管理過程中會受到服務水平協議的約束,因此本文對云平臺的性能和資源的利用率進行了研究,提出了一種自動機器學習的新算法,該算法可根據用戶需求的動態資源對物理主機的狀態進行預測,提高物理主機利用率、減少虛擬機遷移次數,減少數據中心能耗。
關鍵詞云計算;資源管理;自動機器學習;虛擬機遷移
0 引言
互聯網環境下,云計算技術可以為用戶提供水、電、氣以及電話等計算服務。使用云服務技術,用戶可以隨時隨地獲取自身所需的服務,并根據使用情況支付一定的費用[1-5]。一般來說,云計算架構由基礎架構及服務、平臺及服務和軟件及服務組成[6-7]。其中,基礎架構設施層主要包括硬件基礎架構,例如存儲、網絡組件、服務器、CPU等,平臺及服務層主要包括計算框架和解決方案,例如服務過程管理、軟件開發工具等,軟件及服務層則是將云計算服務封裝成各類軟件并提供給用戶。
然而,隨著數據中心規模的不斷擴大以及數據中心本身的異構性,云計算中的資源管理問題也愈發嚴峻。盡管逐漸興起的虛擬化技術允許用戶可以在通用的基礎架構上同時運行多個應用程序,在此之中的資源分配算法可分為基于閾值和人工智能兩大類。閾值檢測方法是指閾值被違法則重新分配資源,盡管此類方法較為簡單,但卻不能長期使用運行;人工智能檢測方法則是通過較長時間的學習獲得相關機器的經驗,從而為機器分配最合適的資源。除此之外,由于物理主機(physical machine, PM)的資源是一定的,這樣一對多的映射關系必定導致虛擬機多次遷移,從而破壞云平臺性能,當突然增加或者減少正在運行程序的工作流時,此時資源分配算法是進行高效分配資源的最佳解決方案。對于能耗管理,從技術上可分為靜態和動態兩種,靜態技術主要是在設計時執行優化操作,動態技術則是在云平臺運行過程中根據當前的資源需求和動態系統規范來調整系統行為,其中,DVFS是能耗管理技術中最重要的動態方法之一,其主要通過更改處理器的電壓電平和頻率來降低動態能耗[3]。
本文基于對云平臺性能和能耗的考慮,設計了一種基于自動機器學習的節能動態調度方案,主要使用機器學習獲得機器的負載規律從而動態調整資源分配,減少虛擬機遷移次數,達到降低平臺能耗的目的。
1 自動機器學習技術
自動機器學習是在強化學習框架中運行的一種隨機模型,其目的在于從一組行為中確定最佳行為。自動機器學習過程可以視作有限數量對象的抽取過程,如圖1所示其從一組有限的行為中選擇一個行為,并將其應用于環境,環境評估施加行為后的狀態,然后向自動學習機發送強化信號。環境反饋的增強信號用于更新自動學習機的內部邏輯關系,通過長時間的持續學習,自動學習機逐漸學習選擇最佳的行為,從而得到環境的積極響應[8]。
2 系統方案
2.1 方案模型
本文采取的系統模型是擁有n臺PM的大型云計算環境,每個PM都有相應的CPU、網絡帶寬和隨機存儲,具體模型圖如圖2所示。
云平臺的服務質量(quality of service, QOS)通常用服務等級協議(Service-Level Agreement, SLA)表示,一般來說,違反SLA的度量標準包括過載時間比例(Overload Time Fraction, OTF)和遷移退化指數(Performance Degradation Due to Migration, PDM )[4],這兩種性能指標可以用式(4)表示。
盡管OTF和PDM度量標準都獨立地表征了云平臺中違反SLA的等級,但是Beloglazov[2]也提出了一種同時表征PM超載和VM遷移導致的性能下降,稱為SLA違規,計算方式如式(5)所示。
2.2 調度算法
基于PM負載的動態性和VM需求資源的不確定性,本文提出了一種自動機器學習動態資源調度方案。在此方案中,主要通過對CPU使用的歷史狀態作為機器學習的樣本,從而得到較好的PM異常狀態監測,自動機器學習的流程如圖3所示。
此流程中,虛擬機行為可分為三大類:提高CPU利用率,記做ASC;降低CPU利用率,記做DESC;不改變CPU利用率,記做NONE。對于如何確定PM是否超載,我們采用如圖4所示流程。
當物理主機的狀態發生變化,虛擬機上的自動機器學習的策略也需要發生變化,具體流程如圖5所示。
3 測試結果與分析
3.1 測試環境
為驗證算法的有效性,本文在CloudSim模擬測試平臺上將本文提出的方案與近期的能源意識分配方案[2-3]進行了比較。在此測試平臺中,本文模擬了一個云計算基礎架構,其中包含800臺PM,具體參數如表1所示。
3.2 測試結果
在此測試過程中,主要性能指標為PM過載和SLA違反產生的能耗,本方案LOAD與其他方案的仿真對比數據如表2所示。
從上表可知,本文所設計方案較其他檢測算法在能耗減少、虛擬機遷移次數減少、SLAV降低、PDM降低、OTF降低上更具優越性。
除此之外,在本節中,本文更具上述檢測結果在虛擬機遷移次數和策略違反上進行了圖形比較,遷移次數對比如圖6所示,策略違反對比如圖7所示,結果顯示,本文所設計的檢測策略較其他檢測算法更具優越性。
4 結論
本文基于PM狀態的動態性和VM需求的不確定性,提出了一種基于自動機器學習的資源調度方案,使資源在云計算環境中能得到更好的分配。該方案通過對用戶需求資源變化的學習,對PM的狀態進行了預測,防止了PM處于過載狀態。除此之外,該方案通過資源調度實現了服務器之間的負載均衡,減少了空閑PM的運行,使得數據中心的能源利用率得到了大大的提升。
參考文獻
[1]陳全,鄧倩妮.云計算及其關鍵技術[J].計算機應用,2009,29(9):2562-2567.
[2]Beloglazov A, Abawajy J, Buyya R. Energy-aware resource allocation heuristics for efficient management of data centers for Cloud computing[J]. Future Generation Computer Systems, 2012, 28(5):755-768.
[3]Anton Beloglazov, Rajkumar Buyya. Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in Cloud data centers[J]. Concurrency & Computation Practice & Experience,24(13):0-0.
[4]Esfandiarpoor S, Pahlavan A, Goudarzi M. Structure-aware online virtual machine consolidation for datacenter energy improvement in cloud computing[J].Computers & Electrical Engineering,2015,42:74-89.
[5]王佳慧,劉川意,王國峰,等.基于可驗證計算的可信云計算研究[J].計算機學報,2016,39(2):286-304.
[6]王意潔,孫偉東,周松,等.云計算環境下的分布存儲關鍵技術木[J].軟件學報,2012,23(4):962-986.
[7]譚一鳴,曾國蓀,王偉.隨機任務在云計算平臺中能耗的優化管理方法[J].軟件學報,2012,23(2):266-278.
[8]Lakshmivarahan S., Thathachar M.A.L.. Absolutely Expedient Learning Algorithms for Stochastic Automata[J]. Systems, Man and Cybernetics, IEEE Transactions on, 1973,SMC-3(3):281-286.
[9]宋杰,李甜甜,閆振興,等.一種云計算環境下的能效模型和度量方法[J].軟件學報,2012,23(2):200-214.
[10]羅剛毅,錢柱中,陸桑璐.一種基于網絡感知的虛擬機再調度算法[J].計算機學報,2015,38(5):932-943.