欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種三閾值的虛擬機(jī)遷移策略的制作方法

文檔序號(hào):10569777閱讀:922來源:國知局
一種三閾值的虛擬機(jī)遷移策略的制作方法
【專利摘要】本發(fā)明公開了一種三閾值的虛擬機(jī)遷移策略,其特征包括:1使用虛擬機(jī)活躍度來量化虛擬機(jī)負(fù)載的波動(dòng),并通過虛擬機(jī)活躍度來判定虛擬機(jī)是否活躍;2遍歷集群中的主機(jī),將主機(jī)中的與主機(jī)活躍標(biāo)記不同的異類虛擬機(jī)遷出至過載遷移隊(duì)列;3遍歷集群中的主機(jī),從過載主機(jī)中遷出一部分虛擬機(jī)至過載遷移隊(duì)列,直至主機(jī)不再過載;4將過載遷移隊(duì)列中的虛擬機(jī)遷出至集群中合適的主機(jī)中;5遍歷集群中的主機(jī),將輕載主機(jī)中的所有虛擬機(jī)遷出至輕載遷移隊(duì)列中;6將輕載遷移隊(duì)列中的虛擬機(jī)遷出至集群中合適的主機(jī)中。本發(fā)明能降低在云計(jì)算環(huán)境中虛擬機(jī)負(fù)載波動(dòng)劇烈的情況下虛擬機(jī)在集群中的主機(jī)之間的遷移次數(shù),從而使云服務(wù)質(zhì)量得到提高。
【專利說明】
一種三閾值的虛擬機(jī)遷移策略
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,具體地說是一種三閾值的虛擬機(jī)迀移策略。
【背景技術(shù)】
[0002] 云計(jì)算是繼網(wǎng)格計(jì)算、并行計(jì)算、分布式計(jì)算之后產(chǎn)生的一種基于互聯(lián)網(wǎng)的新型 計(jì)算模式。虛擬化技術(shù)為云計(jì)算動(dòng)態(tài)資源調(diào)整提供了解決途徑(BARHAM P,DRAG0VIC B, FRASER K,et al.Xen and the Art of Virtualization[J].ACM,2003(08):164_177.),是 云計(jì)算重要的核心技術(shù)之一。
[0003] 虛擬化技術(shù)可以將物理資源抽象成一個(gè)資源池,虛擬機(jī)從資源池中獲取運(yùn)行所需 的資源。運(yùn)用虛擬化技術(shù)可以在一臺(tái)物理機(jī)上同時(shí)運(yùn)行多臺(tái)虛擬機(jī),這不僅增加了物理資 源的利用率(NICOLAE B,CAPPELL0 F.A hybrid local storage transfer scheme for live migration of 1/0 intensive workloads[C].Proc of the 21st International Symposium on High-performance Parallel and Distributed Computing.New York:ACM Press,2012),而且還提高了云計(jì)算環(huán)境中資源分配的靈活性(Ma Sugang.A review on cloud computing development[J].Journal of Networks,2012,7(2):305_310.)。云計(jì)算 中心通過虛擬化技術(shù)構(gòu)建的虛擬集群,使動(dòng)態(tài)地組織異構(gòu)的計(jì)算資源得到了可能(Mauro Andreolini,Sara Casolari,Michele Colajanni.Dynamic load management of virtual machines in a cloud architecture[J].Department of Information Engineering, 2010: 201-204)。虛擬化技術(shù)已經(jīng)日趨成熟,在其發(fā)展過程中不乏許多革命性的突破,虛擬 機(jī)迀移技術(shù)就是其中之一。
[0004] 虛擬機(jī)迀移技術(shù)是將虛擬機(jī)從源主機(jī)中迀出并迀入到另一臺(tái)目的主機(jī),通過虛擬機(jī) 迀移可以對(duì)虛擬化集群中的資源進(jìn)行更為合理得調(diào)配。虛擬機(jī)迀移技術(shù)已經(jīng)從最初的離線迀 移發(fā)展到如今的在線迀移,這使得虛擬機(jī)在迀移的過程中保持開啟,不會(huì)中斷部署于虛擬機(jī) 上的應(yīng)用(CLARK C,FRASER K,HAND S,et al.Live migration ofvirtual machines[C] .Proc of the 2nd Symposium on Networked Systems Design&Implementation.Berkeley:USENIX Association,2005:273-286 .),整個(gè)迀移過程對(duì)于云用戶是透明的。虛擬機(jī)在線迀移技術(shù)給 云計(jì)算帶來了革命性的突破,使云數(shù)據(jù)中心中資源的動(dòng)態(tài)管理得到了可能。
[0005] 在實(shí)際的IaaS應(yīng)用中,虛擬機(jī)在不同時(shí)刻對(duì)于資源的需求量不是一成不變的。在 超訂環(huán)境中,當(dāng)物理主機(jī)不足以提供虛擬機(jī)由空閑狀態(tài)轉(zhuǎn)為高負(fù)荷狀態(tài)時(shí)所需要的資源, 那么這將會(huì)降低云服務(wù)的質(zhì)量。此時(shí)就需要從過載主機(jī)中迀出一部分虛擬機(jī)到其它主機(jī) 中,以保證虛擬機(jī)對(duì)于資源的需求。
[0006] 現(xiàn)有的雙閾值虛擬機(jī)迀移策略主要通過設(shè)定上閾值與下閾值來觸發(fā)虛擬機(jī)的迀 移動(dòng)作。當(dāng)主機(jī)的負(fù)載超過上閾值時(shí),從主機(jī)中迀出一部分虛擬機(jī)到集群中的其它主機(jī)中 去,降低違反SLA的風(fēng)險(xiǎn)。當(dāng)主機(jī)的負(fù)載低于下閾值時(shí),將主機(jī)中的所有虛擬機(jī)都迀出到集 群中的其它主機(jī)中去,并將該主機(jī)關(guān)閉以節(jié)省能源。
[0007] 在主機(jī)中的虛擬機(jī)負(fù)載變化比較平穩(wěn)的狀態(tài)下,使用雙閾值的虛擬機(jī)迀移策略不 會(huì)經(jīng)常觸發(fā)虛擬機(jī)的迀移動(dòng)作。但如果虛擬機(jī)負(fù)載波動(dòng)劇烈時(shí),使用雙閾值虛擬機(jī)迀移策 略將會(huì)經(jīng)常觸發(fā)虛擬機(jī)的迀移動(dòng)作,導(dǎo)致云服務(wù)的質(zhì)量下降。

【發(fā)明內(nèi)容】

[0008] 本發(fā)明是為避免現(xiàn)有技術(shù)所存在的不足之處,提出一種三閾值的虛擬機(jī)迀移策 略,以期能降低在云計(jì)算環(huán)境中虛擬機(jī)負(fù)載波動(dòng)劇烈的情況下虛擬機(jī)在集群中的主機(jī)之間 的迀移次數(shù),從而使云服務(wù)質(zhì)量得到提高。
[0009] 本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:
[0010] 本發(fā)明一種三閾值的虛擬機(jī)迀移策略,是用于對(duì)N臺(tái)虛擬機(jī)在M臺(tái)主機(jī)間的迀移過 程中,其特點(diǎn)是:
[0011 ] 令M臺(tái)主機(jī)記為集合PM={pmi,pm2, ? ? ?,pnk,…,p_},l<m<M;pmn表示PM中的第m臺(tái)主機(jī), 令第T個(gè)周期中的第m臺(tái)主機(jī)卿記為蘆?f1 ;且m("r! pcm表示第m臺(tái)主機(jī)pmm的總CPU計(jì)算能力;/;以表示第T個(gè)周期中第m臺(tái)主機(jī)/wf的負(fù)載,且 .0 < U 1表示第T個(gè)周期中第m臺(tái)主機(jī)1使用的CPU計(jì)算能力,且/wf = x /)/。; 1表示第T個(gè)周期中第m臺(tái)主機(jī)/wf的空閑CPU計(jì)算能力,且風(fēng)⑴=-評(píng))/1 表示 第T個(gè)周期中第m臺(tái)主機(jī)/規(guī)I/1的活躍標(biāo)記,且/>dn e|0,lj ;utm、ltm和mtm分別表示第m臺(tái)主機(jī) \ r paf{T) = 1 pmm的上閾值、下閾值和迀移閾值;其中utm=a;ltm=0 ;_m y U Ml '-〇
[0012]假設(shè)第T個(gè)周期的第m臺(tái)主機(jī)蘆#中包含iVf臺(tái)虛擬機(jī),記為虛擬機(jī)集合 丨=j爾?丨,爾丨/j ,…,細(xì)丨$,…,V/H& 臺(tái)主機(jī)中第W臺(tái)虛擬機(jī)珊^::丨抽象為雨仏丨=R一〇 氣乂f表示第m臺(tái)主機(jī)pmm中第以1臺(tái)虛擬機(jī)的總CPU計(jì)算能力;表示第T個(gè)周期中第m 臺(tái)主機(jī)Mf)中第#臺(tái)虛擬機(jī)vm&,的負(fù)載,且〇玄〇幻表示第T個(gè)周期中第m臺(tái)主 機(jī)評(píng)丨丨1中第)臺(tái)虛擬機(jī)爾仏1已使用的OTi十算能力,且 表示第T個(gè)周期中第m臺(tái)主機(jī)的第<>臺(tái)虛擬機(jī)的空閑CHJ計(jì)算能力,且 =vci^ -w/l$; 表示第T周期中第哈主機(jī)網(wǎng)P的第"if 1臺(tái)虛擬機(jī)vwCp的活躍
度, ,其中/' :s標(biāo)定值,1分私><jn表示 (t<s) 帕0 明' 0, va^r\T) < at 表示第T周期中第m臺(tái)主機(jī)的第#臺(tái)虛擬機(jī)vm二m的活躍標(biāo)記,W/mirl= 二 , m M'n," 1, vcr\n>cit 其中,at表示虛擬機(jī)的活躍度閾值;
[0013] 所述虛擬機(jī)迀移策略是按如下步驟進(jìn)行:
[0014] 步驟1、定義第T周期的過載迀移總隊(duì)列為L(T);定義在第T周期中第m臺(tái)主機(jī);所 使用的過載迀移隊(duì)列為/if 1;初始化T = 1;初始化m=l;
[0015] 步驟2、若m>M成立,則跳轉(zhuǎn)到步驟7;否則,初始化過載迀移隊(duì)列巧為空;標(biāo)記出 在虛擬機(jī)集合中所有虛擬機(jī)的活躍標(biāo)記與第T個(gè)周期的第m臺(tái)主機(jī)的活躍標(biāo)記 /w/fi不相同的虛擬機(jī);并將標(biāo)記出的虛擬機(jī)從虛擬機(jī)集合FMf中迀出,放入過載迀移隊(duì) 列為中;從而更新所述第T周期中第m臺(tái)主機(jī)所使用的過載迀移隊(duì)列£1,以及第T個(gè) 周期第m臺(tái)主機(jī)中虛擬機(jī)集合;
[0016] 步驟3、若第T個(gè)周期的第m臺(tái)主機(jī)pmif1中更新后的虛擬機(jī)集合中所有虛擬機(jī)使用 的CPU的計(jì)算能力的總和大于等于pCmXutm成立,則跳轉(zhuǎn)到步驟4;否則跳轉(zhuǎn)到步驟6;
[0017] 步驟4、將更新后的虛擬機(jī)集合中所有虛擬機(jī)按照負(fù)載從小到大的順序進(jìn)行排序, 獲得更新后的有序虛擬機(jī)集合FMf};
[0018] 步驟5、從所述更新后的有序虛擬機(jī)集合FMf1中依次將虛擬機(jī)迀入至更新后的過 載迀移隊(duì)列中,直到更新后的有序虛擬機(jī)集合中所有虛擬機(jī)的使用的CPU計(jì)算能力 的總和小于等于p CmXutm為止;從而再次更新第T個(gè)周期中第m臺(tái)主機(jī)所使用的過載迀 移隊(duì)列/^ ,以及第T個(gè)周期第m臺(tái)主機(jī)中虛擬機(jī)集合;
[0019] 步驟6、令m+1賦值給m;跳轉(zhuǎn)到步驟2;
[0020] 步驟7、令第T個(gè)周期的過載迀移總隊(duì)列為…,/in,…所述第T個(gè) M 周期的過載迀移總隊(duì)列L(T)中的虛擬機(jī)數(shù)量記為/(n =2?in ;將所述第T個(gè)周期的過載迀移 總隊(duì)列L(T)中的虛擬機(jī)按照其已使用的CPU計(jì)算能力從大到小的順序進(jìn)行排序,從而獲得排 序后的第T個(gè)周期的過載迀移總隊(duì)列,爾表示排序 后的第T個(gè)周期的過載迀移總隊(duì)列L/(T)中的第i(T)臺(tái)虛擬機(jī);第i(T)臺(tái)虛擬機(jī)的已使用 的CPU計(jì)算能力記為;第i(T)臺(tái)虛擬機(jī)vmf的活躍標(biāo)示記為vq/g1 ;l<i(T)<I(T);
[0021] 步驟8、令i⑴=1;
[0022] 步驟9、若i(T)>I(T)成立,則表示在第T周期中主機(jī)集合中的所有主機(jī)均未過載,將第T 個(gè)周期中均未過載的主機(jī)集合記為…,蘆^/1卜第了個(gè)周期 中第m臺(tái)未過載主機(jī)記為1 氣叫"式,,叫" 1,:第_ 第m臺(tái)未過載主機(jī)n中的虛擬機(jī)集合記為= <[ vw:1, vmH^..., vm^l;TI,..., vm*^,}Tt J , 且 ={',,,r/:(> PM中的所有主機(jī)按照其使用的CPU計(jì)算能力從大到小進(jìn)行排序,從而獲得在第T個(gè)周期中第i ⑴次排序后的M臺(tái)主機(jī)冊(cè)興'"'押;1'卜,…,評(píng);,"'...,《士)(n|^^ 表示在第T個(gè)周期中第i(T)次排序后的M臺(tái)主機(jī)pMW>中的第m臺(tái)主機(jī);且 Pmn!,<r! ^T\pf!n
[0023] 步驟 1〇、令 m=l;
[0024] 步驟11、對(duì)排序后的第T個(gè)周期的過載迀移總隊(duì)列L/(T)中的第i(T)臺(tái)虛擬機(jī)胃;=判 斷是否滿足且vfl^1 ,如滿足條件,則將第i(T)臺(tái) 虛擬機(jī)放入第i(T)次排序后的第m臺(tái)主機(jī)>中,并令im+1賦值給 iW后,跳轉(zhuǎn)至 步驟9;如不滿足條件,則令m+1賦值給m后,跳轉(zhuǎn)至步驟11;
[0025] 步驟12、定義第T周期的輕載迀移總隊(duì)列為L<T),定義在第T周期中第m臺(tái)主機(jī)胃;f 所使用的輕載迀移隊(duì)列為/:!n ;初始化m= 1;
[0026] 步驟13、若m>M成立,則跳轉(zhuǎn)至步驟14;否則,初始化輕載迀移隊(duì)列為空;若第T 個(gè)周期中第m臺(tái)未過載主機(jī)中的虛擬機(jī)集合)中所有虛擬機(jī)使用的CPU的計(jì)算能 力的總和小于等于ltmXp Cm,則將中的虛擬機(jī)全部迀入到輕載迀移隊(duì)列/f1中,從而 更新第T個(gè)周期第m臺(tái)主機(jī)/?〃&所使用的輕載迀移隊(duì)列/fh令m+1賦值給m,跳轉(zhuǎn)至步驟13;
[0027] 步驟14、令第T個(gè)周期的輕載迀移總隊(duì)列為…,/巧,…/If1};所述第 T個(gè)周期的輕載迀移總隊(duì)列C(T)中的虛擬機(jī)數(shù)量記為I$(T);將所述第T個(gè)周期的輕載迀移總 隊(duì)列C(T)中的虛擬機(jī)按照其已使用的CPU計(jì)算能力從大到小的順序進(jìn)行排序,從而獲得排 序后的第T個(gè)周期的輕載總隊(duì)列r1r) = …,vmjA…,; vm^1表示排序后 的第T個(gè)周期的輕載迀移總隊(duì)列L〃(T)中的第i*(T)臺(tái)虛擬機(jī);第i*(T)臺(tái)虛擬機(jī)vmg 1的已使用 的CPU計(jì)算能力記為:第f⑴臺(tái)虛擬機(jī)的活躍標(biāo)示記為1^,丨!; Ki#⑴彡I#⑴;
[0028] 步驟 13、令 i*⑴=1;
[0029] 步驟14、若i*(T)>I*(T)成立,則表示在第T周期中主機(jī)集合中的所有主機(jī)均未輕載, 并跳轉(zhuǎn)至步驟17;否則,將M臺(tái)主機(jī)PM中的所有主機(jī)按照其使用的CPU計(jì)算能力從大到小進(jìn) 行排序,從而獲得在第T個(gè)周期中第f (T)次排序后的M臺(tái)主機(jī) 歷們⑴=卜,)('嚴(yán) 期中第次排序后的m臺(tái)主機(jī)中的第"1臺(tái)主機(jī);且 Pm,n =\PC,,,,PL ,P( ,P'L ,Pafm H聲,十
[0030] 步驟 15、令 m=l;
[0031] 步驟16、對(duì)排序后的第T個(gè)周期的輕載迀移總隊(duì)列L〃(T)中的第i*(T)臺(tái)虛擬機(jī)卿;3 判斷是否滿足wO + )m S ,如滿足條件,則將第 P(T)臺(tái)虛擬機(jī)放入第f(T)次排序后的第m臺(tái)主機(jī)丨1/W卜中,并令W T)+1賦值給WT) 后,跳轉(zhuǎn)至步驟14;如不滿足條件,則令m+1賦值給m后,跳轉(zhuǎn)至步驟16;
[0032] 步驟17、令T+1賦值給T,并跳轉(zhuǎn)至步驟2。
[0033]與已有技術(shù)相比,本發(fā)明有益效果體現(xiàn)在:
[0034] 1、本發(fā)明通過在雙閾值虛擬機(jī)迀移策略的基礎(chǔ)之上新增迀移閾值,用作將虛擬從 迀移隊(duì)列迀入主機(jī)時(shí)判斷主機(jī)是否合適的條件,從而能夠降低負(fù)載波動(dòng)劇烈的活躍虛擬機(jī) 在迀入主機(jī)之后使得該主機(jī)立馬達(dá)到迀移閾值的幾率,進(jìn)而降低了觸發(fā)虛擬機(jī)迀移的次 數(shù),提高了云服務(wù)質(zhì)量。
[0035] 2、本發(fā)明使用虛擬機(jī)活躍度模型來量化虛擬機(jī)生命周期中的負(fù)載波動(dòng)情況,從而 能直觀反映出虛擬機(jī)負(fù)載的波動(dòng)大小。
[0036] 3、本發(fā)明通過區(qū)別對(duì)待由虛擬機(jī)活躍度來區(qū)分的兩類虛擬機(jī),通過設(shè)定不同的迀 移閾值以達(dá)到增加虛擬機(jī)部署密度和減少CPU計(jì)算資源的浪費(fèi)的作用。
【附圖說明】
[0037]圖1為本發(fā)明方法流程圖。
【具體實(shí)施方式】
[0038] 本實(shí)施例中,一種三閾值的虛擬機(jī)迀移策略,是用于對(duì)N臺(tái)虛擬機(jī)在M臺(tái)主機(jī)間的 迀移過程中,
[0039] 令M臺(tái)主機(jī)記為集合PM={pmi,pm2, ? ? ?,pnk, ? ? ?,卩咖},Km<M;pmm表示PM中的第m臺(tái)主 機(jī),令第T個(gè)周期中的第m臺(tái)主機(jī)pmm記為,2^ ;且押!,f1 = j凡,戶/r, 1,/?/;!,'押尺?1,"Mb pcm表示第m臺(tái)主機(jī)pmm的總CPU計(jì)算能力,例如主機(jī)中有2個(gè)CPU,每個(gè)CPU的計(jì)算能力為 2000MIPS,則該主機(jī)總的CPU計(jì)算能力為4000; p/f表示第T個(gè)周期中第m臺(tái)主機(jī)pmif)的負(fù)載, 且(X ^ 1 ,例如主機(jī)在當(dāng)前周期中的CPU使用率為50%,則該主機(jī)在當(dāng)前周期中的負(fù)載 為0 ? 5 ;萍^表示第T個(gè)周期中第m臺(tái)主機(jī)卿^使用的計(jì)算能力,且界)/1 = x 表示第T個(gè)周期中第m臺(tái)主機(jī)pm丨f1的空閑CPU計(jì)算能力,且1 -/w丨1表 示第T個(gè)周期中第m臺(tái)主機(jī)的活躍標(biāo)記,且e丨0,1丨,本實(shí)施例中,0表示非活躍,1 表示活躍;utm、1 tm和mtm分別表示第m臺(tái)主機(jī)pmm的上閾值、下閾值和迀移閾值;其中Utm=a ; \y paf(I) ltm=0;/?4={ "\T, 且a< y <y彡0,根據(jù)經(jīng)驗(yàn)將a設(shè)置為0.2,p設(shè)置為0.8, y設(shè)置
[//,押/f =0 為0.6 w設(shè)置為0.8;
[0040] 假設(shè)第T個(gè)周期的第m臺(tái)主機(jī)中包含TVf臺(tái)虛擬機(jī),記為虛擬機(jī)集合 陳Ln={?,…,vm:,,...,v<^ , O^V:^V,且2:iVln = JT;將在第T周期中第m臺(tái) 又 m m m -1 主機(jī)網(wǎng)丨中第/?if丨臺(tái)虛擬機(jī)側(cè)丨1抽象為謂i.:,:;1 ^ 氣⑷表示第m臺(tái)主機(jī)piik中第wf臺(tái)虛擬機(jī):的總CPU計(jì)算能力;,表示第T個(gè)周期中第m臺(tái) 主機(jī)中第f臺(tái)虛擬機(jī)的負(fù)載,且夂vW&表示第T個(gè)周期中第m臺(tái)主機(jī) 押4Z,中第4丨)臺(tái)虛擬機(jī)糊已使用的cpu計(jì)算能力,且v": 〇表示第T個(gè)周期中第m臺(tái)主機(jī)的第#臺(tái)虛擬機(jī)1〃<&的空閑CPU計(jì)算能力,且 <i, =v<k-表示第T周期中第"1臺(tái)主機(jī)的第^臺(tái)虛擬機(jī)胃的活
躍度, ().,其中v/ =之v/匕二,S表示定值,1 彡S, / \ w-0 m / {t<s) 本實(shí)施例中,將S設(shè)置為6,表示虛擬機(jī)的活躍度是通過最近6個(gè)周期的負(fù)載情況來計(jì)算得出 的;v<(i>表示表示第T周期中第111臺(tái)主機(jī)的第?P臺(tái)虛擬機(jī)的活躍標(biāo)記, 0, va'T\r, < at O 二 '財(cái),at穌龍棚淑夭麵直,賴齡忡,)1等ati煙細(xì),艮p m>n'm 1, va{ \n > at .. mjl^ 虛擬機(jī)活躍度超過8的虛擬機(jī)被標(biāo)記為活躍的虛擬機(jī),而虛擬機(jī)活躍度小于8的虛擬機(jī)則被 標(biāo)記為非活躍的虛擬機(jī);
[0041] 如圖1所示,虛擬機(jī)迀移策略是按如下步驟進(jìn)行:
[0042] 步驟1、定義第T周期的過載迀移總隊(duì)列為L(T);定義在第T周期中第m臺(tái)主機(jī)評(píng)^所 使用的過載迀移隊(duì)列為/, ("n ;初始化T = 1;初始化m=l;
[0043] 步驟2、若m>M成立,表示已經(jīng)遍歷完所有主機(jī),并已經(jīng)將在當(dāng)前周期主機(jī)中的異類 虛擬機(jī)添加到各個(gè)過載迀移隊(duì)列中,則跳轉(zhuǎn)到步驟7;否則,初始化過載迀移隊(duì)列為空;標(biāo) 記出在虛擬機(jī)集合FMf中所有虛擬機(jī)的活躍標(biāo)記與第T個(gè)周期的第m臺(tái)主機(jī)的活躍標(biāo) 記/^不相同的虛擬機(jī),稱為異類虛擬機(jī);并將標(biāo)記出的虛擬機(jī)從虛擬機(jī)集合中迀 出,放入過載迀移隊(duì)列為/f中;從而更新第T周期中第m臺(tái)主機(jī)所使用的過載迀移隊(duì)列 以及第T個(gè)周期第m臺(tái)主機(jī);?中虛擬機(jī)集合例如在第T個(gè)周期中,第m臺(tái)主機(jī)中 共有4臺(tái)虛擬機(jī),記為離^ {vm!],v/?$,vw=,VW0,若卿$為異類虛擬機(jī),則將異類主機(jī) 迀出之后7從^更新為冊(cè),("7^{讀匕)^<],權(quán)11 2]卜而過載迀移隊(duì)列/^更新為/^^剛丨0;
[0044] 步驟3、若第T個(gè)周期的第m臺(tái)主機(jī)中更新后的虛擬機(jī)集合中所有虛擬機(jī)使用 的CPU的計(jì)算能力的總和大于等于pCmXut m成立,表示該主機(jī)已經(jīng)過載,則跳轉(zhuǎn)到步驟4;否 則跳轉(zhuǎn)到步驟6;
[0045] 步驟4、將更新后的虛擬機(jī)集合中所有虛擬機(jī)按照負(fù)載從小到大的順序進(jìn)行排序, 獲得更新后的有序虛擬機(jī)集合FMf;;
[0046] 步驟5、從更新后的有序虛擬機(jī)集合丨P中依次將虛擬機(jī)迀入至更新后的過載迀 移隊(duì)列中,直到更新后的有序虛擬機(jī)集合_,'^中所有虛擬機(jī)的使用的CPU計(jì)算能力的總和 小于等于pc m X utm為止;從而再次更新第T個(gè)周期中第m臺(tái)主機(jī)所使用的過載迀移隊(duì)列 /^ ,以及第T個(gè)周期第m臺(tái)主機(jī)/wf)中虛擬機(jī)集合F姐,(,f1,例如1中有三臺(tái)有序的虛擬 機(jī),即附削切,過載迀移隊(duì)列/【)=丨(麗,$^ 的計(jì)算能力的總和大于等于P Cm x u tm,先將迀出,如果剩下兩臺(tái)虛擬機(jī)使用的CPU的計(jì) 算能力的總和小于pcmXutm,則更新=卜G,vm⑶,f =卜G,v"G卜 [0047] 步驟6、令m+1賦值給m;跳轉(zhuǎn)到步驟2;
[0048] 步驟7、令第T個(gè)周期的過載迀移總隊(duì)列為/^^^'/^,…,/^,…/^^第了個(gè)周期 M 的過載迀移總隊(duì)列L(T)中的虛擬機(jī)數(shù)量記為/(n ;將第T個(gè)周期的過載迀移總隊(duì)列L m=l (T)中的虛擬機(jī)按照其已使用的CPU計(jì)算能力從大到小的順序進(jìn)行排序,從而獲得排序后的 第T個(gè)周期的過載迀移總隊(duì)列=jvm|n,v"2f : w。1表示排序后的第T 個(gè)周期的過載迀移總隊(duì)列L/(T)中的第i(T)臺(tái)虛擬機(jī);第i(T)臺(tái)虛擬機(jī)的已使用的CPU計(jì) 算能力記為w切:第i(T)臺(tái)虛擬機(jī)謂切的活躍標(biāo)示記為vq/黑1; 1彡i(T) < I(T);
[0049] 步驟8、令i⑴=1;
[0050] 步驟9、若i(T)>I(T)成立,則表示在第T周期中主機(jī)集合中的所有主機(jī)均未過載,將第 T個(gè)周期中均未過載的主機(jī)集合記為P_M明,第T個(gè)周期 中第m臺(tái)未過載主機(jī)記為挪;^ = ^cm,,網(wǎng)九,mz;,},第T個(gè)周期中 第m臺(tái)未過載主機(jī)押,^1中的虛擬機(jī)集合記為= |vm ,爾j.〗1,vm ,=nvm 且爾卜<,v/:S,二… 機(jī)PM中的所有主機(jī)按照其使用的CPU計(jì)算能力從大到小進(jìn)行排序,從而獲得在第T個(gè)周期中 第i⑴次排序后的M臺(tái)主機(jī)戶財(cái)'丨')(r!={押;卜丨…丨⑴?,押丨…, n表示在第T個(gè)周期中第i(T)次排序后的M臺(tái)主機(jī)扣中的第m臺(tái)主機(jī);且 nJl[Uy] Jnc n/^JI)(r)mMn)(n "r('n)(r? naf^^T) ut It mt \ Pmm -'PUL ,PK, "PJm > PaJm
[0051] 步驟 10、令 m=l;
[0052] 步驟11、對(duì)排序后的第T個(gè)周期的過載迀移總隊(duì)列L/(T)中的第i(T)臺(tái)虛擬機(jī)胃f判 斷是否滿足如滿足條件,則將第丨(1)臺(tái) 虛擬機(jī)vrnf放入第i(T)次排序后的第m臺(tái)主機(jī)中,并令i(T)+l賦值給i(T)后,跳轉(zhuǎn)至 步驟9;如不滿足條件,則令m+1賦值給m后,跳轉(zhuǎn)至步驟11;
[0053] 步驟12、定義第T周期的輕載迀移總隊(duì)列為L$(T),定義在第T周期中第m臺(tái)主機(jī) 所使用的輕載迀移隊(duì)列為/f };初始化m= 1;
[0054] 步驟13、若m>M成立,則跳轉(zhuǎn)至步驟14;否則,初始化輕載迀移隊(duì)列/f1為空;若第T 個(gè)周期中第m臺(tái)未過載主機(jī)中的虛擬機(jī)集合FMf>中所有虛擬機(jī)使用的CPU的計(jì)算能 力的總和小于等于ltmx pCm,則將中的虛擬機(jī)全部迀入到輕載迀移隊(duì)列中,從而 更新第T個(gè)周期第m臺(tái)主機(jī)pmif1所使用的輕載迀移隊(duì)列/^;令m+1賦值給m,跳轉(zhuǎn)至步驟13;
[0055] 步驟14、令第T個(gè)周期的輕載迀移總隊(duì)列為is(T) ={d/】m,一,/,lKl ;第T個(gè) 周期的輕載迀移總隊(duì)列f(T)中的虛擬機(jī)數(shù)量記為I<T);將第T個(gè)周期的輕載迀移總隊(duì)列L$ (T) 中的虛擬機(jī)按照其已使用的CPU計(jì)算能力從大到小的順序進(jìn)行排序,從而獲得排序后的第T 個(gè)周期的輕載總隊(duì)列^^^^觀^…^^…^^^/^表示排序后的第評(píng)周 期的輕載迀移總隊(duì)列L'*(T)中的第i*(T)臺(tái)虛擬機(jī);第i*(T)臺(tái)虛擬機(jī)vmg的已使用的CPU計(jì)算 能力記為vm;S ;第i*(T)臺(tái)虛擬機(jī)伽%1的活躍標(biāo)示記為W/;gU<i* (T)<I*(T);
[0056] 步驟 13、令 i*⑴=1;
[0057]步驟14、若i*(T) > I*(T)成立,則表示在第T周期中主機(jī)集合中的所有主機(jī)均未輕載, 并跳轉(zhuǎn)至步驟17;否則,將M臺(tái)主機(jī)PM中的所有主機(jī)按照其使用的CPU計(jì)算能力從大到小進(jìn) 行排序,從而獲得在第T個(gè)周期中第f (T)次排序后的M臺(tái)主機(jī) 度卜)(r!=|M(! )(r),押;(')('???,押少)⑴,…,押1 期中第次排序后的皿臺(tái)主機(jī)^十門u沖的第m臺(tái)主機(jī);且 Pm", ={pcm,pl," ,pu," } ,pfm ,paf", ,K,mt今
[0058] 步驟 15、令 m=l;
[0059] 步驟16、對(duì)排序后的第T個(gè)周期的輕載迀移總隊(duì)列L〃(T)中的第i*(T)臺(tái)虛擬機(jī)?% 1 判斷是否滿足,心叫=/7<丨十1 如滿足條件,則將第 i*(T)臺(tái)虛擬機(jī)v,#1放入第i*(T)次排序后的第m臺(tái)主機(jī)中,并令i* (T)+l賦值給i*(T) 后,跳轉(zhuǎn)至步驟14;如不滿足條件,則令m+1賦值給m后,跳轉(zhuǎn)至步驟16;
[0060] 步驟17、令T+1賦值給T,并跳轉(zhuǎn)至步驟2。
[00611 為了驗(yàn)證三閾值虛擬機(jī)迀移策略的有效性,使用Cl ouds im對(duì)三閾值虛擬機(jī)迀移策 略進(jìn)行仿真模擬。實(shí)驗(yàn)在CloudSim搭建的云環(huán)境中建立1個(gè)數(shù)據(jù)中心,數(shù)據(jù)中心中有500臺(tái) 主機(jī)。每臺(tái)主機(jī)的CPU計(jì)算能力為3000MIPS。數(shù)據(jù)中心中有500臺(tái)虛擬機(jī)運(yùn)行于主機(jī)中,每臺(tái) 虛擬機(jī)的CPU計(jì)算能力為1000MIPS。
[0062] 模擬實(shí)驗(yàn)米用(Beloglazov A,Buyya R.Optimal Online Deterministic Algorithms and Adaptive Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in Cloud Data Centers[J] .Concurrency and Computation:Practice and c Experience,2012,24(13):1397-1420.)中公布的虛擬機(jī)負(fù)載的數(shù)據(jù)集。整個(gè)數(shù)據(jù)集記錄了 1052臺(tái)生產(chǎn)環(huán)境中的服務(wù)器,在 240小時(shí)的運(yùn)行中每5分鐘時(shí)間間隔測(cè)得的CPU負(fù)載的原始數(shù)據(jù)。
[0063] 實(shí)驗(yàn)進(jìn)行5次,實(shí)驗(yàn)結(jié)果取5次實(shí)驗(yàn)的平均值。每次實(shí)驗(yàn)使用三個(gè)測(cè)試數(shù)據(jù)集(D1, D2,D3)對(duì)三閾值虛擬機(jī)迀移策略進(jìn)行驗(yàn)證,每個(gè)數(shù)據(jù)集中有500條虛擬機(jī)負(fù)載數(shù)據(jù)。三個(gè)數(shù) 據(jù)集分別模擬(高,低,中)三種不同的虛擬機(jī)負(fù)載波動(dòng)。
[0064] 實(shí)驗(yàn)比較實(shí)用雙閾值虛擬機(jī)迀移策略與三閾值虛擬機(jī)迀移策略虛擬機(jī)迀移次數(shù) 與SLA的違約率。每當(dāng)有一臺(tái)虛擬機(jī)從主機(jī)中迀出時(shí)虛擬機(jī)迀移次數(shù)加一。SLA違約率是通 過虛擬機(jī)請(qǐng)求的CPU計(jì)算能力減去主機(jī)能夠提供的CPU計(jì)算能力的差除以虛擬機(jī)請(qǐng)求的CPU 計(jì)算能力計(jì)算得出。實(shí)驗(yàn)結(jié)果如表1和表2所示:
[0065]表1虛擬機(jī)迀移次數(shù)比較
[0067] 表2 SLA違約率比較
[0069]從表1和表2中可以看書虛擬機(jī)使用三閾值的虛擬機(jī)迀移策略能夠有效地減少虛 擬機(jī)的迀移次數(shù)以及SLA的違約率。
【主權(quán)項(xiàng)】
1.一種三閾值的虛擬機(jī)迀移策略,是用于對(duì)N臺(tái)虛擬機(jī)在Μ臺(tái)主機(jī)間的迀移過程中,其 特征是: 令Μ臺(tái)主機(jī)記為集合ΡΜ= {ρ???,ρπκ,…,pnk,…,ρπμ},表示ΡΜ中的第m臺(tái)主機(jī),令 第T個(gè)周期中的第m臺(tái)主機(jī)pmm記為尸講丨;且蘆 pcm表示第m臺(tái)主機(jī)pmm的總CPU計(jì)算能力;/?/丨^表示第T個(gè)周期中第m臺(tái)主機(jī)/wfj的負(fù)載,且 0#/^ 5Π 表示第T個(gè)周期中第m臺(tái)主機(jī)押丨f>使用的CPU計(jì)算能力,且=爲(wèi)χ;7/^ ; )表示第Τ個(gè)周期中第m臺(tái)主機(jī)辦丨廠的空閑CPU計(jì)算能力,且及/廣=|?cm 表 示第T個(gè)周期中第m臺(tái)主機(jī)/?w;("n的活躍標(biāo)記,且e 10,11; utm、1 tm和mtm分別表示第m臺(tái) 主機(jī)pmm的上閾值、下閾值和迀移閾值;其中utm=a;ltm=R且α< γ < μ^β; 假設(shè)第Τ個(gè)周期的第m臺(tái)主機(jī)中包含Λ^>臺(tái)虛擬機(jī),記為虛擬機(jī)集合 1 二..…臺(tái)主機(jī)丨中第)臺(tái)虛擬機(jī)蘭抽象為 氣,》0表示第m臺(tái)主機(jī)pmm中第#臺(tái)虛擬機(jī)胃^!的總CPU計(jì)算能力;表示第T個(gè)周期中第m臺(tái) 主機(jī)辦if1中第j臺(tái)虛擬機(jī)說負(fù)載,且〇 U 表示第T個(gè)周期中第^ 中第#臺(tái)虛擬機(jī)?,Hi已使用的CPU計(jì)算能力:d康示第T個(gè)周期中第m臺(tái)主機(jī)評(píng)產(chǎn)的第#臺(tái)虛擬機(jī)·的空閑CPU計(jì)算能力,且其中,at表示虛擬機(jī)的活躍度閾值; 所述虛擬機(jī)迀移策略是按如下步驟進(jìn)行: 步驟1、定義第T周期的過載迀移總隊(duì)列為L(T);定義在第T周期中第m臺(tái)主機(jī)pwif所使用 的過載迀移隊(duì)列為> 1初始化T = 1;初始化m = 1; 步驟2、若m>M成立,則跳轉(zhuǎn)到步驟7;否則,初始化過載迀移隊(duì)列為空;標(biāo)記出在虛擬 機(jī)集合中所有虛擬機(jī)的活躍標(biāo)記與第T個(gè)周期的第m臺(tái)主機(jī)的活躍標(biāo)記不 相同的虛擬機(jī);并將標(biāo)記出的虛擬機(jī)從虛擬機(jī)集合ΓΜ,(,η中迀出,放入過載迀移隊(duì)列為f i 中;從而更新所述第T周期中第m臺(tái)主機(jī)所使用的過載迀移隊(duì)列/,=,以及第T個(gè)周期第m 臺(tái)主機(jī)1中虛擬機(jī)集合; 步驟3、若第T個(gè)周期的第m臺(tái)主機(jī)pmif1中更新后的虛擬機(jī)集合中所有虛擬機(jī)使用的CPU 的計(jì)算能力的總和大于等于pcmXutm成立,則跳轉(zhuǎn)到步驟4;否則跳轉(zhuǎn)到步驟6; 步驟4、將更新后的虛擬機(jī)集合中所有虛擬機(jī)按照負(fù)載從小到大的順序進(jìn)行排序,獲得 更新后的有序虛擬機(jī)集合FAif >; 步驟5、從所述更新后的有序虛擬機(jī)集合中依次將虛擬機(jī)迀入至更新后的過載迀 移隊(duì)列中,直到更新后的有序虛擬機(jī)集合中所有虛擬機(jī)的使用的CPU計(jì)算能力的總 和小于等于pcmXut m為止;從而再次更新第T個(gè)周期中第m臺(tái)主機(jī)/)川,'聽使用的過載迀移隊(duì) 列/,Γ1,以及第T個(gè)周期第m臺(tái)主機(jī);^n中虛擬機(jī)集合; 步驟6、令m+1賦值給m;跳轉(zhuǎn)到步驟2; 步驟7、令第T個(gè)周期的過載迀移總隊(duì)列為少1^/^妒,一,妒,一|')};所述第1'個(gè)周期 的過載迀移總隊(duì)列L(T)中的虛擬機(jī)數(shù)量i5;將所述第T個(gè)周期的過載迀移總隊(duì) 列L(T)中的虛擬機(jī)按照其已使用的CPU計(jì)算能力從大到小的順序進(jìn)行排序,從而獲得排序后 的第T個(gè)周期的過載迀移總隊(duì)列尤<F) = [vm|r!, vwf),…,vmf丨1,…,vwf U 表示排序后的 第T個(gè)周期的過載迀移總隊(duì)列Ι;(τ)中的第i(T)臺(tái)虛擬機(jī);第i(T)臺(tái)虛擬機(jī)的已使用的CPU 計(jì)算能力記為第i(T)臺(tái)虛擬機(jī)的活躍標(biāo)示記為vq/^;l<i(T)<I (T); 步驟8、令i(T) = l; 步驟9、若i(T)>I(T)成立,則表示在第T周期中主機(jī)集合中的所有主機(jī)均未過載,將第T 個(gè)周期中均未過載的主機(jī)集合記為= (押,押·.,辦1Γ,·. ·, 1,第τ個(gè)周期 中第m臺(tái)未過載主機(jī)記為,第τ個(gè)周期中 第m臺(tái)未過載主機(jī)中的虛擬機(jī)集合記為= | , vraj1,v<;!m,…,蘭,并跳轉(zhuǎn)至步驟12;否則,將Μ臺(tái)主 機(jī)ΡΜ中的所有主機(jī)按照其使用的CPU計(jì)算能力從大到小進(jìn)行排序,從而獲得在第Τ個(gè)周期中第i (τ)次排序后的Μ臺(tái)主機(jī)表示在第Τ個(gè)周期中第i(T)次排序后的Μ臺(tái)主機(jī)中的第m臺(tái)主機(jī);且步驟10、令m=l; 步驟11、對(duì)排序后的第T個(gè)周期的過載迀移總隊(duì)列L/(T)中的第i(T)臺(tái)虛擬機(jī)判斷是,如滿足條件,則將第i(T)臺(tái)虛擬 機(jī)vmf放入第次排序后的第m臺(tái)主機(jī)中,并令i(T)+l賦值給后,跳轉(zhuǎn)至步驟 9;如不滿足條件,則令m+1賦值給m后,跳轉(zhuǎn)至步驟11; 步驟12、定義第T周期的輕載迀移總隊(duì)列為L$(T),定義在第T周期中第m臺(tái)主機(jī)所使 用的輕載迀移隊(duì)列為/f1;初始化m=l; 步驟13、若m>M成立,則跳轉(zhuǎn)至步驟14;否則,初始化輕載迀移隊(duì)列/f>為空;若第T個(gè)周 期中第m臺(tái)未過載主機(jī)中的虛擬機(jī)集合中所有虛擬機(jī)使用的CPU的計(jì)算能力的 總和小于等于ltmXpcm,則將中的虛擬機(jī)全部迀入到輕載迀移隊(duì)列ζ(/?中,從而更新 第Τ個(gè)周期第m臺(tái)主機(jī)所使用的輕載迀移隊(duì)列:令m+1賦值給m,跳轉(zhuǎn)至步驟13; 步驟14、令第τ個(gè)周期的輕載迀移總隊(duì)列為= ·,所述第T個(gè) 周期的輕載迀移總隊(duì)列L<T)中的虛擬機(jī)數(shù)量記為Ρ(τ);將所述第T個(gè)周期的輕載迀移總隊(duì)列 L\T)中的虛擬機(jī)按照其已使用的CPU計(jì)算能力從大到小的順序進(jìn)行排序,從而獲得排序后 的第T個(gè)周期的輕載總隊(duì)列"121 爾^1,ν/?71,…,v/#1,…,;v?#/表示排序后的第 T個(gè)周期的輕載迀移總隊(duì)列L〃(T)中的第f(T)臺(tái)虛擬機(jī);第f(T)臺(tái)虛擬機(jī)的已使用的 CHJ計(jì)算能力記為w# ;第i*(T)臺(tái)虛擬機(jī)w#)的活躍標(biāo)示記為;1彡i*⑴彡I*⑴; 步驟13、令f⑴=1; 步驟14、若i*(T)>I*(T)成立,則表示在第T周期中主機(jī)集合中的所有主機(jī)均未輕載,并跳 轉(zhuǎn)至步驟17;否則,將Μ臺(tái)主機(jī)PM中的所有主機(jī)按照其使用的CPU計(jì)算能力從大到小進(jìn)行排 序,從而獲得在第T個(gè)周期中第f (T)次排序后的Μ臺(tái)主機(jī)表示在第Τ個(gè)周期中第ρω次排序后的Μ臺(tái)主機(jī)卩^^卜中的第主機(jī);且 步驟15、令m=l; 步驟16、對(duì)排序后的第T個(gè)周期的輕載迀移總隊(duì)列L~T)中的第f(T)臺(tái)虛擬機(jī)vm#判斷,如滿足條件,則將第f(T) 臺(tái)虛擬機(jī)放入第f(T)次排序后的第m臺(tái)主機(jī)中,并令ρω+繼值給后,跳 轉(zhuǎn)至步驟14;如不滿足條件,則令m+1賦值給m后,跳轉(zhuǎn)至步驟16; 步驟17、令T+1賦值給T,并跳轉(zhuǎn)至步驟2。
【文檔編號(hào)】G06F9/455GK105930202SQ201610291246
【公開日】2016年9月7日
【申請(qǐng)日】2016年4月29日
【發(fā)明人】梁昌勇, 柏泓, 柏一泓, 顧東曉, 趙樹平, 陸文星
【申請(qǐng)人】合肥工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
曲周县| 南岸区| 军事| 岑巩县| 新和县| 泰安市| 桓仁| 抚州市| 资中县| 河源市| 林芝县| 新巴尔虎右旗| 峨边| 长顺县| 仁怀市| 隆尧县| 昭通市| 巴彦淖尔市| 华池县| 仙桃市| 大宁县| 慈溪市| 东阳市| 玛沁县| 那曲县| 始兴县| 姚安县| 新河县| 拜泉县| 涟源市| 阳曲县| 赣州市| 衡山县| 邓州市| 广汉市| 合山市| 双流县| 大化| 扬州市| 江达县| 苗栗县|