亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

虛擬機(jī)分配方法和虛擬機(jī)分配系統(tǒng)與流程

文檔序號(hào):11949730閱讀:660來源:國知局
虛擬機(jī)分配方法和虛擬機(jī)分配系統(tǒng)與流程

本發(fā)明涉及虛擬技術(shù)領(lǐng)域,特別涉及一種虛擬機(jī)分配方法和虛擬機(jī)分配系統(tǒng)。



背景技術(shù):

隨著虛擬化云計(jì)算技術(shù)的發(fā)展,云計(jì)算平臺(tái)已經(jīng)廣泛應(yīng)用于各產(chǎn)業(yè)界。

在現(xiàn)有技術(shù)中,云平臺(tái)首先認(rèn)為物理機(jī)具有同構(gòu)資源,并以虛擬機(jī)為單位進(jìn)行資源調(diào)度的,云平臺(tái)根據(jù)整個(gè)云計(jì)算系統(tǒng)中資源分配的考慮,為虛擬機(jī)選擇合適的物理機(jī)進(jìn)行部署設(shè)置,其中,虛擬機(jī)作為一種應(yīng)用執(zhí)行的環(huán)境,被部署在物理機(jī)中來執(zhí)行應(yīng)用程序,即虛擬機(jī)中設(shè)置有邏輯上用戶對(duì)計(jì)算資源的需求。

云環(huán)境中的虛擬機(jī)資源映射與傳統(tǒng)多維裝箱問題的不同之處,主要體現(xiàn)在兩個(gè)方面:一方面是虛擬機(jī)實(shí)例和物理機(jī)多維資源屬性的不可疊加特性,即物理機(jī)中的CPU、內(nèi)存、磁盤以及I/O等資源一旦被分配給某一虛擬機(jī)后,則不能同時(shí)被分配給其他虛擬機(jī);另一方面是虛擬機(jī)實(shí)例和物理機(jī)的時(shí)間屬性,即物理機(jī)的運(yùn)行時(shí)間取決于所被分配的所有虛擬機(jī)中運(yùn)行時(shí)間最長(zhǎng)的虛擬機(jī)的運(yùn)行時(shí)間。

現(xiàn)有技術(shù)在分配虛擬機(jī)時(shí),往往僅考慮到空間上滿足多維資源屬性的約束,而忽略了時(shí)間因素。而現(xiàn)有技術(shù)中虛擬機(jī)的分配方法,在實(shí)現(xiàn)高資源利用率的同時(shí),容易將運(yùn)行時(shí)間跨度較大的兩個(gè)虛擬機(jī)分配至同一物理機(jī)中,從而使得系統(tǒng)中所有物理機(jī)的運(yùn)行時(shí)間總和較長(zhǎng),耗能較高。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種虛擬機(jī)分配方法和虛擬機(jī)分配系統(tǒng),旨在解決現(xiàn)有技術(shù)中存在的至少之一的技術(shù)問題。

為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種虛擬機(jī)分配方法,包括:

步驟S1、獲取待分配的各虛擬機(jī)的運(yùn)行時(shí)間和資源配置數(shù)據(jù),所述資源配置數(shù)據(jù)包括:至少一項(xiàng)資源指標(biāo);

步驟S2、按照所述運(yùn)行時(shí)間對(duì)各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列;

步驟S3、針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)所述虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出所述物理機(jī)對(duì)應(yīng)的最優(yōu)裝機(jī)方案,所述貪心裝機(jī)規(guī)則是指從虛擬機(jī)序列中依次逐個(gè)將虛擬機(jī)裝配至所述物理機(jī)中,直至所述物理機(jī)無法繼續(xù)裝配虛擬機(jī);

步驟S4、針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)所述物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和所述物理機(jī)的資源配置數(shù)據(jù),計(jì)算所述物理機(jī)的資源利用率;

步驟S5、根據(jù)步驟S4的計(jì)算結(jié)果,選取處于最優(yōu)裝機(jī)方案時(shí)的資源利用率最大的所述物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)步驟3中模擬出的所述優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向所述優(yōu)選物理機(jī)分配虛擬機(jī);

步驟S6、從物理機(jī)列表中刪除所述優(yōu)選物理機(jī),以及從所述虛擬機(jī)序列中刪除已被分配至所述優(yōu)選物理機(jī)的虛擬機(jī);

步驟S7、判斷所述虛擬機(jī)序列中是否還存在虛擬機(jī);

若判斷出所述虛擬機(jī)序列中還存在虛擬機(jī),則繼續(xù)執(zhí)行上述步驟S3。

可選地,資源配置數(shù)據(jù)包括三項(xiàng)資源指標(biāo),分別為:CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

可選地,若在步驟S3中模擬出第J個(gè)物理機(jī)通過貪心裝機(jī)規(guī)則可以裝配虛擬機(jī)序列中的前k個(gè)虛擬機(jī),則在步驟S4中采用如下公式計(jì)算出第J個(gè)物理機(jī)的資源利用率EJ

<mrow> <msub> <mi>E</mi> <mi>J</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mo>)</mo> </mrow> <mrow> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> </mrow> </mfrac> </mrow>

其中,rucpu、rumem、rui/o分別表示虛擬機(jī)序列中第u個(gè)虛擬機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo),CJcpu、CJmem、CJi/o分別表示第J個(gè)物理機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種虛擬機(jī)分配系統(tǒng),包括:

獲取模塊,用于獲取待分配的各虛擬機(jī)的運(yùn)行時(shí)間和資源配置數(shù)據(jù);

排序模塊,用于按照所述運(yùn)行時(shí)間對(duì)各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列;

模擬模塊,用于針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)所述虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出所述物理機(jī)對(duì)應(yīng)的最優(yōu)裝機(jī)方案,所述貪心裝機(jī)規(guī)則是指從虛擬機(jī)序列中依次逐個(gè)將虛擬機(jī)裝配至所述物理機(jī)中,直至所述物理機(jī)無法繼續(xù)裝配虛擬機(jī);

計(jì)算模塊,用于針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)所述物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和所述物理機(jī)的資源配置數(shù)據(jù),計(jì)算所述物理機(jī)的資源利用率;

分配模塊,用于根據(jù)所述計(jì)算模塊的計(jì)算結(jié)果,選取處于最優(yōu)裝機(jī)方案時(shí)的資源利用率最大的所述物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)所述模擬模塊模擬出的所述優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向所述優(yōu)選物理機(jī)分配虛擬機(jī);

刪除模塊,用于從物理機(jī)列表中刪除所述優(yōu)選物理機(jī),以及從所述虛擬機(jī)序列中刪除已被分配至所述優(yōu)選物理機(jī)的虛擬機(jī);

判斷模塊,用于判斷所述虛擬機(jī)序列中是否還存在虛擬機(jī),若判斷出所述虛擬機(jī)序列中還存在虛擬機(jī),則控制所述模擬模塊繼續(xù)工作。

可選地,資源配置數(shù)據(jù)包括:CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

可選地,若所述模塊模塊模擬出第J個(gè)物理機(jī)通過貪心裝機(jī)規(guī)則可以裝配虛擬機(jī)序列中的前k個(gè)虛擬機(jī),則所述計(jì)算模塊中采用如下公式計(jì)算出第J個(gè)物理機(jī)的資源利用率EJ

<mrow> <msub> <mi>E</mi> <mi>J</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mo>)</mo> </mrow> <mrow> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> </mrow> </mfrac> </mrow>

其中,rucpu、rumem、rui/o分別表示虛擬機(jī)序列中第u個(gè)虛擬機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo),CJcpu、CJmem、CJi/o分別表示第J個(gè)物理機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

本發(fā)明具有以下有益效果:

本發(fā)明提供了一種虛擬機(jī)分配方法和虛擬機(jī)分配方法,其中該虛擬機(jī)分配方法包括:步驟S1、獲取待分配的各虛擬機(jī)的運(yùn)行時(shí)間和資源配置數(shù)據(jù);步驟S2、按照運(yùn)行時(shí)間對(duì)各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列;步驟S3、針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出物理機(jī)對(duì)應(yīng)的最優(yōu)裝機(jī)方案;步驟S4、計(jì)算各物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)的資源利用率;步驟S5、根據(jù)步驟S4的計(jì)算結(jié)果,選取處于最優(yōu)裝機(jī)方案時(shí)的資源利用率最大的物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)步驟3中模擬出的優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向優(yōu)選物理機(jī)分配虛擬機(jī);步驟S6、從物理機(jī)列表中刪除優(yōu)選物理機(jī),以及從虛擬機(jī)序列中刪除已被分配至優(yōu)選物理機(jī)的虛擬機(jī);步驟S7、判斷虛擬機(jī)序列中是否還存在虛擬機(jī);若判斷出虛擬機(jī)序列中還存在虛擬機(jī),則繼續(xù)執(zhí)行上述步驟S3。本發(fā)明的技術(shù)方案通過在滿足物理機(jī)多維資源屬性的約束的前提下,將運(yùn)行時(shí)間相近的虛擬機(jī)分配至同一物理機(jī)中,可實(shí)現(xiàn)將長(zhǎng)期運(yùn)行的資源的集中放置,從而使得系統(tǒng)中的部分物理機(jī)(分配有短運(yùn)行時(shí)間的物理機(jī))的運(yùn)行時(shí)間能夠縮短,進(jìn)而使得系統(tǒng)中所有物理機(jī)的運(yùn)行時(shí)間總和減小,以降低系統(tǒng)的全局能耗成本。

附圖說明

圖1為本發(fā)明實(shí)施例一提供的一種虛擬機(jī)分配方法的流程圖;

圖2為本發(fā)明實(shí)施例二提供的一種虛擬機(jī)分配系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對(duì)本發(fā)明提供的一種虛擬機(jī)分配方法和虛擬機(jī)分配系統(tǒng)進(jìn)行詳細(xì)描述。

圖1為本發(fā)明實(shí)施例一提供的一種虛擬機(jī)分配方法的流程圖,如圖1所示,該虛擬機(jī)分配方法包括:

步驟S1、獲取待分配的各虛擬機(jī)的運(yùn)行時(shí)間和資源配置數(shù)據(jù)。

在步驟S1中,各虛擬機(jī)的資源配置數(shù)據(jù)包括:至少一項(xiàng)資源指標(biāo),其中,資源指標(biāo)具體可以選自CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)等。

需要說明的是,本實(shí)施例中以資源配置數(shù)據(jù)包括CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)為例進(jìn)行說明。

步驟S2、按照運(yùn)行時(shí)間對(duì)各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列。

在步驟S2中,可以根據(jù)運(yùn)行時(shí)間由長(zhǎng)至短或由短至長(zhǎng)的順序來對(duì)各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列。此時(shí),在該虛擬機(jī)序列中,運(yùn)行時(shí)間相同或相近的虛擬機(jī)會(huì)排在一起。

在本實(shí)施例中,位于虛擬機(jī)序列中的第u個(gè)虛擬機(jī)記為ru,u為正整數(shù)且小于N,N為待分配的虛擬機(jī)的總數(shù)。

步驟S3、針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出物理機(jī)對(duì)應(yīng)的最優(yōu)裝機(jī)方案。

在步驟S3中,根據(jù)虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬各物理機(jī)的最優(yōu)裝機(jī)方案。其中,貪心裝機(jī)規(guī)則是指從虛擬機(jī)序列中依次逐個(gè)將虛擬機(jī)裝配至物理機(jī)中,直至物理機(jī)無法繼續(xù)裝配虛擬機(jī)。

以模擬第J個(gè)物理機(jī)的最優(yōu)裝機(jī)方案為例。

根據(jù)如下式子:

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>&le;</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mn>......</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>&le;</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mn>......</mn> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mo>&le;</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mn>......</mn> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>&gt;</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mn>......</mn> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>&gt;</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mn>......</mn> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> </mrow> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mo>&gt;</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mn>......</mn> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,rucpu、rumem、rui/o分別表示虛擬機(jī)序列中第u個(gè)虛擬機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo),CJcpu、CJmem、CJi/o分別表示第J個(gè)物理機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

求出能夠使得式子(1)(2)(3)同時(shí)成立,且使得式子(4)(5)(6)中至少一個(gè)成立的K的值,即可得知第J個(gè)物理機(jī)的最優(yōu)裝機(jī)方案。

步驟S4、針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和物理機(jī)的資源配置數(shù)據(jù),計(jì)算物理機(jī)的資源利用率。

在步驟S4中,根據(jù)物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和物理機(jī)的資源配置數(shù)據(jù),計(jì)算物理機(jī)的資源利用率,其中,物理機(jī)的資源利用率等于其自身各項(xiàng)資源指標(biāo)利用率的乘積,資源指標(biāo)利用率等于物理機(jī)所裝載的所有虛擬機(jī)的該項(xiàng)資源指標(biāo)之和與物理機(jī)的該項(xiàng)資源指標(biāo)的比值。

具體地,當(dāng)資源配置數(shù)據(jù)包括CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)時(shí),物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)資源利用率等于其自身的CPU指標(biāo)利用率、內(nèi)存指標(biāo)利用率和磁盤讀寫指標(biāo)利用率三者的乘積。

其中,假定通過步驟S3模擬出的第J個(gè)物理機(jī)最多可裝配的虛擬機(jī)的數(shù)量為K,則第J個(gè)物理機(jī)的資源利用率EJ

<mrow> <msub> <mi>E</mi> <mi>J</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mo>)</mo> </mrow> <mrow> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> </mrow> </mfrac> </mrow>

基于上述原理,可計(jì)算出物理機(jī)列表中的各物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)的資源利用率。

步驟S5、根據(jù)步驟S4的計(jì)算結(jié)果,選取處于最優(yōu)裝機(jī)方案時(shí)的資源利用率最大的物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)步驟3中模擬出的優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向優(yōu)選物理機(jī)分配虛擬機(jī)。

在步驟S5中,可對(duì)步驟S4所計(jì)算出的各物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)的資源利用率進(jìn)行排序,從中選取資源利用率最大的物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)步驟3中模擬出的優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案向該優(yōu)選物理機(jī)分配虛擬機(jī),即建立優(yōu)選物理機(jī)與對(duì)應(yīng)虛擬機(jī)的映射關(guān)系。

此時(shí),該優(yōu)選物理機(jī)不僅滿足多維資源屬性(CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo))的約束條件,而且分配至該虛擬機(jī)中的各虛擬機(jī)的運(yùn)行時(shí)間是相同或相近的。

需要說明的是,當(dāng)出現(xiàn)資源利用率相同且均為最大的至少兩個(gè)物理機(jī)時(shí),可以選擇其中任意一個(gè)物理機(jī)作為優(yōu)選物理機(jī)。

步驟S6、從物理機(jī)列表中刪除優(yōu)選物理機(jī),以及從虛擬機(jī)序列中刪除已被分配至優(yōu)選物理機(jī)的虛擬機(jī)。

在為優(yōu)選物理機(jī)分配相應(yīng)的虛擬機(jī)后,則需要從物理機(jī)列表中刪除優(yōu)選物理機(jī),以及從虛擬機(jī)序列中刪除已被分配至優(yōu)選物理機(jī)的虛擬機(jī)。

步驟S7、判斷虛擬機(jī)序列中是否還存在虛擬機(jī)。

在步驟S7中,通過判斷虛擬機(jī)序列中是否還存在虛擬機(jī),以檢測(cè)待分配的虛擬機(jī)是否全部被分配。其中,若判斷出虛擬機(jī)序列中還存在虛擬機(jī)時(shí),則說明虛擬機(jī)沒有分配玩,此時(shí)重新執(zhí)行步驟S3以開始對(duì)虛擬機(jī)序列繼續(xù)進(jìn)行分配;若判斷出虛擬機(jī)序列中不存在虛擬機(jī)時(shí),則說明虛擬機(jī)全部被分配,流程結(jié)束。

本發(fā)明實(shí)施例一提供了一種虛擬機(jī)分配方法,通過在滿足物理機(jī)多維資源屬性的約束的前提下,將運(yùn)行時(shí)間相近的虛擬機(jī)分配至同一物理機(jī)中,可實(shí)現(xiàn)將長(zhǎng)期運(yùn)行的資源的集中放置,從而使得系統(tǒng)中的部分物理機(jī)(分配有短運(yùn)行時(shí)間的物理機(jī))的運(yùn)行時(shí)間能夠縮短,進(jìn)而使得系統(tǒng)中所有物理機(jī)的運(yùn)行時(shí)間總和減小,以降低系統(tǒng)的全局能耗成本。

圖2為本發(fā)明實(shí)施例二提供的一種虛擬機(jī)分配系統(tǒng)的結(jié)構(gòu)示意圖,如圖2所示,該虛擬機(jī)分配系統(tǒng)包括:獲取模塊1、排序模塊2、模擬模塊3、計(jì)算模塊4、分配模塊5、刪除模塊6、判斷模塊7。

其中,獲取模塊1用于獲取待分配的各虛擬機(jī)的運(yùn)行時(shí)間和資源配置數(shù)據(jù)??蛇x地,資源配置數(shù)據(jù)包括:CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

排序模塊2用于按照運(yùn)行時(shí)間對(duì)各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列。

模擬模塊3用于針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出物理機(jī)對(duì)應(yīng)的最優(yōu)裝機(jī)方案,貪心裝機(jī)規(guī)則是指從虛擬機(jī)序列中依次逐個(gè)將虛擬機(jī)裝配至物理機(jī)中,直至物理機(jī)無法繼續(xù)裝配虛擬機(jī)。

計(jì)算模塊4用于針對(duì)物理機(jī)列表中的各物理機(jī),根據(jù)物理機(jī)處于最優(yōu)裝機(jī)方案時(shí)所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和物理機(jī)的資源配置數(shù)據(jù),計(jì)算物理機(jī)的資源利用率。

可選地,當(dāng)源配置數(shù)據(jù)包括:CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)時(shí),若模塊模塊3模擬出第J個(gè)物理機(jī)通過貪心裝機(jī)規(guī)則可以裝配虛擬機(jī)序列中的前k個(gè)虛擬機(jī),則計(jì)算模塊4中采用如下公式計(jì)算出第J個(gè)物理機(jī)的資源利用率EJ

<mrow> <msub> <mi>E</mi> <mi>J</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>)</mo> <mo>*</mo> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>u</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msup> <msub> <mi>r</mi> <mi>u</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> <mo>)</mo> </mrow> <mrow> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msup> <mo>*</mo> <msup> <msub> <mi>C</mi> <mi>J</mi> </msub> <mrow> <mi>i</mi> <mo>/</mo> <mi>o</mi> </mrow> </msup> </mrow> </mfrac> </mrow>

其中,rucpu、rumem、rui/o分別表示虛擬機(jī)序列中第u個(gè)虛擬機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo),CJcpu、CJmem、CJi/o分別表示第J個(gè)物理機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。

分配模塊5用于根據(jù)計(jì)算模塊4的計(jì)算結(jié)果,選取處于最優(yōu)裝機(jī)方案時(shí)的資源利用率最大的物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)模擬模塊3模擬出的優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向優(yōu)選物理機(jī)分配虛擬機(jī)。

刪除模塊6用于從物理機(jī)列表中刪除優(yōu)選物理機(jī),以及從虛擬機(jī)序列中刪除已被分配至優(yōu)選物理機(jī)的虛擬機(jī)。

判斷模塊7用于判斷虛擬機(jī)序列中是否還存在虛擬機(jī),若判斷出虛擬機(jī)序列中還存在虛擬機(jī),則控制模擬模塊繼續(xù)工作;若判斷出虛擬機(jī)序列中不存在虛擬機(jī)時(shí),則說明全部虛擬機(jī)完成分配。

需要說明的是,本實(shí)施例中的獲取模塊1用于執(zhí)行上述實(shí)施例一中的步驟S1,排序模塊2用于執(zhí)行上述實(shí)施例一中的步驟S2,模擬模塊3用于執(zhí)行上述實(shí)施例一中的步驟S3,計(jì)算模塊4用于執(zhí)行上述實(shí)施例一中的步驟S4,分配模塊5用于執(zhí)行上述實(shí)施例一中的步驟S5,刪除模塊6用于執(zhí)行上述實(shí)施例一中的步驟S6,判斷模塊7用于執(zhí)行上述實(shí)施例一中的步驟S7。對(duì)于各模塊的具體工作過程,可參見上述實(shí)施例一中的描述,此處不再贅述。

本發(fā)明實(shí)施例二提供了一種虛擬機(jī)分配系統(tǒng),通過在滿足物理機(jī)多維資源屬性的約束的前提下,將運(yùn)行時(shí)間相近的虛擬機(jī)分配至同一物理機(jī)中,可實(shí)現(xiàn)將長(zhǎng)期運(yùn)行的資源的集中放置,從而使得系統(tǒng)中的部分物理機(jī)(分配有短運(yùn)行時(shí)間的物理機(jī))的運(yùn)行時(shí)間能夠縮短,進(jìn)而使得系統(tǒng)中所有物理機(jī)的運(yùn)行時(shí)間總和減小,以降低系統(tǒng)的全局能耗成本。

可以理解的是,以上實(shí)施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實(shí)施方式,然而本發(fā)明并不局限于此。對(duì)于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實(shí)質(zhì)的情況下,可以做出各種變型和改進(jìn),這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1