鄒偉東 夏元清
伴隨著虛擬化技術(shù)的日趨成熟,物理機(jī)的硬件資源利用率獲得了進(jìn)一步的提升[1].與此同時,基于混合云的數(shù)據(jù)中心也獲得了許多企業(yè)與高校的青睞.與物理機(jī)相比較而言,虛擬機(jī)具有更多的優(yōu)勢,如良好的可擴(kuò)展性與遷移性、低廉的采購成本與維護(hù)成本,故其也獲得了眾多用戶的青睞[2-3].然而如何對云環(huán)境下的虛擬機(jī)進(jìn)行合理分配與高效利用是當(dāng)前云服務(wù)提供商與用戶關(guān)注的焦點(diǎn)問題.
當(dāng)前云服務(wù)提供商為廣大用戶提供了一種基于粗粒度的虛擬機(jī)資源配置策略,即為用戶提供有限度的硬件資源與計算單元,并且根據(jù)用戶所選擇的不同種類的資源進(jìn)行收費(fèi).該策略致使云服務(wù)提供商難以為用戶提供最優(yōu)的性能體驗,同時也降低了配置資源的利用率和企業(yè)利潤[4].因此對云環(huán)境下的虛擬機(jī)性能進(jìn)行精確的預(yù)測建模不僅可使用戶獲得較優(yōu)的虛擬機(jī)資源配置方案,同時也為云服務(wù)提供商開發(fā)新的收費(fèi)模型標(biāo)準(zhǔn).
虛擬機(jī)性能模型具有非線性、強(qiáng)耦合和時變性的特征,CPU 微架構(gòu)與主頻、I/O (Input/output)帶寬和虛擬CPU 的個數(shù)都會對虛擬機(jī)性能預(yù)測產(chǎn)生重要影響.當(dāng)前對虛擬機(jī)性能預(yù)測主要從兩個方面進(jìn)行相關(guān)研究:1)通過分層次或多粒度性能組合的方法來整體預(yù)測評估虛擬機(jī)性能.呂慶翰[5]提出基于模糊層次分析與離差最大化的虛擬機(jī)性能預(yù)測建模方法,將虛擬機(jī)的綜合性能劃分為指標(biāo)層和綜合層,利用模糊層次分析法分析影響功能層各要素的權(quán)重,利用離差最大化方法計算指標(biāo)層各要素的權(quán)重,最后根據(jù)各要素的權(quán)重計算虛擬機(jī)的性能.車建華[6]提出基于多粒度的虛擬機(jī)性能預(yù)測方法,將虛擬機(jī)性能劃分為宏觀粒度與微觀粒度,應(yīng)用黑盒方式對虛擬機(jī)的宏觀性能與微觀性能進(jìn)行測試,應(yīng)用白盒方式分析其相應(yīng)的性能特征,通過關(guān)聯(lián)不同粒度下的性能特征實現(xiàn)虛擬機(jī)性能預(yù)測.黎豐澤等[7]在深入分析影響虛擬機(jī)性能關(guān)鍵參數(shù)的基礎(chǔ)上,提出了基于特征值分解的特征拓展方法,通過結(jié)合非線性模型對云環(huán)境中的虛擬機(jī)性能進(jìn)行預(yù)測建模.2)利用機(jī)器學(xué)習(xí)算法進(jìn)行虛擬機(jī)性能預(yù)測.在虛擬網(wǎng)絡(luò)環(huán)境下,Xu等[8]提出了基于模糊邏輯的虛擬機(jī)性能預(yù)測方法.Rao等[9]提出基于強(qiáng)化學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)性能建模方法,通過動態(tài)地調(diào)整模型的內(nèi)存資源與CPU 使虛擬機(jī)性能達(dá)到最優(yōu).貝振東等[10]提出了一種基于支持向量機(jī)的虛擬機(jī)性能預(yù)測方法,根據(jù)預(yù)先設(shè)置的資源配置標(biāo)準(zhǔn),隨機(jī)改變虛擬機(jī)的資源配置,以當(dāng)前虛擬機(jī)配置的資源集合與云計算系統(tǒng)的響應(yīng)時間構(gòu)成樣本數(shù)據(jù)對支持向量機(jī)進(jìn)行訓(xùn)練,根據(jù)虛擬機(jī)性能預(yù)測模型預(yù)測任一資源配置下的云計算系統(tǒng)的響應(yīng)時間.王娟等[11]根據(jù)待預(yù)測的虛擬環(huán)境的資源特點(diǎn),提出了基于隨機(jī)森林回歸的虛擬機(jī)性能預(yù)測方法,利用隨機(jī)森林回歸模型描述虛擬機(jī)性能指標(biāo)和相應(yīng)的性能特征之間的內(nèi)在聯(lián)系,從而實現(xiàn)特定配置下的虛擬機(jī)性能精準(zhǔn)預(yù)測.然而傳統(tǒng)的統(tǒng)計方法難以精確描述不同的虛擬機(jī)性能特征值之間的復(fù)雜關(guān)系,也難以推廣應(yīng)用.但支持向量機(jī)(Support vector machine,SVM)、隨機(jī)森林回歸等傳統(tǒng)機(jī)器學(xué)習(xí)算法需人為設(shè)定許多的訓(xùn)練參數(shù),以迭代的方式更新參數(shù),容易陷入局部優(yōu)化,導(dǎo)致訓(xùn)練誤差較大.
雖然深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)強(qiáng)大,但網(wǎng)絡(luò)訓(xùn)練時間長,其根本原因在于深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜且包含了許多超參數(shù),難以從對其進(jìn)行理論分析.為了提高深度學(xué)習(xí)在實際應(yīng)用中的精度,必須增加深度學(xué)習(xí)的網(wǎng)絡(luò)層數(shù)或調(diào)整網(wǎng)絡(luò)參數(shù).當(dāng)前深度學(xué)習(xí)適用于處理高維度且數(shù)據(jù)量大的問題,若處理小樣本數(shù)據(jù),因其樣本量少致使深度學(xué)習(xí)出現(xiàn) “過擬合”,影響深度學(xué)習(xí)的泛化性能.
近年來,寬度學(xué)習(xí)系統(tǒng)(Broad learning system,BLS)[12]在機(jī)器學(xué)習(xí)中備受青睞,其原因在于寬度學(xué)習(xí)系統(tǒng)的算法步驟少,不需要迭代更新一些神經(jīng)網(wǎng)絡(luò)參數(shù),學(xué)習(xí)速度非???并且不會產(chǎn)生局部最優(yōu)解,具有良好的泛化性能,有效地克服了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)所存在的諸多缺陷,充分發(fā)揮了其在機(jī)器學(xué)習(xí)中的巨大優(yōu)勢,也促進(jìn)了人工智能的進(jìn)一步發(fā)展[13-14].BLS 是基于隨機(jī)向量函數(shù)連接型網(wǎng)絡(luò)(Random vector functional link neural network)[15],通過稀疏自編碼方式[16]或隨機(jī)方式產(chǎn)生特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)的輸入權(quán)值,利用嶺回歸[17]廣義逆計算其所對應(yīng)的輸出權(quán)值.盡管算法實現(xiàn)簡單,但是BLS 中存在輸出權(quán)值較小的特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn),導(dǎo)致許多特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)對最終網(wǎng)絡(luò)輸出起到的作用很小.大量冗余的特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)只能增加網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性,降低學(xué)習(xí)效率,因此研究高效的預(yù)測方法對虛擬機(jī)性能預(yù)測具有十分重要的意義.
針對上述問題,本文對寬度學(xué)習(xí)系統(tǒng)進(jìn)行改進(jìn),通過計算每一個特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)的網(wǎng)絡(luò)輸出誤差,構(gòu)造合適的壓縮因子,構(gòu)建基于壓縮因子的寬度學(xué)習(xí)系統(tǒng),實現(xiàn)對虛擬機(jī)性能的精確預(yù)測,能夠有效提高預(yù)測精度和效率.
BLS 通過稀疏自編碼方式或隨機(jī)方式產(chǎn)生特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)的輸入權(quán)值,對輸入樣本進(jìn)行線性變換后形成特征節(jié)點(diǎn),再對特征節(jié)點(diǎn)經(jīng)過激勵函數(shù)非線性變換后獲得增強(qiáng)節(jié)點(diǎn).通過合并增強(qiáng)節(jié)點(diǎn)輸出與特征節(jié)點(diǎn)輸出形成BLS 的輸出矩陣,利用嶺回歸廣義逆直接計算輸出權(quán)值矩陣.BLS 的模型可表示為
式中,z表示特征節(jié)點(diǎn)的輸出矩陣,h表示增強(qiáng)節(jié)點(diǎn)的輸出矩陣,g表示BLS 的輸出矩陣,yn+m表示包含n個特征節(jié)點(diǎn)與m個增強(qiáng)節(jié)點(diǎn)的BLS 模型輸出,xN×M∈RN×M表示給定的輸入數(shù)據(jù),aei表示輸入到特征節(jié)點(diǎn)之間的輸入權(quán)值矩陣,bei表示特征節(jié)點(diǎn)的偏置,ahj表示特征節(jié)點(diǎn)到增強(qiáng)節(jié)點(diǎn)之間的輸入權(quán)值矩陣,bhj表示增強(qiáng)節(jié)點(diǎn)的偏置,?和φ表示可選擇的非線性激活函數(shù),如sigmoid 函數(shù)或sine 函數(shù),Wn+m表示BLS 的輸出權(quán)值矩陣,通過嶺回歸廣義逆直接計算輸出權(quán)值矩陣Wn+m,具體求解為
式中,λ為正則化系數(shù),I為單位矩陣,TN×1∈RN×1為給定的輸出數(shù)據(jù).
為了改進(jìn)寬度學(xué)習(xí)系統(tǒng)的泛化性能,Feng等[18]提出了模糊寬度學(xué)習(xí)系統(tǒng)(Fuzzy BLS,FBLS),利用Takagi-Sugeno 模糊子系統(tǒng)取代原有的特征節(jié)點(diǎn),將Takagi-Sugeno 模糊子系統(tǒng)輸出與增強(qiáng)節(jié)點(diǎn)輸出合并形成FBLS 的輸出矩陣,利用嶺回歸廣義逆直接計算輸出權(quán)值矩陣.FBLS 的模型可表示為
式中,H為FBLS 的輸出矩陣,r與u分別表示模糊子系統(tǒng)和增強(qiáng)節(jié)點(diǎn)的輸出矩陣.aFj為模糊子系統(tǒng)與第j個增強(qiáng)節(jié)點(diǎn)的連接權(quán)值,bFj為j個增強(qiáng)節(jié)點(diǎn)的偏置.為第i個模糊集的系數(shù),φi為第i個模糊子系統(tǒng)中所有模糊規(guī)則的加權(quán)系數(shù).βi為第i個模糊子系統(tǒng)的輸出權(quán)值,βl+j為第j個增強(qiáng)節(jié)點(diǎn)的輸出權(quán)值.
增量型極限學(xué)習(xí)機(jī)(Incremental extreme learning machine,I-ELM)[19-20]通常是從一個規(guī)模比較小的神經(jīng)網(wǎng)絡(luò)開始,根據(jù)誤差大小向網(wǎng)絡(luò)中逐個增加隱含層節(jié)點(diǎn),利用迭代式最小二乘法計算所增加的隱含層節(jié)點(diǎn)的輸出權(quán)值,進(jìn)而計算網(wǎng)絡(luò)訓(xùn)練誤差,直至達(dá)到最大隱含層節(jié)點(diǎn)數(shù)或者網(wǎng)絡(luò)的期望誤差時停止增加隱含層節(jié)點(diǎn).
I-ELM 算法的迭代式可表示為
式中,fn表示包含n個隱含層節(jié)點(diǎn)的I-ELM 模型輸出,gn(x)表示在第n步神經(jīng)網(wǎng)絡(luò)新增加的隱含層節(jié)點(diǎn)輸出,連接第n個新增隱含層節(jié)點(diǎn)與輸出層的權(quán)值可表示為
式中,〈en-1,gn(x)〉表示向量en-1與向量gn(x)的內(nèi)積,‖gn(x)‖表示向量gn(x)的 2 范數(shù).
針對包含多個隱含層節(jié)點(diǎn)的ELM 難以有效處理圖像信號,Tang等[21]提出了多隱含層的ELM 算法(Hierarchical ELM,HELM),通過逐層堆棧的方式形成多隱含層的ELM.給定N組訓(xùn)練樣本數(shù)據(jù),具體模型為[22]
式中,n=1,2,···,L,g0=x,利用基于無監(jiān)督學(xué)習(xí)方法的ELM 自編碼器計算獲取參數(shù)βn,?(·)為隱含層的激勵函數(shù),βC為最后一個隱含層的輸出權(quán)值,即給定第L個隱含層的輸出為gL,并將其作為ELM 的輸入,建立與目標(biāo)輸出y的關(guān)系,通過廣義逆法求解βC.
為了改進(jìn)寬度學(xué)習(xí)系統(tǒng)的收斂速度和泛化性能,在深入研究增量型極限學(xué)習(xí)機(jī)模型和寬度學(xué)習(xí)系統(tǒng)模型的基礎(chǔ)上,提出基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)模型,并采用與增量型極限學(xué)習(xí)機(jī)相同的輸出權(quán)值計算方法,即利用迭代式最小二乘法求解基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)的輸出權(quán)值,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),提高網(wǎng)絡(luò)學(xué)習(xí)效率,基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)的模型為
式中,αn+m表示寬度學(xué)習(xí)系統(tǒng)中第n+m個節(jié)點(diǎn)的壓縮因子[23],gn+m表示第n+m個節(jié)點(diǎn)的輸出矩陣,wn+m表示第n+m個節(jié)點(diǎn)的輸出權(quán)值.
定理1.給定寬度學(xué)習(xí)系統(tǒng)模型yn+m=yn+m-1+wn+m(gn+m-αn+myn+m-1),其中,特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)的個數(shù)分別為n和m,以任意分段連續(xù)的函數(shù)作為特征節(jié)點(diǎn)和增強(qiáng)節(jié)點(diǎn)的激勵函數(shù),隨機(jī)產(chǎn)生輸入到特征節(jié)點(diǎn)之間的輸入權(quán)值、特征節(jié)點(diǎn)的偏置、特征節(jié)點(diǎn)到增強(qiáng)節(jié)點(diǎn)之間的輸入權(quán)值和增強(qiáng)節(jié)點(diǎn)的偏置.B和λi為常數(shù)且滿足λ1=0,0<λi<1/2,0<B<1,‖gi-αi-1yi-1‖<B,i=1,2,···,n+m.對于任意連續(xù)非常值的目標(biāo)函數(shù)f,‖f‖<B,若壓縮因子αn+m和輸出權(quán)值wn+m由下式計算獲取:
證明.根據(jù)假設(shè)條件可知,當(dāng)n=1,m=0 時,可得
基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)與其他寬度學(xué)習(xí)系統(tǒng)的區(qū)別在于在其模型中引入壓縮因子,進(jìn)一步加快網(wǎng)絡(luò)的收斂速度,提高網(wǎng)絡(luò)的泛化性能,訓(xùn)練步驟如下:
給定訓(xùn)練樣本 [x,T]?RN×R,e0=T,y0=0,設(shè)定特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù)分別為n和m.
本文選取均方根誤差(Root mean square error,RMSE)、平均絕對誤差(Mean absolute error,MAE)、相對百分誤差(Mean absolute percentage error,MAPE)和皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient,PCC)作為衡量預(yù)測模型的泛化性能與精度的評價指標(biāo)[25-27].
均方根誤差RMSE 可表示為
式中,yj為預(yù)測模型輸出值,yˉ 為預(yù)測模型輸出值的平均值,為真實值,為真實值的平均值,K為樣本數(shù).均方根誤差RMSE、平均絕對誤差MAE和相對百分誤差MAPE 的大小反映了預(yù)測模型輸出曲線在真實曲線上的波動情況,皮爾遜相關(guān)系數(shù)PCC 反映了預(yù)測模型輸出與真實值的誤差相對于真實值的離散程度.
本節(jié)通過利用UCI 數(shù)據(jù)集中的4 個回歸問題對BLS 與CF-BLS 算法從特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù)方面進(jìn)行比較分析,兩種算法的特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù)的取值范圍均為[10,20,30,40,50,60,70,80,90,100],其增強(qiáng)節(jié)點(diǎn)的激勵函數(shù)均為Sigmoid 函數(shù)作為,即4 個回歸問題的測試數(shù)據(jù)均來源于UCI 數(shù)據(jù)集[28],相關(guān)測試數(shù)據(jù)的信息如表1 所示.所有測試實驗均在MATLAB 2014a 環(huán)境中運(yùn)行.
表1 回歸數(shù)據(jù)集Table 1 Datasets of regression
利用UCI 數(shù)據(jù)集中的4 個回歸問題對BLS 與CF-BLS 算法進(jìn)行對比分析,其結(jié)果如圖1~4 所示.從圖1~4 可知,隨著特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù)的變化,與BLS 算法相比較,4 個回歸問題對CFBLS 算法的RMSE 與PCC 曲線波動較為平穩(wěn),且在包含相同特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù)的情況下,CFBLS 算法精度均優(yōu)于BLS 算法精度.
圖1 Combined Cycle Power Plant 數(shù)據(jù)集對CF-BLS 與BLS 算法的RMSE和PCC 曲線Fig.1 Curves for RMSE and PCC of Combined Cycle Power Plant dataset based on CF-BLS and BLS
圖2 Energy Efficiency 數(shù)據(jù)集對CF-BLS 與BLS 算法的RMSE和PCC 曲線Fig.2 Curves for RMSE and PCC of Energy Efficiency dataset based on CF-BLS and BLS
在Vsphere 高可用虛擬化環(huán)境下,有如下配置的5 臺主機(jī),其上均運(yùn)行Xen:
1)主機(jī)1:Intel Core i7-7800X,主頻3.5 GHz,DDR4 3000 16 GB 內(nèi)存,三星M.2 NVME 256 GB固態(tài)硬盤;
2)主機(jī)2:Intel Core i7-9800X,主頻3.8 GHz,DDR4 2666 16 GB 內(nèi)存,三星M.2 NVME 256 GB固態(tài)硬盤;
3)主機(jī)3:E5-2678V3,主頻2.5 GHz,DDR4 RECC 16 GB 內(nèi)存,三星250 GB 固態(tài)硬盤;
4)主機(jī)4:Intel Core i9-9900K,主頻3.6 GHz,DDR4 3000 16 GB 內(nèi)存,三星500 GB 固態(tài)硬盤;
5)主機(jī)5:AMD Ryzen 7 2700X,主頻3.7 GHz,DDR3 2133 16 GB 內(nèi)存,希捷酷魚系列1TB機(jī)械硬盤.
每一臺主機(jī)上均配置了6 個虛擬機(jī),本文選取了4 個虛擬機(jī)性能特征變量,具體為:特征變量x1表示虛擬機(jī)CPU (VCPU)的數(shù)量,取值為2,4,5,6,8;特征變量x2表示虛擬機(jī)內(nèi)存的大小,取值為600~800 MB;特征變量x3表示主機(jī)CPU 的主頻,主頻3.5 GHz 取值為3.5,主頻3.6 GHz 取值為3.6,主頻3.7 GHz 取值為3.7,主頻2.5 GHz 取值為2.5,主頻3.8 GHz 取值為3.8;特征變量x4表示當(dāng)前虛擬機(jī)的運(yùn)行環(huán)境,若在同一臺物理服務(wù)器上同時運(yùn)行多臺虛擬機(jī)取值為1,若只運(yùn)行一臺虛擬機(jī)則取值為0;特征變量x5表示虛擬機(jī)CPU (VCPU)和物理機(jī)CPU 核心綁定的情況,若VCPU 被綁定到固定的物理機(jī)CPU 核心取值為1,若未綁定則取值為0.
本文選取了SPEC2006 中的429.mcf 作為虛擬機(jī)性能測試的基準(zhǔn)測試程序,并依次在所有虛擬機(jī)上運(yùn)行該測試程序,測試程序在每一臺虛擬機(jī)上運(yùn)行20 次,記錄每次該測試程序在不同的虛擬機(jī)中的運(yùn)行時間,并計算出該測試程序在虛擬機(jī)中運(yùn)行時間的平均值,同時以此運(yùn)行時間的平均值作為衡量虛擬機(jī)性能的指標(biāo),一共記錄了30 組數(shù)據(jù),形成數(shù)據(jù)集其中,yj為測試程序在第j臺虛擬機(jī)中的運(yùn)行時間的平均值;對應(yīng)的第j臺虛擬機(jī)的輸入樣本表達(dá)為xj=[x1j,x2j,x3j,x4j,x5j],其中x1j表示為第j臺的虛擬機(jī)CPU (VCPU)的數(shù)量,x2j表示為第j臺虛擬機(jī)的內(nèi)存大小,x3j表示為第j臺虛擬機(jī)所依附主機(jī)的主頻,x4j表示為第j臺虛擬機(jī)的運(yùn)行環(huán)境,x5j表示第j臺虛擬機(jī)VPU與所依附的物理機(jī)CPU 核心綁定的情況.本文以前20 組數(shù)據(jù)作為訓(xùn)練樣本,后10 組數(shù)據(jù)作為測試樣本.
針對虛擬機(jī)性能預(yù)測問題,在相同增強(qiáng)節(jié)點(diǎn)數(shù)、不同特征節(jié)點(diǎn)數(shù)與不同增強(qiáng)節(jié)點(diǎn)數(shù)、相同特征節(jié)點(diǎn)數(shù)的情況下,對CF-BLS 與BLS 算法從均方根誤差RMSE、平均絕對誤差MAE、相對百分誤差MAPE和皮爾遜相關(guān)系數(shù)PCC 等方面進(jìn)行比較分析.兩種算法均采用雙曲正切函數(shù)作為增強(qiáng)節(jié)點(diǎn)的激勵函數(shù).BLS算法中的收斂系數(shù)和正則化系數(shù)分別為1.8和2-2.
如圖5和圖6 所示,當(dāng)CF-BLS 與BLS 算法包含100 個增強(qiáng)節(jié)點(diǎn),特征節(jié)點(diǎn)數(shù)分別為10,20,30,40,50,60,70,80,90和100 或CF-BLS 與BLS 算法包含100 個特征節(jié)點(diǎn),增強(qiáng)節(jié)點(diǎn)數(shù)分別為10,20,30,40,50,60,70,80,90和100 時,與基于寬度學(xué)習(xí)系統(tǒng)的預(yù)測模型相比,基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)的預(yù)測模型的均方根誤差RMSE、平均絕對誤差MAE、相對百分誤差MAPE和皮爾遜相關(guān)系數(shù)PCC 曲線變化平穩(wěn).在包含相同特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù)的情況下,基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)的預(yù)測模型的均方根誤差RMSE、平均絕對誤差MAE、相對百分誤差MAPE 均小于基于寬度學(xué)習(xí)系統(tǒng)的預(yù)測模型,而基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)的預(yù)測模型的皮爾遜相關(guān)系數(shù)PCC 則大于基于寬度學(xué)習(xí)系統(tǒng)的預(yù)測模型,由此說明CF-BLS 算法的收斂速度與泛化性能均優(yōu)于BLS.
圖3 Forest Fires 數(shù)據(jù)集對CF-BLS 與BLS 算法的RMSE和PCC 曲線Fig.3 Curves for RMSE and PCC of Forest Fires dataset based on CF-BLS and BLS
圖4 Wine Quality 數(shù)據(jù)集對CF-BLS 與BLS 算法的RMSE和PCC 曲線Fig.4 Curves for RMSE and PCC of Wine Quality dataset based on CF-BLS and BLS
圖5 兩種模型的預(yù)測結(jié)果(100 個增強(qiáng)節(jié)點(diǎn))Fig.5 Predicted results of two model (100 enhancement nodes)
圖6 兩種模型的預(yù)測結(jié)果(100 個特征節(jié)點(diǎn))Fig.6 Predicted results of two model (100 feature nodes)
為了進(jìn)一步驗證本文所提算法的有效性,采用多隱含層極限學(xué)習(xí)機(jī)(HELM)[21]、寬度學(xué)習(xí)系統(tǒng)(BLS)、模糊寬度學(xué)習(xí)系統(tǒng)(FBLS)[18]和基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)(CF-BLS)分別對虛擬機(jī)性能數(shù)據(jù)進(jìn)行建模預(yù)測.HELM 算法中包含3 個隱含層,每一個隱含層包含的節(jié)點(diǎn)數(shù)為10,5,100,且其激勵函數(shù)為Sigmoid 函數(shù).BLS 與CF-BLS 算法中設(shè)置相同的特征節(jié)點(diǎn)數(shù)與增強(qiáng)節(jié)點(diǎn)數(shù),即50 個特征節(jié)點(diǎn)與100 個增強(qiáng)節(jié)點(diǎn),兩種算法均采用雙曲正切函數(shù)作為增強(qiáng)節(jié)點(diǎn)的激勵函數(shù).HELM 與BLS 的正則化系數(shù)均為 2-2.在FBLS 算法中,模糊子系統(tǒng)的數(shù)目、每一個模糊子系統(tǒng)中包含的模糊規(guī)則數(shù)和增強(qiáng)節(jié)點(diǎn)數(shù)分別為6,2,20.
從圖7和圖8 可知,基于CF-BLS 的虛擬機(jī)性能預(yù)測模型精度與其他模型相比有較大的改進(jìn).與BLS、FBLS和HELM 相比,基于CF-BLS 的虛擬機(jī)性能預(yù)測模型的均方根誤差分別減小了0.186326,0.204921,0.257529,平均絕對誤差分別減少了0.135497,0.133841,0.178552,相對百分誤差分別減少了7.183355%,6.43041%,9.25083%,皮爾遜相關(guān)系數(shù)分別提高了0.129504,0.183873,0.251694.其原因在于CF-BLS 算法首先根據(jù)每一個節(jié)點(diǎn)的網(wǎng)絡(luò)輸出誤差構(gòu)造合適的壓縮因子,再通過迭代方式求解每一個節(jié)點(diǎn)的輸出權(quán)值,與基于嶺回歸廣義逆的輸出權(quán)值計算方法相比,該算法的計算復(fù)雜度較低,泛化性能較優(yōu).根據(jù)圖3和圖4 可知,BLS 模型、FBLS模型和HELM 模型對虛擬機(jī)性能數(shù)據(jù)進(jìn)行預(yù)測時效果較差,預(yù)測誤差較大,而CF-BLS 模型對虛擬機(jī)性能數(shù)據(jù)進(jìn)行預(yù)測準(zhǔn)確度較高,預(yù)測誤差小,收斂速度快,說明CF-BLS 模型對虛擬機(jī)性能進(jìn)行模擬預(yù)測是行之有效的.
圖7 基于CF-BLS,BLS,FBLS和HELM 的虛擬機(jī)性能預(yù)測曲線Fig.7 Predicted curves for performance of virtual machine based on CF-BLS,BLS,FBLS,and HELM
圖8 CF-BLS,BLS,FBLS和HELM 模型的預(yù)測結(jié)果Fig.8 Predicted results of CF-BLS,BLS,FBLS,and HELM
在分析國內(nèi)外虛擬機(jī)性能預(yù)測和寬度學(xué)習(xí)系統(tǒng)的基礎(chǔ)上,針對寬度學(xué)習(xí)系統(tǒng)因存在冗余節(jié)點(diǎn),致使網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,降低網(wǎng)絡(luò)收斂速度,構(gòu)建基于壓縮因子的寬度學(xué)習(xí)系統(tǒng),提出了基于壓縮因子的寬度學(xué)習(xí)系統(tǒng)的虛擬機(jī)性能預(yù)測方法,實現(xiàn)了對虛擬機(jī)性能的高效精準(zhǔn)預(yù)測.本文所研究的虛擬機(jī)性能預(yù)測適用于云數(shù)據(jù)中心的智能管理.通過采用本文所提算法模型描述虛擬機(jī)性能特征和性能指標(biāo)之間的內(nèi)在關(guān)系,可對具有特定配置的虛擬機(jī)進(jìn)行預(yù)測,實現(xiàn)資源的優(yōu)化配置.然而本文僅針對30 個虛擬機(jī)性能進(jìn)行預(yù)測建模,如何對大規(guī)模的虛擬機(jī)集群性能進(jìn)行預(yù)測建模,仍需進(jìn)一步進(jìn)行實驗驗證.