專(zhuān)利名稱(chēng):虛擬化數(shù)據(jù)中心資源分配方法及虛擬機(jī)監(jiān)控器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種虛擬化數(shù)據(jù)中心資源分配方法及虛擬機(jī)監(jiān)控器,屬于虛擬化數(shù)據(jù)中心的資源分配技術(shù)領(lǐng)域。
背景技術(shù):
虛擬化技術(shù)是一種允許多個(gè)操作系統(tǒng)實(shí)例并發(fā)且獨(dú)立運(yùn)行在相同的硬件資源上的技術(shù)。該技術(shù)的核心是利用虛擬機(jī)監(jiān)控器統(tǒng)一管理和調(diào)度這些虛擬機(jī)在相應(yīng)服務(wù)提供的硬件資源上執(zhí)行。利用虛擬化技術(shù),將應(yīng)用獨(dú)立封裝在虛擬機(jī)中,由于虛擬機(jī)之間相互隔離,因此允許多個(gè)異構(gòu)的應(yīng)用運(yùn)行在同一臺(tái)服務(wù)器,從而實(shí)現(xiàn)了應(yīng)用的聚合。
現(xiàn)有應(yīng)用了虛擬化技術(shù)的數(shù)據(jù)中心將物理資源集中在一起形成一個(gè)共享虛擬資源池,用戶(hù)可以通過(guò)租借的方式按需使用計(jì)算資源,并采用量入為出的收費(fèi)方式。然而,現(xiàn)有虛擬化技術(shù)僅根據(jù)用戶(hù)需求進(jìn)行資源分配,而用戶(hù)為應(yīng)用請(qǐng)求資源時(shí)往往具有盲目性, 他們往往最大的資源使用量來(lái)申請(qǐng)資源,使得用戶(hù)所請(qǐng)求構(gòu)建的虛擬機(jī)的資源需求量往往高于虛擬機(jī)運(yùn)行時(shí)的最終資源消耗量,從而造成資源的過(guò)量分配,使資源利用率過(guò)低,也使更多的應(yīng)用請(qǐng)求無(wú)法得到滿(mǎn)足。發(fā)明內(nèi)容
本發(fā)明提供一種虛擬化數(shù)據(jù)中心資源分配方法及虛擬機(jī)監(jiān)控器,用以減少資源的過(guò)量分配,提高資源利用率。
本發(fā)明一方面提供一種虛擬化數(shù)據(jù)中心資源分配方法,其中包括
虛擬機(jī)監(jiān)控器根據(jù)接收到的用戶(hù)應(yīng)用請(qǐng)求中所請(qǐng)求構(gòu)建的虛擬機(jī),選擇用于運(yùn)行所述虛擬機(jī)的執(zhí)行服務(wù)器;
在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配能夠滿(mǎn)足該虛擬機(jī)的資源需求量的初始資源,并基于該初始資源構(gòu)建所述虛擬機(jī);
在所述虛擬機(jī)的預(yù)設(shè)運(yùn)行時(shí)段內(nèi)統(tǒng)計(jì)該虛擬機(jī)的歷史資源消耗量;
根據(jù)所述歷史資源消耗量及所述資源需求量確定超售比率0,其中,0 e
;
在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配最終資源,該最終資源=A(O),并基于該最終資源重新構(gòu)建所述虛擬機(jī),其中,A為所述歷史資源消耗量的累積分布函數(shù)。
本發(fā)明另一方面提供一種虛擬機(jī)監(jiān)控器,其中包括
服務(wù)器選擇模塊,用于根據(jù)接收到的用戶(hù)應(yīng)用請(qǐng)求中所請(qǐng)求構(gòu)建的虛擬機(jī),選擇用于運(yùn)行所述虛擬機(jī)的執(zhí)行服務(wù)器;
初始分配模塊,用于在服務(wù)器選擇模塊選擇的所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配能夠滿(mǎn)足該虛擬機(jī)的資源需求量的初始資源,并基于該初始資源構(gòu)建所述虛擬機(jī);
歷史統(tǒng)計(jì)模塊,用于在初始分配模塊構(gòu)建的所述虛擬機(jī)的預(yù)設(shè)運(yùn)行時(shí)段內(nèi)統(tǒng)計(jì)該虛擬機(jī)的歷史資源消耗量;
超售計(jì)算模塊,用于根據(jù)歷史統(tǒng)計(jì)模塊統(tǒng)計(jì)到的所述歷史資源消耗量及所述資源需求量確定超售比率0,其中,Oe
;
最終分配模塊,用于在服務(wù)器選擇模塊選擇的所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配最終資源,該最終資源=A(O),并基于該最終資源重新構(gòu)建所述虛擬機(jī),其中,A為所述歷史資源消耗量的累積分布函數(shù)。
本發(fā)明通過(guò)基于計(jì)算得到的超售比率0減少分配給虛擬機(jī)的資源,從而在盡可能保證虛擬機(jī)正常運(yùn)行的前提下,減少了資源的過(guò)量分配,提高了資源的利用率。
圖1為本發(fā)明所述虛擬化數(shù)據(jù)中心資源分配方法實(shí)施例的流程圖2為圖1所示步驟100的可選流程圖3為本發(fā)明所述虛擬機(jī)監(jiān)控器實(shí)施例的結(jié)構(gòu)示意圖4為圖3所示服務(wù)器選擇模塊11的具體結(jié)構(gòu)示意圖。
具體實(shí)施方式
圖1為本發(fā)明所述虛擬化數(shù)據(jù)中心資源分配方法實(shí)施例的流程圖,如圖所示,該方法包括如下步驟
步驟100,虛擬機(jī)監(jiān)控器根據(jù)接收到的用戶(hù)應(yīng)用請(qǐng)求中所請(qǐng)求構(gòu)建的虛擬機(jī),選擇用于運(yùn)行所述虛擬機(jī)的執(zhí)行服務(wù)器。
其中,所述用戶(hù)應(yīng)用請(qǐng)求是由用戶(hù)發(fā)來(lái)的請(qǐng)求構(gòu)建虛擬機(jī)以便實(shí)現(xiàn)具體應(yīng)用的請(qǐng)求,待構(gòu)建的虛擬機(jī)可能有一個(gè)或多個(gè);所述執(zhí)行服務(wù)器是用于為待構(gòu)建的虛擬機(jī)提供資源以便運(yùn)行虛擬機(jī)的服務(wù)器。具體的選擇過(guò)程可以采用貪心算法,將在后續(xù)內(nèi)容進(jìn)行說(shuō)明。
步驟200,在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配能夠滿(mǎn)足該虛擬機(jī)的資源需求量的初始資源,并基于該初始資源構(gòu)建所述虛擬機(jī)。
其中,所述初始資源是指按照用戶(hù)的需求而分配的資源,該初始資源的大小能夠滿(mǎn)足各個(gè)虛擬機(jī)的資源需求量。如前述的背景技術(shù)所述,用戶(hù)需求往往帶有盲目性,因此, 所分配的該初始資源往往要大于虛擬機(jī)實(shí)際的資源消耗量,其中多出的部分在本實(shí)施例中稱(chēng)為超售資源。
步驟300,在所述虛擬機(jī)的預(yù)設(shè)運(yùn)行時(shí)段內(nèi)統(tǒng)計(jì)該虛擬機(jī)的歷史資源消耗量。
其中,所述預(yù)設(shè)運(yùn)行時(shí)段內(nèi)是使虛擬機(jī)基于初始資源而運(yùn)行的一段時(shí)間,目的是為了在這段時(shí)間內(nèi)獲取虛擬機(jī)實(shí)際占用的歷史資源消耗量,以便作為后續(xù)評(píng)估超售資源時(shí)的參照。
步驟400,根據(jù)所述歷史資源消耗量及所述資源需求量確定超售比率0,其中, 0 e
。
其中,所述超售比率0是指超售資源將以(1-0) %的概率滿(mǎn)足用戶(hù)的資源請(qǐng)求。用數(shù)學(xué)式可以表達(dá)為Pr(x>A(0)) <=0%,其中,A(O)表示以超售比率0為該虛擬機(jī)分配的超售資源,χ表示該虛擬機(jī)的歷史資源消耗量,ft"表示概率。超售比率0的變化范圍在 0 100之間,0 = 0,表示沒(méi)有超售,完全按照用戶(hù)請(qǐng)求分配資源;0 = 100時(shí),則分配資源為零。
當(dāng)確定所述超售比率0時(shí),可以考慮實(shí)際收益求解如下方程
E(R|0) = ReqXprice-A(O) Xprice—( Σ Req) XcostXPr (χ
> (A(O)+A'))
其中,E (RI 0)表示在超售比率0的條件下構(gòu)建一個(gè)虛擬機(jī)的預(yù)期收益值,Req表示該虛擬機(jī)的資源需求量,price表示資源收益單價(jià),可以根據(jù)服務(wù)等級(jí)協(xié)議(Service Level Agreement,簡(jiǎn)稱(chēng)SLA)確定,A(O)表示以超售比率0為該虛擬機(jī)分配的超售資源,其滿(mǎn)足資源消耗概率的累積分布函數(shù)(Cumulative Distribution Function,簡(jiǎn)稱(chēng)CDF),Σ Req表示該虛擬機(jī)所在執(zhí)行服務(wù)器上運(yùn)行的全部虛擬機(jī)的資源需求量的總和,cost表示沖突賠償單價(jià),可以根據(jù)SLA確定,χ表示該虛擬機(jī)的歷史資源消耗量,A'表示該虛擬機(jī)所在執(zhí)行服務(wù)器上為除該虛擬機(jī)以外的虛擬分配的最終資源,Pr表示概率。
上式的實(shí)際意義為為一個(gè)虛擬機(jī)分配的資源越多,收益越多,但超售資源實(shí)際上沒(méi)有被充分利用,從而阻礙了構(gòu)建更多虛擬機(jī),因此減去超售資源獲得的收益,另外還減去發(fā)生虛擬機(jī)沖突時(shí)付出的賠償費(fèi)用。有關(guān)虛擬機(jī)沖突將在后續(xù)內(nèi)容進(jìn)行介紹。具體的方程求解過(guò)程可以采用迭代法實(shí)現(xiàn),以下舉一例說(shuō)明
權(quán)利要求
1.一種虛擬化數(shù)據(jù)中心資源分配方法,其特征在于,包括虛擬機(jī)監(jiān)控器根據(jù)接收到的用戶(hù)應(yīng)用請(qǐng)求中所請(qǐng)求構(gòu)建的虛擬機(jī),選擇用于運(yùn)行所述虛擬機(jī)的執(zhí)行服務(wù)器;在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配能夠滿(mǎn)足該虛擬機(jī)的資源需求量的初始資源,并基于該初始資源構(gòu)建所述虛擬機(jī);在所述虛擬機(jī)的預(yù)設(shè)運(yùn)行時(shí)段內(nèi)統(tǒng)計(jì)該虛擬機(jī)的歷史資源消耗量; 根據(jù)所述歷史資源消耗量及所述資源需求量確定超售比率0,其中,0 e
; 在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配最終資源,該最終資源=A(O),并基于該最終資源重新構(gòu)建所述虛擬機(jī),其中,A為所述歷史資源消耗量的累積分布函數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬機(jī)監(jiān)控器選擇所述服務(wù)器包括 收集位于接入層的全部服務(wù)器的可用資源信息;根據(jù)收集到的可用資源信息將能夠構(gòu)建所述虛擬機(jī)的服務(wù)器確定為備選服務(wù)器;將與聚合層中同一個(gè)交換機(jī)直接相連的備選服務(wù)器劃分成一個(gè)備選組;根據(jù)各個(gè)所述虛擬機(jī)的資源需求信息統(tǒng)計(jì)各個(gè)所述備選組最多能夠構(gòu)建的虛擬機(jī)的數(shù)量;根據(jù)統(tǒng)計(jì)到的所述數(shù)量從大到小的順序依次選擇相應(yīng)的備選組,直到被選中的備選組對(duì)應(yīng)的所述數(shù)量的總和等于待構(gòu)建的虛擬機(jī)的總數(shù);將被選中的所述備選組中的備選服務(wù)器選擇為所述執(zhí)行服務(wù)器。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述歷史資源消耗量確定超售比率0包括根據(jù)如下方程計(jì)算所述0的值,E(R|0) = ReqXprice-A(O) Xprice-( Σ Req) XcostXPr (χ > (A(O)+A'))其中,E(R|0)表示在超售比率0的條件下構(gòu)建一個(gè)虛擬機(jī)的預(yù)期收益值,Req表示該虛擬機(jī)的資源需求量,price表示資源收益單價(jià),A(O)表示以超售比率0為該虛擬機(jī)分配的超售資源,Σ Req表示該虛擬機(jī)所在執(zhí)行服務(wù)器上運(yùn)行的全部虛擬機(jī)的資源需求量的總和,cost表示沖突賠償單價(jià),χ表示該虛擬機(jī)的歷史資源消耗量,A'表示該虛擬機(jī)所在執(zhí)行服務(wù)器上為除該虛擬機(jī)以外的虛擬分配的最終資源,Pr表示概率。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括當(dāng)所述執(zhí)行服務(wù)器上的多個(gè)虛擬機(jī)之間發(fā)生沖突時(shí),將發(fā)生沖突的虛擬機(jī)遷移到同一備選組中的另一個(gè)執(zhí)行服務(wù)器上。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將發(fā)生沖突的虛擬機(jī)遷移到所述另一個(gè)執(zhí)行服務(wù)器上包括將發(fā)生沖突的虛擬機(jī)中占用內(nèi)存空間最小的虛擬機(jī)遷移到所述另一個(gè)執(zhí)行服務(wù)器上。
6.一種虛擬機(jī)監(jiān)控器,其特征在于,包括服務(wù)器選擇模塊,用于根據(jù)接收到的用戶(hù)應(yīng)用請(qǐng)求中所請(qǐng)求構(gòu)建的虛擬機(jī),選擇用于運(yùn)行所述虛擬機(jī)的執(zhí)行服務(wù)器;初始分配模塊,用于在服務(wù)器選擇模塊選擇的所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配能夠滿(mǎn)足該虛擬機(jī)的資源需求量的初始資源,并基于該初始資源構(gòu)建所述虛擬機(jī);歷史統(tǒng)計(jì)模塊,用于在初始分配模塊構(gòu)建的所述虛擬機(jī)的預(yù)設(shè)運(yùn)行時(shí)段內(nèi)統(tǒng)計(jì)該虛擬機(jī)的歷史資源消耗量;超售計(jì)算模塊,用于根據(jù)歷史統(tǒng)計(jì)模塊統(tǒng)計(jì)到的所述歷史資源消耗量及所述資源需求量確定超售比率0,其中,0 e
;最終分配模塊,用于在服務(wù)器選擇模塊選擇的所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配最終資源,該最終資源=A(O),并基于該最終資源重新構(gòu)建所述虛擬機(jī),其中,A為所述歷史資源消耗量的累積分布函數(shù)。
7.根據(jù)權(quán)利要求6所述的虛擬機(jī)監(jiān)控器,其特征在于,所述服務(wù)器選擇模塊包括收集單元,用于收集位于接入層的全部服務(wù)器的可用資源信息;備選單元,用于根據(jù)收集單元收集到的可用資源信息將能夠構(gòu)建所述虛擬機(jī)的服務(wù)器確定為備選服務(wù)器;劃分單元,用于針對(duì)由備選單元確定的所述備選服務(wù)器,將與聚合層中同一個(gè)交換機(jī)直接相連的備選服務(wù)器劃分成一個(gè)備選組;統(tǒng)計(jì)單元,用于根據(jù)各個(gè)所述虛擬機(jī)的資源需求信息統(tǒng)計(jì)由劃分單元?jiǎng)澐值母鱾€(gè)所述備選組最多能夠構(gòu)建的虛擬機(jī)的數(shù)量;選擇單元,用于根據(jù)統(tǒng)計(jì)單元統(tǒng)計(jì)到的所述數(shù)量從大到小的順序依次選擇相應(yīng)的備選組,直到被選中的備選組對(duì)應(yīng)的所述數(shù)量的總和等于待構(gòu)建的虛擬機(jī)的總數(shù),并將被選中的所述備選組中的備選服務(wù)器選擇為所述執(zhí)行服務(wù)器。
8.根據(jù)權(quán)利要求6或7所述的虛擬機(jī)監(jiān)控器,其特征在于,所述超售計(jì)算模塊用于根據(jù)如下方程計(jì)算所述0的值,E(R|0) = ReqXprice-A(O) Xprice-( Σ Req) XcostXPr (χ > (A(O)+A'))其中,E(R|0)表示在超售比率0的條件下構(gòu)建一個(gè)虛擬機(jī)的預(yù)期收益值,Req表示該虛擬機(jī)的資源需求量,price表示資源收益單價(jià),A(O)表示以超售比率0為該虛擬機(jī)分配的超售資源,Σ Req表示該虛擬機(jī)所在執(zhí)行服務(wù)器上運(yùn)行的全部虛擬機(jī)的資源需求量的總和,cost表示沖突賠償單價(jià),χ表示該虛擬機(jī)的歷史資源消耗量,A'表示該虛擬機(jī)所在執(zhí)行服務(wù)器上為除該虛擬機(jī)以外的虛擬分配的最終資源,Pr表示概率。
9.根據(jù)權(quán)利要求8所述的虛擬機(jī)監(jiān)控器,其特征在于,還包括虛擬機(jī)遷移模塊,用于當(dāng)服務(wù)器選擇模塊選擇的所述執(zhí)行服務(wù)器上的多個(gè)虛擬機(jī)之間發(fā)生沖突時(shí),將發(fā)生沖突的虛擬機(jī)遷移到同一備選組中的另一個(gè)執(zhí)行服務(wù)器上。
10.根據(jù)權(quán)利要求9所述的虛擬機(jī)監(jiān)控器,其特征在于所述虛擬機(jī)遷移模塊用于當(dāng)服務(wù)器選擇模塊選擇的所述執(zhí)行服務(wù)器上的多個(gè)虛擬機(jī)之間發(fā)生沖突時(shí),將發(fā)生沖突的虛擬機(jī)中占用內(nèi)存空間最小的虛擬機(jī)遷移到所述另一個(gè)執(zhí)行服務(wù)器上。
全文摘要
本發(fā)明提供一種虛擬化數(shù)據(jù)中心資源分配方法及虛擬機(jī)監(jiān)控器,其中方法包括虛擬機(jī)監(jiān)控器根據(jù)接收到的用戶(hù)應(yīng)用請(qǐng)求中所請(qǐng)求構(gòu)建的虛擬機(jī),選擇用于運(yùn)行所述虛擬機(jī)的執(zhí)行服務(wù)器;在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配能夠滿(mǎn)足該虛擬機(jī)的資源需求量的初始資源,并基于該初始資源構(gòu)建所述虛擬機(jī);在所述虛擬機(jī)的預(yù)設(shè)運(yùn)行時(shí)段內(nèi)統(tǒng)計(jì)該虛擬機(jī)的歷史資源消耗量;根據(jù)所述歷史資源消耗量及所述資源需求量確定超售比率O,其中,O∈
;在所述執(zhí)行服務(wù)器上為各個(gè)所述虛擬機(jī)分配最終資源,該最終資源=A(O),并基于該最終資源重新構(gòu)建所述虛擬機(jī),其中,A為所述歷史資源消耗量的累積分布函數(shù)。本發(fā)明減少了資源的過(guò)量分配,提高了資源利用率。
文檔編號(hào)G06F9/50GK102521052SQ201110401620
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者孫倩, 懷進(jìn)鵬, 李博, 沃天宇, 胡春明 申請(qǐng)人:北京航空航天大學(xué)