一種動(dòng)態(tài)的資源分配方法
【專利摘要】本發(fā)明公開了一種動(dòng)態(tài)的資源分配方法,包括:根據(jù)最近的n個(gè)時(shí)間段的新增虛擬機(jī)數(shù)目,預(yù)測每種規(guī)格的虛擬機(jī)在下一個(gè)時(shí)間段中的增量;B、根據(jù)預(yù)測結(jié)果,對系統(tǒng)資源池中的可用資源進(jìn)行資源分配配比規(guī)劃,確定各臺(tái)主機(jī)和虛擬機(jī)的分配優(yōu)先級(jí)別,以及每臺(tái)主機(jī)上分配的虛擬機(jī)的規(guī)格和數(shù)目;C、當(dāng)用戶申請?zhí)摂M機(jī)時(shí),按照各個(gè)主機(jī)的優(yōu)先級(jí)從高到低的順序以及所述資源分配配比規(guī)劃,將用戶所申請的虛擬機(jī)分配給相應(yīng)的主機(jī);D、當(dāng)被分配的所述規(guī)格的虛擬機(jī)的總數(shù)與資源分配配比規(guī)劃中所述規(guī)格的虛擬機(jī)的總數(shù)的比值大于預(yù)設(shè)的閾值時(shí),返回執(zhí)行步驟A。通過上述方法,可以在IaaS環(huán)境中有效地減少資源碎片,實(shí)現(xiàn)物理資源的充分利用。
【專利說明】一種動(dòng)態(tài)的資源分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及資源規(guī)劃技術(shù),特別涉及一種動(dòng)態(tài)的資源分配方法。
【背景技術(shù)】
[0002] 目前,很多運(yùn)營商和大型企業(yè)都在構(gòu)建自己的基礎(chǔ)設(shè)施即服務(wù)(IaaS, Infrastructure as a Service,),讓消費(fèi)者通過網(wǎng)絡(luò),自助獲得計(jì)算機(jī)基礎(chǔ)設(shè)施服務(wù)。因 為IaaS能夠?qū)⑺蠭T資源作為規(guī)模龐大的資源池,由云平臺(tái)統(tǒng)一管理,所以如何提高IT 資產(chǎn)的整體使用率,降低IT成本投入,對于運(yùn)營商和企業(yè)就顯得尤為重要。
[0003] 在IaaS中,資源分配的動(dòng)態(tài)性很強(qiáng),產(chǎn)生大量資源碎片的可能性很高。資源碎片 是指散落在資源池主機(jī)上的較小空閑資源,由于其容量小,它們很難被利用而白白浪費(fèi)。而 資源池中碎片的多少,是影響IT資產(chǎn)使用率的一個(gè)重要因素。一般云管理系統(tǒng)在進(jìn)行資源 分配時(shí),只是使用簡單的方法去規(guī)劃資源的使用,因此無法減少碎片的產(chǎn)生,最終導(dǎo)致資源 池總?cè)萘坑锌沼啵珔s已經(jīng)無法部署指定規(guī)格的虛擬機(jī)。
[0004] 目前,現(xiàn)有技術(shù)中所述使用的大多數(shù)的資源分配方法,是為達(dá)到資源負(fù)載分配最 優(yōu)、優(yōu)化資源使用性能而設(shè)計(jì)的,很少有以減少資源碎片為目的的資源分配方法。而且,即 便是在資源分配方法中,涉及到減少資源碎片,也大多是僅對現(xiàn)有資源情況進(jìn)行規(guī)劃,而沒 有考慮資源動(dòng)態(tài)變化因素對資源分配效果的影響。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供一種動(dòng)態(tài)的資源分配方法,從而可以在IaaS環(huán)境中有效地 減少資源碎片,實(shí)現(xiàn)物理資源的充分利用。
[0006] 本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的:
[0007] -種動(dòng)態(tài)的資源分配方法,該方法包括:
[0008] A、根據(jù)最近的n個(gè)時(shí)間段的新增虛擬機(jī)數(shù)目,預(yù)測每種規(guī)格的虛擬機(jī)在下一個(gè)時(shí) 間段中的增量;
[0009] B、根據(jù)預(yù)測結(jié)果,對系統(tǒng)資源池中的可用資源進(jìn)行資源分配配比規(guī)劃,確定各臺(tái) 主機(jī)和虛擬機(jī)的分配優(yōu)先級(jí)別,以及每臺(tái)主機(jī)上分配的虛擬機(jī)的規(guī)格和數(shù)目;
[0010] C、當(dāng)用戶申請?zhí)摂M機(jī)時(shí),按照各個(gè)主機(jī)的優(yōu)先級(jí)從高到低的順序以及所述資源分 配配比規(guī)劃,將用戶所申請的虛擬機(jī)分配給相應(yīng)的主機(jī);
[0011] D、獲取用戶所申請的虛擬機(jī)的規(guī)格以及當(dāng)前時(shí)間段中已被分配的該規(guī)格的虛擬 機(jī)的總數(shù),當(dāng)被分配的所述規(guī)格的虛擬機(jī)的總數(shù)與資源分配配比規(guī)劃中所述規(guī)格的虛擬機(jī) 的總數(shù)的比值大于預(yù)設(shè)的閾值時(shí),返回執(zhí)行步驟A。
[0012] 較佳的,所述虛擬機(jī)的規(guī)格包括:
[0013] 1 核 IG ;1 核 2G ;2 核 2G ;2 核 4G ;4 核 4G ;4 核 8G ;4 核 12G ;8 核 8G 和 8 核 12G。
[0014] 較佳的,使用二次指數(shù)平滑法預(yù)測每種規(guī)格的虛擬機(jī)在下一個(gè)時(shí)間段中的增量。
[0015] 較佳的,使用如下所述的公式來預(yù)測在下一個(gè)時(shí)間段中的虛擬機(jī)增量:
[0016] Fk+T = ak+bkT
[0017] 其中,
[0018] ak = 2Sk(l)-Sk(2)
【權(quán)利要求】
1. 一種動(dòng)態(tài)的資源分配方法,其特征在于,該方法包括: A、 根據(jù)最近的n個(gè)時(shí)間段的新增虛擬機(jī)數(shù)目,預(yù)測每種規(guī)格的虛擬機(jī)在下一個(gè)時(shí)間段 中的增量; B、 根據(jù)預(yù)測結(jié)果,對系統(tǒng)資源池中的可用資源進(jìn)行資源分配配比規(guī)劃,確定各臺(tái)主機(jī) 和虛擬機(jī)的分配優(yōu)先級(jí)別,以及每臺(tái)主機(jī)上分配的虛擬機(jī)的規(guī)格和數(shù)目; C、 當(dāng)用戶申請?zhí)摂M機(jī)時(shí),按照各個(gè)主機(jī)的優(yōu)先級(jí)從高到低的順序以及所述資源分配配 比規(guī)劃,將用戶所申請的虛擬機(jī)分配給相應(yīng)的主機(jī); D、 獲取用戶所申請的虛擬機(jī)的規(guī)格以及當(dāng)前時(shí)間段中已被分配的該規(guī)格的虛擬機(jī)的 總數(shù),當(dāng)被分配的所述規(guī)格的虛擬機(jī)的總數(shù)與資源分配配比規(guī)劃中所述規(guī)格的虛擬機(jī)的總 數(shù)的比值大于預(yù)設(shè)的閾值時(shí),返回執(zhí)行步驟A。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬機(jī)的規(guī)格包括: 1 核 1G;1 核 2G;2 核 2G;2 核 4G;4 核 4G;4 核 8G;4 核 12G;8 核 8G和 8 核 12G。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于: 使用二次指數(shù)平滑法預(yù)測每種規(guī)格的虛擬機(jī)在下一個(gè)時(shí)間段中的增量。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,使用如下所述的公式來預(yù)測在下一個(gè)時(shí) 間段中的虛擬機(jī)增量: Fk+T =ak+bkT 其中, ak = 2Sk(l)-Sk(2)
Sk(l) =aXk+(l-a)Sk_1(l) Sk(2) =aSk+(l-a)Sk_1(2) 其中,F(xiàn)k+T為第k+T個(gè)時(shí)間段的虛擬機(jī)增量,T為第k個(gè)時(shí)間段到下一個(gè)時(shí)間段的間隔 數(shù),ak和bk均為參數(shù),Sk(l)和Sk (2)分別為一次指數(shù)平滑值和二次指數(shù)平滑值,a為平滑 常數(shù),取值范圍為[〇, 1]。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于: 所述a的數(shù)值為〇. 9。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)測結(jié)果,對系統(tǒng)資源池中的可 用資源進(jìn)行資源分配配比規(guī)劃包括: 步驟B1,統(tǒng)計(jì)系統(tǒng)資源池中可用的資源數(shù)量以及可用資源在每天主機(jī)上的分布情況; 步驟B2,根據(jù)統(tǒng)計(jì)結(jié)果將各個(gè)主機(jī)按照可用的CPU數(shù)量從小到大的順序進(jìn)行排序并設(shè) 置優(yōu)先級(jí),CPU數(shù)量越少的主機(jī)的優(yōu)先級(jí)越高; 步驟B3,將預(yù)測結(jié)果中的各種規(guī)格的虛擬機(jī)按照虛擬機(jī)的CPU數(shù)量從小到大的順序進(jìn) 行排序,并根據(jù)排序結(jié)果形成虛擬機(jī)列表; 步驟B4,根據(jù)虛擬機(jī)的CPU數(shù)量和內(nèi)存大小確定各個(gè)虛擬機(jī)的CPU價(jià)值和內(nèi)存價(jià)值,并 為每臺(tái)主機(jī)設(shè)置CPU容量和內(nèi)存容量; 驟B5,按照優(yōu)先級(jí)從高到低的順序依次對每臺(tái)主機(jī)進(jìn)行一次資源規(guī)劃;在每臺(tái)主機(jī)的 資源規(guī)劃中,按照虛擬機(jī)的CPU數(shù)量從小到大的順序遍歷虛擬機(jī)列表中的每臺(tái)虛擬機(jī),將 使得當(dāng)前主機(jī)的總價(jià)值最大的虛擬機(jī)分配給當(dāng)前的主機(jī),并從虛擬機(jī)列表中刪除已被分配 的虛擬機(jī)。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,使用如下所述的狀態(tài)轉(zhuǎn)移方程對主機(jī)進(jìn) 行資源規(guī)劃: fcpu[i] =max{fcpu[i~l][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]] [ramValues-ram[i]]+cpu[i]}; fram[i] =max{fram[i-l][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]] [ramValues_ram[i]]+ram[i]}; 其中,fcpu[i]表示在為主機(jī)分配第i臺(tái)虛擬機(jī)時(shí),主機(jī)中所分配的虛擬機(jī)的CPU數(shù) 量的總和;fram[i]表示在為主機(jī)分配第i臺(tái)虛擬機(jī)時(shí),主機(jī)中所分配的虛擬機(jī)的內(nèi)存 大小的總和;cpuValues表示cpu的容量為cpuValues的主機(jī);ramValues表示內(nèi)存容量 為ramValues的主機(jī);函數(shù)fcpu[i_l] [cpuValues] [ramValues]表示第i_l個(gè)虛機(jī),放 到cpu容量是cpuValues且內(nèi)存容量是ramValues的主機(jī)中時(shí),所得到的cpu價(jià)值;函數(shù) fram[i_l] [cpuValues] [ramValues]表不第i_l個(gè)虛機(jī),放到cpu容量是cpuValues且內(nèi)存 容量是ramValues的主機(jī)中時(shí),所得到的內(nèi)存價(jià)值。
8. 根據(jù)權(quán)利要求1所述的方法,其特征在于: 所述閾值為90%。
【文檔編號(hào)】G06F9/50GK104407925SQ201410758791
【公開日】2015年3月11日 申請日期:2014年12月10日 優(yōu)先權(quán)日:2014年12月10日
【發(fā)明者】胡林, 趙康, 王敏訥, 李金嶺 申請人:中國電信集團(tuán)系統(tǒng)集成有限責(zé)任公司