书签 分享 收藏 举报 版权申诉 / 16

一种虚拟机CPU资源监控和动态分配方法.pdf

  • 上传人:a****
  • 文档编号:1492393
  • 上传时间:2018-06-18
  • 格式:PDF
  • 页数:16
  • 大小:889.46KB
  • 摘要
    申请专利号:

    CN201310297078.X

    申请日:

    2013.07.16

    公开号:

    CN103336722A

    公开日:

    2013.10.02

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/50申请日:20130716|||公开

    IPC分类号:

    G06F9/50; G06F9/455

    主分类号:

    G06F9/50

    申请人:

    上海大学; 上海市信息网络有限公司

    发明人:

    刘晓东; 童维勤; 傅志仁; 支小莉; 申超; 廖文昭; 叶姣姣; 商彦明

    地址:

    200444 上海市宝山区上大路99号

    优先权:

    专利代理机构:

    上海上大专利事务所(普通合伙) 31205

    代理人:

    陆聪明

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种虚拟机CPU资源监控和动态分配方法,该方法包括:监测当前周期各虚拟机的运行情况得到监测信息,所述监测信息包括:虚拟机各VCPU资源分配的额度值和资源消耗的额度值;根据监测信息,用各虚拟机的VCPU资源消耗的额度值之和与分配的额度值之和的比值计算各虚拟机的CPU资源利用率,根据CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量;根据所述各虚拟机的资源权重请求量,虚拟机管理器决策下一周期各虚拟机的资源权重分配量;根据各虚拟机的资源权重分配量,为各虚拟机资源分配资源权重。本发明能够精确计算各虚拟机及VCPU需要的CPU资源量,按需分配CPU资源量,能够提高虚拟机的CPU的资源利用率。

    权利要求书

    1.   一种虚拟机CPU资源监控和动态分配方法,其特征在于,包括: (1)、监测当前周期各虚拟机的运行情况得到监测信息,监测信息包括:虚拟机各VCPU资源分配的额度值和消耗的额度值;
    (2)、根据监测各虚拟机的VCPU资源消耗的额度值和各虚拟机的VCPU资源分配的额度值,计算所有虚拟机的VCPU资源消耗的额度值相加之和与所有虚拟机的VCPU资源分配的额度值相加之和的比值,该比值为各虚拟机的CPU资源利用率,根据各虚拟机的CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量;
    (3)、根据所述各虚拟机的资源权重请求量,虚拟机管理器决策下一周期各虚拟机的资源权重分配量;
    (4)、根据各虚拟机的资源权重分配量,为各虚拟机资源分配资源权重。

    2.
       根据权利要求书1所叙述的一种虚拟机CPU资源监控和动态分配方法,其特征在于,上述步骤(2)所述的根据监测各虚拟机的VCPU资源消耗的额度值和各虚拟机的VCPU资源分配的额度值,计算所有虚拟机的VCPU资源消耗的额度值相加之和与所有虚拟机的VCPU资源分配的额度值相加之和的比值,该比值为各虚拟机的CPU资源利用率,根据各虚拟机的CPU资源利用率分别计算反馈调整下一周期各虚拟机资源权重请求量;包括:
    (2‑1)、计算当前周期虚拟机的CPU资源利用率,其计算公式采用:
       
    其中: 为当前周期虚拟机的CPU资源利用率, 为第i个周期, 为当前周期虚拟机的VCPU资源消耗的额度值, 为当前周期VCPU资源分配的额度值;
    (2‑2)、计算当前周期虚拟机的CPU资源利用率,其计算公式为:
     
    00188021其中:为当前周期虚拟机的CPU资源利用率,为当前周期所有虚拟机的VCPU资源消耗的额度值相加之和,为当前周期所有虚拟机的VCPU资源分配的额度值相加之和,为虚拟机VCPU的个数,为当前周期第i个VCPU资源消耗的额度值, 为当前周期第i个VCPU资源分配的额度值;
    (2‑3)、分别计算反馈调整下一周期所述各虚拟机的资源权重分配请求量
    (2‑3‑1)、当前周期虚拟机的CPU资源利用率大于80% 时,计算反馈调整下一周期所述各虚拟机的资源权重分配请求量,按照下列公式计算:
                
    其中,为当前周期虚拟机的资源权重分配量,为虚拟机VCPU的个数, 为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为虚拟机的CPU利用率过高时的下一周期虚拟机的目标CPU资源利用率,该目标CPU资源利用率取值为0.55到0.65;
    (2‑3‑2)、当前周期虚拟机的CPU资源利用率小于20%时,反馈调整下一周期所述各虚拟机的资源权重分配请求量,其计算公式为:
    其中,为当前周期虚拟机的资源权重分配量,为虚拟机的VCPU个数,  为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为虚拟机CPU资源利用率过高时的下一周期虚拟机的目标CPU资源利用率,该目标CPU资源利用率取值为0.55到0.65;
    (2‑3‑3)、当前周期虚拟机的CPU资源利用率大于等于20%并且小于等于80时,反馈调整下一周期所述各虚拟机的资源权重请求量,其计算公式为:
    其中,为当前周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量。

    3.
       根据权利要求书2所叙述的一种虚拟机CPU资源监控和动态分配方法,其特征在于,上述步骤(3)所述的根据各虚拟机的资源权重请求量,计算虚拟机管理器决策下一周期各虚拟机的资源权重分配量,该权重分配量为各虚拟机的资源分配权重,包括:
    (3‑1)、当前周期虚拟机的CPU资源利用率大于80%时,计算下一周期各虚拟机的资源权重分配量,具体计算如下:
    如果 , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:
               
    如果 ,  则下一周期各虚拟机的资源权重分配量按照下列公式计算:
     
    其中,  为下一周期各虚拟机的资源权重请求量总和,为物理服务器提供的资源权重总和,为下一周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为所有CPU资源利用率大于80%的虚拟机的CPU资源利用率之和, 为当前周期虚拟机的资源权重分配量, 为第i个虚拟机的VCPU个数; 
    (3‑2)、当前周期虚拟机的CPU资源利用率小于20%时,计算下一周期各虚拟机的资源权重分配量,具体计算如下:
    如果 , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:
    如果 , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:

    其中,为下一周期各虚拟机的资源权重请求量总和,为物理服务器提供的资源权重总和, 为下一周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为所有CPU资源利用率小于20%的虚拟机的CPU资源利用率之和,为当前周期虚拟机的资源权重分配量,为第i个虚拟机V的CPU个数;
    (3‑3)、当前周期虚拟机的CPU资源利用率大于等于20%且小于等于80%时,计算下一周期各虚拟机的资源权重分配量,按照下列公式计算:
     
    其中为当前周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量。

    说明书

    一种虚拟机CPU资源监控和动态分配方法
    技术领域
    本发明涉及虚拟机技术领域,尤其涉及一种虚拟机CPU资源监控和动态分配方法。
    背景技术
    虚拟化技术是指在一套完整的计算机硬件平台上(物理服务器),通过软件或硬件的方法,将一台物理服务器虚拟成多个独立的虚拟机,为多个独立运行的虚拟机提供独立的硬件运行环境。虚拟机技术需要一个称为虚拟机管理器的软件系统,对多个虚拟机的硬件资源进行管理和调度。
    虚拟机技术具有功能隔离、易于管理和能够在线迁移等优势。虚拟机技术不但可以提高物理资源的利用率,还可以减少购置硬件的成本,降低能源的损耗。
    目前,虚拟机技术在物理服务器CPU资源分配时采用静态分配方法,该静态分配方法在                                                周期时,虚拟机管理器为每个虚拟机分配一个权重分配量,该静态分配方法中,各虚拟机的权重分配量的大小始终保持不变,物理服务器CPU资源分配不能根据虚拟机的工作负荷的变化做出动态调整,导致虚拟机物理服务器CPU资源利用率过低。其原因是:首先,虚拟机的工作负荷是动态变化的,如果为了满足虚拟机的CPU资源动态需求,应将虚拟机CPU资源权重分配量设置为虚拟机最大资源权重量。因此,上述方法中在虚拟机物理服务器分配CPU资源时,始终按照最大资源量进行分配,然而,除了少数虚拟机处于满负荷工作时,需要CPU最大资源量,,其它虚拟机的CPU资源将处于浪费状态;其次,有时候某些虚拟机的工作负荷很低,而另外一些虚拟机的工作负荷很高,工作负荷较低的虚拟机的空闲资源不能被工作负荷较高的虚拟机使用;第三,有些虚拟机已经完成执行任务,但是这些虚拟机没有被用户撤销,这些虚拟机的空闲资源将会被浪费掉。
    此外,中国专利说明书还公开了“一种虚拟机CPU资源分配方法和装置”(专利号:200910088021.1),虽然,该方法采用动态方式为各虚拟机分配CPU资源,使一个物理节点上的多个虚拟机协调共享CPU资源。但是,上述方法需要为每个虚拟机安装资源监控软件才能对虚拟机的资源进行监控,这种每次创建虚拟机都需要先安装监控软件的方法导致虚拟机的使用变得复杂。
    发明内容
    本发明的目的是提供一种虚拟机CPU资源监控和动态分配方法,该方法能根据各虚拟机CUP资源消耗的需求分配虚拟机的CUP资源,提高虚拟机物理服务器的CPU资源利用率。
    为实现上述目的,本发明提供了一种虚拟机CPU资源监控和动态分配方法,包括:
    (1)、监测当前周期各虚拟机的运行情况得到监测信息,监测信息包括:虚拟机各VCPU资源分配的额度值和资源消耗的额度值;
    (2)、根据监测各虚拟机的VCPU资源消耗的额度值和各虚拟机的VCPU资源分配的额度值,计算所有虚拟机的VCPU资源消耗的额度值相加之和与所有虚拟机的VCPU资源分配的额度值相加之和的比值,该比值为各虚拟机的CPU资源利用率,根据各虚拟机的CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量; 
    (3)、根据所述各虚拟机的资源权重请求量,虚拟机管理器决策下一周期各虚拟机的资源权重分配量;
    (4)、根据各虚拟机的资源权重分配量,为各虚拟机资源分配资源权重。
    上述步骤(2)所述的根据监测各虚拟机的VCPU资源消耗的额度值和各虚拟机的VCPU资源分配的额度值,计算所有虚拟机的VCPU资源消耗的额度值相加之和与所有虚拟机的VCPU资源分配的额度值相加之和的比值,该比值为各虚拟机的CPU资源利用率,根据各虚拟机的CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量;包括:
    (2‑1)、计算当前周期虚拟机的VCPU资源利用率,其计算公式采用:  
       其中: 为当前周期虚拟机的VCPU资源利用率, 为第i个周期,为当前周期虚拟机的VCPU资源消耗的额度值, 为当前周期VCPU资源分配的额度值;
    (2‑2)、计算当前周期虚拟机的CPU资源利用率,其计算公式为:

    00188021其中:为当前周期虚拟机的CPU资源利用率, 为当前周期所有虚拟机的VCPU资源消耗的额度值相加之和,为当前周期所有虚拟机的VCPU资源分配的额度值相加之和,为虚拟机VCPU的个数,为当前周期第i个VCPU资源消耗的额度值, 为当前周期第i个VCPU资源分配的额度值;
    (2‑3)、分别计算反馈调整下一周期所述各虚拟机的资源权重分配请求量
    (2‑3‑1)、当前周期虚拟机的CPU资源利用率大于80% 时,计算反馈调整下一周期所述各虚拟机的资源权重分配请求量,按照下列公式计算:
                 
    其中,为当前周期虚拟机的资源权重分配量,为虚拟机的VCPU个数, 为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为虚拟机的CPU资源利用率过高时的下一周期虚拟机的目标CPU资源利用率,该目标CPU资源利用率取值为0.55到0.65;
    (2‑3‑2)、当前周期虚拟机的CPU资源利用率小于20%时,反馈调整下一周期所述各虚拟机的资源权重分配请求量,其计算公式为:
    其中,为当前周期虚拟机的资源权重分配量,为虚拟机VCPU的个数, 为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为虚拟机CPU资源利用率过高时的下一周期虚拟机的目标CPU资源利用率,该目标CPU利用率取值为0.55到0.65,
    (2‑3‑3)、当前周期虚拟机的CPU资源利用率大于等于20%并且小于等于80时,反馈调整下一周期所述各虚拟机的资源权重请求量,其计算公式为:
    其中,为当前周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量;
    上述步骤(3)所述根据各虚拟机的资源权重请求量,计算虚拟机管理器决策下一周期各虚拟机的资源权重分配量,包括:
    (3‑1)、当前周期虚拟机的CPU资源利用率大于80%时,计算下一周期各虚拟机的资源权重分配量,具体计算如下:
    如果  , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:
                
    如果  ,  则下一周期各虚拟机的资源权重分配量按照下列公式计算:
     
    其中,  为下一周期各虚拟机的资源权重请求量总和,为物理服务器提供的资源权重总和, 为下一周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为所有CPU资源利用率大于80%的虚拟机的CPU资源利用率之和, 为当前周期虚拟机的资源权重分配量, 为第i个虚拟机的VCPU个数;
    (3‑2)、当前周期虚拟机的CPU资源利用率小于20%时,计算下一周期各虚拟机的资源权重分配量,具体计算如下:
    如果  , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:
    如果  , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:

    其中,为下一周期各虚拟机的资源权重请求量总和,为物理服务器提供的资源权重总和, 为下一周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为所有CPU资源利用率小于20%的虚拟机的CPU资源利用率之和,为当前周期虚拟机的资源权重分配量,为第i个虚拟机的VCPU个数;
    (3‑3)、当前周期虚拟机的CPU资源利用率大于等于20%且小于等于80%时,计算下一周期各虚拟机的资源权重分配量,按照下列公式计算:
     
    其中为当前周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量。
    为实现上述目的,本发明提供了一种虚拟机CPU资源监控和动态分配系统,包括监测模块30、预测模块31、决策模块32、分配模块33,各模块依次相连,其中,
    监测模块,用于监测当前周期各虚拟机的运行情况得到监测信息,所述监测信息包括:虚拟机各VCPU分配的额度和资源消耗的额度;
    预测模块,用于根据监测信息,用各虚拟机的VCPU资源消耗的额度之和与分配的额度之和的比值计算各虚拟机的CPU资源利用率,根据CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量;
    决策模块,用于根据各虚拟机的资源权重请求量,虚拟机管理器决策下一周期各虚拟机的资源权重分配量;
    分配模块,用于根据各虚拟机资源权重分配量,为各虚拟机分配资源权重。
    本发明的一种虚拟机CPU资源监控和动态分配方法,监测当前周期各虚拟机各VCPU分配的额度和资源消耗的额度后,用各虚拟机的VCPU资源消耗的额度之和与分配的额度之和的比值计算虚拟机的CPU资源利用率,根据各虚拟机的CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量。以上述各虚拟机资源权重请求量为依据动态决策下一周期各虚拟机的资源权重分配量,该方法根据虚拟机的CPU资源需求动态调整虚拟机资源权重值从而动态分配CPU资源,因而,能使同一物理服务器上的多个虚拟机根据需求分配CPU资源量,提高了物理服务器CPU资源利用率。
    附图说明
    图1为本发明一种虚拟机CPU资源监控和动态分配方法的流程图;
    图2为本发明一种虚拟机CPU资源监控和动态分配方法中的资源分配的流程图;
    图3为本发明一种虚拟机CPU资源监控和动态分配系统的结构示意图。
    具体实施方式
    下面对本发明的技术方案做进一步的详细描述。
    本发明一种虚拟机CPU资源监控和动态分配方法中的流程图,如图1所示,该方法包括:
    (1)、监测当前周期各虚拟机的运行情况得到监测信息,监测信息包括:虚拟机各VCPU分配的额度和资源消耗的额度;
    (2)、根据监测各虚拟机的VCPU资源消耗的额度值和各虚拟机的VCPU资源分配的额度值,计算所有虚拟机的VCPU资源消耗的额度值相加之和与所有虚拟机的VCPU资源分配的额度值相加之和的比值,该比值为各虚拟机的CPU资源利用率,根据各虚拟机的CPU资源利用率反馈调整下一周期各虚拟机资源权重请求量,如图2所示,具体如下: 
    (2‑1)、计算当前周期虚拟机的VCPU资源利用率,其计算公式采用:
      
    其中: 为当前周期虚拟机的VCPU资源利用率, 为第i个周期,为当前周期虚拟机的VCPU资源消耗的额度值,为当前周期VCPU资源分配的额度值;
    (2‑2)、计算当前周期虚拟机的CPU资源利用率,其计算公式为:
     
    其中:为当前周期虚拟机的CPU资源利用率,为当前周期所有虚拟机的VCPU资源消耗的额度值相加之和,为当前周期所有虚拟机的VCPU资源分配的额度值相加之和,为虚拟机VCPU的个数,为当前周期第i个VCPU资源消耗的额度值, 为当前周期第i个VCPU资源分配的额度值;
    (2‑3)、分别计算反馈调整下一周期所述各虚拟机的资源权重分配请求量
    (2‑3‑1)、当前周期虚拟机的CPU资源利用率大于80% 时,反馈调整下一周期所述各虚拟机的资源权重分配请求量,按照下列公式计算:
     
    其中,为当前周期虚拟机的资源权重分配量,为虚拟机VCPU的个数, 为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为虚拟机的CPU利用率过高时的下一周期虚拟机的目标CPU资源利用率,该目标CPU资源利用率取值为0.6;
    (2‑3‑2)、当前周期虚拟机的CPU资源利用率小于20%时,反馈调整下一周期所述各虚拟机的资源权重分配请求量,按照下列公式计算:
     
    其中,为当前周期虚拟机的资源权重分配量,为虚拟机VCPU的个数, 为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为虚拟机CPU利用率过高时的下一周期虚拟机的目标CPU利用率,该目标CPU利用率取值为0.6,
    (2‑3‑3)、当前周期虚拟机的CPU资源利用率大于等于20%并且小于等于80时,反馈调整下一周期所述各虚拟机的资源权重请求量,其计算公式为:
    其中,为当前周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量;(3)、根据所述根据上述各虚拟机的资源权重请求量,计算虚拟机管理器决策下一周期各虚拟机的资源权重分配量,该资源权重分配量为各虚拟机的资源分配资源权重,包括:
    (3‑1)、当前周期虚拟机的CPU资源利用率大于80%时,计算下一周期各虚拟机的资源权重分配量,具体计算如下:
    如果  , 则下一周期各虚拟机的资源权重分配量按照下列公式计算:
                 
    如果  ,  则下一周期各虚拟机的资源权重分配量按照下列公式计算:
     
    其中,  为下一周期各虚拟机的资源权重请求量总和,为物理服务器提供的资源权重总和,为下一周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为所有CPU资源利用率大于80%的虚拟机的CPU资源利用率之和,为当前周期虚拟机的资源权重分配量, 为第i个虚拟机的VCPU个数;
    (3‑2)、当前周期虚拟机的CPU资源利用率小于20%时,计算下一周期各虚拟机的资源权重分配量,具体计算如下:
    如果  ,则下一周期所述各虚拟机的资源权重分配量按照下列公式计算:
    如果  ,则下一周期所述各虚拟机的资源权重分配量按照下列公式计算:
     
    其中,为下一周期各虚拟机的资源权重请求量总和,为物理服务器提供的资源权重总和,为下一周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量,为当前周期虚拟机的CPU资源利用率,为所有CPU资源利用率小于20%的虚拟机的CPU资源利用率之和,为当前周期虚拟机的资源权重分配量,为第i个虚拟机的VCPU个数;
    (3‑3)、当前周期虚拟机的CPU资源利用率大于等于20%且小于等于80%时,计算下一周期各虚拟机的资源权重分配量,按照下列公式计算:
     
    其中,为当前周期虚拟机的资源权重分配量,为下一周期虚拟机的资源权重请求量;
    (4)、根据各虚拟机的资源权重分配量,为各虚拟机资源分配资源权重。
    如图3所示,本发明的一种虚拟机CPU资源监控和动态分配系统的结构示意图,该系统包括监测模块30、预测模块31、决策模块32、分配模块33,各模块依次相连,监测模块30位于虚拟机管理器中,用于监测各虚拟机的VCPU分配的额度和资源消耗的额度;预测模块31根据监测模块30监测到的数据,预测下一周期各虚拟机的资源权重请求量;决策模块32根据各虚拟机的资源权重请求量,决策下一周期各虚拟机的资源权重分配量;分配模块33负责将资源权重分配给各虚拟机。

    关 键  词:
    一种 虚拟机 CPU 资源 监控 动态分配 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种虚拟机CPU资源监控和动态分配方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1492393.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1