虚拟机处理器资源的调整方法、装置与虚拟机系统的制作方法

文档序号:6492896阅读:425来源:国知局
虚拟机处理器资源的调整方法、装置与虚拟机系统的制作方法
【专利摘要】本发明公开了一种虚拟机处理器资源的调整方法、装置与虚拟机系统。该方法包括:针对虚拟机VM待删除的VCPU,识别VCPU上是否有资源调度请求;响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应;响应于资源调度请求在响应时间门限值内未获得响应,VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU;删除VCPU,释放VCPU占有的物理服务器CPU资源。通过本发明提供的技术方案,能够在运行状态下减少VCPU资源,实现了虚拟机资源的弹性伸缩。
【专利说明】虚拟机处理器资源的调整方法、装置与虚拟机系统
【技术领域】
[0001]本发明涉及计算机应用领域,特别涉及一种虚拟机处理器资源的调整方法、装置与虚拟机系统。
【背景技术】
[0002]虚拟机(Virtual Machine,VM)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机应用软件在宿主计算机的真实处理器和内存基础之上为虚拟机提供虚拟的硬件,这些虚拟的硬件能够完全被安装在虚拟机上的操作系统认为是真实的硬件。从操作系统的运行特性来看,虚拟出的硬件和真实的硬件没有本质上的差别,并且各个虚拟机之间具备相对独立的运行空间。
[0003]当虚拟机处于运行状态时,在某些情况下需要动态调整虚拟机的计算资源。例如,用户需要配置某台虚拟机的虚拟中央处理器VCPU个数,在业务高峰期可以从I个VCPU增加到2个或4个VCPU。在业务处于平缓区而要从4个VCPU调整为2个VCPU。虚拟机在线资源弹性伸缩能够实现按需使用、按需分配,有效提高资源利用率。
[0004]当前针对虚拟机运行状态下实现虚拟机部分资源的调整,可以实现在物理主机CPU超线程核数范围内在线增加VCPU的个数。目前也有一些针对采用RISC指令集的小型机,例如Unix服务器,可以提供运行过程中动态调整虚拟机的CPU和内存,既可以增加也可以减少。
[0005]不同于采用RISC指令集的小型机,x86服务器具有价格低廉、架构通用等诸多优点,成为了业界主流的计算单元,随着业务应用的需求不断改变,在现有x86环境下实现在线减少虚拟机VCPU资源,十分重要。然而,在CISC指令集的x86架构下,由于其虚拟化技术是近几年来才得到大规模的发展,在x86架构下的虚拟化软件仅能够支持动态VCPU资源的增加,而不能实现运行过程中减少VCPU资源,不能实现虚拟机物理资源的弹性伸缩。

【发明内容】

[0006]根据本发明实施例的一个方面,所要解决的一个技术问题是:提供一种虚拟机处理器资源的调整方法、装置与虚拟机系统,以实现虚拟机运行过程中减少虚拟中央处理器VCPU资源。
[0007]本发明实施例提供的一种虚拟机处理器资源的调整方法,虚拟机VM具有多个虚拟处理器VCPU,所述方法包括:
[0008]针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
[0009]响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应;
[0010]响应于所述资源调度请求在所述响应时间门限值内未获得响应,所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU ;[0011]删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
[0012]优选地,所述方法还包括:
[0013]比较所述多个VCPU的平均资源利用率;
[0014]根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数;
[0015]以所述η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
[0016]优选地,所述延迟所述VCPU响应所述资源调度请求,具体包括:
[0017]提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态;
[0018]所述VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
[0019]优选地,所述提高所述VCPU的空闲idle进程的优先级,具体包括:
[0020]通过暂停suspend机制提高所述VCPU的空闲idle进程的优先级。
[0021]优选地,所述方法还包括:
[0022]接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容;
[0023]响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数η后,执行所述比较所述多个VCPU的平均资源利用率的操作。
[0024]本发明实施例提供的一种虚拟机处理器资源的调整装置,虚拟机VM具有多个虚拟处理器VCPU,所述装置包括:
[0025]识别单元,用于针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
[0026]延迟单元,用于响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应,以使得所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU ;
[0027]释放单元,用于删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
[0028]优选地,所述装置还包括:
[0029]选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数η,从所述多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数;
[0030]所述识别单元以所述选择单元选取的所述η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
[0031]优选地,所述延迟单元,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
[0032]优选地,所述延迟单元,具体用于通过suspend机制提高所述VCPU的空闲idle进程的优先级。
[0033]优选地,所述装置还包括:
[0034]指令接收单元,用于接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容;响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数η。
[0035]本发明实施例提供的一种虚拟机系统,所述虚拟机具有多个虚拟处理器VCPU,所述虚拟机系统包括:
[0036]识别单元,用于针对虚拟机系统待删除的VCPU,识别所述VCPU上是否有资源调度请求;
[0037]虚拟机监视器VMM,用于响应于所述VCPU上有资源调度请求,根据所述虚拟机系统的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应;
[0038]操作系统,用于识别所述资源调度请求在所述响应时间门限值内未获得响应,启动自动故障检测操作,将所述VCPU上排队的进程调度至所述虚拟机系统的其他VCPU ;
[0039]释放单元,用于响应于所述VCPU上没有排队的进程,删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
[0040]优选地,所述虚拟机系统还包括:
[0041]选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数;
[0042]所述识别单元以所述选择单元选取的所述η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对虚拟机系统待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
[0043]优选地,所述VMM,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,所述虚拟机系统的VMM不执行为所述资源调度请求分配物理资源的操作。
[0044]基于本发明上述实施例提供的虚拟机处理器资源的调整方法、装置与虚拟机系统,针对虚拟机VM待删除的VCPU,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应,由VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU,从而能够删除该VCPU。通过上述方案能够在虚拟机运行状态下减少VCPU资源,实现了虚拟机资源的弹性伸缩。根据上述各实施例,可以在x86架构物理器的虚拟机上应用本发明提供的技术方案,实现了 x86架构下的虚拟化软件对动态VCPU资源减少的支持。
[0045]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
【专利附图】

【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0047]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。[0048]构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
[0049]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0050]图1示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的流程示意图;
[0051]图2示出本发明所提供的虚拟机处理器资源的调整方法另一种实施例的流程示意图;
[0052]图3示出虚拟机系统的结构示意图;
[0053]图4示出虚拟机系统的虚拟机监视器对指令的处理流程示意图;
[0054]图5示出本发明所提供的虚拟机处理器资源的调整装置一种实施例的结构示意图;
[0055]图6示出本发明所提供的虚拟机系统一种实施例的结构示意图;
[0056]图7示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的网络连接示意图。
【具体实施方式】
[0057]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置不限制本发明的范围。
[0058]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0060]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0061]以下各实施例所提供的虚拟机处理器资源的调整方法、装置与虚拟机系统可以应用在x86架构服务器的虚拟机上,实现x86架构下的虚拟化软件对动态VCPU资源减少的支持,也可以应用在基于类似指令集物理主机的虚拟机上。
[0062]参见图1所示,图1示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的流程示意图。虚拟机VM具有多个虚拟处理器VCPU,该实施例提供的虚拟机处理器资源的调整方法包括以下步骤。
[0063]101,针对虚拟机VM待删除的VCPU,识别VCPU上是否有资源调度请求。
[0064]102,响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应。其中,响应时间门限值为资源调度请求等待获得响应的最大时间值,当资源调度请求在响应时间门限值内未得到响应,VM的操作系统启动自动故障检测。
[0065]103,响应于资源调度请求在响应时间门限值内未获得响应,VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU。由于VM的操作系统支持VCPU的自动故障检测和重新调度,当资源调度请求在响应时间门限值内未得到响应,VM的操作系统认为该VCPU出现故障,即通过故障模拟强迫虚拟机挂起要删除的VCPU,从而将该VCPU上排队的进程迁移到VCPU上。
[0066]104,删除VCPU,释放VCPU占有的物理服务器CPU资源。
[0067]基于本发明上述实施例提供的方法,针对虚拟机VM待删除的VCPU,通过延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应,由VM的操作系统启动自动故障检测操作,从而将VCPU上排队的进程调度至VM的其他VCPU。从而能够空出VCPU,并删除该VCPU,完成资源的彻底回收,实现了运行状态下动态VCPU资源的减少。
[0068]参见图2所示,图2示出本发明所提供的虚拟机处理器资源的调整方法另一种实施例的流程示意图。根据本发明方法实施例的另一个具体示例,该方法还包括:
[0069]201,比较多个VCPU的平均资源利用率;
[0070]202,根据待删除的VCPU的个数n,从多个VCPU中,选取平均资源利用率最低的η个VCPU作为待删除的VCPU,η为大于等于I的自然数。
[0071]之后,以η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行针对VM待删除的虚拟处理器VCPU,识别VCPU上是否有资源调度请求的操作。
[0072]参见图3所示,图3示出虚拟机系统的结构示意图。典型的基于多核平台的虚拟机系统可分为3层:提供物理硬件的物理主机、虚拟机监视器(VMM,Virtual MachineMonitor)、虚拟机VM。如图3所示,在该结构下虚拟机系统按照两级的调度框架进行调度。首先是VMM负责第一级调度,即对VCPU在物理处理单元的调度。其次是客户操作系统负责第二级调度,即虚拟机线程或进程在VCPU上的调度。从VMM的视觉来看,VCPU对物理CPU的访问相当于VMM的一个子进程,VCPU所获得的分配资源就是VCPU对应进程所获得的资源。因此,通过本发明提供的控制方法,通过控制VMM不执行为资源调度请求分配物理资源的操作,使VCPU上的资源请求得不到及时响应,从而能够对VCPU实施控制并实现减少VCPUo
[0073]根据本发明方法实施例的一个具体示例,图1所示实施例的操作103中,延迟VCPU响应资源调度请求可以通过如下方式实现:
[0074]提高VCPU上的空闲idle进程的优先级,使VCPU切换至idle状态;VM的VMM不执行为资源调度请求分配物理资源的操作。
[0075]对于延迟操作,也可以通过在VMM的调度机制上进行设置,使得虚拟机的VCPU不能获得执行的机会。参见图4所示,图4示出虚拟机系统的虚拟机监视器对指令的处理流程示意图。可以采样“特权解除”和“陷入一模拟”技术,通过将VMM运行在最高特权级,客户操作系统的大部分指令仍可在硬件上直接运行。当客户操作系统执行到特权指令,才会陷入到最高特权级的VMM模拟执行。如图4所示,VMM通常包括调度器、分配器和解释器,当调度器分析识别收到的指令是可能改变资源的指令时,交给分配器进行资源调整。将访问特权资源的指令交给解释器。因此,通过分配器不对可能改变资源的指令进行响应,从而延迟VCPU响应资源调度请求。
[0076]根据本发明方法实施例的一个具体示例,具体可以通过suspend机制提高VCPU的空闲idle进程的优先级。例如,设置idle进程的优先级为最高,迫使该CPU切换到执行idle,从而实现在x86架构的资源环境下,该VCPU上排队的进程得不到响应而被迁移到其它VCPU上。
[0077]根据本发明方法实施例的一个具体示例,该方法还包括:
[0078]接收虚拟处理器的资源调整指令,识别资源调整指令指示的调整内容;响应于资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数η后,执行比较多个VCPU的平均资源利用率的操作。
[0079]若资源调整指令为增加VCPU资源的资源调整指令,则按照执行对应的增加VCPU资源的操作,具体执行增加VCPU资源的操作,可以按照本领域技术人员所知道的实现方式实施。
[0080]参见图5所示,图5示出本发明所提供的虚拟机处理器资源的调整系统一种实施例的结构示意图。虚拟机VM具有多个虚拟处理器VCPU,该实施例提供的虚拟机处理器资源的调整装置包括:
[0081]识别单元501,用于针对虚拟机VM待删除的VCPU,识别VCPU上是否有资源调度请求;
[0082]延迟单元502,用于响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应,以使得VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU ;
[0083]释放单元503,用于响应于VCPU上没有排队的进程,删除VCPU,释放VCPU占有的物理服务器CPU资源。
[0084]根据本发明装置实施例的一个具体示例,装置还包括:
[0085]选择单元504,用于比较多个VCPU的平均资源利用率;根据待删除的VCPU的个数η,从多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数。识别单元501,以选择单元选取的η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行针对VM待删除的虚拟处理器VCPU,识别VCPU上是否有资源调度请求的操作。
[0086]根据本发明装置实施例的一个具体示例,延迟单元502具体用于提高VCPU上的空闲idle进程的优先级,使VCPU切换至idle状态,VM的虚拟机监视器VMM不执行为资源调度请求分配物理资源的操作。
[0087]根据本发明装置实施例的一个具体示例,延迟单元502具体用于通过Suspend机制提高VCPU的空闲idle进程的优先级。
[0088]根据本发明装置实施例的一个具体示例,该装置还包括:
[0089]指令接收单元505,用于接收虚拟处理器的资源调整指令,识别资源调整指令指示的调整内容;响应于资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数η。
[0090]参见图6所示,图6示出本发明所提供的虚拟机系统一种实施例的结构示意图。该虚拟机具有多个虚拟处理器VCPU,包括:
[0091]识别单元601,用于针对虚拟机系统待删除的VCPUdPjlj VCPU上是否有资源调度请求,其中,识别单元601可以集成在虚拟机监视器VMM602中;
[0092]虚拟机监视器VMM602,用于响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应;
[0093]虚拟机系统的操作系统603,用于识别资源调度请求在响应时间门限值内未获得响应,启动自动故障检测操作,将VCPU上排队的进程调度至虚拟机系统的其他VCPU ;
[0094]释放单元604,用于删除VCPU,释放VCPU占有的物理服务器CPU资源,其中,释放单元604也可以集成在虚拟机监视器VMM602中。
[0095]根据本发明虚拟机系统实施例的一个具体示例,VM还包括:[0096]选择单元605,用于比较多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数,其中,选择单元605可以集成在虚拟机监视器VMM602中;
[0097]识别单元605以选择单元选取的η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行针对VM待删除的虚拟处理器VCPU,识别VCPU上是否有资源调度请求的操作。
[0098]根据本发明虚拟机系统实施例的一个具体示例,VMM602具体用于提高VCPU上的空闲idle进程的优先级,使VCPU切换至idle状态,虚拟机系统的VMM不执行为资源调度请求分配物理资源的操作。
[0099]为了更全面的描述本发明提出的方法,参见图7所示,图7示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的网络连接示意图。根据上述实施例的描述,本领域技术应该知道,以下操作中可以选择性地执行部分操作。
[0100]在图7中,物理主机上有η台虚拟机,分别是VM-1,VM-2,……,VM_n,其中VM-1上分配有4个VCPU,分别为VCPU-1、VCPU-2、VCPU-3、VCPU-4。由于业务需求的变化,需要将VM-1上面的4个VCPU资源调整为2个VCPU资源。
[0101]接收虚拟处理器的资源调整指令,该指令可以由图中管理服务器下发,识别资源调整指令指示的调整内容为将VM-1上面的4个VCPU资源调整为2个VCPU资源。
[0102]响应于资源调整指令为减少VCPU资源的资源调整指令,即将VM-1上面的4个VCPU资源调整为2个VCPU资源,对VM-1的各个VCPU的平均利用率进行比较。4个VP⑶的利用率分别为55%、43%、52%、38%,根据待删除的VCPU的个数2,从多个VCPU中,选取平均资源利用率最低的2个VCPU,即VCPU-2和VCPU-4作为待删除的VCPU。
[0103]接下来,针对VCPU-2和VCPU-4分别识别VCPU上是否有资源调度请求。识别VCPU-2和VCPU-4上是否有资源调度请求,响应于VCPU-2和VCPU-4上有资源调度请求,根据VM — I的操作系统启动自动故障检测操作的响应时间门限值,分别对VCPU-2和VCPU-4的资源调度请求进行延迟。
[0104]例如,虚拟机VM-1的操作系统资源调度算法支持对长时间得不到响应的CPU能执行进程切换,即支持VCPU的自动故障检测和重新调度。VM -1的操作系统启动自动故障检测操作的响应时间门限值5秒,VMM分别对VCPU-2和VCPU-4的资源调度请求延迟10秒,即延迟10秒后如果仍在请求队列中才进行响应。当VCPU-2和VCPU-4的资源调度请求在5秒内得不到响应,由于VMM对资源调度请求的延迟,VM-1的操作系统发现5秒内VCPU-2和VCPU-4上的计算请求都得不到调度,则认为这两个VCPU处于故障状态,将VCPU-2和VCPU-4上排队的进程迁移到VCPU-1和VCPU-3上执行,将VCPU-2和VCPU-4在短时间内切换到执行idle模式,最后进入halt状态。当VMM检测到VCPU-2和VCPU-4上面除idle进程外没有其他排队的进程时,从逻辑上删除VCPU-2和VCPU-4,释放这2个VCPU在物理服务器CPU上占用的资源,完成CPU资源的彻底回收,减少虚拟机使用的计算资源,从而实现在线减少虚拟机VCPU资源的目标。
[0105]至此,已经详细描述了根据本发明的一种虚拟机处理器资源的调整方法、装置与虚拟机系统。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
[0106]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于虚拟机处理器资源的调整装置、虚拟机实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0107]可能以许多方式来实现本发明的虚拟机处理器资源的调整方法、装置与虚拟机系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的虚拟机处理器资源的调整方法、装置与虚拟机系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
[0108]虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
【权利要求】
1.一种虚拟机处理器资源的调整方法,其特征在于,虚拟机VM具有多个虚拟处理器VCPU,所述方法包括: 针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求; 响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应; 响应于所述资源调度请求在所述响应时间门限值内未获得响应,所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU ; 删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 比较所述多个VCPU的平均资源利用率; 根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数; 以所述η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
3.根据权利要求2所述的方法,其特征在于,所述延迟所述VCPU响应所述资源调度请求,具体包括: 提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态; 所述VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
4.根据权利要求3所述的方法,其特征在于,所述提高所述VCPU的空闲idle进程的优先级,具体包括: 通过暂停suspend机制提高所述VCPU的空闲idle进程的优先级。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括: 接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容; 响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数η后,执行所述比较所述多个VCPU的平均资源利用率的操作。
6.一种虚拟机处理器资源的调整装置,其特征在于,虚拟机VM具有多个虚拟处理器VCPU,所述装置包括:识别单元,用于针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;延迟单元,用于响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应,以使得所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU ; 释放单元,用于删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数η,从所述多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数;所述识别单元以所述选择单元选取的所述η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
8.根据权利要求7所述的装置,其特征在于,所述延迟单元,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
9.根据权利要求8所述的装置,其特征在于,所述延迟单元,具体用于通过suspend机制提高所述VCPU的空闲idle进程的优先级。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 指令接收单元,用于接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容;响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数η。
11.一种虚拟机系统,其特征在于,所述虚拟机具有多个虚拟处理器VCPU,所述虚拟机系统包括: 识别单元,用于针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求; 虚拟机监视器VMM,用于响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应; 操作系统,用于识别所述资源调度请求在所述响应时间门限值内未获得响应,启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU ; 释放单元,用于响应于所`述VCPU上没有排队的进程,删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
12.根据权利要求11所述的虚拟机系统,其特征在于,所述VM还包括: 选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的η个VCPU,η为大于等于I的自然数; 所述识别单元以所述选择单元选取的所述η个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
13.根据权利要求12所述的虚拟机系统,其特征在于,所述VMM,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,所述VM的VMM不执行为所述资源调度请求分配物理资源的操作。
【文档编号】G06F9/50GK103870332SQ201210539178
【公开日】2014年6月18日 申请日期:2012年12月13日 优先权日:2012年12月13日
【发明者】金华敏, 赖培源, 蔡康, 黄勇军, 李巧玲, 秦润锋, 樊勇兵, 陈天 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1