CN104793985B - 一种虚拟机调度方法和管理设备 - Google Patents
一种虚拟机调度方法和管理设备 Download PDFInfo
- Publication number
- CN104793985B CN104793985B CN201510202031.XA CN201510202031A CN104793985B CN 104793985 B CN104793985 B CN 104793985B CN 201510202031 A CN201510202031 A CN 201510202031A CN 104793985 B CN104793985 B CN 104793985B
- Authority
- CN
- China
- Prior art keywords
- mrow
- cpu
- virtual machine
- average
- ratio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004087 circulation Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000005211 surface analysis Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种虚拟机调度方法和管理设备,涉及云计算领域,能够解决现有技术中CPU资源分配不合理导致的虚拟机性能下降的问题。其方法为:管理设备通过获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率,而后将比率与预设阈值进行比较,若比率大于所述预设阈值,则管理设备将物理节点中的虚拟机VM0的权值调整为权值与调整值的和;若比率小于或等于预设阈值,则管理设备将VM0的权值置为VM0的初始权值,其中,权值用于表征VM0占用CPU资源的比例。本发明实施例用于调整虚拟机占用的CPU时间资源。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种虚拟机调度方法和管理设备。
背景技术
在虚拟化技术中,虚拟机监视器(Virtual Machine Monitor,VMM)为一系统软件,可以维护多个高效的、隔离的程序环境,该环境可支持用户直接访问真实硬件,而这样的程序环境就称为虚拟机(Virtual Machine,VM)。VMM作为协调各个虚拟机对中央处理器(Central Processing Unit,CPU)、内存、输入/输出(Input/Output,I/O)设备等资源使用的实体,在工作的过程中,VMM需要与虚拟机竞争物理机上的各项资源,因此,在设计VMM的资源调度算法时,需要同时考虑到虚拟机和VMM的资源使用情况。在一款开放源代码的虚拟机监视器Xen中,对于CPU资源来说,常用的CPU调度算法为credit算法,通过为每个虚拟机分配两个属性:权重(weight)和百分比(cap)来为各个虚拟机分配CPU资源。其中,cap表示一个虚拟机最多占用CPU时间的上限,weight表示一个虚拟机占用CPU时间片的比例。
其中,在Xen中,存在一个特殊的虚拟机VM0(也以称为Domain0),在其他VM(也以称为DomainU)访问设备时,Xen获得其它VM的访问请求,然后将其转交给Domain0,当Domain0完成请求操作后,Xen再将结果返给其它VM。由于运行于物理机上的应用类型有很多种,尤其对于MapReduce这种负载情况动态变化的应用,这种统一分配权重的分配方式不太合理。这是由于当同一台物理机上的虚拟机I/O负载都较高时,就会出现Domain0可能没有足够的CPU时间片来处理I/O请求,从而导致其他虚拟机DomainU的性能下降;而当物理机上的虚拟机运行的大都是计算密集型的应用时,由于不需要与Domain0进行过多的操作交互,Domain0占用的大量的CPU时间片则会被浪费,而DomainU则没有足够的CPU时间片来处理自己的CPU计算,也就是说,这种为每个虚拟机统一分配权重的分配方式会导致CPU资源不够用或被浪费,使得CPU资源分配不合理,从而导致虚拟机性能下降。
发明内容
本发明实施例提供一种虚拟机调度方法和管理设备,能够解决CPU资源分配不合理导致的虚拟机性能下降的问题。
第一方面,提供一种虚拟机调度方法,包括:
管理设备获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率;
所述管理设备将所述比率与预设阈值进行比较;
若所述比率大于所述预设阈值,则所述管理设备将所述物理节点中的虚拟机VM0的权值调整为所述权值与调整值的和;若所述比率小于或等于所述预设阈值,则所述管理设备将所述VM0的权值置为所述VM0的初始权值;
其中,所述权值用于表征所述VM0占用所述CPU资源的比例。
结合第一方面,在第一方面的第一种可能实现的方式中,所述管理设备获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率包括:
所述管理设备记录所述物理节点上的每个虚拟机分别在t时刻由于I/O等待引起所述CPU处于空闲状态时所述CPU的I/O空闲比率,以及所述物理节点上的每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率;
所述管理设备根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
结合第一方面的第一种可能实现的方式,在第一方面的第二种可能实现的方式中,所述管理设备根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率包括:
所述管理设备根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率,并根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率;
所述管理设备根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率,并根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率;
所述管理设备获取所述CPU在所述周期时间T内的平均I/O空闲比率与所述CPU在所述周期时间T内的平均CPU利用率的比值,所述比值为所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
结合第一方面的第一种可能实现的方式,在第一方面的地三种可能实现的方式中,所述管理设备根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率包括:
其中,io_heavy(host,T)表示所述物理节点host的CPU在周期时间T内的平均CPU利用率,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,n表示所述物理节点中分配的虚拟机的个数。
结合第一方面的第二种可能实现的方式,在第一方面的第四种可能实现的方式中,所述管理设备根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率包括:
所述根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率包括:
所述管理设备根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率包括:
所述根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率包括:
其中,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,wait_avg(host,t)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,t)表示所述CPU在所述t时刻的平均CPU利用率,wait_avg(host,T)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,T)表示所述CPU在所述周期时间T内的平均CPU利用率,n表示所述物理节点中分配的虚拟机的个数。
第二方面,提供一种管理设备,包括:
获取单元,用于获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率;
比较单元,用于将所述比率与预设阈值进行比较;
调整单元,用于若所述比率大于所述预设阈值,则将所述物理节点中的虚拟机VM0的权值调整为所述权值与调整值的和;若所述比率小于或等于所述预设阈值,则将所述VM0的权值置为所述VM0的初始权值;
其中,所述权值用于表征所述VM0占用所述CPU资源的比例。
结合第二方面,在第二方面的第一种可能实现的方式中,所述获取单元包括:
记录子单元,用于记录所述物理节点上的每个虚拟机分别在t时刻由于I/O等待引起所述CPU处于空闲状态时所述CPU的I/O空闲比率,以及所述物理节点上的每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率;
获取子单元,用于根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
结合第二方面的第一种可能实现的方式,在第二方面的第二种可能实现的方式中,所述获取子单元具体用于:
根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率,并根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率;
根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率,并根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率;
获取所述CPU在所述周期时间T内的平均I/O空闲比率与所述CPU在所述周期时间T内的平均CPU利用率的比值,所述比值为所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
结合第二方面的第一种可能实现的方式,在第二方面的第三种可能实现的方式中,所述获取子单元用于根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率包括:
其中,io_heavy(host,T)表示所述物理节点host的CPU在周期时间T内的平均CPU利用率,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,n表示所述物理节点中分配的虚拟机的个数。
结合第二方面的第三种可能实现的方式,在第二方面的第四种可能实现的方式中,所述获取子单元用于根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率包括:
所述获取子单元用于根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率包括:
所述获取子单元用于根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率包括:
所述获取子单元用于根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率包括:
其中,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,wait_avg(host,t)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,t)表示所述CPU在所述t时刻的平均CPU利用率,wait_avg(host,T)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,T)表示所述CPU在所述周期时间T内的平均CPU利用率,n表示所述物理节点中分配的虚拟机的个数。
本发明实施例提供一种虚拟机调度方法和管理设备,管理设备通过获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率,而后将所述比率与预设阈值进行比较,若所述比率大于所述预设阈值,则所述管理设备将所述物理节点中的虚拟机VM0的权值调整为所述权值与调整值的和;若所述比率小于或等于所述预设阈值,则所述管理设备将所述VM0的权值置为所述VM0的初始权值,由于物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率可反映出物理节点各个虚拟机中I/O负载量的高低,比率越大,I/O负载量越高,这样将该比率与预设阈值进行比较时,如果比率大于预设阈值,表明虚拟机VM0中积累了大量的来自其他虚拟机的I/O请求,所以适量将VM0的权值调高可使得VM0有更多的CPU资源来处理I/O请求,这样能够解决现有技术中CPU资源分配不合理导致的虚拟机性能下降的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机调度方法的流程示意图;
图2为本发明又一实施例提供的一种虚拟机调度方法的流程示意图;
图3为本发明另一实施例提供的一种管理设备的结构示意图;
图4为本发明另一实施例提供的又一种管理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种虚拟机调度方法,如图1所示,包括:
101、管理设备获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率。
其中,这里的管理设备可以为运行有虚拟机的计算机,与本实施例中的物理节点为同一设备,具体而言,本发明实施例的调度方法可以通过该计算机中的虚拟机监视器VMM来执行。当然,该管理设备也可以是与该物理节点的通信的另一计算机,本发明不做限定。
这里的物理节点的CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率可以反映物理节点各个虚拟机中I/O负载量的高低,比率越大,说明I/O负载量越大,表示用于处理其他虚拟机I/O请求的虚拟机VM0中积累了大量的I/O请求。
102、管理设备将比率与预设阈值进行比较。
103、若比率大于预设阈值,则管理设备将物理节点中的虚拟机VM0的权值调整为权值与调整值的和;若比率小于或等于预设阈值,则管理设备将VM0的权值置为VM0的初始权值。
其中,权值用于表征VM0占用CPU资源的比例。如果比率大于预设阈值,说明VM0的I/O负载量高,VM0需要更多的CPU资源来处理其它虚拟机的I/O请求,因此可以将VM0的权值相应的调整高,在VM0的权值的基础上再加上调整值,以便VM0可利用更多的CPU资源处理I/O请求,进而使得其它虚拟机性能得到提升;如果比率下降至小于或等于预设阈值,说明VM0的I/O负载量较低,其它虚拟机不需要与VM0进行过多的交互,为了使VM0占用的大量CPU资源不被浪费,可将VM0的权值调整为VM0权值的初始值,使得CPU资源得到合理利用。
本发明实施例提供一种虚拟机调度方法,通过获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率,而后将比率与预设阈值进行比较,若比率大于预设阈值,则管理设备将物理节点中的虚拟机VM0的权值调整为权值与调整值的和;若比率小于或等于预设阈值,则管理设备将VM0的权值置为VM0的初始权值,由于物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率可反映出物理节点各个虚拟机中I/O负载量的高低,比率越大,I/O负载量越高,这样将该比率与预设阈值进行比较时,如果比率大于预设阈值,表明虚拟机VM0中积累了大量的来自其他虚拟机的I/O请求,所以适量将VM0的权值调高可使得VM0有更多的CPU资源来处理I/O请求,这样能够解决现有技术中CPU资源分配不合理导致的虚拟机性能下降的问题。
本发明又一实施例提供一种虚拟机调度方法,如图2所示,包括:
201、管理设备记录物理节点上的虚拟机VM0的权值,并开始计时。
本实施例以管理设备与物理节点为同一设备为例进行说明,可具体由物理节点中的VMM执行。
这里的权值用于表征VM0占用CPU资源的比例,这里的CPU资源具体可以为CPU时间片,也就是说,该权值表征了VM0占用CPU时间片的比例。
当初次执行本实施例的方法步骤时,VM0的权值为初始值weighti(0),一般来说,weighti(0)可以为256。其中,i为0,表示虚拟机0。由于步骤201~步骤205或步骤206是循环执行的,这里记录的VM0的权值也可为步骤205或步骤206调整后的VM0的权值。
202、管理设备记录物理节点上的每个虚拟机在t时刻由于I/O等待引起的CPU空闲比率(在本发明中简称为CPU的I/O空闲比率),以及物理节点上的每个虚拟机分别在t时刻运行应用程序时CPU的利用率。
其中,由I/O等待引起的CPU空闲比率是指CPU在发出了I/O请求中断后,在I/O设备未能给出响应的时间内,CPU一直处于等待的空闲状态的时间比率;CPU的利用率是指在某一时刻t时CPU运行应用程序占用的时间比率。由于CPU一条指令的运行时间远远小于性能统计时间,因此,性能指标值是统计区间内的统计或平均值,即这里的I/O空闲比率可以理解为CPU的空闲时间占t时刻的时间比率,利用率可以理解为CPU运行应用程序的时间占t时刻的时间比率。目前有较多的监控软件可以监控到CPU的状态,即从监控软件中可以直接读取到CPU的I/O空闲比率和CPU的利用率。其中,时间t可以为1ms。
当物理节点中的I/O负载较高时,说明物理节点中的I/O等待时间长,VM0没有足够的CPU时间片来处理I/O请求,I/O空闲比率较高;当物理节点中的I/O负载较低时,说明物理节点上的虚拟机运行的大都是计算密集型的应用,其它VM则需要更多的CPU时间片来处理CPU计算,CPU的利用率高。
由于需要达到CPU时间资源的合理利用,因此可根据物理节点上的每个虚拟机分别在t时刻由于I/O等待引起的CPU处于空闲状态的I/O空闲比率,以及物理节点上的每个虚拟机分别在t时刻的运行应用程序时的CPU的利用率来确定物理节点中各个虚拟机的I/O负载情况,进而根据I/O负载情况确定用于处理其它虚拟机I/O请求的虚拟机VM0占用CPU时间资源的比例。
203、管理设备根据每个虚拟机分别在t时刻时CPU的I/O空闲比率和每个虚拟机分别在t时刻运行应用程序时CPU的利用率,获取周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率。
根据步骤202中的分析,周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率可以表示为:
(公式一)
其中,io_heavy(host,T)表示物理节点host的CPU在周期时间T内的平均CPU利用率,wait(host,i,t)表示虚拟机i在t时刻时CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在t时刻运行应用程序时CPU的利用率,n表示物理节点中分配的虚拟机的个数。
下面分析下该比率的算法的推导过程,相当于本发明的动态负载建模的过程,进而基于动态负载的建模来确定虚拟机的CPU调度机制。
首先,可根据每个虚拟机分别在t时刻时CPU的I/O空闲比率获取CPU在t时刻的平均I/O空闲比率,并根据每个虚拟机分别在t时刻运行应用程序时CPU的利用率获取CPU在t时刻的平均CPU利用率。
其中,根据每个虚拟机分别在t时刻时CPU的I/O空闲比率获取CPU在t时刻的平均I/O空闲比率可以包括:
(公式二),
wait_avg(host,t)表示CPU在周期时间T内的平均I/O空闲比率。
根据每个虚拟机分别在t时刻运行应用程序时CPU的利用率获取CPU在t时刻的平均CPU利用率可以包括:
(公式三),
busy_avg(host,t)表示CPU在t时刻的平均CPU利用率。
而后,根据CPU在t时刻的平均I/O空闲比率获取CPU在周期时间T内的平均I/O空闲比率,并根据CPU在t时刻的平均CPU利用率获取CPU在周期时间T内的平均CPU利用率。
其中,利用积分运算,并根据CPU在t时刻的平均I/O空闲比率获取CPU在周期时间T内的平均I/O空闲比率可以包括:
(公式四),
wait_avg(host,T)表示CPU在周期时间T内的平均I/O空闲比率。
利用积分运算,并根据CPU在t时刻的平均CPU利用率获取CPU在周期时间T内的平均CPU利用率可以包括:
(公式五),
busy_avg(host,T)表示CPU在周期时间T内的平均CPU利用率,
进而,公式四和公式五的比值可表示为:
当然,具体在执行的过程中,可以根据公式一直接得到I/O负载情况,也可以根据公式二至公式五的计算过程得到I/O负载情况,本发明不进行限定。
此外,在得到周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率时,还可以根据wait_avg(host,t)与busy_avg(host,t)的比值获取t时刻的I/O负载情况io_heavy(host,t),这样可以根据io_heavy(host,t)绘制出I/O负载情况随时间t变化的曲线图,可供技术人员直观地了解周期时间T内物理节点的I/O负载情况。其中,曲线图中的横轴可以为时间t,纵轴可以为io_heavy(host,t)。
204、管理设备将比率与预设阈值进行比较,而后执行步骤205或步骤206。
在得到周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率,该比率可反映物理节点中各个虚拟机中I/O负载量的高低,在本发明实施例中,可定义一个预设阈值λ,并将比率与预设阈值进行比较,以确定是否要对VM0的权值进行调整。
205、若比率大于预设阈值,则管理设备将物理节点中的虚拟机VM0的权值调整为权值与调整值的和,而后返回步骤201。
当io_heavy(host,T)>λ时,表明VM0中已经积累了大量的来自于其他虚拟机的I/O请求,此时,可将VM0的权值适当调高,即可为VM0分配多一些的CPU时间片以处理I/O请求。而后继续执行步骤201,如果下一周期中的io_heavy(host,T)还继续大于λ,可继续在上一周期的权值上继续增加λ,以使得VM0更多的CPU时间片以处理I/O请求。其中,λ可以为256,也可以为其它值,本发明不做限定。
206、若比率小于或等于预设阈值,则管理设备将VM0的权值置为VM0的初始权值,而后返回步骤201。
当io_heavy(host,T)≤λ时,表明各虚拟机的I/O负载量较低,物理节点的虚拟机上运行的大都是计算密集型的应用,这是VM0占用的大量的CPU时间片会被浪费,而其他虚拟机则需要更多的CPU时间片来处理自己的CPU计算,这时可将VM0的权值调整回VM0的初始权值,即释放VM0前期多占用的CPU时间资源,以供其它虚拟机使用。
本发明实施例提供一种虚拟机调度方法,通过获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率,而后将比率与预设阈值进行比较,若比率大于预设阈值,则管理设备将物理节点中的虚拟机VM0的权值调整为权值与调整值的和;若比率小于或等于预设阈值,则管理设备将VM0的权值置为VM0的初始权值,由于物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率可反映出物理节点各个虚拟机中I/O负载量的高低,比率越大,I/O负载量越高,这样将该比率与预设阈值进行比较时,如果比率大于预设阈值,表明虚拟机VM0中积累了大量的来自其他虚拟机的I/O请求,所以适量将VM0的权值调高可使得VM0有更多的CPU资源来处理I/O请求,这样能够解决现有技术中CPU资源分配不合理导致的虚拟机性能下降的问题。
本发明实施例提供一种管理设备03,如图3所示,包括:
获取单元031,用于获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率;
比较单元032,用于将比率与预设阈值进行比较;
调整单元033,用于若比率大于预设阈值,则将物理节点中的虚拟机VM0的权值调整为权值与调整值的和;若比率小于或等于预设阈值,则将VM0的权值置为VM0的初始权值;
其中,权值用于表征VM0占用CPU资源的比例。
可选的,如图4所示,获取单元031可以包括:
记录子单元0311,用于记录物理节点上的每个虚拟机分别在t时刻时CPU的I/O空闲比率,以及物理节点上的每个虚拟机分别在t时刻运行应用程序时CPU的利用率;
获取子单元0312,用于根据每个虚拟机分别在t时刻时CPU的I/O空闲比率和每个虚拟机分别在t时刻运行应用程序时CPU的利用率,获取周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率。
可选的,获取子单元0312可以具体用于:
根据每个虚拟机分别在t时刻时CPU的I/O空闲比率获取CPU在t时刻的平均I/O空闲比率,并根据每个虚拟机分别在t时刻运行应用程序时CPU的利用率获取CPU在t时刻的平均CPU利用率;
根据CPU在t时刻的平均I/O空闲比率获取CPU在周期时间T内的平均I/O空闲比率,并根据CPU在t时刻的平均CPU利用率获取CPU在周期时间T内的平均CPU利用率;
获取CPU在周期时间T内的平均I/O空闲比率与CPU在周期时间T内的平均CPU利用率的比值,比值为周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率。
可选的,获取子单元0312用于根据每个虚拟机分别在t时刻时CPU的I/O空闲比率和每个虚拟机分别在t时刻运行应用程序时CPU的利用率,获取周期时间T内CPU的I/O等待时间占CPU的应用程序运行时间的比率可以包括:
其中,io_heavy(host,T)表示物理节点host的CPU在周期时间T内的平均CPU利用率,wait(host,i,t)表示虚拟机i在t时刻时CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在t时刻运行应用程序时CPU的利用率,n表示物理节点中分配的虚拟机的个数。
可选的,获取子单元0312用于根据每个虚拟机分别在t时刻时CPU的I/O空闲比率获取CPU在t时刻的平均I/O空闲比率可以包括:
获取子单元0312用于根据每个虚拟机分别在t时刻运行应用程序时CPU的利用率获取CPU在t时刻的平均CPU利用率可以包括:
获取子单元0312用于根据CPU在t时刻的平均I/O空闲比率获取CPU在周期时间T内的平均I/O空闲比率可以包括:
获取子单元0312用于根据CPU在t时刻的平均CPU利用率获取CPU在周期时间T内的平均CPU利用率可以包括:
其中,wait(host,i,t)表示虚拟机i在t时刻时CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在t时刻运行应用程序时CPU的利用率,wait_avg(host,t)表示CPU在周期时间T内的平均I/O空闲比率,busy_avg(host,t)表示CPU在t时刻的平均CPU利用率,wait_avg(host,T)表示CPU在周期时间T内的平均I/O空闲比率,busy_avg(host,T)表示CPU在周期时间T内的平均CPU利用率,n表示物理节点中分配的虚拟机的个数。
本发明实施例提供一种管理设备,通过获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率,而后将比率与预设阈值进行比较,若比率大于预设阈值,则管理设备将物理节点中的虚拟机VM0的权值调整为权值与调整值的和;若比率小于或等于预设阈值,则管理设备将VM0的权值置为VM0的初始权值,由于物理节点的中央处理器CPU的输入/输出I/O等待时间占CPU的应用程序运行时间的比率可反映出物理节点各个虚拟机中I/O负载量的高低,比率越大,I/O负载量越高,这样将该比率与预设阈值进行比较时,如果比率大于预设阈值,表明虚拟机VM0中积累了大量的来自其他虚拟机的I/O请求,所以适量将VM0的权值调高可使得VM0有更多的CPU资源来处理I/O请求,这样能够解决现有技术中CPU资源分配不合理导致的虚拟机性能下降的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种虚拟机调度方法,其特征在于,包括:
管理设备获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率;
所述管理设备将所述比率与预设阈值进行比较;
若所述比率大于所述预设阈值,则所述管理设备将所述物理节点中的虚拟机VM0的权值调整为所述权值与调整值的和;若所述比率小于或等于所述预设阈值,则所述管理设备将所述VM0的权值置为所述VM0的初始权值;
其中,所述权值用于表征所述VM0占用所述CPU资源的比例。
2.根据权利要求1所述的方法,其特征在于,所述管理设备获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率包括:
所述管理设备记录所述物理节点上的每个虚拟机分别在t时刻由于I/O等待引起所述CPU处于空闲状态时所述CPU的I/O空闲比率,以及所述物理节点上的每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率;
所述管理设备根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
3.根据权利要求2所述的方法,其特征在于,所述管理设备根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率包括:
所述管理设备根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率,并根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率;
所述管理设备根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率,并根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率;
所述管理设备获取所述CPU在所述周期时间T内的平均I/O空闲比率与所述CPU在所述周期时间T内的平均CPU利用率的比值,所述比值为所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
4.根据权利要求2所述的方法,其特征在于,所述管理设备根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率包括:
<mrow>
<mi>i</mi>
<mi>o</mi>
<mo>_</mo>
<mi>h</mi>
<mi>e</mi>
<mi>a</mi>
<mi>v</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
</mfrac>
</mrow>
其中,io_heavy(host,T)表示所述物理节点的CPU在周期时间T内的平均CPU利用率,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,n表示所述物理节点中分配的虚拟机的个数。
5.根据权利要求3所述的方法,其特征在于,所述管理设备根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率包括:
<mrow>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
所述根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率包括:
<mrow>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
所述管理设备根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率包括:
<mrow>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
所述根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率包括:
<mrow>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
其中,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,wait_avg(host,t)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,t)表示所述CPU在所述t时刻的平均CPU利用率,wait_avg(host,T)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,T)表示所述CPU在所述周期时间T内的平均CPU利用率,n表示所述物理节点中分配的虚拟机的个数。
6.一种管理设备,其特征在于,包括:
获取单元,用于获取周期时间T内物理节点的中央处理器CPU的输入/输出I/O等待时间占所述CPU的应用程序运行时间的比率;
比较单元,用于将所述比率与预设阈值进行比较;
调整单元,用于若所述比率大于所述预设阈值,则将所述物理节点中的虚拟机VM0的权值调整为所述权值与调整值的和;若所述比率小于或等于所述预设阈值,则将所述VM0的权值置为所述VM0的初始权值;
其中,所述权值用于表征所述VM0占用所述CPU资源的比例。
7.根据权利要求6所述的管理设备,其特征在于,所述获取单元包括:
记录子单元,用于记录所述物理节点上的每个虚拟机分别在t时刻由于I/O等待引起所述CPU处于空闲状态时所述CPU的I/O空闲比率,以及所述物理节点上的每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率;
获取子单元,用于根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
8.根据权利要求7所述的管理设备,其特征在于,所述获取子单元具体用于:
根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率,并根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率;
根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率,并根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率;
获取所述CPU在所述周期时间T内的平均I/O空闲比率与所述CPU在所述周期时间T内的平均CPU利用率的比值,所述比值为所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率。
9.根据权利要求7所述的管理设备,其特征在于,所述获取子单元用于根据所述每个虚拟机分别在所述t时刻时所述CPU的I/O空闲比率和所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率,获取所述周期时间T内所述CPU的I/O等待时间占所述CPU的应用程序运行时间的比率包括:
<mrow>
<mi>i</mi>
<mi>o</mi>
<mo>_</mo>
<mi>h</mi>
<mi>e</mi>
<mi>a</mi>
<mi>v</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
</mfrac>
</mrow>
其中,io_heavy(host,T)表示所述物理节点的CPU在周期时间T内的平均CPU利用率,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,n表示所述物理节点中分配的虚拟机的个数。
10.根据权利要求8所述的管理设备,其特征在于,所述获取子单元用于根据所述每个虚拟机分别在t时刻时所述CPU的I/O空闲比率获取所述CPU在所述t时刻的平均I/O空闲比率包括:
<mrow>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
所述获取子单元用于根据所述每个虚拟机分别在所述t时刻运行所述应用程序时所述CPU的利用率获取所述CPU在所述t时刻的平均CPU利用率包括:
<mrow>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
所述获取子单元用于根据所述CPU在所述t时刻的平均I/O空闲比率获取所述CPU在所述周期时间T内的平均I/O空闲比率包括:
<mrow>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>w</mi>
<mi>a</mi>
<mi>i</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
所述获取子单元用于根据所述CPU在所述t时刻的平均CPU利用率获取所述CPU在所述周期时间T内的平均CPU利用率包括:
<mrow>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mo>_</mo>
<mi>a</mi>
<mi>v</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>T</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msubsup>
<mo>&Integral;</mo>
<mi>t</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mi>T</mi>
</mrow>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>b</mi>
<mi>u</mi>
<mi>s</mi>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>o</mi>
<mi>s</mi>
<mi>t</mi>
<mo>,</mo>
<mi>i</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>d</mi>
<mi>t</mi>
</mrow>
<mi>n</mi>
</mfrac>
</mrow>
其中,wait(host,i,t)表示虚拟机i在所述t时刻时所述CPU的I/O空闲比率,busy(host,i,t)表示虚拟机i在所述t时刻运行所述应用程序时所述CPU的利用率,wait_avg(host,t)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,t)表示所述CPU在所述t时刻的平均CPU利用率,wait_avg(host,T)表示所述CPU在所述周期时间T内的平均I/O空闲比率,busy_avg(host,T)表示所述CPU在所述周期时间T内的平均CPU利用率,n表示所述物理节点中分配的虚拟机的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510202031.XA CN104793985B (zh) | 2015-04-24 | 2015-04-24 | 一种虚拟机调度方法和管理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510202031.XA CN104793985B (zh) | 2015-04-24 | 2015-04-24 | 一种虚拟机调度方法和管理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104793985A CN104793985A (zh) | 2015-07-22 |
CN104793985B true CN104793985B (zh) | 2018-03-30 |
Family
ID=53558800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510202031.XA Active CN104793985B (zh) | 2015-04-24 | 2015-04-24 | 一种虚拟机调度方法和管理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104793985B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970841A (zh) * | 2017-03-09 | 2017-07-21 | 北京西普阳光教育科技股份有限公司 | 一种基于云计算的资源限制及动态调整方法 |
CN108664311B (zh) * | 2017-03-31 | 2022-07-01 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机迁移控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488098A (zh) * | 2009-02-13 | 2009-07-22 | 华中科技大学 | 基于虚拟计算技术的多核计算资源管理系统 |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN102654841A (zh) * | 2011-03-02 | 2012-09-05 | 中国电信股份有限公司 | 细粒度分配虚拟机计算资源的方法和设备 |
CN102662763A (zh) * | 2012-04-11 | 2012-09-12 | 华中科技大学 | 基于服务质量的虚拟机资源调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2698711B1 (en) * | 2011-06-30 | 2015-08-05 | Huawei Technologies Co., Ltd. | Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system |
-
2015
- 2015-04-24 CN CN201510202031.XA patent/CN104793985B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488098A (zh) * | 2009-02-13 | 2009-07-22 | 华中科技大学 | 基于虚拟计算技术的多核计算资源管理系统 |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN102654841A (zh) * | 2011-03-02 | 2012-09-05 | 中国电信股份有限公司 | 细粒度分配虚拟机计算资源的方法和设备 |
CN102662763A (zh) * | 2012-04-11 | 2012-09-12 | 华中科技大学 | 基于服务质量的虚拟机资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104793985A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107329837B (zh) | 一种负载均衡的方法和单元、分布式NewSQL数据库系统 | |
CN103810048B (zh) | 一种面向资源利用最优的线程数量自动调整方法及装置 | |
CN104301403B (zh) | 基于组件服务副本增删的云服务资源动态配置系统及方法 | |
CN104102543B (zh) | 一种云计算环境中负载调整的方法和装置 | |
CN107656813A (zh) | 一种负载调度的方法、装置及终端 | |
CN106406987A (zh) | 一种集群中的任务执行方法及装置 | |
CN108196935B (zh) | 一种面向云计算的虚拟机节能迁移方法 | |
CN102110079B (zh) | 一种基于mpi的分布式共轭梯度法的调优计算方法 | |
CN108519919A (zh) | 一种在虚拟化集群环境下实现服务器资源动态调度的方法 | |
CN104376109B (zh) | 一种基于数据分布库的多维度数据分布方法 | |
CN107402926A (zh) | 一种查询方法以及查询设备 | |
CN106970841A (zh) | 一种基于云计算的资源限制及动态调整方法 | |
CN104793985B (zh) | 一种虚拟机调度方法和管理设备 | |
US20220300323A1 (en) | Job Scheduling Method and Job Scheduling Apparatus | |
CN108665235A (zh) | 资源处理节点的运行方法、终端设备及介质 | |
CN107589993A (zh) | 一种基于linux实时操作系统的动态优先级调度算法 | |
CN109412865A (zh) | 一种虚拟网络资源分配方法、系统及电子设备 | |
CN109582467A (zh) | 一种存储系统中io请求的处理方法、系统及相关装置 | |
CN107861820A (zh) | 一种虚拟机资源分配方法及系统 | |
CN105468567B (zh) | 一种异构众核离散访存优化方法 | |
CN107589980A (zh) | 一种云计算资源的调度方法 | |
CN104657087B (zh) | 一种虚拟磁盘映射的方法、装置及系统 | |
CN109376043A (zh) | 一种设备监测的方法和装置 | |
CN105183537B (zh) | 基于动态阈值窗口的虚拟机迁移处理方法 | |
CN107277143A (zh) | 一种资源匹配管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |