王澤宇,馬 鵬
(武警工程大學(xué),西安 710086)
McCullough等利用隨機服務(wù)系統(tǒng)理論來實現(xiàn)對虛擬機資源占有的調(diào)控以達到目標預(yù)期性能[1]。張蓓蓓等人提出了基于BP神經(jīng)網(wǎng)絡(luò)對虛擬機的負載部署預(yù)測,得到較高的收斂速度和擬合精度[2]。本文基于BP神經(jīng)網(wǎng)絡(luò)對特征值進行建模,建立多輸入單輸出的神經(jīng)網(wǎng)絡(luò)模型對性能進行預(yù)測并與實際數(shù)據(jù)進行對比觀測模型準確性。
假設(shè):①模型符合線性模型;②自變量:虛擬機內(nèi)存、VCPU個數(shù)、調(diào)度算法、核心綁定、虛擬機個數(shù)、負載類型、CPU周期權(quán)重用來表示;③變量前的參數(shù)用表示,得到為線性模型。根據(jù)可加性得到:亦為線性模型,對進行一元線性擬合建模,選取一組測試數(shù)據(jù)如表1所示:
表1 測試數(shù)據(jù)表
得到測試結(jié)果數(shù)據(jù)并不呈線性分布,甚至還超出了上下邊界,故不為線性模型,不為線性模型,不適合用線性模型求解。
設(shè)計的模型能夠?qū)崿F(xiàn)對已知配置性能的預(yù)測,能根據(jù)由訓(xùn)練集得出的經(jīng)驗來評估預(yù)測精度與誤差。設(shè)定訓(xùn)練次數(shù)為1萬次;學(xué)習(xí)速率為0.1;誤差精度是10(-6),得到以下數(shù)據(jù):
圖1 學(xué)習(xí)次數(shù)圖
圖2 訓(xùn)練效果圖
圖3 訓(xùn)練集擬合度
圖4 測試集擬合度
圖1表示隨著學(xué)習(xí)次數(shù)的增加模型的訓(xùn)練精度越來越接近我們設(shè)定的10(-6);圖2表示數(shù)據(jù)點越接近Y=X表示訓(xùn)練精度越高;圖3表示與實際虛擬機性能的擬合度;圖4表示與實際數(shù)據(jù)的擬合度。綜上可發(fā)現(xiàn)模型對于訓(xùn)練集擬合效果很高,但對測試集效果出現(xiàn)過擬合現(xiàn)象,通過改進得到:
圖5 學(xué)習(xí)次數(shù)圖
圖6訓(xùn)練效果圖
圖7 訓(xùn)練集擬合度
圖8 測試集擬合度
通過對圖5-8的分析,不難看出改進之后的模型對測試集的擬合效果有了顯著的增強,達到了預(yù)期的精度要求。
表2列出目標配置、實際與預(yù)測應(yīng)用性能的對比:
表2 性能對比表
通過對樣本數(shù)據(jù)分析提取出了特征參數(shù),設(shè)計對不同虛擬機都有良好的適應(yīng)性。對過擬合現(xiàn)象做出了明確的解釋與修正,為后續(xù)工作者提供了有力的理論支持。我們雖實現(xiàn)了對物理機資源池的占用,但也有不足:數(shù)據(jù)均是在同一臺物理上采集的,對其他物理機的適應(yīng)性存在一些差異,可能會影響模型的預(yù)測精度,此外模型只能以程序的形式調(diào)用。