本發(fā)明涉及互聯(lián)網(wǎng)云計(jì)算領(lǐng)域的應(yīng)用,具體涉及一種基于預(yù)測(cè)的多目標(biāo)虛擬機(jī)整合方法。
背景技術(shù):
1、虛擬機(jī)(virtual?machine,vm)整合旨在在最少數(shù)量的物理機(jī)(physicalmachine,pm)上運(yùn)行vm。vm整合可以顯著降低應(yīng)用程序中的能耗、提高應(yīng)用的服務(wù)質(zhì)量(quality?of?service,qos)和系統(tǒng)的資源利用率。然而,云上的負(fù)載是不穩(wěn)定的、高度可變的,如果以負(fù)載的當(dāng)前狀態(tài)進(jìn)行vm整合,整合結(jié)果可能很快就失效?;诶寐暑A(yù)測(cè)的vm整合使整合決策具有時(shí)效性,從而更好地優(yōu)化系統(tǒng)和應(yīng)用的性能目標(biāo)。另一方面,數(shù)據(jù)中心的服務(wù)提供商(service?provider,sp)和不同用戶可能有著不同的利益,因此在進(jìn)行vm整合時(shí),需要同時(shí)對(duì)多個(gè)不同的目標(biāo)進(jìn)行優(yōu)化。一些研究方法試圖預(yù)測(cè)云環(huán)境的資源需求。[1]使用灰色(gray)模型預(yù)測(cè)主機(jī)的cpu和內(nèi)存使用,灰色模型不需要大量的訓(xùn)練數(shù)據(jù)。然而,它無法保證對(duì)頻繁波動(dòng)的工作負(fù)載進(jìn)行準(zhǔn)確預(yù)測(cè)。[2]利用基于灰色馬爾可夫(gray-markov,g-m)的模型預(yù)測(cè)資源的未來使用。[3]使用離散時(shí)間馬爾可夫鏈(discrete-timemarkov?chain,dtmc)模型來預(yù)測(cè)未來的資源使用情況。它提出了一種多目標(biāo)vm放置方法,通過利用基于ε-優(yōu)勢(shì)的多目標(biāo)人工蜂群(ε-moabc)算法來搜索vm放置問題的最優(yōu)解。還有一些研究使用機(jī)器學(xué)習(xí)(machine?learning,ml)技術(shù)來預(yù)測(cè)資源使用情況。[4]提出了云數(shù)據(jù)中心中的主機(jī)狀態(tài)樸素貝葉斯預(yù)測(cè)(host?states?naive?bayesian?prediction,hsnbp)模型。hsnbp模型可以使用樸素貝葉斯(naive?bayesian,nb)分類器預(yù)測(cè)過載主機(jī)。[5]提出了一種用于預(yù)測(cè)工作負(fù)載的arima模型。由于實(shí)現(xiàn)簡單,lr被用于在許多研究中估計(jì)未來的資源使用情況。[6-9]采用lr方法預(yù)測(cè)cpu使用率。然而,lr技術(shù)只考慮時(shí)間序列數(shù)據(jù)中的線性特征。資源需求數(shù)據(jù)與時(shí)間之間的關(guān)系更符合曲線關(guān)系。在[10]中,作者用k近鄰回歸(k-nearest?neighbor?regressionk,knnr)代替了lr。為了避免不必要的vm遷移,[11]提出了一種基于貝葉斯網(wǎng)絡(luò)的實(shí)時(shí)vm遷移估計(jì)模型。[12]提出了一種自導(dǎo)引的負(fù)載預(yù)測(cè)方法(sdwf)。sdwf利用多層神經(jīng)網(wǎng)絡(luò)(multilayer?neural?network,mnn)來學(xué)習(xí)歷史數(shù)據(jù)并預(yù)測(cè)下一個(gè)工作負(fù)載值。[13]提出了一種多資源前饋神經(jīng)網(wǎng)絡(luò)(multi-resource?feed-forward?neural?network,mr-fnn),用于同時(shí)預(yù)測(cè)多種資源需求。mr-fnn使用差分進(jìn)化算法來增強(qiáng)其學(xué)習(xí)和預(yù)測(cè)能力。[14]采用svr(support?vector?regression)來預(yù)測(cè)多屬性主機(jī)資源的未來使用情況。它應(yīng)用序列最小優(yōu)化(sequential?minimal?optimization,smo)算法來訓(xùn)練svr模型。[15]提出了一種基于強(qiáng)化學(xué)習(xí)(reinforcement?learning,rl)機(jī)制和模糊邏輯(fuzzy?logic,fl)的云資源分配框架;
2、本發(fā)明提出了一種基于預(yù)測(cè)的多目標(biāo)vm整合方法,該方法使用一種auto-regressive?integrated?moving?average(arima)和svr混合的方法對(duì)vm未來的資源使用情況進(jìn)行預(yù)測(cè),然后基于預(yù)測(cè)值進(jìn)行vm整合。該方法能夠準(zhǔn)確預(yù)測(cè)vm未來的資源使用,還能同時(shí)最小化能耗、性能下降、遷移成本和資源浪費(fèi),這使得本發(fā)明提出的vm整合方法具有良好時(shí)效性和實(shí)際應(yīng)用價(jià)值;
3、參考文獻(xiàn)
4、[1]j.jheng,f.tseng,h.chao,li-der?chou,“a?novel?vm?workload?predictionusing?greyforecasting?model?in?cloud?data?center”,presented?at?the2014int.conf.inf.net.,phuket,
5、th,feb.10-12,2014.
6、[2]sun-yuan?hsieh?et?al.,“utilization-prediction-aware?virtualmachine?consolidation?approachfor?energy-efficient?cloud?data?centers”,jparallel?distr?com,vol.139,pp.99-109,
7、may.2020.doi:10.1016/j.jpdc.2019.12.014.
8、[3]monireh?h.sayadnavard?et?al.,“a?multi-objective?approach?forenergy-efficientand?reliabledynamic?vm?consolidation?in?cloud?data?centers”,eng?sci?technol,vol.26,feb.2021.
9、doi:10.1016/j.jestch.2021.04.014.
10、[4]li?l,dong?j,zuo?d,liu?j,“sla-aware?and?energy-efficient?vmconsolidation?in?clouddata?centers?using?host?states?naive?bayesianprediction?model”,presented?at?the?2018
11、ieee.int.conf.ubiq.comp.,melbourne,vc,aus,dec.11-13,2018.
12、[5]calheiros?r?n?et?al.,“workload?prediction?using?arima?model?andits?impact?on?cloudapplications'qos”,ieee?t?cloud?comput,vol.3,no.4,pp.449-458?aug.2015.
13、doi:10.1109/tcc.2014.2350475.
14、[6]f.farahnakian,p.liljeberg,j.plosila,“l(fā)ircup:linear?regressionbased?cpu?usage?predictionalgorithm?for?live?migration?ofvirtual?machines?indata?centers”,presented?at?the?2013?euro.
15、conf.soft.eng.adv.appl.,santander,cantabria,es,sep.4-6,2013.
16、[7]farahnakian,f.et?al.,“using?ant?colony?system?to?consolidate?vmsfor?green?cloudcomputing”,ieee?t?service?comput,pp.187-198,oct.pt.2.2015.doi:
17、10.1109/tsc.2014.2382555.
18、[8]hieu?et?al.,“virtual?machine?consolidation?with?usage?predictionfor?energy-efficient?clouddata?centers”,presented?at?the?2015?ieee?8thint.conf.clou.comp.,,new?york,usa,
19、jun.27-jul.2,2015.
20、[9]s.b.shaw,j.p.kumar,a.k.singh,“energy-performance?trade-offthroughrestricted?virtualmachine?consolidation?in?cloud?data?center”,presented?atthe
21、2017?int.conf.inte.comp.cont.,coimbatore,ind,jun.23-24,2017.
22、[10]f.farahnakian?et?al.,“energy?aware?consolidation?algorithm?basedon?k-nearest?neighborregression?for?cloud?data?centers”,presented?at?the2013ieee/acm?int.conf.util.clou.
23、comp.,dresden,gre,dec.9-12,2013.
24、[11]li,z.,yan,c.,yu,x.,yu,n.,“bayesian?network-based?virtual?machinesconsolidationmethod”,future?gener?comp?sy,vol.69,pp.75-87,apr.2017.doi:
25、10.1016/j.future.2016.12.008.
26、[12]jitendra?kumar,ashutosh?kumar?singh,rajkumar?buyya,“self?directedlearning?basedworkload?forecasting?model?for?cloud?resource?management”,inform?sciences,vol.
27、543,pp.345-366,jan.2021.doi:10.1016/j.ins.2020.07.012.
28、[13]deepika?saxena,ashutosh?kumar?singh,“a?proactive?autoscaling?andenergy-efficientvm?allocation?framework?using?online?multi-resource?neuralnetwork?for?cloud?data?center”,
29、neurocomputing,vol.426,pp.248-264,feb.2021.doi:10.1016/j.neucom.2020.08.076.
30、[14]l.abdullah?et?al.,“predicting?multi-attribute?host?resourceutilization?using?supportvector?regression?technique”,ieee?access,vol.8,pp.66048-66067,mar.2020.doi:
31、10.1109/access.2020.2984056.
32、[15]thandar?thein?et?al.,“reinforcement?learning?based?methodologyfor?energy-efficientresource?allocation?in?cloud?data?centers”,j?king?sauduniv-com,vol.32,no.10,pp.
33、1127-1139,dec.2020.doi:10.1016/j.jksuci.2018.11.005.
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明能夠準(zhǔn)確預(yù)測(cè)vm的未來資源使用情況,并使用第二代非優(yōu)勢(shì)排序遺傳(non-dominated?sorting?genetic?ii?algorithm,nsga-ii)算法對(duì)四個(gè)目標(biāo)同時(shí)進(jìn)行優(yōu)化?;陬A(yù)測(cè)的多目標(biāo)優(yōu)化的結(jié)果對(duì)虛擬機(jī)整合做出決策,使得虛擬機(jī)整合具有良好的時(shí)效性和實(shí)際應(yīng)用價(jià)值;
2、為了實(shí)現(xiàn)上述目的,本發(fā)明通過以下技術(shù)方案予以實(shí)現(xiàn):
3、一種基于預(yù)測(cè)的多目標(biāo)的虛擬機(jī)整合方法,包含以下步驟:
4、步驟1)建立能耗模型、性能模型、遷移模型和資源浪費(fèi)模型;
5、步驟2)對(duì)下一時(shí)刻vm的資源使用進(jìn)行預(yù)測(cè),包含以下子步驟:
6、2.1、將vm資源使用的數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集;
7、2.2、根據(jù)訓(xùn)練集,確定arima模型的p,d和q;
8、2.3、使用規(guī)劃方法,確定arima模型的α和β參數(shù);
9、2.4、為svr模型進(jìn)行數(shù)據(jù)預(yù)處理;
10、2.5、應(yīng)用k-cv策略為svr的核函數(shù)確定最優(yōu)參數(shù);
11、2.6、使用smo算法訓(xùn)練svr,即確定svr模型的參數(shù)λ和b;
12、2.7、使用測(cè)試集測(cè)試svr模型;
13、2.8、利用步驟2.2和2.3得到的arima模型預(yù)測(cè)下一時(shí)刻的vm資源使用值;
14、2.9、利用arima模型預(yù)測(cè)歷史上若干個(gè)vm資源使用值,以次來計(jì)算一組誤差歷史;
15、2.10、基于步驟2.9得到的誤差歷史,利用2.6得到的svr模型,預(yù)測(cè)下一時(shí)刻的誤差;
16、2.11、利用步驟2.10得到的誤差預(yù)測(cè)值修正步驟2.8得到的預(yù)測(cè)值,得到下一時(shí)刻vm資源使用的最終預(yù)測(cè)值;
17、步驟3)利用步驟2)獲得的vm的資源使用預(yù)測(cè)值進(jìn)行主機(jī)的過載/欠載檢測(cè),選出需要遷移的vm;
18、步驟4)利用步驟2)獲得的vm的資源使用預(yù)測(cè)值計(jì)算步驟1)建立的模型所對(duì)應(yīng)的目標(biāo)函數(shù)的值,利用第二代非優(yōu)勢(shì)排序遺傳算法(non-dominated?sorting?geneticalgorithm?2,nsga2)同對(duì)能耗、性能、遷移成本和資源浪費(fèi)四個(gè)目標(biāo)進(jìn)行優(yōu)化,獲得vm整合問題的解,即vm至pm的最佳映射;
19、步驟5)利用步驟4)獲得的最優(yōu)解,實(shí)施vm整合;
20、進(jìn)一步的,所述步驟2.2、2.3和2.9中的arima模型的表示為:yt=α0+β1yt-1+β2yt-2+…+βpyt-p+∈t-α1∈t-1-α2∈t-2-…-αq∈t-q,其中,βi(i=1,2,…,p)是滯后p時(shí)的ar系數(shù),αi(i=0,1,…,q)是滯后q時(shí)的ma系數(shù),∈t是周期t的預(yù)測(cè)誤差,yt是實(shí)際值,整數(shù)p和q是模型的階數(shù);
21、進(jìn)一步的,所述步驟2.4-2.7中的svr模型表示為:其中,和αi是拉格朗日乘子,k(x,xi)是核函數(shù),b是一個(gè)偏差;
22、進(jìn)一步的,所述步驟2.6中的smo表示為:
23、
24、其中輸入t是訓(xùn)練數(shù)據(jù),輸出λ和b是svr模型函數(shù)的參數(shù)。算法第6行的eq.(1)表示為:其中輸入t是訓(xùn)練數(shù)據(jù),輸出λ和b是svr模型函數(shù)的參數(shù)。算法第6行的eq.(1)表示為:其中,表示λ2的舊值,e1和e2是誤差,表示為:ei=f(xi)-yi,i=1,2,…,m.k11,k22和k12用公式kij=φ(xi)tφ(xj)=k(xi,xj)表示,這里,用于將n維向量x映射為m維向量。第7行的eq.(2)表示為:其中,是λ2未剪切的原始解,h和l是兩個(gè)常數(shù)。第8行的eq.(3)表示為:其中和是λ1和λ2的舊值,是λ2的新值。第9行的eq.(4)表示為:其中,∈是可以容忍的誤差。eq.(5)表示為:表示為:表示為:表示為:表示為:
25、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
26、1、本發(fā)明采用了arima和svr混合的模型作為預(yù)測(cè)模型,用vm資源需求的歷史數(shù)據(jù)訓(xùn)練arima,用誤差歷史數(shù)據(jù)訓(xùn)練svr,經(jīng)過svr對(duì)arima的修正,該預(yù)測(cè)模型能準(zhǔn)確預(yù)測(cè)vm資源的未來需求,從而為主機(jī)過載/錢載的檢測(cè)及vm的整合提供準(zhǔn)確的預(yù)測(cè)值;
27、2、本發(fā)明使用nsga-ii算法在使用選擇算子、交叉算子和變異算子的基礎(chǔ)上,使用非優(yōu)勢(shì)排序和擁擠度計(jì)算這兩個(gè)操作生成子代。這使得本發(fā)明與其它只能執(zhí)行單目標(biāo)優(yōu)化的算法相比,解決了無法在多個(gè)目標(biāo)上比較解的好壞的問題,而且搜索得到解的多樣性和收斂性更好;
28、3、本發(fā)明基于vm資源的預(yù)測(cè)值同時(shí)對(duì)能耗、性能、遷移成本和資源浪費(fèi)四個(gè)目標(biāo)進(jìn)行優(yōu)化,從而使得本發(fā)明既能夠降低數(shù)據(jù)中心的能耗,又能夠提高性能,而且使得vm遷移數(shù)量和資源浪費(fèi)較少,在實(shí)際應(yīng)用中更具有應(yīng)用價(jià)值。