一種基于非監(jiān)督特征學(xué)習(xí)的主機(jī)負(fù)載預(yù)測方法
【專利摘要】本發(fā)明是一種針對云計算中心主機(jī)的負(fù)載預(yù)測方法,屬于云計算領(lǐng)域。本發(fā)明解決的問題是:針對云計算環(huán)境中主機(jī)負(fù)載的變化更加劇烈,噪聲更大的問題,提出了一種將未來一段時間內(nèi)的負(fù)載分割成若干連續(xù)的時間段,對這些時間段內(nèi)的平均負(fù)載進(jìn)行預(yù)測。本發(fā)明的主要算法的核心部分在于利用非監(jiān)督的特征學(xué)習(xí)的方法對歷史數(shù)據(jù)進(jìn)行特征提取,將自動學(xué)習(xí)到的特征作為分類器的輸入,分類器的分類結(jié)果作為預(yù)測的負(fù)載。本發(fā)明將傳統(tǒng)的負(fù)載預(yù)測問題從回歸問題轉(zhuǎn)化成分類問題,通過與目前已有的一些方法相比較,本發(fā)明提出的方法能夠取得更加精確的預(yù)測結(jié)果。
【專利說明】一種基于非監(jiān)督特征學(xué)習(xí)的主機(jī)負(fù)載預(yù)測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要針對云計算環(huán)境中的主機(jī)負(fù)載變化劇烈、噪聲大等特點,提出了一種主機(jī)負(fù)載預(yù)測的方法。
【背景技術(shù)】
[0002]隨著云計算技術(shù)的迅速發(fā)展,基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)成為其重要的服務(wù)模式,用戶可以從IaaS提供商處按需租用包括服務(wù)器、網(wǎng)絡(luò)、存儲等資源。在IaaS環(huán)境中,通常實施虛擬機(jī)(Virtual Machine, VM)遷移整合操作來滿足負(fù)載均衡、自動伸縮、綠色節(jié)能、保證服務(wù)質(zhì)量等方面的需要。
[0003]在云計算數(shù)據(jù)中心,為了能夠及時的應(yīng)對各種復(fù)雜情況,我們需要對數(shù)據(jù)中心中各種資源的情況進(jìn)行預(yù)測而不是等到異常發(fā)生時再采取相應(yīng)的措施。在云計算數(shù)據(jù)中心,最重要的幾種資源分別是CPU資源、Memory資源以及disk資源。在這些資源中,CPU資源的使用情況反應(yīng)了主機(jī)上應(yīng)用程序的運行情況,因此在進(jìn)行虛擬機(jī)調(diào)度時,CPU資源是首先要考慮的資源。當(dāng)某臺主機(jī)的負(fù)載超過一定值時,運行在該主機(jī)上的虛擬機(jī)的性能必然受到影響,因此此時選擇將此主機(jī)上的一些虛擬機(jī)遷移到其他空閑主機(jī)上,從而減輕主機(jī)的負(fù)載;當(dāng)某些主機(jī)上的負(fù)載低于一定值時,說明這些主機(jī)處于空閑狀態(tài),可以將這些主機(jī)上的虛擬機(jī)合并到其他主機(jī)上,然后關(guān)閉那些不用的主機(jī),從而達(dá)到降低能耗的目的。
[0004]目前存在的一些主機(jī)負(fù)載預(yù)測方法主要針對網(wǎng)格(Grid)計算中主機(jī)的負(fù)載情況,但是在云計算環(huán)境中主機(jī)的類型各不相同,主機(jī)上運行的任務(wù)也各部相同,這就導(dǎo)致云環(huán)境中主機(jī)負(fù)載變化情況更加復(fù)雜,因此之前的一些方法并不能很好的對云環(huán)境中主機(jī)的負(fù)載情況進(jìn)行預(yù)測。
[0005]為了解決現(xiàn)有技術(shù)中存在的問題,本文提出了一種基于非監(jiān)督特征學(xué)習(xí)(Unsupervised Feature Learning)的方法先自動對負(fù)載數(shù)據(jù)特征提取,將學(xué)習(xí)到的特征輸入到softmax分類器中,分類的結(jié)果就是預(yù)測結(jié)果。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的:針對現(xiàn)在云計算中心將各種類型的主機(jī)進(jìn)行集中化的管理,統(tǒng)一提供給各種類型的用戶使用,導(dǎo)致云計算環(huán)境下,各臺主機(jī)上運行的任務(wù)各不相同,其負(fù)載的變化情況更加復(fù)雜的情況,提出了一種能夠精確預(yù)測未來一段時間內(nèi)負(fù)載變化情況的方法,為下一步的虛擬機(jī)調(diào)度,資源綜合管理奠定了基礎(chǔ)。
[0007]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出了一種新的主機(jī)負(fù)載預(yù)測方法,能夠有效的對未來一段時間內(nèi)的主機(jī)負(fù)載進(jìn)行預(yù)測,整個系統(tǒng)由以下兩個主要模塊組成:
[0008]模塊一、利用非監(jiān)督特征學(xué)習(xí)(Unsupervised Feature Learning)的方法對歷史窗口中的數(shù)據(jù)進(jìn)行特征提取,得到一種對輸入數(shù)據(jù)更高層的表達(dá)。
[0009]模塊二、將要需要預(yù)測的時間段分成若干連續(xù)相等的小時間段,預(yù)測這些時間段中的平均負(fù)載。預(yù)測的主要方法是將模塊一中學(xué)到特征作為模塊二中softmax分類器的輸入,分類器的輸出結(jié)果即預(yù)測的負(fù)載。
[0010]對于模塊一,非監(jiān)督特征學(xué)習(xí)是一種對輸入數(shù)據(jù)高層特征提取的方法,已經(jīng)成功的在手寫數(shù)字識別,自然語言處理等領(lǐng)域取得了成功的應(yīng)用。在本模塊中,我們采用的非監(jiān)督特征學(xué)習(xí)的方法是一個稀疏自編碼神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入是一個未標(biāo)記的數(shù)據(jù)集合{, x(u2),..., xiM)廠其中每個表示一個歷史窗口中的數(shù)據(jù)。整個網(wǎng)絡(luò)的架構(gòu)如圖1所
示,其中輸入數(shù)據(jù)為X,重構(gòu)的結(jié)果^
【權(quán)利要求】
1.一種基于非監(jiān)督學(xué)習(xí)的主機(jī)負(fù)載預(yù)測的方法及系統(tǒng),其特征是包含以下主要步驟: 學(xué)習(xí)過程: 步驟101、數(shù)據(jù)采集。采集前η天所有主機(jī)負(fù)載的歷史數(shù)據(jù)。利用主機(jī)上的CPU檢測工具每隔5分鐘獲取CPU的負(fù)載數(shù)據(jù)。將采集到其他主機(jī)的歷史數(shù)據(jù)作為Unlabeled Set (無標(biāo)簽數(shù)據(jù)集),要預(yù)測的主機(jī)數(shù)據(jù)作為Labeled Set (有標(biāo)簽數(shù)據(jù)集)。 步驟102、非監(jiān)督特征學(xué)習(xí)。將無標(biāo)簽數(shù)據(jù)輸入到稀疏自編碼網(wǎng)絡(luò)中進(jìn)行特征學(xué)習(xí),利用自學(xué)習(xí)網(wǎng)絡(luò)提取輸入數(shù)據(jù)的高層表達(dá)。通過最小化代價函數(shù),得到的權(quán)重系數(shù)和偏置項的值。 步驟103、利用softmax分類器學(xué)習(xí)。利用從非監(jiān)督特征學(xué)習(xí)的得到的權(quán)重系數(shù)和偏置項的值可以計算訓(xùn)練集的輸入特征,將這些特征作為softmax分類器的輸入,進(jìn)行訓(xùn)練得到softmax分類器的參數(shù)。 預(yù)測過程: 步驟201、數(shù)據(jù)采集。利用主機(jī)上的CPU檢測工具每隔5分鐘獲取當(dāng)前主機(jī)的負(fù)載數(shù)據(jù)。 步驟202、主機(jī)負(fù)載預(yù)測。將采集到的數(shù)據(jù)輸入稀疏自編碼網(wǎng)絡(luò)中,自編碼網(wǎng)絡(luò)的輸出作為softmax分類器的輸入,最終得到的分類結(jié)果就是我們預(yù)測的負(fù)載值。
2.權(quán)利要求1所述方法的步驟1-2的特征在于,我們采用的非監(jiān)督特征學(xué)習(xí)的方法是一個稀疏自 編碼神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入是一個未標(biāo)記的數(shù)據(jù)集合fx(u'),x(u2),..., 4")),其中每個表示一個歷史窗口中的數(shù)據(jù)。對于輸入數(shù)據(jù)為X,重構(gòu)的結(jié)果^/(妒2)/(^\ + 6(1)) + 6(2)丨,其中^),b(i)為第i層權(quán)重系數(shù)和偏置項,f為激活函數(shù),其具體形式為V 、,為了消除中間層單元的數(shù)量大
I + exp(-z)于輸入層數(shù)量的限制,在中間層加入了稀疏性的限制。在加入了稀疏性的限制后,優(yōu)化問題變?yōu)橥ㄟ^最小化代價函數(shù)J (W,b),求解W和b,J (W,b)的具體形式為:職,6)=丄 X (去 Wfiv, _ /) )||2)+?坌玄 fy〉/) y + ^ ^kpII Pi )。
n /=1 ^^ /=1 /=] 7 = 1J=I
3.權(quán)利要求1所述方法的步驟1-3的特征在于,我們將負(fù)載值分成r個等級(對應(yīng)r個類別),每個等級代表一個CPU使用率,分類器的任務(wù)就是根據(jù)輸入特征預(yù)測其負(fù)載屬于哪一個等級。為了預(yù)測未來一段時間內(nèi)的負(fù)載,我們將要預(yù)測的時間段分割成若干連續(xù)并且相等的小時間段,通過預(yù)測這些小的時間段的負(fù)載來描述整個這段時間內(nèi)負(fù)載的變化情況。在進(jìn)行了上述定義后,我們可以運用softmax分類器進(jìn)行負(fù)載預(yù)測。假設(shè)我們有一個大小為m的有標(biāo)記的訓(xùn)練集,,其中彳〉為輸入特征,為類標(biāo),對應(yīng)I,2,..., r。對于每一個測試輸入特征X, softmax分類器計算在該輸入特征下其屬于每個類別的概率,即P(y = j |χ),對于每個j = 1,2,..., r。其中,P(y0) = j\x(j);9)= er ^為分類器的參數(shù)。因此softmax分類器的代價函數(shù)為:
2^t=\ ^
4.一種根據(jù)權(quán)利要求1中所述方法實現(xiàn)的針對云環(huán)境中主機(jī)負(fù)載預(yù)測的系統(tǒng),其特征在于在能夠?qū)μ摂M機(jī)的負(fù)載進(jìn)行預(yù)測從而在主機(jī)過載前進(jìn)行虛擬機(jī)的調(diào)度,以保證服務(wù)水平協(xié)議(Service Level Agreement, SLA),該系統(tǒng)是權(quán)利要求1中所述方法的具體實現(xiàn)。
5.根據(jù)權(quán)利要求4中所述的系統(tǒng),其特征在于包括以下模塊。 (1)數(shù)據(jù)采集模塊,用于采集主機(jī)負(fù)載的歷史情況。 (2)非監(jiān)督特征學(xué)習(xí)模塊。利用非監(jiān)督特征學(xué)習(xí)的方法從無標(biāo)簽數(shù)據(jù)中學(xué)習(xí)特征。 (3)softmax分類模塊。將訓(xùn)練集數(shù)據(jù)輸入學(xué)習(xí)到的稀疏自編碼網(wǎng)絡(luò)中,得到訓(xùn)練數(shù)據(jù)的特征,將這些特征作為softmax分類器的輸入進(jìn)行訓(xùn)練,得到分類器的參數(shù)。 (4)預(yù)測模塊。將當(dāng)前主機(jī)的數(shù)據(jù)輸入學(xué)習(xí)到的稀疏自編碼網(wǎng)絡(luò),網(wǎng)絡(luò)的輸出作為softmax分類器的輸入,最終 得到負(fù)載預(yù)測結(jié)果。
【文檔編號】G06N3/00GK103678004SQ201310700225
【公開日】2014年3月26日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
【發(fā)明者】周余, 楊強(qiáng)鵬, 于耀, 彭成磊, 都思丹, 王自強(qiáng), 趙賀, 湯文杰, 馬雁楠 申請人:南京大學(xué)