蔣堃, 陳永紅, 田暉, 王田, 蔡奕僑
(華僑大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 福建 廈門 361021)
監(jiān)控與預(yù)測的云資源優(yōu)化配置
蔣堃, 陳永紅, 田暉, 王田, 蔡奕僑
(華僑大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 福建 廈門 361021)
針對云環(huán)境下虛擬機資源在多數(shù)時間中處于閑置狀態(tài)導(dǎo)致云資源利用率低的問題,設(shè)計一種云資源監(jiān)控系統(tǒng),并在云監(jiān)控基礎(chǔ)上提出一種基于自回歸積分滑動平均(ARIMA)模型的動態(tài)負載預(yù)測與資源配置的方法.該方法利用虛擬機負載與配置的關(guān)系,通過預(yù)測負載情況,提前啟動或者掛起虛擬機,提高云資源的利用率.研究結(jié)合OpenStack云環(huán)境提供的虛擬機,實現(xiàn)其下的云資源監(jiān)控,預(yù)測和彈性分配功能.結(jié)果表明:該系統(tǒng)能準(zhǔn)確預(yù)測虛擬機的需求量,所制定的資源彈性分配策略能夠提高云資源的利用率,進一步節(jié)約成本. 關(guān)鍵詞: 云計算; 負載預(yù)測; 自回歸積分滑動平均模型; 彈性計算; 云監(jiān)控
隨著云計算技術(shù)的成熟,云時代已經(jīng)到來.伴隨著云服務(wù)的大規(guī)模部署與應(yīng)用,云數(shù)據(jù)中心中資源利用率低,導(dǎo)致的高能耗問題逐漸凸顯[1].要解決云資源彈性優(yōu)化配置的問題需要分為3步:首先,需要有效的云資源監(jiān)控系統(tǒng);然后,根據(jù)資源和負載監(jiān)控數(shù)據(jù),通過預(yù)測模型對負載進行預(yù)測;最后,根據(jù)對負載的預(yù)測,定制云資源動態(tài)配置策略,從而實現(xiàn)云資源彈性優(yōu)化配置,其中,云資源的負載預(yù)測和資源彈性配置是整個流程中需要解決的難點.Nilabja等[2]提出基于模式匹配方法對資源需求量進行預(yù)測;Xu等[3]提出基于AR(autoregressive)預(yù)測模型的方法對CPU使用率進行預(yù)測;Mdtoukir等[4]提出基于神經(jīng)網(wǎng)絡(luò)模型的方法對資源利用率進行預(yù)測,并根據(jù)預(yù)測值對資源進行調(diào)整;Li等[5]提出基于貝葉斯網(wǎng)絡(luò)的資源預(yù)測方法,進行秒級的資源使用率預(yù)測;Gong等[6]提出基于統(tǒng)計學(xué)習(xí)方法對應(yīng)用負載預(yù)測的方法,通過預(yù)測的資源需求量,提前進行資源分配.文獻[2,4-5]所采用的預(yù)測方法時間復(fù)雜度過高,會影響系統(tǒng)性能,使預(yù)測過程本身成為主要的系統(tǒng)資源開銷;文獻[3]采用基于AR模型的預(yù)測方法,忽視了負載的周期性變化規(guī)律.本文引入基于自回歸積分滑動平均模型(autoregressive integrated moving average model,ARIMA)的預(yù)測方法進行負載預(yù)測.
1.1 云監(jiān)控動機
云監(jiān)控是一個對于云服務(wù)提供方(云服務(wù)方)和云服務(wù)用戶方(云用戶方)同樣重要的服務(wù).對云計算和它的服務(wù)水平協(xié)議(SLA)進行持續(xù)的監(jiān)控,可以為服務(wù)方和用戶方提供許多關(guān)鍵信息,對云環(huán)境構(gòu)建云監(jiān)控系統(tǒng)有很多原因[7],最重要的原因包括:1) 容量和資源管理;2) 服務(wù)水平協(xié)議管理;3) 性能管理;4) 故障恢復(fù);5) 安全管理.
1.2 云監(jiān)控系統(tǒng)的架構(gòu)
云監(jiān)控系統(tǒng)架構(gòu)分為3層:基礎(chǔ)設(shè)施層、匯聚層和視圖層.基礎(chǔ)設(shè)施層包含了OpenStack運行所必須的物理設(shè)備和虛擬設(shè)備,其為OpenStack運行的基礎(chǔ),同時也是被監(jiān)控的對象.主要監(jiān)控對象包括:服務(wù)器、核心交換機、KVM虛擬機、Xen虛擬機等.匯聚層的功能是收集和匯總監(jiān)控數(shù)據(jù),將數(shù)據(jù)傳遞給視圖層用于展示和告警.其主要的組件包括:物理機監(jiān)控agent、虛擬機監(jiān)控agent和群集數(shù)據(jù)匯總節(jié)點.視圖層的功能是為用戶展示系統(tǒng)運行狀況,并根據(jù)預(yù)定義的告警閾值發(fā)送故障信息.告警機制主要依賴于Nagios Core[8]實現(xiàn),運行情況的可視化展示依賴于RRD(round robin database)工具.
1.3 模型的部署
一方面云監(jiān)控系統(tǒng)的部署使用多臺獨立的監(jiān)控服務(wù)器構(gòu)成監(jiān)控群集;另一方面,在OpenStack私有云中將一定數(shù)量的物理服務(wù)器分成一個群集.各群集中的每臺物理服務(wù)器上面運行物理機監(jiān)控agent,一個群集中的所有的物理機監(jiān)控agent,把獲取的監(jiān)控數(shù)據(jù)統(tǒng)一發(fā)送到本群集對應(yīng)的群集數(shù)據(jù)匯聚節(jié)點.各群集的群集數(shù)據(jù)匯聚節(jié)點負責(zé)收集它所在群集的監(jiān)控數(shù)據(jù),統(tǒng)一匯總后發(fā)送到監(jiān)控服務(wù)器群集,歷史監(jiān)控數(shù)據(jù)存儲于后臺數(shù)據(jù)庫,虛擬機也按照一定數(shù)量劃分為一個群集.云用戶方和云實時查看監(jiān)控數(shù)據(jù)獲取報警信息.
2.1 ARIMA模型
ARIMA模型提供了一種對時間序列數(shù)據(jù)做預(yù)測的方法,模型記作ARIMA(p,d,q).ARIMA模型是AR模型、MA模型和ARMA模型[9]的組合.ARIMA(p,d,q)模型[10]的表達式為
(1)
式(1)中: εt為零均值隨機干擾序列;xt為負載序列;d=(1-B)d表示時間序列的d階差分;Φ(B)=1-φ1B-…-φpBp表示ARMA(p,q)模型的自回歸系數(shù)多項式;Θ(B)=1-θ1B-…-θqBq表示平穩(wěn)可逆ARMA(p,q)模型的移動平滑系數(shù)多項式.
2.2 分布式預(yù)測模型
云環(huán)境中運行了大量的Web服務(wù)器,它們每小時產(chǎn)生的訪問日志的數(shù)量巨大.為了加速訪問日志處理和負載預(yù)測過程,采用Hadoop群集存儲和處理Web訪問日志,設(shè)計了一種分布式預(yù)測模型.分布式預(yù)測流程如圖1所示.
圖1 分布式預(yù)測流程圖Fig.1 Distributed forecast flowchart
每臺Web Server都在本地存儲了一份自身的Web訪問日志.通過crontab定時任務(wù)程序,定時將Web日志文件拷貝到HDFS分布式文件系統(tǒng)中.Map-Reduce群集運行于多臺服務(wù)器上,利用分布式并行計算的高效性,通過讀取HDFS分布式文件系統(tǒng)中存儲的日志文件,提升計算訪問負載的時間序列數(shù)據(jù)的效率.
2.3 預(yù)測與資源優(yōu)化配置
在云環(huán)境中的應(yīng)用負載,Web服務(wù)有顯著的時域波動特征,所以采用季節(jié)性的ARIMA模型,可以預(yù)測負載.算法中:C為負載周期,24 h;n為用于預(yù)測的樣本周期數(shù);T為預(yù)測的時間片;Lmax為單臺虛擬機的最大負載量;α為額外分配的資源比例.其算法主要流程如下:
1) 從歷史監(jiān)控數(shù)據(jù)中取出最近的C·n個數(shù)據(jù)作為輸入樣本序列W;
3) 根據(jù)預(yù)測負載進行資源分配:計算下一個時間片T+1時的預(yù)估資源需求S(T+1)=(1+α)Lw/Lmax;若S(T+1)>S(T),則通過云控制器自動啟動ΔS個虛擬機;若S(T+1)
4) 通過云監(jiān)控系統(tǒng)獲取當(dāng)前實際的負載數(shù)據(jù)并存入歷史數(shù)據(jù)中,轉(zhuǎn)至流程1).
3.1 實驗平臺
實驗環(huán)境,如圖 2所示.實驗環(huán)境中:6臺HP DL388 Gen8服務(wù)器分別擔(dān)任了OpenStack云環(huán)境中6個不同角色的節(jié)點,Controller是控制節(jié)點;Network是網(wǎng)絡(luò)節(jié)點;Compute0是計算節(jié)點0;Compute1是計算節(jié)點1;NTP-server是時間同步服務(wù)器;monitor-server是監(jiān)控服務(wù)器.實驗環(huán)境劃分了2個網(wǎng)段:一個是192.168.11.0/24網(wǎng)段,它運行TCP/IP協(xié)議,6臺物理服務(wù)節(jié)點通過三層交換機互聯(lián),并且通過路由器接入Internet;另外一個是10.0.0.0/24網(wǎng)段,它運行GRE tunnel,是OpenStack云系統(tǒng)中的各組件互相通信的私有網(wǎng)絡(luò).
3.2 數(shù)據(jù)獲取
在實驗平臺中運行多臺虛擬機,如圖3所示.圖3中:1臺作為Nginx負載均衡器;1臺作為MySQL數(shù)據(jù)庫服務(wù)器;n臺作為運行PHP Web服務(wù)器;另運行m臺虛擬機模擬用戶,作為客戶端產(chǎn)生負載壓力.根據(jù)文獻[1]和實際云環(huán)境(如Amazon 云的服務(wù)計費方式以小時為單位),采用每小時的訪問量作為監(jiān)控系統(tǒng)采樣和預(yù)測的頻率.通過云監(jiān)控系統(tǒng)獲取得到2014年9月17日-2014年9月21日的該網(wǎng)站每小時的下載訪問量.
圖2 實驗環(huán)境 圖3 負載數(shù)據(jù)獲取平臺Fig.2 Experimental environment Fig.3 Load data acquisition platform
3.3 數(shù)據(jù)建模與預(yù)測
負載預(yù)測方法下,實驗過程中選取了不同階段的數(shù)據(jù)在Holt-Winters乘法模型[12]和基于ARIMA季節(jié)性模型的預(yù)測結(jié)果.鑒于篇幅限制,這里只選取有代表性的部分預(yù)測實驗結(jié)果進行說明,根據(jù)參數(shù)估計和模型定階過程得出適用的模型為ARIMA(1,1,1),其擬合公式為
(2)
使用矩估計方法對位置參數(shù)進行估計,求得參數(shù)為
(3)
預(yù)測結(jié)果,如圖4所示.由圖4可知:基于ARIMA季節(jié)性模型的預(yù)測結(jié)果比Holt-Winters乘法模型預(yù)測結(jié)果更接近實際負載.
圖4 預(yù)測值與實際監(jiān)控值對比Fig.4 Comparison of predictive values and monitoring values
預(yù)測結(jié)果對比,如表1所示.表1中:max(AE)為最大絕對誤差;min(AE)為最小絕對誤差;MAE為平均絕對誤差;MRE為平均相對誤差,即
(4)
MSE為預(yù)測均方差,即
(5)
由表1可知:基于ARIMA季節(jié)模型的預(yù)測結(jié)果明顯優(yōu)于Holt-Winters乘法模型;從平均絕對誤差來看,基于ARIMA季節(jié)模型預(yù)測的平均絕對誤差約為Holt-Winters乘法模型的1/6;從平均相對誤差來看,基于ARIMA季節(jié)模型為14%,比Holt-Winters乘法模型提高將近16倍,并且基于ARIMA季節(jié)模型預(yù)測誤差的均方差也較小,最大絕對誤差和最小絕對誤差也明顯小于Holt-Winters乘法模型.
表1 預(yù)測結(jié)果對比Tab.1 Comparison of predicted results
3.4 資源需求分析與優(yōu)化配置
云環(huán)境中的虛擬機的硬件配置直接決定其最大負載的處理能力.vCPU、內(nèi)存的數(shù)量和虛擬機負載量成正比關(guān)系為
(6)
式(6)中:P(vCPU)和P(mem)分別表示vCPU和內(nèi)存的配置數(shù)量;T(Load)表示在該vCPU或內(nèi)存配置下虛擬機所能承受的負載量,對虛擬機負載量的預(yù)測值可以作為虛擬機資源配置的依據(jù).
表2 虛擬機價格模型Tab.2 VM's price model
云平臺中3種類型的虛擬機的配置、費用和負載量,如表2所示.其費用標(biāo)準(zhǔn)參考AWS的EC2定價規(guī)則,各配置下的負載量由實驗平臺實際測試獲得.為優(yōu)化虛擬機資源配置,假定以每日最小的經(jīng)濟成本為目標(biāo).提出虛擬機資源優(yōu)化配置函數(shù)為
(7)
式(7)中:NS為Small類型虛擬機所需數(shù)量;NM為Medium類型虛擬機所需數(shù)量;NL為Large類型虛擬機所需數(shù)量;Lf為預(yù)測的負載值,t為虛擬機租用時長(h).
由式(7)資源優(yōu)化配置函數(shù),得到21日每小時的虛擬機資源彈性配置策略.其中,0:00-11:59和12:00-23:59的虛擬機資源彈性配置策略,分別如圖5,6所示.圖5,6中:S表示配置為Small的1臺虛擬機;折線表示每小時的預(yù)測負載量.根據(jù)資源配置策略,21日虛擬機租用成本為7.41 美元.如果不引入彈性資源配置策略,為滿足最大負載量下網(wǎng)站訪問的可用性,需要租用5臺配置Small的虛擬機24 h,租用成本為15.6 美元.經(jīng)計算可知,采用彈性資源配置策略,可以在保證服務(wù)質(zhì)量前提下21日節(jié)約52.5%的經(jīng)濟成本.
圖5 0:00-11:59虛擬機資源彈性配置策略Fig.5 VM′s resource elastic allocation strategy from 0:00 to 11:59
圖6 12:00-23:59虛擬機資源彈性配置策略Fig.6 VM′s resource elastic allocation strategy from 12:00 to 23:59
研究OpenStack云環(huán)境下基于監(jiān)控與預(yù)測的虛擬機資源彈性配置策略,包括云監(jiān)控模塊、虛擬機負載預(yù)測模塊和虛擬機資源彈性配置模塊.其中:基于OpenStack的云監(jiān)控模塊能夠?qū)崟r監(jiān)控云環(huán)境中虛擬機負載情況.提出了云環(huán)境中虛擬機負載的預(yù)測與資源彈性配置模型、算法.實驗結(jié)果表明:基于監(jiān)控和預(yù)測的云環(huán)境中虛擬機資源彈性配置方法,能夠提高云資源利用率,降低成本.
有待進一步深入的研究工作如下:1) 進一步優(yōu)化云資源負載預(yù)測模型,提高預(yù)測精度;2) 將云監(jiān)控與資源預(yù)測、彈性配置模塊整合,實現(xiàn)虛擬機資源的自動化部署與管理,使得研究內(nèi)容應(yīng)用到實際的生產(chǎn)環(huán)境中.
[1] 葉可江,吳朝暉,姜曉紅,等.虛擬化云計算平臺的能耗管理[J].計算機學(xué)報,2012,35(6):1262-1285.
[2] ROY N,ABHISHEK D,ANIRUDDHA G.Efficient autoscaling in the cloud using predictive models for workload forecasting[C]∥International Conference on In Cloud Computing.Washington D C:IEEE Press,2011:500-507.
[3] XU Wei,XIAO Yunzhu,SHARAD S,etal.Predictive control for dynamic resource allocation in enterprise data centers[C]∥Network Operations and Management Symposium.Busan:IEEE Press,2006:115-126.
[4] IMAM M,SHEIKH F M,RAHMAN R M,etal.Neural network and regression based processor load prediction for efficient scaling of grid and cloud resources[C]∥14th International Conference on Computer and Information Technology.Dhaka:IEEE Press,2011:333-338.
[5] LI Jian,KAI Shuang,SEN Su,etal.Reducing operational costs through consolidation with resource prediction in the cloud[C]∥12th IEEE/ACM International Symposium on Cloud and Grid Computing.Ottawa:IEEE Press,2012:793-798.
[6] GONG Zhenhuan,GU Xiaohui.Predictive elastic resource scaling for cloud systems[C]∥International Conference onIn Network and Service Management.Paris:IEEE Press,2010:9-16.
[7] GIUSEPPE A,BOTTA A,de DONATO W,etal.Cloud Monitoring: Definitions, issues and future directions[C]∥2012 IEEE 1st International Conference on In Cloud Networking.Paris:IEEE Press,2012:63-67.
[8] JOSEPHSEN D.Nagios: Building enterprise-grade monitoring infrastructures for systems and networks[M].Upper Saddle River:Prentice Hall Press,2013:15-22.
[9] GEORGE E P B,GWILYM M,JENKINS G C,etal.Time series analysis: Forecasting and control[M].Hoboken:John Wiley and Sons,2013:35-40.
[10] CALHEIROS R,MASOUMI E,RANJAN R,etal.Workload prediction using ARIMA model and its impact on cloud applications QoS[J].IEEE Transactions on Cloud Computing,2014,3(4):1-11.
[11] JAMES G.Numerical distribution functions for unit root and cointegration tests[J].Journal of Applied Econometrics,1996,11(6):601-618.
[12] 王燕.應(yīng)用時間序列分析[M].北京:中國人民大學(xué)出版社,2008:164-169.
(責(zé)任編輯: 陳志賢 英文審校: 吳逢鐵)
Cloud Resource Optimization Configuration Based on Cloud Monitoring and Prediction
JIANG Kun, CHEN Yonghong, TIAN Hui,WANG Tian, CAI Yiqiao
(College of Computer Science and Technology, Huaqiao University, Xiamen 361021, China)
In order to solve the problem under the cloud of virtual machine resources are idle most of the time, resulting in a cloud resource utilization is low, we designs a cloud resource monitoring system in this paper. And a dynamic load forecasting and resource allocation method is proposed based on cloud monitoring and a autoregressive integrated moving average (ARIMA) model . This method makes use of the relationship between the load and the virtual machine′s virtual hardware configuration by predicting loads and pre-starting or suspending a virtual machine to improve the utilization of cloud resources. Our studies realize monitoring, forecasting cloud resources and elastic cloud resources allocation based on the virtual machines in the OpenStack cloud environment. Finally, the result shows that: the system can accurately predict the demand for virtual machines and elastic cloud resources allocation policies can imporve the utilization of cloud resources and drive cost savings.
cloud computing; workload prediction; autoregressive integrated moving average model; elastic calculation; cloud monitoring
10.11830/ISSN.1000-5013.201704024
2014-12-30
陳永紅(1974-),男,教授,博士,主要從事計算機網(wǎng)絡(luò)和信息安全的研究.E-mail:djandcyh@163.com.
國家自然科學(xué)基金面上資助項目(61370007); 福建省自然科學(xué)基金面上資助項目(2013J01241); 華僑大學(xué)國家自然科學(xué)基金培育項目(JB-ZR1131); 華僑大學(xué)高層次人才科研啟動項目(10Y0199)
TP 391.4
A
1000-5013(2017)04-0573-06