孫 勇,譚文安,謝 娜,蔣文明
1.南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,南京 211106
2.滁州學(xué)院 地理信息科學(xué)系,安徽 滁州 239000
3.上海第二工業(yè)大學(xué) 計算機與信息學(xué)院,上海 201029
面向大規(guī)模服務(wù)性能預(yù)測的在線學(xué)習(xí)方法*
孫 勇1,2+,譚文安1,3,謝 娜1,蔣文明2
1.南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,南京 211106
2.滁州學(xué)院 地理信息科學(xué)系,安徽 滁州 239000
3.上海第二工業(yè)大學(xué) 計算機與信息學(xué)院,上海 201029
為提高服務(wù)運行質(zhì)量,需要主動預(yù)防服務(wù)失效和服務(wù)性能波動,而不是在服務(wù)發(fā)生錯誤時觸發(fā)處理程序。高效地預(yù)測與分析大規(guī)模服務(wù)的性能是有效可行的主動預(yù)防工具。然而傳統(tǒng)的服務(wù)性能預(yù)測模型多采用完全批量訓(xùn)練模式,難以滿足大規(guī)模服務(wù)計算的實時性要求。在綜合權(quán)衡完全批量學(xué)習(xí)法和隨機梯度下降法的基礎(chǔ)上,建立了基于在線學(xué)習(xí)的大規(guī)模服務(wù)性能預(yù)測模型,提出了一種基于小批量在線學(xué)習(xí)的服務(wù)性能預(yù)測方法,通過合理地設(shè)置預(yù)測模型的批量參數(shù),一次迭代僅需訓(xùn)練批量規(guī)模較小的樣本數(shù)據(jù),從而改善大規(guī)模服務(wù)性能預(yù)測的時間效率;詳細分析了在線服務(wù)預(yù)測模型的收斂性。實驗表明,提出的在線學(xué)習(xí)算法有效地解決了大規(guī)模服務(wù)預(yù)測算法的時效性問題。
大規(guī)模服務(wù)計算;在線學(xué)習(xí);小批量在線學(xué)習(xí);隨機梯度下降法
大規(guī)模服務(wù)的執(zhí)行和交付環(huán)境復(fù)雜多變,服務(wù)性能存在著各種不確定性,導(dǎo)致服務(wù)質(zhì)量難以達到預(yù)期的要求,甚至失敗,極大地影響了面向服務(wù)計算的應(yīng)用程序執(zhí)行的可靠性[1],從而構(gòu)建性能穩(wěn)定的服務(wù)計算程序變得極具挑戰(zhàn)性?;诜?wù)質(zhì)量的性能預(yù)測與分析模型減輕了服務(wù)執(zhí)行程序的異常和風(fēng)險[2]。典型的服務(wù)性能分析技術(shù)主要是實時監(jiān)控服務(wù)響應(yīng)時間、服務(wù)提供者聲譽、服務(wù)可靠性等,通過收集、度量、預(yù)測和分析服務(wù)運行狀態(tài)信息,及時發(fā)現(xiàn)服務(wù)執(zhí)行中存在的問題[3-4],從而不斷地改進和優(yōu)化云平臺中服務(wù)質(zhì)量和性能。
基于服務(wù)質(zhì)量性能預(yù)測與分析模型的研究已經(jīng)取得不少的成果[5]。為及時發(fā)現(xiàn)服務(wù)質(zhì)量存在的問題,Leitner等人對服務(wù)數(shù)據(jù)執(zhí)行日志進行依賴性分析,查找影響組合服務(wù)運作的關(guān)鍵性服務(wù),并監(jiān)控關(guān)鍵服務(wù)的性能[6]。在服務(wù)執(zhí)行過程中,文獻[7]采用基于機器學(xué)習(xí)的回歸方法,文獻[8]提出基于自回歸積分滑動平均模型(autoregressive integrated moving average model,ARIMA)的服務(wù)質(zhì)量預(yù)測方法,對服務(wù)信息進行擬合。通過預(yù)測關(guān)鍵服務(wù)性能值,及時發(fā)現(xiàn)服務(wù)質(zhì)量性能波動,從而保證了服務(wù)執(zhí)行的質(zhì)量。
然而,隨著云平臺中的發(fā)布服務(wù)呈現(xiàn)爆炸式增長,傳統(tǒng)的基于完全批量學(xué)習(xí)的服務(wù)性能預(yù)測模型及其優(yōu)化算法已難以適應(yīng)海量服務(wù)數(shù)據(jù)的大規(guī)模特性[9-10]。在面向大規(guī)模服務(wù)數(shù)據(jù)處理時,基于完全批量預(yù)測的服務(wù)質(zhì)量性能分析模型需要訓(xùn)練大量的歷史性能數(shù)據(jù),勢必增加系統(tǒng)額外費用,降低運行效率。其中致命問題是難以滿足大規(guī)模服務(wù)計算的實時性要求。因為完全批量學(xué)習(xí)方法通常只能離線計算預(yù)測模型函數(shù)的權(quán)重參數(shù),不適用于大規(guī)模服務(wù)的實時計算問題[11-13],所以如何高效地監(jiān)控大規(guī)模服務(wù)運行質(zhì)量和完善性能評估方法,有待繼續(xù)深入研究。
針對大規(guī)模服務(wù)性能預(yù)測算法的時間效率問題,提出了一種基于小批量在線學(xué)習(xí)的服務(wù)性能預(yù)測方法,通過綜合權(quán)衡基于隨機梯度下降法和基于完全批量學(xué)習(xí)(batch)的預(yù)測算法的優(yōu)勢,采用小批量學(xué)習(xí)法進行預(yù)測分析。小批量學(xué)習(xí)(mini-batch)方法一次僅需訓(xùn)練規(guī)模較小的樣本數(shù)據(jù)。因此,基于小批量在線學(xué)習(xí)的服務(wù)性能預(yù)測方法既保證了在線預(yù)測實時性,也保證了一定的算法精度?;谛∨吭诰€學(xué)習(xí)的大規(guī)模服務(wù)預(yù)測方法能夠有效地提升工作流服務(wù)預(yù)測算法的時間效率,解決了大規(guī)模服務(wù)預(yù)測算法的時效性問題。
針對服務(wù)性能預(yù)測存在的效率問題,在綜合權(quán)衡基于隨機梯度下降學(xué)習(xí)和基于完全批量學(xué)習(xí)的預(yù)測算法各自優(yōu)勢的基礎(chǔ)上,提出了基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測分析方法,通過預(yù)測服務(wù)的響應(yīng)時間、服務(wù)提供者聲譽、服務(wù)可靠性等服務(wù)質(zhì)量屬性狀態(tài),及時發(fā)現(xiàn)服務(wù)質(zhì)量性能的波動,從而保證服務(wù)執(zhí)行的可靠性。
由于服務(wù)性能指標較多,本文以服務(wù)性能中響應(yīng)時間為例進行預(yù)測模型分析和數(shù)學(xué)推導(dǎo),其他服務(wù)性能指標可參考該方法進行,其中對所有性能特征值進行了歸一化處理。假定預(yù)測服務(wù)響應(yīng)時間性能的輸入特征值序列為x=[x1,x2,…,xn],則服務(wù)性能預(yù)測的回歸函數(shù)形式為:
服務(wù)性能預(yù)測優(yōu)化目標是希望樣本集上目標特征的預(yù)測誤差盡可能小,服務(wù)性能預(yù)測模型的誤差度量采用了誤差平方和函數(shù),誤差函數(shù)定義如下:
其中,Jtrain(θ|X)表示在給定訓(xùn)練數(shù)據(jù)集合上預(yù)測模型參數(shù)向量θ的誤差度量?;谕耆繉W(xué)習(xí)的服務(wù)性能預(yù)測模型預(yù)先收集全部訓(xùn)練服務(wù)性能的數(shù)據(jù)集,并對所有的樣本數(shù)據(jù)同時訓(xùn)練后,通過多次循環(huán)迭代,獲得服務(wù)性能預(yù)測計算模型。
傳統(tǒng)基于完全批量學(xué)習(xí)的工作流服務(wù)性能預(yù)測優(yōu)化模型通常采用完全批量學(xué)習(xí)過程,即在全部服務(wù)性能的數(shù)據(jù)樣本上,對預(yù)測模型的權(quán)值空間進行最優(yōu)化搜索。在進行大規(guī)模服務(wù)數(shù)據(jù)處理時,由于其計算開銷過大,基于完全批量學(xué)習(xí)的服務(wù)性能預(yù)測方法只能離線計算預(yù)測模型的權(quán)重參數(shù),不適用于大規(guī)模服務(wù)的實時計算問題[14-16]。
不同于基于完全批量學(xué)習(xí)的預(yù)測模型,基于隨機梯度下降法的服務(wù)性能預(yù)測模型每次從全部服務(wù)性能訓(xùn)練樣本中隨機抽取單個樣本,且僅對一個性能樣本數(shù)據(jù)進行學(xué)習(xí),然后調(diào)整預(yù)測模型權(quán)值參數(shù)以減少預(yù)測誤差,適用于實時在線預(yù)測分析[17],其公式定義如下:
其中,θ為服務(wù)性能預(yù)測參數(shù)向量;ηt為預(yù)測模型學(xué)習(xí)率;是對每個預(yù)測參數(shù)權(quán)值求解偏微分。
為了提高基于隨機梯度下降的服務(wù)性能預(yù)測算法的準確度,可增加預(yù)測模型的復(fù)雜度,使得訓(xùn)練誤差不斷地減小,最終趨向于0。然而,測試樣本誤差先會逐漸減小,當達到最小值后,又不斷增大,導(dǎo)致復(fù)雜的預(yù)測模型產(chǎn)生過擬合現(xiàn)象。因此,預(yù)測模型須采用合理的模型復(fù)雜度,以實現(xiàn)最小化測試誤差的優(yōu)化目標。
本文采用了正則化的方法,通過在預(yù)測模型中加入正則化項(懲罰項),防止過擬合現(xiàn)象。基于隨機梯度下降法的預(yù)測模型選用了誤差平方和作為優(yōu)化代價函數(shù),因此將參數(shù)向量的L2范數(shù)作為正則化項,則有:
其中,J0(θ|X)表示原始的優(yōu)化代價函數(shù);式(3)中后一項則為L2正則化項,是所有參數(shù)θ的平方和除以訓(xùn)練樣本集的數(shù)據(jù)數(shù)量m;λ表示正則項的權(quán)衡參數(shù),是J0(θ|X)項與正則項的比率。
進一步對服務(wù)性能預(yù)測模型的優(yōu)化目標函數(shù)進行求導(dǎo),可得:
其中,參數(shù)θ0表示常數(shù)項,采用基于隨機梯度下降的迭代計算方法尋找大規(guī)模服務(wù)性能預(yù)測模型誤差最小值,則有:
基于隨機梯度在線學(xué)習(xí)的服務(wù)性能預(yù)測模型每次只選擇一個訓(xùn)練樣本,進行迭代優(yōu)化,直到收斂。
基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測方法是批量梯度學(xué)習(xí)法和隨機梯度下降法的一種折衷方案,介于兩種算法之間的優(yōu)化算法。通過綜合分析基于批量學(xué)習(xí)法的預(yù)測模型與基于隨機梯度下降法的預(yù)測模型,小批量學(xué)習(xí)方法一次只需訓(xùn)練規(guī)模較小的樣本數(shù)據(jù),因此在基于隨機梯度在線學(xué)習(xí)的預(yù)測模型的基礎(chǔ)上,可將基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測模型定義如下:
為了防止預(yù)測模型的過擬合,在原有的基于小批量學(xué)習(xí)的預(yù)測模型中加入正則化項,該正則化項采用了參數(shù)向量的L2范數(shù)。因此,基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測模型的權(quán)值參數(shù)更新公式定義如式(12)和(13)。
其中,Jx(θ|X)表示原始的優(yōu)化代價函數(shù);λ表示正則項的權(quán)衡參數(shù),是Jx(θ|X)項與正則項的比率。通過分析式(13)可知,權(quán)值參數(shù)θ的更新公式后一項是所有導(dǎo)數(shù)之和,乘以學(xué)習(xí)系數(shù)ηt,并除以b,b則表示小批量訓(xùn)練的樣本數(shù)量。如果不采用L2范式正則化,迭代遞推公式中θ系數(shù)為1;而采用正則化,θ系數(shù)是1-ηt·λ/b,縮減了θ的值。
基于小批量在線學(xué)習(xí)的服務(wù)性能預(yù)測模型每次選取適量的訓(xùn)練樣本,進行迭代優(yōu)化,直到收斂。在每次迭代時,只選擇b個訓(xùn)練樣本,其中b遠小于樣本數(shù)據(jù)數(shù)量m;選取b個樣本進行迭代,并對b個梯度進行加權(quán)平均并求和,作為一次小批量訓(xùn)練的下降梯度,不斷在訓(xùn)練集合中重復(fù)以上步驟。因此,基于小批量學(xué)習(xí)的大規(guī)模服務(wù)性能在線預(yù)測算法在速度上要優(yōu)于基于完全批量學(xué)習(xí)的預(yù)測算法。
基于在線學(xué)習(xí)的服務(wù)性能預(yù)測模型采用隨機抽樣方法,減小了學(xué)習(xí)基數(shù)的規(guī)模,提高了服務(wù)性能預(yù)測效率,但是同時也降低了預(yù)測精度。在進行小批量預(yù)測函數(shù)訓(xùn)練時,批量設(shè)置太小,訓(xùn)練效果不明顯;批量設(shè)置太大,權(quán)重更新則不頻繁,導(dǎo)致優(yōu)化過程太長。批量設(shè)置不是一成不變的,根據(jù)請求用戶的數(shù)據(jù)集規(guī)模、預(yù)測平臺的設(shè)備計算能力去合理設(shè)置。因此,合理設(shè)置批量參數(shù)應(yīng)考慮兩點:(1)預(yù)測用戶對于服務(wù)性能預(yù)測精度和計算性能的要求;(2)預(yù)測系統(tǒng)所具備的內(nèi)存和計算能力。
基于在線學(xué)習(xí)預(yù)測的服務(wù)性能評估模型采用小批量梯度下降法,實現(xiàn)了預(yù)測模型的最優(yōu)化,如式(10),當小批量數(shù)量參數(shù)b=1時,小批量學(xué)習(xí)等同于隨機梯度下降法。實質(zhì)上,隨機梯度下降法是小批量梯度下降法的一個特例,在此統(tǒng)一稱之為在線學(xué)習(xí)算法。在線學(xué)習(xí)模型是收斂的,其收斂性詳細分析過程如下。
假設(shè)存在常數(shù)A、B,滿足E[||?hb(θ|x)||2]≤A和E[||θ*-θ1||2]≤B,其中,t表示預(yù)測優(yōu)化的迭代次數(shù),。
如果在線學(xué)習(xí)算法收斂,則當t→∞時有:E[hmin(θ|x)]→h(θ*|x),即在線學(xué)習(xí)算法收斂到h(θ*|x)。設(shè)優(yōu)化過程迭代到t+1次時,有:
根據(jù)數(shù)學(xué)條件期望的性質(zhì),則有:
同時將式(15)等號兩邊的參數(shù)θt取期望,由數(shù)學(xué)條件重期望性質(zhì)可知:
利用式(14),重復(fù)計算可得:
根據(jù)式(17),且E[||θt+1-θ*||2]≥0 ,則:
因為E[||θt-θ*||2]≤B,可推導(dǎo)出:
綜上分析,在線學(xué)習(xí)預(yù)測算法收斂。
在線學(xué)習(xí)預(yù)測驗證實驗主要從學(xué)習(xí)率對在線學(xué)習(xí)預(yù)測影響、批量規(guī)模參數(shù)設(shè)置以及在線預(yù)測模型算法的性能分析等三方面進行仿真實驗。實驗采用Python語言實現(xiàn)了服務(wù)性能預(yù)測,在預(yù)測實驗過程中,收集了Planet-Lab實驗室服務(wù)運行數(shù)據(jù)集[18],表1列出服務(wù)監(jiān)控數(shù)據(jù)集合性能。
Table 1 Data example of service performance表1 服務(wù)性能的數(shù)據(jù)示例
基于在線學(xué)習(xí)的預(yù)測算法驗證實驗以服務(wù)響應(yīng)時間為例,分析了服務(wù)性能預(yù)測算法的可行性。
本次實驗對比分析了基于批量學(xué)習(xí)法(Batch)的服務(wù)性能預(yù)測模型和基于隨機梯度下降法(Stochastic)的服務(wù)性能預(yù)測模型。通過選取很小的優(yōu)化步伐,不斷地循環(huán)迭代,逐步實現(xiàn)代價函數(shù)的平方誤差最小化,直到收斂,優(yōu)化過程如圖1所示。
Fig.1 Learning rate of online prediction圖1 預(yù)測算法的學(xué)習(xí)率分析
通過觀察圖1可知,Stochastic預(yù)測模型迭代40次后才趨向穩(wěn)定,而Batch預(yù)測模型僅僅迭代3次后即趨向穩(wěn)定。其原因是基于批量學(xué)習(xí)法的預(yù)測模型由完全批量樣本數(shù)據(jù)集來確定梯度方向,每次優(yōu)化循環(huán)都會訓(xùn)練所有的樣本集數(shù)據(jù),完全批量樣本數(shù)據(jù)能夠更好地代表樣本總體,從而更準確地朝向優(yōu)化模型極值位置。
服務(wù)性能預(yù)測模型的學(xué)習(xí)率對梯度下降算法影響的實驗結(jié)果表明:當樣本數(shù)據(jù)集中服務(wù)序列規(guī)模較小時,基于批量學(xué)習(xí)法的預(yù)測模型以更快速度收斂,而且更加準確快速地計算出模型函數(shù)的極值;而基于隨機梯度下降法的預(yù)測模型則以較多次數(shù)收斂。然而,隨著服務(wù)數(shù)據(jù)集的海量增長,更大數(shù)據(jù)規(guī)模的服務(wù)計算受限于內(nèi)存限制,一次性載入所有的服務(wù)數(shù)據(jù)變得愈發(fā)不可行。為分析大規(guī)模服務(wù)預(yù)測問題,仿真實驗進一步采用人工合成的服務(wù)數(shù)據(jù)集,隨機生成了服務(wù)的時間序列數(shù)據(jù),分析了預(yù)測模型中學(xué)習(xí)率設(shè)置,預(yù)測優(yōu)化效果如圖2所示。
其中,參數(shù)變量α表示小批量梯度下降法的學(xué)習(xí)率參數(shù),α取值決定了梯度下降搜索中的步長,預(yù)測模型中參數(shù)變量α前的負號表示權(quán)向量將向梯度下降方向移動,將參數(shù)α值設(shè)置為α=[0.000 01,0.000 02,0.000 05,0.000 10],驗證分析了基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測優(yōu)化效果。
在圖2中,所有的預(yù)測模型都得到了收斂,當α=0.000 01時,優(yōu)化模型的收斂速度最慢;當α=0.000 10時,優(yōu)化模型的收斂速度最快??梢?,增大α取值有助于加快預(yù)測模型的收斂速度。但學(xué)習(xí)率參數(shù)值α被設(shè)置為固定時,當學(xué)習(xí)率參數(shù)值被設(shè)置太小時,會導(dǎo)致預(yù)測模型收斂速度慢;而當學(xué)習(xí)速率參數(shù)值被設(shè)置過大時,又會使得預(yù)測模型代價函數(shù)不能收斂。因此,基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測方法可采用動態(tài)可變的學(xué)習(xí)率,通過不斷地嘗試,尋找合適的學(xué)習(xí)率。在迭代開始時,將學(xué)習(xí)率參數(shù)值設(shè)置相對較大,加快全局收斂速度,在優(yōu)化過程中,逐步減小學(xué)習(xí)率,直到收斂。
Fig.2 Influence of learning rate on optimization圖2 學(xué)習(xí)率對優(yōu)化效果的影響
基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測模型需要設(shè)置批量的規(guī)模,合理地設(shè)置批量參數(shù)有助于提升預(yù)測算法的性能效率。在進行小批量訓(xùn)練優(yōu)化時,當批量規(guī)模參數(shù)設(shè)置為1時,小批量學(xué)習(xí)法就是隨機梯度下降法;當批量規(guī)模參數(shù)值設(shè)置為所有訓(xùn)練集的數(shù)量時,則小批量學(xué)習(xí)法變成了批量梯度下降法。在訓(xùn)練大量數(shù)據(jù)時,需要對預(yù)測算法進行加速優(yōu)化;而當訓(xùn)練數(shù)據(jù)批量規(guī)模較小時,則加速效果可能變得不明顯,如圖3所示。
Fig.3 Influence of batch setting on optimization圖3 批量設(shè)置對優(yōu)化效果的影響
批量數(shù)據(jù)訓(xùn)練量也不是越大越好,批量規(guī)模設(shè)置過大時,預(yù)測模型權(quán)重的更新又不頻繁,導(dǎo)致優(yōu)化過程比較長,可見批量訓(xùn)練數(shù)據(jù)量選取過大或過小都不合理。因此,基于小批量隨機梯度下降的服務(wù)性能預(yù)測模型的批量規(guī)模參數(shù)設(shè)置,不是一成不變的,應(yīng)根據(jù)收集的訓(xùn)練數(shù)據(jù)集規(guī)模以及擁有的設(shè)備計算能力,去選擇合理的批量規(guī)模。根據(jù)學(xué)習(xí)率和批量設(shè)置實驗分析可知,合理地設(shè)置學(xué)習(xí)率與批量規(guī)模等參數(shù),將有助于提升服務(wù)性能預(yù)測模型的收斂速度和效果。
在線學(xué)習(xí)預(yù)測方法的性能分析主要包括算法的性能效率與準確率等兩方面,本文實驗對預(yù)測準確度進行分析,驗證預(yù)測的性能值與真實性能值之間的差異。預(yù)測誤差評定指標選取了平均絕對偏差(mean absolute error,MAE)、均方誤差(mean squared error,RMSE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)以及均方百分比誤差(mean squared percentage error,MSPE)等指標進行度量。仿真實驗隨機選取Planet-Lab實驗室服務(wù)運行數(shù)據(jù)集的一個服務(wù)進行預(yù)測,依據(jù)4個預(yù)測誤差評定指標分析3種預(yù)測算法的精度,實驗結(jié)果如表2所示。
其中,傳統(tǒng)批量預(yù)測模型的算法精度最好,小批量預(yù)測模型的算法精度稍好于采用隨機梯度法的預(yù)測模型算法。在線學(xué)習(xí)預(yù)測算法的精度分析實驗表明,基于在線學(xué)習(xí)的服務(wù)性能預(yù)測模型一定程度犧牲了預(yù)測精度,因此在進行預(yù)測時,通過設(shè)置合理的批量規(guī)模,以保證服務(wù)性能預(yù)測精度要求。
Table 2 Effect comparison of online prediction approaches表2 在線預(yù)測算法精度對比分析
算法時間效率優(yōu)化是面向大規(guī)模服務(wù)計算的工作流服務(wù)性能預(yù)測方法迫切需要解決的重要問題。本次實驗通過設(shè)置訓(xùn)練樣本的批量規(guī)模,詳細分析了基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測算法的時間效率。
在預(yù)測算法性能分析過程中,將服務(wù)個數(shù)設(shè)置為SNum=[100,200,400,600,800,1 000],并為每個工作流任務(wù)的服務(wù)產(chǎn)生1 000個時間序列數(shù)據(jù),將訓(xùn)練批量規(guī)模設(shè)置為minisize=[1,100,200,500,1 000],仿真實驗結(jié)果如圖4所示。實際上,本次實驗也對比分析了基于小批量學(xué)習(xí)的服務(wù)性能預(yù)測算法、基于完全批量學(xué)習(xí)的服務(wù)性能預(yù)測算法以及基于隨機梯度下降的服務(wù)性能預(yù)測算法的時間效率。當minisize=1時,基于小批量學(xué)習(xí)的預(yù)測算法是基于隨機梯度的預(yù)測算法;當minisize=1 000時,即每次迭代循環(huán)都對全部的歷史樣本數(shù)據(jù)進行訓(xùn)練,此時,基于小批量學(xué)習(xí)的預(yù)測算法則為基于完全批量數(shù)據(jù)學(xué)習(xí)的預(yù)測算法。
Fig.4 Time evaluation of online prediction approaches圖4 在線預(yù)測算法時間效率分析
通過觀察圖4實驗結(jié)果可知,基于完全批量學(xué)習(xí)的服務(wù)性能預(yù)測算法的時間效率最差,而基于隨機梯度下降的服務(wù)性能預(yù)測算法的時間效率則最優(yōu),基于小批量在線學(xué)習(xí)的服務(wù)性能預(yù)測算法的時間效率隨著批量大小的變化而變化,批量規(guī)模越小,其時間效率則更優(yōu)。因此,通過選取合適的批量規(guī)模,一定程度上保證了服務(wù)性能預(yù)測的精度要求,而且能夠確保大規(guī)模服務(wù)預(yù)測的運行效率,從而滿足大規(guī)模服務(wù)計算的實時預(yù)測需求。
針對大規(guī)模服務(wù)性能預(yù)測的時間效率問題,提出了面向大規(guī)模服務(wù)性能預(yù)測的在線習(xí)方法,主要貢獻總結(jié)如下:(1)綜合權(quán)衡了完全批量學(xué)習(xí)和隨機梯度下降法的各自優(yōu)勢,提出了一種基于小批量在線學(xué)習(xí)的服務(wù)性能預(yù)測方法,有效地提高了大規(guī)模服務(wù)性能預(yù)測算法的時間效率;(2)理論分析了服務(wù)性能在線學(xué)習(xí)算法的收斂性;(3)進行了實驗仿真,驗證分析了面向大規(guī)模服務(wù)性能預(yù)測的在線學(xué)習(xí)方法。通過檢驗服務(wù)狀態(tài)的不穩(wěn)定時期,查找出原因,調(diào)整原定的策略和措施,對大規(guī)模服務(wù)性能進行持續(xù)改進和優(yōu)化,從而有效地提高服務(wù)的運行質(zhì)量。
面向大規(guī)模服務(wù)性能預(yù)測的在線學(xué)習(xí)方法提升了大規(guī)模服務(wù)性能評估的算法效率。其中批量設(shè)置是基于小批量在線學(xué)習(xí)的服務(wù)預(yù)測的重要研究問題,同時也是一個難點問題,值得人們深入地研究與探索。而且,隨著云計算技術(shù)及其應(yīng)用的不斷推進,服務(wù)數(shù)量的大規(guī)?;兔總€服務(wù)性能的訓(xùn)練數(shù)據(jù)爆炸性增長,為保證組合服務(wù)的可靠性,需要預(yù)測大規(guī)模服務(wù)的性能。針對大數(shù)據(jù)量的訓(xùn)練問題,結(jié)合MapReduce并行計算框架和小批量隨機下降預(yù)測方法,設(shè)計出適用于大規(guī)模服務(wù)性能的監(jiān)控與預(yù)測方法,仍然值得進一步探索。
[1]Xu Lida.Enterprise systems:state-of-the-art and future trends[J].IEEE Transactions on Industrial Informatics,2011,7(4):630-640.
[2]Blake M B,Cummings D J,Bansal A,et al.Workflow com-position of service level agreements for Web services[J].Decision Support Systems,2012,53(1):234-244.
[3]Dan A,Davis D,Kearney R,et al.Web services on demand:WSLA-driven automated management[J].IBM Systems Journal,2004,43(1):136-158.
[4]Emeakaroha V C,Netto M A S,Calheiros R N,et al.Towards autonomic detection of SLA violations in cloud infrastructures[J].Future Generation Computer Systems,2012,28(7):1017-1029.
[5]Wei Yi,Blake M B.Service-oriented computing and cloud computing:challenges and opportunities[J].IEEE Internet Computing,2010,14(6):72-75.
[6]Leitner P,MichlmayrA,Rosenberg F,et al.Monitoring,prediction and prevention of SLA violations in composite services[C]//Proceedings of the 17th International Conference on Web Service,Miami,USA,Jul 5-10,2010.Washington:IEEE Computer Society,2010:369-376.
[7]Rosenberg F,Leitner P,Dustdar S.End-to-end support for QoS-aware service selection,binding,and mediation in VRESCo[J].IEEE Transactions on Service Computing,2010,3(3):193-205.
[8]Hua Zhebang,Li Meng,Zhao Junfeng,et al.Web service QoS prediction method based on time series analysis[J].Journal of Frontiers of Computer Science and Technology,2013,7(3):218-226.
[9]He Qing,Li Ning,Luo Wenjuan,et al.A survey of machine learning algorithms for big data[J].Pattern Recognition and Artificial Intelligence,2014,27(4):327-336.
[10]Sun Dawei,Zhang Guangyan,Zheng Weimin.Big data stream computing:technologies and instances[J].Journal of Software,2014,25(4):839-862.
[11]Hashem I A T,Yaqoob I,Anuar N B,et al.The rise of“big data”on cloud computing:review and open research issues[J].Information Systems,2015,47:98-115.
[12]Moreno-Vozmediano R,Montero R S,Llorente I M.Key challenges in cloud computing:enabling the future Internet of services[J].IEEE Internet Computing,2013,17(4):18-25.
[13]Song L,Tekin C,Van der Schaar M.Online learning in large-scale contextual recommender systems[J].IEEE Transactions on Services Computing,2016,9(3):433-445.
[14]Yang H,Lyu M R,King I.Online learning algorithms for big data[J].Communication of the China Computer Federation,2014,10(11):36-40.
[15]Li Zhijie,Li Yuanxiang,Wang Feng,et al.Online learning algorithms for big data analytics:a survey[J].Journal of Computer Research and Development,2015,52(8):1707-1721.
[16]Walsh T J,Littman M L,Borgida A.Learning Web-service task descriptions from traces[J].Web Intelligence&Agent Systems,2012,10(4):397-421.
[17]Shalev-Shwartz S.Online learning and online convex optimization[J].Foundations and Trends in Machine Learning,2012,4(2):107-194.
[18]Zheng Zibin,Lyu M R.Personalized reliability prediction of Web services[J].ACM Transactions on Software Engineering and Methodology,2013,22(2):12.
附中文參考文獻:
[8]華哲邦,李萌,趙俊峰,等.基于時間序列分析的Web Service QoS預(yù)測方法[J].計算機科學(xué)與探索,2013,7(3):218-226.
[9]何清,李寧,羅文娟,等.大數(shù)據(jù)下的機器學(xué)習(xí)算法綜述[J].模式識別與人工智能,2014,27(4):327-336.
[10]孫大為,張廣艷,鄭緯民.大數(shù)據(jù)流式計算:關(guān)鍵技術(shù)及系統(tǒng)實例[J].軟件學(xué)報,2014,25(4):839-862.
[14]楊海欽,呂榮聰,金國慶.面向大數(shù)據(jù)分析的在線學(xué)習(xí)算法[J].中國計算機協(xié)會通訊,2014,10(11):36-40.
[15]李志杰,李元香,王峰,等.面向大數(shù)據(jù)分析的在線學(xué)習(xí)算法綜述[J].計算機研究與發(fā)展,2015,52(8):1707-1721.
Online Learning Approach for Performance Prediction in Large-Scale Service Computing*
SUN Yong1,2+,TAN Wen'an1,3,XIE Na1,JIANG Wenming2
1.College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 211106,China
2.Department of Geographic Information Science,Chuzhou University,Chuzhou,Anhui 239000,China
3.College of Computer and Information,Shanghai Polytechnic University,Shanghai 201029,China
2016-08,Accepted 2016-12.
To improve the quality of cloud services,service performance violations need to be proactively prevented instead of recovery triggered by the occurrence of failures.The performance predicting model is a promising tool for evaluating the status of Web services in cloud computing.However,traditional batch machine learning techniques could not satisfy the requirement of real-time predicting in large-scale service-oriented applications.To deal with the challenges,this paper proposes a mini-batch online learning approach to predict the performance of largescale services.Through properly setting the batch parameters,the proposed approach uses a small fixed size of samples to train the prediction model in each iteration.This strategy efficiently reduces the computations per iteration.Furthermore,detailed theoretical analysis is conducted for online learning models and their algorithm convergence.The experimental results indicate that the proposed approach is feasible and effective.
large-scale service computing;online learning;mini-batch online learning;stochastic gradient descent
+Corresponding author:E-mail:syong@nuaa.edu.cn
10.3778/j.issn.1673-9418.1608012
*The National Natural Science Foundation of China under Grant Nos.61672022,61272036(國家自然科學(xué)基金);the Key Project of University Natural Science Foundation ofAnhui Province under Grant No.KJ2017A414(安徽省高等學(xué)校自然科學(xué)基金).
CNKI網(wǎng)絡(luò)優(yōu)先出版:2017-01-03,http://www.cnki.net/kcms/detail/11.5602.TP.20170103.1028.004.html
SUN Yong,TAN Wen'an,XIE Na,et al.Online learning approach for performance prediction in large-scale service computing.Journal of Frontiers of Computer Science and Technology,2017,11(12):1922-1930.
A
TP391
SUN Yong was born in 1977.He received the Ph.D.degree in computer science from Nanjing University of Aeronautics and Astronautics in 2016.Now he is a lecturer at Chuzhou University,and the member of CCF.His research interests include cooperative computing,social workflow,software engineering and intelligent information system,etc.
孫勇(1977—),男,湖北咸寧人,2016年于南京航空航天大學(xué)獲得博士學(xué)位,現(xiàn)為滁州學(xué)院講師,CCF會員,主要研究領(lǐng)域為協(xié)同計算,社會工作流,軟件工程,智能信息系統(tǒng)等。
TAN Wen'an was born in 1965.He received the Ph.D.degree in computer science from Beihang University in 2001.Now he is a professor and Ph.D.supervisor at Nanjing University of Aeronautics and Astronautics,and the member of CCF.His research interests include software engineering,enterprise dynamic modeling,trusted service computation and intelligent information system,etc.
譚文安(1965—),男,湖北荊州人,2001年于北京航空航天大學(xué)獲得博士學(xué)位,現(xiàn)為南京航空航天大學(xué)教授、博士生導(dǎo)師,CCF會員,主要研究領(lǐng)域為軟件工程,企業(yè)動態(tài)建模與優(yōu)化,可信計算,智能信息系統(tǒng)等。
XIE Na was born in 1982.She is a Ph.D.candidate at Nanjing University of Aeronautics and Astronautics.Her research interests include cooperative computing,process mining and service computing,etc.
謝娜(1982—),女,江蘇徐州人,南京航空航天大學(xué)博士研究生,主要研究領(lǐng)域為協(xié)同計算,業(yè)務(wù)過程挖掘,服務(wù)計算等。
JIANG Wenming was born in 1976.He received the Ph.D.degree in geographic information system from Nanjing Normal University in 2010.Now he is a lecturer at Chuzhou University.His research interests include smart city and geographic information retrieval,etc.
蔣文明(1976—),男,江蘇常州人,2010年于南京師范大學(xué)獲得博士學(xué)位,現(xiàn)為滁州學(xué)院講師,主要研究領(lǐng)域為智慧城市,地理信息檢索等。