一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法及系統(tǒng),通過采集服務(wù)器的性能數(shù)據(jù),通過快速傅里葉變換檢測出性能數(shù)據(jù)潛在周期性波形,并分解出多個波形,然后計算每個波形的波段變化量或者占有率,根據(jù)變化量或者占有率的趨勢來預(yù)測每個波段長期的變化趨勢,最后根據(jù)預(yù)測的變化量進行波形合并,得到性能數(shù)據(jù)的長期預(yù)測結(jié)果。本發(fā)明針對服務(wù)器性能數(shù)據(jù)的特點,通過循環(huán)預(yù)測對性能數(shù)據(jù)進行長期預(yù)測,通過對性能數(shù)據(jù)波形進行分解,并根據(jù)分解出來的組成波形進行增量分析與占有率變化分析,從歷史數(shù)據(jù)中找到相似的趨勢來指導(dǎo)預(yù)測,達到準確的性能數(shù)據(jù)預(yù)測,提高服務(wù)器對資源調(diào)度的準確性與可靠性。
【專利說明】一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種性能預(yù)測方法及系統(tǒng),尤其涉及一種基于趨勢分析的分布式系統(tǒng) 性能預(yù)測方法及系統(tǒng)。
【背景技術(shù)】
[0002] 在服務(wù)器的任務(wù)調(diào)度中,調(diào)度程序會采集系統(tǒng)中各種資源的相關(guān)信息以確定資源 是否可用,然后調(diào)度算法根據(jù)資源的可用性、任務(wù)的運行時間等來確定任務(wù)的優(yōu)先級并分 配給它們可用的資源。然而隨著任務(wù)的運行,各種資源的狀態(tài),如CPU負載、剩余內(nèi)存、硬盤 剩余空間等會隨時發(fā)生改變。
[0003] 任務(wù)的運行時間跟服務(wù)器性能數(shù)據(jù)有直接關(guān)聯(lián),服務(wù)器性能對任務(wù)的運行時間有 極大影響,甚至對有些類型的計算任務(wù)來說,其運行時間跟它運行期間的服務(wù)器性能成線 性相關(guān)。因此,對服務(wù)器性能的預(yù)測在資源預(yù)測的領(lǐng)域里尤為重要。
[0004] 大多數(shù)預(yù)測模型都只是單步預(yù)測(one-step-ahead prediction)模型或者短期預(yù) 測(short-term prediction)模型,如NWS系統(tǒng)。這些模型的預(yù)測時間長度僅僅是秒鐘級 或者分鐘級,而分布式系統(tǒng)中大多數(shù)任務(wù)的運行時間是數(shù)小時甚至數(shù)個月之久。相對而言, 這些模型的預(yù)測時間范圍極其短暫,無法滿足調(diào)度程序?qū)Y源信息的需求。調(diào)度程序不能 獲取足夠多的資源信息,就無法做出更好的調(diào)度分配工作,進而影響到整個系統(tǒng)的性能。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法及系統(tǒng),解 決無法對分布式系統(tǒng)的性能數(shù)據(jù)長期預(yù)測的問題。
[0006] 為了解決上述問題,本發(fā)明涉及了一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方 法,包括以下步驟:
[0007] S1 :采用快速傅里葉變換將分布式系統(tǒng)中的服務(wù)器性能數(shù)據(jù)的波形f(t)分解為η 個周期性波形;
[0008] S2 :對各周期性波形進行周期間的差分,獲取變化量,所述變化量為周期性能數(shù)據(jù) 的增量或每個周期性波形在f(t)中的周期占有率變化量。
[0009] S3 :為每個周期性波形此時刻前一周期內(nèi)歷史變化量賦予權(quán)重來對性能數(shù)據(jù)進 行預(yù)測,得出每個周期性波形從此時刻t到未來某時刻t+At時間段內(nèi)的增量或t+At時 刻每個周期性波形的占有率;
[0010] S4:為每個周期性波形此時刻前兩個或者兩個周期以上的變化量中每個周期內(nèi)的 變化量賦予不同的權(quán)重來對性能數(shù)據(jù)進行預(yù)測,得出每個周期性波形從此時刻t到未來某 時刻t+ △ t時間段內(nèi)的增量或t+ △ t時刻每個周期性波形的占有率;
[0011] S5 :通過S3與S4的預(yù)測的結(jié)果進行疊加,并將各周期性波形的預(yù)測結(jié)果進行合成 得到未來某時刻t+At時刻的趨勢波形f (t+At);
[0012] S6 :重復(fù)S3, S4, S5對t+Λ t時刻后的其他未來時刻進行預(yù)測,得出性能數(shù)據(jù)的未 來特定時間段內(nèi)的趨勢波形。
[0013] 較佳地,S1還包括:
[0014] S11 :通過離散傅里葉變換,將f(t)從時域轉(zhuǎn)換成頻域;
[0015] S12:濾掉頻譜中的噪聲,提取出主要的頻率,并記錄下這些頻率所對應(yīng)的時域上 的周期值;
[0016] S13:將選取出來的頻率依次分別通過離散傅里葉逆變換轉(zhuǎn)換回時域,得到η個周 期性波形(t),…,fn(t)以及所述周期性波形的周期?\,…,Τ η。
[0017] 較佳地,S2中所述變化量為周期性能數(shù)據(jù)的增量為Afi(t) = f^O-fia-Ti),i =1,...,n ;
[0018] 每個周期性波形在f(t)中的周期占有率變化量APi(t) = pJO-Pia-Ti),i =
【權(quán)利要求】
1. 一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法,其特征在于,包括以下步驟: 51 :采用快速傅里葉變換將分布式系統(tǒng)中的服務(wù)器性能數(shù)據(jù)的波形f(t)分解為n個周 期性波形; 52 :對各周期性波形進行周期間的差分,獲取變化量,所述變化量為周期性能數(shù)據(jù)的增 量或每個周期性波形在f(t)中的周期占有率變化量; S3:為每個周期性波形此時刻前一周期內(nèi)歷史變化量賦予權(quán)重來對性能數(shù)據(jù)進行預(yù) 測,得出每個周期性波形從此時刻t到未來某時刻t+At時間段內(nèi)的增量或t+At時刻每 個周期性波形的占有率; S4:為每個周期性波形此時刻前兩個或者兩個周期以上的變化量中每個周期內(nèi)的變化 量賦予不同的權(quán)重來對性能數(shù)據(jù)進行預(yù)測,得出每個周期性波形從此時刻t到未來某時刻 t+At時間段內(nèi)的增量或t+At時刻每個周期性波形的占有率; 55 :通過S3與S4的預(yù)測的結(jié)果進行疊加,并將各周期性波形的預(yù)測結(jié)果進行合成得到 未來某時刻t+At時刻的趨勢波形f(t+At); 56 :重復(fù)S3,S4,S5對t+At時刻后的其他未來時刻進行預(yù)測,得出性能數(shù)據(jù)的未來特 定時間段內(nèi)的趨勢波形。
2. 如權(quán)利要求1所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法,其特征在于, Sl還包括: Sll:通過離散傅里葉變換,將f(t)從時域轉(zhuǎn)換成頻域; S12:濾掉頻譜中的噪聲,提取出主要的頻率,并記錄下這些頻率所對應(yīng)的時域上的周 期值; S13 :將選取出來的頻率依次分別通過離散傅里葉逆變換轉(zhuǎn)換回時域,得到n個周期性 波形⑴,…,fn(t)以及所述周期性波形的周期T1,…,Tn。
3. 如權(quán)利要求1所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法,其特征在于, S2中所述變化量為周期性能數(shù)據(jù)的增量為AfJt) = = 1,…,n;每個 周期性波形在f(t)中的周期占有率變化量APi(t) =Pi (O-PiU-Ti),i= 1,…,n,其中
Pi (t)為第i個周期性波形t時刻占有率,PiU-Ti)為第i個周期性波形t-凡 時刻的占有率,Ti為第i個周期性波形的周期。
4. 如權(quán)利要求3所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法,其特征在于, S3 中,預(yù)測fi⑴從t到t+At之間的增量為:A& (t+At) =afi*A& (t+At_Ti) ;t+At 時刻fi⑴的占有率為=Pi (t+At) =Pi (t) +api*APi (t),式中api,afi分別為第i個周期 性波形的單周期預(yù)測自適應(yīng)系數(shù),為〇到I之間的數(shù)值。
5. 如權(quán)利要求4所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法,其特征在于, S4中,預(yù)測fi(t)從t到t+At之間的增量為:
pi(t)從t到 m m 七+厶七之間的增量為帑(,+ 間=1>|/~,,<,+~-/":>且/沙+4〇 = /,,(,:>+2>,~#+^-,7:), j-j ? H 式中ctpj,afj為自適應(yīng)系數(shù),為〇與1之間的數(shù)值,j為At內(nèi)包含的Ti的個數(shù),m為回溯 步數(shù)。
6. 如權(quán)利要求5所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測方法,其特征在 于,S5 中f(t+At) =f(t) +Af(t+At) =ff^ +AfJt+Ai^+^.' +AfJt+At)或
7. -種基于趨勢分析的分布式系統(tǒng)性能預(yù)測系統(tǒng),其特征在于,包括 FFT模塊,采用快速傅里葉變換將分布式系統(tǒng)中的服務(wù)器性能數(shù)據(jù)的趨勢波形f(t)分 解為n個周期性波形; 周期間差分模塊,與FFT模塊的輸出端連接,對各周期性波形進行周期間的差分,獲取 變化量,所述變化量為周期性能數(shù)據(jù)的增量或每個周期性波形在f(t)中的周期占有率變 化量; 單周期預(yù)測模塊,與周期間差分模塊的輸出端連接,為每個周期性波形此時刻前一周 期內(nèi)歷史變化量賦予權(quán)重來對性能數(shù)據(jù)進行預(yù)測,得出每個周期性波形從此時刻t到未來 某時刻t+△t時間段內(nèi)的增量或t+△t時刻每個周期性波形的占有率; 多周期預(yù)測模塊,與周期間差分模塊的輸出端連接,為每個周期性波形此時刻前兩個 或者兩個周期以上的變化量中每個周期內(nèi)的變化量賦予不同的權(quán)重來對性能數(shù)據(jù)進行預(yù) 測,得出每個周期性波形從此時刻t到未來某時刻t+△t時間段內(nèi)的增量或t+△t時刻每 個周期性波形的占有率; 預(yù)測合成模塊,通過單周期預(yù)測模塊與多周期預(yù)測模塊的預(yù)測的結(jié)果進行疊加,并將 各周期性波形的預(yù)測結(jié)果進行合成得到未來某時刻t+△t時刻的趨勢波形f(t+△t); 長期預(yù)測模塊,重復(fù)使用單周期預(yù)測模塊,多周期預(yù)測模塊以及預(yù)測合成模塊對t+At時刻后的其他未來時刻進行預(yù)測,得出性能數(shù)據(jù)的未來特定時間段內(nèi)的趨勢波形。
8. 如權(quán)利要求6所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測系統(tǒng),其特征在于, FFT模塊中還包括: 頻率模塊,應(yīng)用離散傅里葉變換,將f(t)從時域轉(zhuǎn)換成頻域; 過濾模塊,與離散傅里葉變換模塊輸出端相連,濾掉頻譜中的噪聲,提取出主要的頻 率,并記錄下這些頻率所對應(yīng)的時域上的周期值; 獲取組成波模塊,將選取出來的頻率依次分別應(yīng)用離散傅里葉逆變換轉(zhuǎn)換回時域,得 到n個周期性波形(t),…,fn(t)以及所述周期性波形的周期T1,…,Tn。
9. 如權(quán)利要求6所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測系統(tǒng),其特征在于, S2中所述變化量為周期性能數(shù)據(jù)的增量為AfJt) = = 1,…,n;每個 周期性波形在f(t)中的周期占有率變化量APi(t) =Pi (O-PiU-Ti),i= 1,…,n,其中
Pi (t)為第i個周期性波形t時刻占有率,PiU-Ti)為第i個周期性波形t-凡 時刻的占有率,Ti為第i個周期性波形的周期。
10. 如權(quán)利要求6所述的一種基于趨勢分析的分布式系統(tǒng)性能預(yù)測系統(tǒng),其特征在于, 單周期預(yù)測模塊中,預(yù)測fi(t)從t到t+At之間的增量為: Afj(t+At) =afi*Afj(t+At-Ti); 七+八1:時刻竹(1:)的占有率為奶(^+八1:)=口1(1:) + €[1^*八口1(1:),式中€[1^,€^分別為 第i個周期性波形的單周期預(yù)測自適應(yīng)系數(shù),為O到1之間的數(shù)值; 多周期預(yù)測模塊中,預(yù)測fi(t)從t到t+At之間的增量為:
【文檔編號】G06F11/34GK104268063SQ201410321062
【公開日】2015年1月7日 申請日期:2014年7月7日 優(yōu)先權(quán)日:2014年7月7日
【發(fā)明者】曹健, 楊定裕, 梁建煌, 顧驊, 沈琪駿, 王烺 申請人:上海交通大學(xué)