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