虚拟机分配方法和虚拟机分配系统与流程

文档序号:11949730阅读:551来源:国知局
虚拟机分配方法和虚拟机分配系统与流程

本发明涉及虚拟技术领域,特别涉及一种虚拟机分配方法和虚拟机分配系统。



背景技术:

随着虚拟化云计算技术的发展,云计算平台已经广泛应用于各产业界。

在现有技术中,云平台首先认为物理机具有同构资源,并以虚拟机为单位进行资源调度的,云平台根据整个云计算系统中资源分配的考虑,为虚拟机选择合适的物理机进行部署设置,其中,虚拟机作为一种应用执行的环境,被部署在物理机中来执行应用程序,即虚拟机中设置有逻辑上用户对计算资源的需求。

云环境中的虚拟机资源映射与传统多维装箱问题的不同之处,主要体现在两个方面:一方面是虚拟机实例和物理机多维资源属性的不可叠加特性,即物理机中的CPU、内存、磁盘以及I/O等资源一旦被分配给某一虚拟机后,则不能同时被分配给其他虚拟机;另一方面是虚拟机实例和物理机的时间属性,即物理机的运行时间取决于所被分配的所有虚拟机中运行时间最长的虚拟机的运行时间。

现有技术在分配虚拟机时,往往仅考虑到空间上满足多维资源属性的约束,而忽略了时间因素。而现有技术中虚拟机的分配方法,在实现高资源利用率的同时,容易将运行时间跨度较大的两个虚拟机分配至同一物理机中,从而使得系统中所有物理机的运行时间总和较长,耗能较高。



技术实现要素:

本发明提供一种虚拟机分配方法和虚拟机分配系统,旨在解决现有技术中存在的至少之一的技术问题。

为实现上述目的,本发明提供了一种虚拟机分配方法,包括:

步骤S1、获取待分配的各虚拟机的运行时间和资源配置数据,所述资源配置数据包括:至少一项资源指标;

步骤S2、按照所述运行时间对各虚拟机进行排序,并生成虚拟机序列;

步骤S3、针对物理机列表中的各物理机,根据所述虚拟机序列和贪心装机规则来模拟出所述物理机对应的最优装机方案,所述贪心装机规则是指从虚拟机序列中依次逐个将虚拟机装配至所述物理机中,直至所述物理机无法继续装配虚拟机;

步骤S4、针对物理机列表中的各物理机,根据所述物理机处于最优装机方案时所装配的各虚拟机的资源配置数据和所述物理机的资源配置数据,计算所述物理机的资源利用率;

步骤S5、根据步骤S4的计算结果,选取处于最优装机方案时的资源利用率最大的所述物理机以作为优选物理机,并根据步骤3中模拟出的所述优选物理机的最优装机方案,向所述优选物理机分配虚拟机;

步骤S6、从物理机列表中删除所述优选物理机,以及从所述虚拟机序列中删除已被分配至所述优选物理机的虚拟机;

步骤S7、判断所述虚拟机序列中是否还存在虚拟机;

若判断出所述虚拟机序列中还存在虚拟机,则继续执行上述步骤S3。

可选地,资源配置数据包括三项资源指标,分别为:CPU指标、内存指标和磁盘读写指标。

可选地,若在步骤S3中模拟出第J个物理机通过贪心装机规则可以装配虚拟机序列中的前k个虚拟机,则在步骤S4中采用如下公式计算出第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分别表示虚拟机序列中第u个虚拟机的CPU指标、内存指标和磁盘读写指标,CJcpu、CJmem、CJi/o分别表示第J个物理机的CPU指标、内存指标和磁盘读写指标。

为实现上述目的,本发明还提供了一种虚拟机分配系统,包括:

获取模块,用于获取待分配的各虚拟机的运行时间和资源配置数据;

排序模块,用于按照所述运行时间对各虚拟机进行排序,并生成虚拟机序列;

模拟模块,用于针对物理机列表中的各物理机,根据所述虚拟机序列和贪心装机规则来模拟出所述物理机对应的最优装机方案,所述贪心装机规则是指从虚拟机序列中依次逐个将虚拟机装配至所述物理机中,直至所述物理机无法继续装配虚拟机;

计算模块,用于针对物理机列表中的各物理机,根据所述物理机处于最优装机方案时所装配的各虚拟机的资源配置数据和所述物理机的资源配置数据,计算所述物理机的资源利用率;

分配模块,用于根据所述计算模块的计算结果,选取处于最优装机方案时的资源利用率最大的所述物理机以作为优选物理机,并根据所述模拟模块模拟出的所述优选物理机的最优装机方案,向所述优选物理机分配虚拟机;

删除模块,用于从物理机列表中删除所述优选物理机,以及从所述虚拟机序列中删除已被分配至所述优选物理机的虚拟机;

判断模块,用于判断所述虚拟机序列中是否还存在虚拟机,若判断出所述虚拟机序列中还存在虚拟机,则控制所述模拟模块继续工作。

可选地,资源配置数据包括:CPU指标、内存指标和磁盘读写指标。

可选地,若所述模块模块模拟出第J个物理机通过贪心装机规则可以装配虚拟机序列中的前k个虚拟机,则所述计算模块中采用如下公式计算出第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分别表示虚拟机序列中第u个虚拟机的CPU指标、内存指标和磁盘读写指标,CJcpu、CJmem、CJi/o分别表示第J个物理机的CPU指标、内存指标和磁盘读写指标。

本发明具有以下有益效果:

本发明提供了一种虚拟机分配方法和虚拟机分配方法,其中该虚拟机分配方法包括:步骤S1、获取待分配的各虚拟机的运行时间和资源配置数据;步骤S2、按照运行时间对各虚拟机进行排序,并生成虚拟机序列;步骤S3、针对物理机列表中的各物理机,根据虚拟机序列和贪心装机规则来模拟出物理机对应的最优装机方案;步骤S4、计算各物理机处于最优装机方案时的资源利用率;步骤S5、根据步骤S4的计算结果,选取处于最优装机方案时的资源利用率最大的物理机以作为优选物理机,并根据步骤3中模拟出的优选物理机的最优装机方案,向优选物理机分配虚拟机;步骤S6、从物理机列表中删除优选物理机,以及从虚拟机序列中删除已被分配至优选物理机的虚拟机;步骤S7、判断虚拟机序列中是否还存在虚拟机;若判断出虚拟机序列中还存在虚拟机,则继续执行上述步骤S3。本发明的技术方案通过在满足物理机多维资源属性的约束的前提下,将运行时间相近的虚拟机分配至同一物理机中,可实现将长期运行的资源的集中放置,从而使得系统中的部分物理机(分配有短运行时间的物理机)的运行时间能够缩短,进而使得系统中所有物理机的运行时间总和减小,以降低系统的全局能耗成本。

附图说明

图1为本发明实施例一提供的一种虚拟机分配方法的流程图;

图2为本发明实施例二提供的一种虚拟机分配系统的结构示意图。

具体实施方式

为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的一种虚拟机分配方法和虚拟机分配系统进行详细描述。

图1为本发明实施例一提供的一种虚拟机分配方法的流程图,如图1所示,该虚拟机分配方法包括:

步骤S1、获取待分配的各虚拟机的运行时间和资源配置数据。

在步骤S1中,各虚拟机的资源配置数据包括:至少一项资源指标,其中,资源指标具体可以选自CPU指标、内存指标和磁盘读写指标等。

需要说明的是,本实施例中以资源配置数据包括CPU指标、内存指标和磁盘读写指标为例进行说明。

步骤S2、按照运行时间对各虚拟机进行排序,并生成虚拟机序列。

在步骤S2中,可以根据运行时间由长至短或由短至长的顺序来对各虚拟机进行排序,并生成虚拟机序列。此时,在该虚拟机序列中,运行时间相同或相近的虚拟机会排在一起。

在本实施例中,位于虚拟机序列中的第u个虚拟机记为ru,u为正整数且小于N,N为待分配的虚拟机的总数。

步骤S3、针对物理机列表中的各物理机,根据虚拟机序列和贪心装机规则来模拟出物理机对应的最优装机方案。

在步骤S3中,根据虚拟机序列和贪心装机规则来模拟各物理机的最优装机方案。其中,贪心装机规则是指从虚拟机序列中依次逐个将虚拟机装配至物理机中,直至物理机无法继续装配虚拟机。

以模拟第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分别表示虚拟机序列中第u个虚拟机的CPU指标、内存指标和磁盘读写指标,CJcpu、CJmem、CJi/o分别表示第J个物理机的CPU指标、内存指标和磁盘读写指标。

求出能够使得式子(1)(2)(3)同时成立,且使得式子(4)(5)(6)中至少一个成立的K的值,即可得知第J个物理机的最优装机方案。

步骤S4、针对物理机列表中的各物理机,根据物理机处于最优装机方案时所装配的各虚拟机的资源配置数据和物理机的资源配置数据,计算物理机的资源利用率。

在步骤S4中,根据物理机处于最优装机方案时所装配的各虚拟机的资源配置数据和物理机的资源配置数据,计算物理机的资源利用率,其中,物理机的资源利用率等于其自身各项资源指标利用率的乘积,资源指标利用率等于物理机所装载的所有虚拟机的该项资源指标之和与物理机的该项资源指标的比值。

具体地,当资源配置数据包括CPU指标、内存指标和磁盘读写指标时,物理机处于最优装机方案时资源利用率等于其自身的CPU指标利用率、内存指标利用率和磁盘读写指标利用率三者的乘积。

其中,假定通过步骤S3模拟出的第J个物理机最多可装配的虚拟机的数量为K,则第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>

基于上述原理,可计算出物理机列表中的各物理机处于最优装机方案时的资源利用率。

步骤S5、根据步骤S4的计算结果,选取处于最优装机方案时的资源利用率最大的物理机以作为优选物理机,并根据步骤3中模拟出的优选物理机的最优装机方案,向优选物理机分配虚拟机。

在步骤S5中,可对步骤S4所计算出的各物理机处于最优装机方案时的资源利用率进行排序,从中选取资源利用率最大的物理机以作为优选物理机,并根据步骤3中模拟出的优选物理机的最优装机方案向该优选物理机分配虚拟机,即建立优选物理机与对应虚拟机的映射关系。

此时,该优选物理机不仅满足多维资源属性(CPU指标、内存指标和磁盘读写指标)的约束条件,而且分配至该虚拟机中的各虚拟机的运行时间是相同或相近的。

需要说明的是,当出现资源利用率相同且均为最大的至少两个物理机时,可以选择其中任意一个物理机作为优选物理机。

步骤S6、从物理机列表中删除优选物理机,以及从虚拟机序列中删除已被分配至优选物理机的虚拟机。

在为优选物理机分配相应的虚拟机后,则需要从物理机列表中删除优选物理机,以及从虚拟机序列中删除已被分配至优选物理机的虚拟机。

步骤S7、判断虚拟机序列中是否还存在虚拟机。

在步骤S7中,通过判断虚拟机序列中是否还存在虚拟机,以检测待分配的虚拟机是否全部被分配。其中,若判断出虚拟机序列中还存在虚拟机时,则说明虚拟机没有分配玩,此时重新执行步骤S3以开始对虚拟机序列继续进行分配;若判断出虚拟机序列中不存在虚拟机时,则说明虚拟机全部被分配,流程结束。

本发明实施例一提供了一种虚拟机分配方法,通过在满足物理机多维资源属性的约束的前提下,将运行时间相近的虚拟机分配至同一物理机中,可实现将长期运行的资源的集中放置,从而使得系统中的部分物理机(分配有短运行时间的物理机)的运行时间能够缩短,进而使得系统中所有物理机的运行时间总和减小,以降低系统的全局能耗成本。

图2为本发明实施例二提供的一种虚拟机分配系统的结构示意图,如图2所示,该虚拟机分配系统包括:获取模块1、排序模块2、模拟模块3、计算模块4、分配模块5、删除模块6、判断模块7。

其中,获取模块1用于获取待分配的各虚拟机的运行时间和资源配置数据。可选地,资源配置数据包括:CPU指标、内存指标和磁盘读写指标。

排序模块2用于按照运行时间对各虚拟机进行排序,并生成虚拟机序列。

模拟模块3用于针对物理机列表中的各物理机,根据虚拟机序列和贪心装机规则来模拟出物理机对应的最优装机方案,贪心装机规则是指从虚拟机序列中依次逐个将虚拟机装配至物理机中,直至物理机无法继续装配虚拟机。

计算模块4用于针对物理机列表中的各物理机,根据物理机处于最优装机方案时所装配的各虚拟机的资源配置数据和物理机的资源配置数据,计算物理机的资源利用率。

可选地,当源配置数据包括:CPU指标、内存指标和磁盘读写指标时,若模块模块3模拟出第J个物理机通过贪心装机规则可以装配虚拟机序列中的前k个虚拟机,则计算模块4中采用如下公式计算出第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分别表示虚拟机序列中第u个虚拟机的CPU指标、内存指标和磁盘读写指标,CJcpu、CJmem、CJi/o分别表示第J个物理机的CPU指标、内存指标和磁盘读写指标。

分配模块5用于根据计算模块4的计算结果,选取处于最优装机方案时的资源利用率最大的物理机以作为优选物理机,并根据模拟模块3模拟出的优选物理机的最优装机方案,向优选物理机分配虚拟机。

删除模块6用于从物理机列表中删除优选物理机,以及从虚拟机序列中删除已被分配至优选物理机的虚拟机。

判断模块7用于判断虚拟机序列中是否还存在虚拟机,若判断出虚拟机序列中还存在虚拟机,则控制模拟模块继续工作;若判断出虚拟机序列中不存在虚拟机时,则说明全部虚拟机完成分配。

需要说明的是,本实施例中的获取模块1用于执行上述实施例一中的步骤S1,排序模块2用于执行上述实施例一中的步骤S2,模拟模块3用于执行上述实施例一中的步骤S3,计算模块4用于执行上述实施例一中的步骤S4,分配模块5用于执行上述实施例一中的步骤S5,删除模块6用于执行上述实施例一中的步骤S6,判断模块7用于执行上述实施例一中的步骤S7。对于各模块的具体工作过程,可参见上述实施例一中的描述,此处不再赘述。

本发明实施例二提供了一种虚拟机分配系统,通过在满足物理机多维资源属性的约束的前提下,将运行时间相近的虚拟机分配至同一物理机中,可实现将长期运行的资源的集中放置,从而使得系统中的部分物理机(分配有短运行时间的物理机)的运行时间能够缩短,进而使得系统中所有物理机的运行时间总和减小,以降低系统的全局能耗成本。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1