首页> 中国专利> 一种面向关键任务计算机的CPU资源动态自配置方法

一种面向关键任务计算机的CPU资源动态自配置方法

摘要

本发明属于虚拟计算资源分配领域,具体涉及一种面向关键任务计算机的CPU资源动态自配置方法。本发明包括:重置轮转时间T,开始计时,进入步骤(2);获取各个虚拟机CPU利用率,进入步骤(3);判断虚拟机CPU利用率是否大于等于U

著录项

  • 公开/公告号CN105183563A

    专利类型发明专利

  • 公开/公告日2015-12-23

    原文格式PDF

  • 申请/专利权人 哈尔滨工程大学;

    申请/专利号CN201510593978.8

  • 申请日2015-09-17

  • 分类号G06F9/50;

  • 代理机构

  • 代理人

  • 地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室

  • 入库时间 2023-12-18 12:59:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-24

    授权

    授权

  • 2016-01-20

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20150917

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

技术领域

本发明属于虚拟计算资源分配领域,具体涉及一种面向关键任务计算机的CPU资源动态 自配置方法。

背景技术

随着计算机技术的发展,以及虚拟化技术的应用,计算资源已变成一种动态可再分配资 源,关键任务计算机可以虚拟出多台独立的主机执行不同的任务,以提高系统的容错能力。 关键任务计算机一般配置多个CPU,如何利用虚拟化技术,在最大化利用CPU资源以及平衡 每个CPU的负载程度的基础上,提升计算机性能和可用性。因此,本文提出一种CPU资源自 配置方法,实现CPU的动态自配置,在提高系统性能的同时也提高了系统的可用性。

随着计算机计算能力的不断提升,计算资源逐渐成为一种可分配资源,合理的分配方法 对提升系统系能和可用性都十分重要。专利“一种虚拟服务器VirtualCPU资源监测及动态 分配方法”(CN103729254A),提出了一种虚拟机CPU资源的监测方法及动态分配方法,主要 提高了CPU资源的利用率,减少服务器购买成本,与本发明采用的方法和要达到的目的都不 相同。专利“一种虚拟机CPU资源监控和动态分配方法”(CN103336722A),提出了一种虚拟 机CPU资源的监控和动态分配方法,调整虚拟机的资源权重分配量实现动态分配,提高虚拟 机的CPU资源的利用率,与本发明采用的方法和要达到的目的都不相同。

综上所述,目前的CPU资源的分配方法还存在以下问题:

(1)现有的CPU动态分配方法大多是在CPU到达一定的利用率以后才进行动态分配,这 种单一的分配方法容易造成CPU资源分配不及时,在虚拟机CPU利用率波动较大时,会影响 虚拟机的性能和可用性;

(2)关键任务计算机在运行过程中,由于每个虚拟机的任务可能不一样,使得每个虚拟 机对应的CPU工作负载相差很大,会出现部分CPU长时间持续工作的情况,可能会导致部分 CPU故障,影响系统的可用性。

发明内容

本发明的目的在于提供一种能够实现虚拟机的CPU资源动态平衡的面向关键任务计算机 的CPU资源动态自配置方法。

本发明的目的是这样实现的:

(1)重置轮转时间T,开始计时,进入步骤(2);

(2)获取各个虚拟机CPU利用率,进入步骤(3);

(3)判断虚拟机CPU利用率是否大于等于Ufu,若是,进入步骤(4),否则进入步骤(7);

(4)判断CPU利用率是否大于等于Usu,若是,进入步骤(5),否则进入步骤(10);

(5)计算在Td时间内,虚拟机CPU利用率的增长率Ri,进入步骤(6);

(6)判断增长率Ri的值是否大于Rincrease,若是,进入步骤(7),否则进入步骤(15);

(7)判断动态CPU组是否为空,若不为空,进入步骤(8),否则进入步骤(9);

(8)在动态CPU组中选取一个可用CPU分配给虚拟机,进入步骤(15);

(9)向管理人员发出报警,提醒管理人员CPU资源已分配完,进入步骤(15);

(10)判断CPU利用率是否小于等于Usd,若是,进入步骤(11),否则进入步骤(15);

(11)判断CPU利用率是否小于等于Ufd,若是,进入步骤(14),否则进入步骤(12);

(12)计算在Td时间内,虚拟机CPU利用率的减少率Rd,进入步骤(13);

(13)判断减少率Rd的值是否小于等于Rdecrease,若是,进入步骤(14),否则进入步骤 (15);

(14)若该虚拟机关联了动态CPU,则回收一个的动态CPU,进入步骤(15);

(15)判断轮转时间T是否大于等于Tround,若是,进入步骤(16),否则进入步骤(2);

(16)调用轮转分配机制,然后进入步骤(1),开始下一个CPU自配置周期;

其中,Ufu、Ufd为立即触发动态分配的上下限阈值,Usu、Usd为条件触发动态分配的 上下限阈值,Td为计算CPU利用率的增长率和减少率的时间区间,Rincrease和Rdecrease分别为 CPU利用率的增长率和减少率的阈值,CPU利用率的增长率Ri的计算公式为:

CPU利用率的减少率Rd的计算公式为:

步骤(16)中轮转分配机制的具体流程如下:

(16.1)如果当前静态CPU组不为空,进入步骤(16.2),否则进入步骤(16.3);

(16.2)检查每个虚拟机是否关联静态CPU,对于没有关联静态CPU的虚拟机,为该虚 拟机分配一个静态CPU,并回收一个该虚拟机的动态CPU,直到静态CPU组为空,进入步 骤(16.3);

(16.3)如果当前动态CPU组不为空,进入步骤(16.4),否则进入步骤(16.5);

(16.4)找出所有关联两个及以上静态CPU的虚拟机,将其多余的静态CPU替换为动态 CPU,直到该虚拟机的静态CPU数量减少为1,进入步骤(16.5);

(16.5)重复步骤(16.1)~(16.4),直到每个虚拟机关联且仅关联一个静态CPU。

本发明的有益效果体现在:

(1)本发明采用的CPU资源动态变速分配方法,能够根据虚拟机的负载变化情况,动态 地为虚拟机分配CPU资源,解决了在CPU利用率波动较大时的动态分配不及时问题,更有效 地提高系统性能。

(2)本发明采用的轮转分配机制,能够每隔一段时间互换静态CPU组和动态CPU组的 CPU资源,平衡每个CPU的工作时间,避免因部分CPU长时间连续工作导致的系统故障,从 而提高系统可用性。

附图说明

图1一种面向关键任务计算机的CPU资源动态自配置方法的流程图。

图2一种面向关键任务计算机的CPU资源动态自配置方法中轮转分配机制流程图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明的特点是根据虚拟机的不同负载情况,动态分配CPU资源,提高系统性能,并且 采用轮转分配机制,平衡每个CPU的工作时间,以此减少CPU损耗,提高系统可用性。

本发明是一种面向关键任务计算机的CPU资源动态自配置方法,对于一个2n(n>0)核 CPU的关键任务计算机,CPU的编号分别设置为CPU0~CPU2n-1,假设在关键任务计算机上运行n 台虚拟机,初始将CPU0~CPUn-1设置为静态CPU组,分别分配给虚拟机vm0~vmn-1,CPUn~CPU2n-1则作为动态CPU组,根据虚拟机的负载情况,进行动态变速分配。为每个虚拟机设置一个监 测代理,负责采集虚拟机的CPU利用率;并且为宿主机设置一个管理系统,负责针对每个虚 拟机的CPU利用率进行CPU资源自配置。

本发明的一种面向关键任务计算机的CPU资源动态自配置方法的流程如下:

(1)重置轮转时间T,开始计时,进入步骤(2);

(2)获取各个虚拟机CPU利用率,进入步骤(3);

(3)判断虚拟机CPU利用率是否大于等于Ufu,若是,进入步骤(4),否则进入步骤(7);

(4)判断CPU利用率是否大于等于Usu,若是,进入步骤(5),否则进入步骤(10);

(5)计算在Td时间内,虚拟机CPU利用率的增长率Ri,进入步骤(6);

(6)判断增长率Ri的值是否大于Rincrease,若是,进入步骤(7),否则进入步骤(15);

(7)判断动态CPU组是否为空,若不为空,进入步骤(8),否则进入步骤(9);

(8)在动态CPU组中选取一个可用CPU分配给虚拟机,进入步骤(15);

(9)向管理人员发出报警,提醒管理人员CPU资源已分配完,进入步骤(15);

(10)判断CPU利用率是否小于等于Usd,若是,进入步骤(11),否则进入步骤(15);

(11)判断CPU利用率是否小于等于Ufd,若是,进入步骤(14),否则进入步骤(12);

(12)计算在Td时间内,虚拟机CPU利用率的减少率Rd,进入步骤(13);

(13)判断减少率Rd的值是否小于等于Rdecrease,若是,进入步骤(14),否则进入步骤 (15);

(14)若该虚拟机关联了动态CPU,则回收一个的动态CPU,进入步骤(15);

(15)判断轮转时间T是否大于等于Tround,若是,进入步骤(16),否则进入步骤(2);

(16)调用轮转分配机制,然后进入步骤(1),开始下一个CPU自配置周期。

其中,Ufu、Ufd为立即触发动态分配的上下限阈值,Usu、Usd为条件触发动态分配的 上下限阈值,Td为计算CPU利用率的增长率和减少率的时间区间,Rincrease和Rdecrease分别为CPU 利用率的增长率和减少率的阈值,CPU利用率的增长率Ri的计算公式为:

CPU利用率的减少率Rd的计算公式为:

步骤(16)中轮转分配机制的具体流程如下:

(16.1)如果当前静态CPU组不为空,进入步骤(16.2),否则进入步骤(16.3);

(16.2)检查每个虚拟机是否关联静态CPU,对于没有关联静态CPU的虚拟机,为该虚 拟机分配一个静态CPU,并回收一个该虚拟机的动态CPU,直到静态CPU组为空,进入步骤 (16.3);

(16.3)如果当前动态CPU组不为空,进入步骤(16.4),否则进入步骤(16.5);

(16.4)找出所有关联两个以上(包括两个)静态CPU的虚拟机,将其多余的静态CPU 替换为动态CPU,直到该虚拟机的静态CPU数量减少为1,进入步骤(16.5);

(16.5)重复步骤(16.1)~(16.4),直到每个虚拟机关联且仅关联一个静态CPU。

本发明提出一种面向关键任务计算机的CPU资源动态自配置方法,把CPU资源分为静态 CPU组和动态CPU组,静态CPU组为每个虚拟机提供基础的CPU计算资源,不能动态分配, 而动态CPU组能够根据虚拟机的不同负载情况,进行动态分配。本发明一方面,采用动态变 速分配对CPU资源进行动态分配,使得每个虚拟机更好地达到负载均衡,解决了CPU利用率 波动较大时动态分配不及时的问题;另一方面,采用轮转分配机制,每隔一段时间Tround(Tround>0),互换静态CPU组和动态CPU组,尽可能平衡每个CPU的工作时间,避免少数CPU 因为长时间的工作而出现故障。两种CPU分配机制相辅相成,实现关键任务计算机的CPU资 源动态自配置,提高系统性能和可用性。

本发明是一种面向关键任务计算机的CPU资源动态自配置方法,对于一个16核CPU的关 键任务计算机,CPU的编号分别设置为CPU0~CPU15,假设在关键任务计算机上运行8台虚拟机, 初始将CPU0~CPU7设置为静态CPU组,分别分配给虚拟机vm1~vm8,CPU8~CPU15则作为动态CPU 组,根据虚拟机的负载情况,进行按需分配。为每个虚拟机设置一个监测代理,负责采集虚 拟机的CPU利用率;并且为宿主机设置一个管理系统,负责针对每个虚拟机的CPU利用率进 行CPU资源自配置。

本发明的一种面向关键任务计算机的CPU资源动态自配置方法的流程如下:

(1)重置轮转时间T,开始计时,进入步骤(2);

(2)获取各个虚拟机CPU利用率,进入步骤(3);

(3)判断虚拟机CPU利用率是否大于等于Ufu,若是,进入步骤(4),否则进入步骤(7);

(4)判断CPU利用率是否大于等于Usu,若是,进入步骤(5),否则进入步骤(10);

(5)计算在Td时间内,虚拟机CPU利用率的增长率Ri,进入步骤(6);

(6)判断增长率Ri的值是否大于Rincrease,若是,进入步骤(7),否则进入步骤(15);

(7)判断动态CPU组是否为空,若不为空,进入步骤(8),否则进入步骤(9);

(8)在动态CPU组中选取一个可用CPU分配给虚拟机,进入步骤(15);

(9)向管理人员发出报警,提醒管理人员CPU资源已分配完,进入步骤(15);

(10)判断CPU利用率是否小于等于Usd,若是,进入步骤(11),否则进入步骤(15);

(11)判断CPU利用率是否小于等于Ufd,若是,进入步骤(14),否则进入步骤(12);

(12)计算在Td时间内,虚拟机CPU利用率的减少率Rd,进入步骤(13);

(13)判断减少率Rd的值是否小于等于Rdecrease,若是,进入步骤(14),否则进入步骤 (15);

(14)若该虚拟机关联了动态CPU,则回收一个的动态CPU,进入步骤(15);

(15)判断轮转时间T是否大于等于Tround,若是,进入步骤(16),否则进入步骤(2);

(16)调用轮转分配机制,然后进入步骤(1),开始下一个CPU自配置周期。

其中,Ufu、Ufd为立即触发动态分配的上下限阈值,Usu、Usd为条件触发动态分配的 上下限阈值,Td为计算CPU利用率的增长率和减少率的时间区间,Rincrease和Rdecrease分别为CPU 利用率的增长率和减少率的阈值,CPU利用率的增长率Ri的计算公式为:

CPU利用率的减少率Rd的计算公式为:

步骤(16)中轮转分配机制的具体流程如下:

(16.1)如果当前静态CPU组不为空,进入步骤(16.2),否则进入步骤(16.3);

(16.2)检查每个虚拟机是否关联静态CPU,对于没有关联静态CPU的虚拟机,为该虚 拟机分配一个静态CPU,并回收一个该虚拟机的动态CPU,直到静态CPU组为空,进入步骤 (16.3);

(16.3)如果当前动态CPU组不为空,进入步骤(16.4),否则进入步骤(16.5);

(16.4)找出所有关联两个以上(包括两个)静态CPU的虚拟机,将其多余的静态CPU 替换为动态CPU,直到该虚拟机的静态CPU数量减少为1,进入步骤(16.5);

(16.5)重复步骤(16.1)~(16.4),直到每个虚拟机关联且仅关联一个静态CPU。

下面结合具体实施例对本发明的一种面向关键任务计算机的CPU资源动态自配置方法作 一下详细说明。

实施例1:

如图2所示,轮转时间T=10min,轮转时间周期Tround=60min,并且当前的CPU利用率 等于75%、Td=5s、R=2.5%/s、Rincrease=2%/s,Ufu、Usu、Ufd、Usd分别为90%、70%、 25%、45%,动态CPU组不为空,工作流程如下:

(1)获取各个虚拟机CPU利用率,进入步骤(2);

(2)虚拟机CPU利用率小于90%,进入步骤(3);

(3)虚拟机CPU利用率大于70%,进入步骤(4);

(4)在Td时间内,虚拟机CPU利用率的增长率R>Rincrease,进入步骤(5);

(5)在动态CPU组中选取一个可用CPU分配给虚拟机,进入步骤(6);

(6)回收一个该虚拟机的动态CPU,进入步骤(15);

(7)判断轮转时间T<Tround,进入步骤(1);

实施例2:

如图2所示,轮转时间T=61min,轮转时间周期Tround=60min,并且当前的CPU利用率 等于35%、Td=5s、R=1.5%/s、Rincrease=2%/s,Ufu、Usu、Ufd、Usd分别为90%、70%、 25%、45%,工作流程如下:

(1)获取各个虚拟机CPU利用率,进入步骤(2);

(2)虚拟机CPU利用率小于90%,进入步骤(3);

(3)虚拟机CPU利用率小于70%,进入步骤(4);

(4)虚拟机CPU利用率小于45%,进入步骤(5);

(5)在Td时间内,虚拟机CPU利用率的减少率R<Rdecrease,进入步骤(6);

(6)轮转时间T>Tround,进入步骤(7);

(7)调用轮转分配机制并执行,然后进入步骤(8);

(8)重置轮转时间T,进入步骤(1);

本发明的有益效果体现在:

本发明采用的CPU资源动态变速分配方法,能够根据虚拟机的负载变化情况,动态地为 虚拟机分配CPU资源,解决了在CPU利用率波动较大时的动态分配不及时问题,更有效地提 高系统性能。本发明采用的轮转分配机制,能够每隔一段时间互换静态CPU组和动态CPU组 的CPU资源,平衡每个CPU的工作时间,避免因部分CPU长时间连续工作导致的系统故障, 从而提高系统可用性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号