本发明涉及虚拟机部署领域,具体涉及一种基于虚拟化的动态管理装置。
背景技术:
虚拟化技术依赖其使用灵活、业务隔离、管理方便等特性在云平台中发挥了重要作用。由于虚拟机较高的创建/迁移/终止成本,虚拟机的部署策略对云平台的工作效率有着较大的影响。
虚拟机的部署问题类似装箱问题,将有着资源需求的若干虚拟机分配到有着最大容量的物理机集群上。现在的虚拟机部署策略主要分为两类:第一类部署策略将虚拟机的资源需求看作定值,借此将部署问题建模为装箱问题,通过fifo、fair等启发式算法进行虚拟机的部署;第二类部署策略处理资源需求为特定分布的虚拟机,如:高斯分布、指数分布、泊松分布、伯努利分布等,针对某类虚拟机设计近似算法。这两类方案都有着不足之处:第一类方案往往有着较差的资源利用效率,因为大多虚拟机的资源需求动态变化而非定值;第二类方案只适用于资源需求为特定分布的情况,泛用性较差。
因此针对虚拟机的部署问题需要设计一种资源利用效率高、适用范围广的部署方案。
技术实现要素:
本发明的目的是提供一种虚拟化动态资源管理系统。
为了解决上述技术问题,本发明提供了一种虚拟化动态资源管理系统,
本发明提供了一种虚拟化动态资源管理系统,所述虚拟化动态资源管理系统通过依据虚拟机的资源需求的随机变量完成对虚拟机的部署。
进一步的,所述虚拟化动态资源管理系统包括:
虚拟机资源需求获取模块,获取虚拟机的资源需求的随机变量;
虚拟机部署模块,依据随机变量将虚拟机部署在物理机上;
虚拟机删除模块,当被部署的虚拟机停止运行后,依据随机变量将虚拟机从物理机上移除。
进一步的,虚拟机资源需求获取模块获取虚拟机的资源需求的随机变量,即,当有一台资源需求随机变量为x的虚拟机到来时,将x的d种取值从小到大排序为(a1,a2,...,ad),定义二维数组x*[1,2][1,...,d],数组各项的值设置为x*[1][k]=([ak/x0]+1)*x0,x*[2][k]=pr(x=ak),k取1~d。
进一步的,所述虚拟机部署模块包括:
非空闲物理机排序单元,找出所有
pt复制单元,将物理机pi的pt表复制到数组xtmp中,转到计算单元;
计算单元,计算xtmp=add(xtmp,x*),转到冲突率判定单元;
冲突率判定单元,若xtmp的最后一项的值不大于系统规定的最大冲突率δ,进行步骤虚拟机部署单元,否则,转到被部署物理机项数判断单元;
虚拟机部署单元,将xtmp复制到物理机pi的pt表中,
被部署物理机项数判断单元,令i=i+1,若i>m,进行步骤s107,否则,转到pt复制单元;
虚拟机分配单元,寻找一台空闲的物理机,将该虚拟机分配到这台物理机上,其pt表更新为pt=add(pt,x*),
分配完成单元,过程结束。
进一步的,虚拟机删除模块包括:
删除资源需求单元,从该虚拟机所在的物理机的链表q中寻找其对应的资源需求随机变量x,将x从链表q中删除,转到初始化单元;
初始化单元,将物理机的pt表的第一项设置为1,其他项设置为0,转到随机变量排序单元;
随机变量排序单元,将链表q中剩余的随机变量排序为(x1,x2,...,xr),令i=1,转到pt表更新单元;
pt表更新单元,pt表更新为pt=add(pt,xi),转到被删除物理机项数判断单元;
被删除物理机项数判断单元,令i=i+1,若i>r,转到虚拟机占用资源回收单元,否则,转到pt表更新单元;
虚拟机占用资源回收单元,
删除完成单元,过程结束。
进一步的,add函数,即,若pt的项数为n,x*的项数为d,则pt=add(pt,x*)包括:
步骤s1,复制pt表到pt表的一个副本ptmp中,令i=1,进行步骤s2;
步骤s2,令j=1,进行步骤s3;
步骤s3,令ptmp[i]=ptmp[i]-pt[i]*x*[2][j],进行步骤s4;
步骤s4,设置变量num=i+x*[1][j]/x0,进行步骤s5;
步骤s5,若num<n,进行步骤s6,否则,进行步骤s7;
步骤s36,令ptmp[num]=ptmp[num]+pt[i]*x*[2][j],转到步骤s8;
步骤s7,令ptmp[n]=ptmp[n]+pt[i]*x*[2][j],转到步骤s8;
步骤s8,令j=j+1,若j>d,进行步骤s9,否则,转到步骤s3;
步骤s9,令i=i+1,若i<n,转到步骤s2,否则,进行步骤s10;
步骤s10,将ptmp中各项的值相应的复制到pt表中;
步骤s11,过程结束。
本发明的有益效果是,本发明提供了一种虚拟化动态资源管理系统述虚拟化动态资源管理系统通过依据虚拟机的资源需求的随机变量完成对虚拟机的部署。在虚拟机的资源需求动态变化且需预知的情况下,将虚拟机的资源需求用随机变量的形式部署到物理机以及从物理机进行移除,从而实现将资源需求动态变化的虚拟机部署到物理机当中,同时,物理机有较高的资源利用效率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明所提供的虚拟化动态资源管理系统的原理框图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
实施例
本发明实施例提供了一种虚拟化动态资源管理系统。所述虚拟化动态资源管理系统通过依据虚拟机的资源需求的随机变量完成对虚拟机的部署。在虚拟机的资源需求动态变化且需预知的情况下,将虚拟机的资源需求用随机变量的形式部署到物理机以及从物理机进行移除,从而实现将资源需求动态变化的虚拟机部署到物理机当中,同时,物理机有较高的资源利用效率。
请参阅图1,在本实施例中,所述虚拟化动态资源管理系统包括:
虚拟机资源需求获取模块,获取虚拟机的资源需求的随机变量,即,当有一台资源需求随机变量为x的虚拟机到来时,将x的分布储存到二维数组x*中,即将x的d种取值从小到大排序为(a1,a2,...,ad),定义二维数组x*[1,2][1,...,d],数组各项的值设置为x*[1][k]=([ak/x0]+1)*x0,x*[2][k]=pr(x=ak),k取1~d。其中,x=a的概率为虚拟机资源需求值为a的概率。
虚拟机部署模块,依据随机变量将虚拟机部署在物理机上;
在本实施例中,依据随机变量将虚拟机部署在物理机上,要求同一台物理机上所有虚拟机的资源需求的和超过物理机最大可提供资源量的概率(记为超载概率)不超过系统规定的最大冲突率6,从而实现物理机资源的有效利用。
虚拟机删除模块,当被部署的虚拟机停止运行后,依据随机变量将虚拟机从物理机上移除。
在本实施例中,本发明实施例提供的虚拟化动态资源管理系统,需要为每个物理机记录一些值以优化计算过程,这些值包括:①为每个物理机维护一张pt表,pt表的项数n=(物理机最大可提供资源量/x0+2),x0称为单位资源量,数值根据需求自行设置,第i项(0<i<n)的值表示物理机的负载(其上虚拟机的资源需求总和)的大小处于(i-1)*x0的概率,第n项的值记录超载概率的值;②为每个物理机维护一个变量
具体地,当需要对物理机进行虚拟机部署前,需要对物理机进行初始化,即,将每张pt表的第一项的值初始化为1,其他项初始化为0,表示物理机负载为0的概率是100%,即所有物理机处于空闲状态;所有物理机的
在本实施例中,所述虚拟机部署模块包括:
非空闲物理机排序单元,找出所有
pt复制单元,将物理机pi的pt表复制到数组xtmmp中,转到计算单元;
计算单元,计算xtmmp=add(xtmmp,x*),转到冲突率判定单元;
冲突率判定单元,若xtmmp的最后一项的值不大于系统规定的最大冲突率δ,进行步骤虚拟机部署单元,否则,转到被部署物理机项数判断单元;
虚拟机部署单元,将xtmmp复制到物理机pi的pt表中,
被部署物理机项数判断单元,令i=i+1,若i>m,进行步骤s107,否则,转到pt复制单元;
虚拟机分配单元,寻找一台空闲的物理机,将该虚拟机分配到这台物理机上,其pt表更新为pt=add(pt,x*),
分配完成单元,过程结束。
在本实施例中,所述当被部署的虚拟机停止运行后,虚拟机删除模块包括:
停机的虚拟机的资源需求随机变量记为x。
删除资源需求单元,从该虚拟机所在的物理机的链表q中寻找其对应的资源需求随机变量x,将x从链表q中删除,转到初始化单元;
初始化单元,将物理机的pt表的第一项设置为1,其他项设置为0,转到随机变量排序单元;
随机变量排序单元,将链表q中剩余的随机变量排序为(x1,x2,...,xr),令i=1,转到pt表更新单元;
pt表更新单元,pt表更新为pt=add(pt,xi),转到被删除物理机项数判断单元;
被删除物理机项数判断单元,令i=i+1,若i>r,转到虚拟机占用资源回收单元,否则,转到pt表更新单元;
虚拟机占用资源回收单元,
删除完成单元,过程结束。
其中,add函数的计算过程,即,若pt的项数为n,x*的项数为d,ptmp为pt表的一个副本,作为一个临时数组在add函数中使用,用于更新pt表的值;
则pt=add(pt,x*)的计算过程包括:
步骤s1,复制pt表到pt表的一个副本ptmp中,令i=1,进行步骤s2;
步骤s2,令j=1,进行步骤s3;
步骤s3,令ptmp[i]=ptmp[i]-pt[i]*x*[2][j],进行步骤s4;
步骤s4,设置变量num=i+x*[1][j]/x0,进行步骤s5;
步骤s5,若num<n,进行步骤s6,否则,进行步骤s7;
步骤s36,令ptmp[num]=ptmp[num]+pt[i]*x*[2][j],转到步骤s8;
步骤s7,令ptmp[n]=ptmp[n]+pt[i]*x*[2][j],转到步骤s8;
步骤s8,令j=j+1,若j>d,进行步骤s9,否则,转到步骤s3;
步骤s9,令i=i+1,若i<n,转到步骤s2,否则,进行步骤s10;
步骤s10,将ptmp中各项的值相应的复制到pt表中;
步骤s11,过程结束。
综上所述,本发明提供了一种虚拟化动态资源管理系统,其中,所述虚拟化动态资源管理系统通过依据虚拟机的资源需求的随机变量完成对虚拟机的部署。在虚拟机的资源需求动态变化且需预知的情况下,将虚拟机的资源需求用随机变量的形式部署到物理机以及从物理机进行移除,从而实现将资源需求动态变化的虚拟机部署到物理机当中,同时,物理机有较高的资源利用效率。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。