文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.030
中文引用格式: 鄭建秋,鄭子偉. 低資源成本的云計算自適應實時資源監(jiān)控研究[J].電子技術應用,2015,41(7):107-110.
英文引用格式: Zheng Jianqiu,Zheng Ziwei. Cloud distributed adaptive real time resource monitoring with low resource cost[J].Application of Electronic Technique,2015,41(7):107-110.
0 引言
隨著云計算的廣泛應用,云端的存儲、網(wǎng)絡帶寬、GPU、處理器等資源日益緊缺[1]。部分應用程序非法或過多地占用某些云端資源,導致其他應用程序或服務運行效率下降,甚至導致服務器端崩潰等嚴重后果,為防止此類情況發(fā)生,需對云端資源進行有效監(jiān)控[2]。
云端的大數(shù)據(jù)與分布式平臺為資源監(jiān)控帶來了極大的困難,若對云端大數(shù)據(jù)采集樣本并分析,此過程的計算成本極高,另一方面,若為了降低計算成本而增加采樣周期,則會導致監(jiān)控過程不夠完整,導致部分重要的棘波丟失[3-5]。
針對以上問題,本文提出一種自適應云端資源監(jiān)控算法,包括訓練和監(jiān)控兩個階段。訓練階段,采集適量的數(shù)據(jù)樣本訓練,估算出最佳的監(jiān)控參數(shù)組合;監(jiān)控階段根據(jù)受監(jiān)控資源的變化劇烈程度自適應地調(diào)節(jié)采用周期,以此保證監(jiān)控算法的計算效率與監(jiān)控質(zhì)量達到較好的平衡。
1 問題定義
對于云端大數(shù)據(jù)下的資源監(jiān)控,最為有效的方案是,在不損失其統(tǒng)計性能的前提下,盡可能地降低監(jiān)控的目標數(shù)據(jù)的量,顯然,需為此尋找一個合適的閾值。首先定義兩個與資源監(jiān)控質(zhì)量相關的重要參數(shù)G和Q。
第一個參數(shù)G如下定義:
式中,N(t)表示監(jiān)控算法采集的樣本數(shù)量,N(t0)表示理論采樣頻率采樣的樣本數(shù)量,t0表示最高的理論周期(即1 s)。G值的范圍為[0,1],G值越高表示采樣周期越短,而計算與帶寬開銷越高。
第二個參數(shù)Q(質(zhì)量)代表了監(jiān)控算法是否能準確反映系統(tǒng)資源的變化情況。Q的質(zhì)量必須綜合考慮兩個因素:(1)采樣周期過大導致的監(jiān)控不完整,(2)對資源變化的棘波監(jiān)控能力。因此將Q定義為兩個重要統(tǒng)計參數(shù)的組合:NRMSE為歸一化均方根誤差,F(xiàn)measure為棘波檢測的精度與召回率的帶權均值。
式中,F(xiàn)measure與NRMSE的取值范圍均為[0,1],Q的取值范圍為[0,1]。綜合Fmeasure與NRMSE對資源評價的原因在于:云端資源變化極為劇烈,無法僅通過NRMES對其變化作出準確的反應,而Fmeasure可對棘波資源的檢測效果較好,因此綜合兩個參數(shù)來提高資源評價的準確性。Fmeasure計算方式如下:
式中,precision表示精度,recall表示召回率,F(xiàn)measure值越接近1代表檢測的質(zhì)量越高。
將監(jiān)控算法的閾值表示為G與Q的加權之和:
式中ω∈(0,1)是一個調(diào)諧常量,由服務器端管理員設定。ω>0.5,則G的重要性高于Q;反之,G的重要性低于Q;ω=0.5,兩者重要性相等。
已有的監(jiān)控算法以固定的采樣周期采集樣本,僅當新數(shù)據(jù)與歷史數(shù)據(jù)有所差異時,才將新數(shù)據(jù)保存并轉(zhuǎn)發(fā)至分析模塊。盡管該方案可獲得較高的G值,但其導致了較高的檢測錯誤以及較低的Q值(丟失了較多的棘波)。圖1所示為兩個場景舉例,圖1(a)的采樣周期為1 s(低G與高Q),圖1(b)的采樣周期較長,采樣數(shù)據(jù)數(shù)量較少,同時也丟失了大量的棘波數(shù)據(jù)。
2 自適應云端資源監(jiān)控
自適應云端監(jiān)控由訓練階段與自適應監(jiān)控階段組成,訓練階段估算最優(yōu)參數(shù)組合,自適應監(jiān)控階段是監(jiān)控系統(tǒng)的核心部分。
2.1 參數(shù)定義
監(jiān)控算法分析采樣的數(shù)據(jù),當資源相對穩(wěn)定時,降低監(jiān)控數(shù)據(jù)的數(shù)量,在資源變化劇烈時,增加監(jiān)控數(shù)據(jù)的采樣數(shù)量。以此,降低計算與帶寬開銷,同時保證不錯過重要的系統(tǒng)棘波變化。本算法動態(tài)地設置兩個關鍵變量:采樣周期t與變化性Δ。采樣周期t越短,收集的數(shù)據(jù)量越大,設tm表示采樣周期的最小值,tM表示采樣周期最高值,顯然tM≥tm。Δ代表了連續(xù)采樣樣本的偏差,若Δ較低,認為監(jiān)控資源比較穩(wěn)定。本文考慮兩個Δ相關的參數(shù):
(1)峰值變化性Δp:表示連續(xù)樣本間偏差的閾值,當Δ>Δp時,表示棘波。
(2)容錯變化性Δq:表示連續(xù)樣本間偏差,Δq≥Δp表示高變化性。當監(jiān)控數(shù)據(jù)的變化性過高時,需將采樣周期設為tm,從而抓取資源變化的細節(jié)特點。將t與Δ相關閾值的最優(yōu)值設為
2.2 訓練階段
訓練階段求解最優(yōu)閾值參數(shù)訓練階段通過最大化式(4)的E,將訓練數(shù)據(jù)樣本數(shù)設為λ。
算法1所示為訓練的偽代碼,初始化階段將E的最優(yōu)值E*設為0,最小采樣周期設為t0,Xtmp設為周期t0采樣的監(jiān)控數(shù)據(jù)序列。循環(huán)迭體中,對監(jiān)控周期t與變化性Δ進行迭代處理。AdaptiveMonitor為數(shù)據(jù)監(jiān)控算法,結果數(shù)據(jù)存儲于X變量中,然后,計算質(zhì)量參數(shù)Q、參數(shù)G與閾值E。最終,更新最優(yōu)閾值參數(shù)將結果閾值賦予監(jiān)控算法的核心階段。
算法1:訓練階段1
算法2計算Q參數(shù)的值,在初始化階段,采樣數(shù)據(jù)起始點為確定值,將NRMSE設為0,計算原時間序列Xtmp的變化范圍。之后的循環(huán)體中,輪流使用各時間點數(shù)據(jù)來計算參數(shù)Q的質(zhì)量。6~10行提取時間序列x0與時間i,11行更新采樣序列的平方差之和,然后,分別計算NRMSE、精度、召回率,最終計算Fmeasure與Q參數(shù)。
算法2 訓練階段2
2.3 自適應的監(jiān)控階段
算法3所示為自適應監(jiān)控階段的偽代碼。初始化階段,將采樣周期設為最小值Δ設為0,∈inc設為10,該變量用于觸發(fā)最低采樣周期(t0),在∈·λ個采樣之后,獲得了X值。變量k是對采樣序列X的計數(shù),若k>λ,則結束X的采樣。
監(jiān)控算法的主體是一個死循環(huán),首先使用實時采樣更新偏差Δ值,若Δ值未變化,則增加采樣周期長度,若Δ值變化較大,則減小當前的采樣周期。監(jiān)控過程中,通過計算Q參數(shù)與訓練階段的最優(yōu)參數(shù),實現(xiàn)實時自適應的動態(tài)調(diào)整,從而實現(xiàn)高準確率的采樣與低成本的平衡。
算法3 實時監(jiān)控階段
3 實驗測試床與數(shù)據(jù)集訓練
3.1 測試床
本文試驗使用Amazon EC2[6]監(jiān)控平臺。其中監(jiān)控節(jié)點的PC配置為:AMD處理器2 218 HE,主頻2 600 MHz,緩存1 024 kB,每個節(jié)點的網(wǎng)絡帶寬為10 Mb/s,受監(jiān)控的節(jié)點運行一些服務與應用程序,如Apache2、MySQL、Java程序等,數(shù)據(jù)庫使用MySQL數(shù)據(jù)庫。試驗對100個節(jié)點(包括軟件虛擬出的節(jié)點)進行監(jiān)控,監(jiān)控過程達10個小時。
3.2 訓練集大小設置
訓練集大小λ對算法的計算開銷影響較大,因此,在保證算法高質(zhì)量監(jiān)控的同時,限制其成本極為重要。試驗對資源使用自適應監(jiān)控算法,將λ分別設為5~200進行統(tǒng)計,圖2所示為λ對三個重要參數(shù)的影響。圖中可看出ω=0.25時,Q值最優(yōu),ω=0.75時,G值最高。分析其原因:訓練集較小時,少量數(shù)據(jù)之間的差異較大,將被分辨為棘波。而采樣周期較小時,可獲得較高的Q和較低的G。
圖2(c)中顯示,不同訓練集大小對E參數(shù)的影響。E參數(shù)范圍為80%~88%??煽闯霎敠剌^小時,應使用較小的λ值,ω較大時,使用較高的λ值。綜上,若管理員需要平衡的G與Q,則將樣本數(shù)量選為50~150較為合適。
4 試驗結果與分析
4.1 本文自適應算法與靜態(tài)delta算法的檢測性能比較
表1所示為靜態(tài)采樣周期(t)與靜態(tài)delta(Δ)下獲得的試驗結果,表2所示為自適應算法獲得的結果。結果顯示:當λ=5時,E值為76.54%,當λ=100時,E為79.37%。比較表1與表2可看出,自適應算法的平均性能高于靜態(tài)算法,此外自適應算法的Fmeasure始終高于65%,可見本算法提高了棘波捕獲的能力。
4.2 資源消耗比較
圖3所示為本自適應算法與靜態(tài)算法的資源消耗比較,圖3(a)所示為靜態(tài)采樣周期算法與靜態(tài)閾值算法的CPU使用率隨時間的變化情況,圖3(b)為本文自適應算法的CPU使用率的變化情況,可看出在整個監(jiān)控時間之內(nèi),本算法的平均CPU占用率明顯低于兩種靜態(tài)算法。圖3(b)可看出本算法的3個階段:(1)收集?姿個訓練數(shù)據(jù)集,該階段CPU使用率呈上升趨勢;(2)自適應算法計算最佳參數(shù),此時引起了較高的CPU使用率的棘波;(3)自適應監(jiān)控階段,可看出本算法通過自適應的調(diào)節(jié),使得整個CPU資源使用率處于平穩(wěn)狀態(tài)。
5 結束語
本文針對分布式云計算的云端資源監(jiān)控提出了自適應的監(jiān)控算法,獲得了云端監(jiān)控準確率與計算成本較好的平衡,試驗結果也佐證了本算法的有效性。未來將研究多個統(tǒng)計參數(shù)的不同效果,進一步提高本算法對資源變化劇烈程度估算的準確性。
參考文獻
[1] 陳康,鄭緯民.云計算: 系統(tǒng)實例與研究現(xiàn)狀[J].Journal of Software,2009,1(20).
[2] 羅軍舟,金嘉暉,宋愛波,等.云計算:體系架構與關鍵技術[J].通信學報,2011,32(7):3-21.
[3] 華夏渝,鄭駿,胡文心.基于云計算環(huán)境的蟻群優(yōu)化計算資源分配算法[J].華東師范大學學報:自然科學版,2010(1):127.
[4] 馮登國,張敏,張妍,等.云計算安全研究[J].軟件學報,2011,22(1).
[5] 劉正偉,文中領,張海濤.云計算和云數(shù)據(jù)管理技術[J].計算機研究與發(fā)展,2012,49(1):26-31.
[6] ANDREOLINI M,COLAJANNI M,PIETRI M.A scalable architecture for real-time monitoring of large information systems[C].Network Cloud Computing and Applications (NCCA),2012 Second Symposium on.IEEE,2012:143-150.