CN103870332A - 虚拟机处理器资源的调整方法、装置与虚拟机系统 - Google Patents

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

Info

Publication number
CN103870332A
CN103870332A CN201210539178.4A CN201210539178A CN103870332A CN 103870332 A CN103870332 A CN 103870332A CN 201210539178 A CN201210539178 A CN 201210539178A CN 103870332 A CN103870332 A CN 103870332A
Authority
CN
China
Prior art keywords
vcpu
resource
scheduling
virtual machine
response
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.)
Granted
Application number
CN201210539178.4A
Other languages
English (en)
Other versions
CN103870332B (zh
Inventor
金华敏
赖培源
蔡康
黄勇军
李巧玲
秦润锋
樊勇兵
陈天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201210539178.4A priority Critical patent/CN103870332B/zh
Publication of CN103870332A publication Critical patent/CN103870332A/zh
Application granted granted Critical
Publication of CN103870332B publication Critical patent/CN103870332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种虚拟机处理器资源的调整方法、装置与虚拟机系统。该方法包括:针对虚拟机VM待删除的VCPU,识别VCPU上是否有资源调度请求;响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应;响应于资源调度请求在响应时间门限值内未获得响应,VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU;删除VCPU,释放VCPU占有的物理服务器CPU资源。通过本发明提供的技术方案,能够在运行状态下减少VCPU资源,实现了虚拟机资源的弹性伸缩。

Description

虚拟机处理器资源的调整方法、装置与虚拟机系统
技术领域
本发明涉及计算机应用领域,特别涉及一种虚拟机处理器资源的调整方法、装置与虚拟机系统。
背景技术
虚拟机(Virtual Machine,VM)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机应用软件在宿主计算机的真实处理器和内存基础之上为虚拟机提供虚拟的硬件,这些虚拟的硬件能够完全被安装在虚拟机上的操作系统认为是真实的硬件。从操作系统的运行特性来看,虚拟出的硬件和真实的硬件没有本质上的差别,并且各个虚拟机之间具备相对独立的运行空间。
当虚拟机处于运行状态时,在某些情况下需要动态调整虚拟机的计算资源。例如,用户需要配置某台虚拟机的虚拟中央处理器VCPU个数,在业务高峰期可以从1个VCPU增加到2个或4个VCPU。在业务处于平缓区而要从4个VCPU调整为2个VCPU。虚拟机在线资源弹性伸缩能够实现按需使用、按需分配,有效提高资源利用率。
当前针对虚拟机运行状态下实现虚拟机部分资源的调整,可以实现在物理主机CPU超线程核数范围内在线增加VCPU的个数。目前也有一些针对采用RISC指令集的小型机,例如Unix服务器,可以提供运行过程中动态调整虚拟机的CPU和内存,既可以增加也可以减少。
不同于采用RISC指令集的小型机,x86服务器具有价格低廉、架构通用等诸多优点,成为了业界主流的计算单元,随着业务应用的需求不断改变,在现有x86环境下实现在线减少虚拟机VCPU资源,十分重要。然而,在CISC指令集的x86架构下,由于其虚拟化技术是近几年来才得到大规模的发展,在x86架构下的虚拟化软件仅能够支持动态VCPU资源的增加,而不能实现运行过程中减少VCPU资源,不能实现虚拟机物理资源的弹性伸缩。
发明内容
根据本发明实施例的一个方面,所要解决的一个技术问题是:提供一种虚拟机处理器资源的调整方法、装置与虚拟机系统,以实现虚拟机运行过程中减少虚拟中央处理器VCPU资源。
本发明实施例提供的一种虚拟机处理器资源的调整方法,虚拟机VM具有多个虚拟处理器VCPU,所述方法包括:
针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应;
响应于所述资源调度请求在所述响应时间门限值内未获得响应,所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU;
删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
优选地,所述方法还包括:
比较所述多个VCPU的平均资源利用率;
根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数;
以所述n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
优选地,所述延迟所述VCPU响应所述资源调度请求,具体包括:
提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态;
所述VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
优选地,所述提高所述VCPU的空闲idle进程的优先级,具体包括:
通过暂停suspend机制提高所述VCPU的空闲idle进程的优先级。
优选地,所述方法还包括:
接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容;
响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数n后,执行所述比较所述多个VCPU的平均资源利用率的操作。
本发明实施例提供的一种虚拟机处理器资源的调整装置,虚拟机VM具有多个虚拟处理器VCPU,所述装置包括:
识别单元,用于针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
延迟单元,用于响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应,以使得所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU;
释放单元,用于删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
优选地,所述装置还包括:
选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数;
所述识别单元以所述选择单元选取的所述n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
优选地,所述延迟单元,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
优选地,所述延迟单元,具体用于通过suspend机制提高所述VCPU的空闲idle进程的优先级。
优选地,所述装置还包括:
指令接收单元,用于接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容;响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数n。
本发明实施例提供的一种虚拟机系统,所述虚拟机具有多个虚拟处理器VCPU,所述虚拟机系统包括:
识别单元,用于针对虚拟机系统待删除的VCPU,识别所述VCPU上是否有资源调度请求;
虚拟机监视器VMM,用于响应于所述VCPU上有资源调度请求,根据所述虚拟机系统的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应;
操作系统,用于识别所述资源调度请求在所述响应时间门限值内未获得响应,启动自动故障检测操作,将所述VCPU上排队的进程调度至所述虚拟机系统的其他VCPU;
释放单元,用于响应于所述VCPU上没有排队的进程,删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
优选地,所述虚拟机系统还包括:
选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数;
所述识别单元以所述选择单元选取的所述n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对虚拟机系统待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
优选地,所述VMM,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,所述虚拟机系统的VMM不执行为所述资源调度请求分配物理资源的操作。
基于本发明上述实施例提供的虚拟机处理器资源的调整方法、装置与虚拟机系统,针对虚拟机VM待删除的VCPU,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应,由VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU,从而能够删除该VCPU。通过上述方案能够在虚拟机运行状态下减少VCPU资源,实现了虚拟机资源的弹性伸缩。根据上述各实施例,可以在x86架构物理器的虚拟机上应用本发明提供的技术方案,实现了x86架构下的虚拟化软件对动态VCPU资源减少的支持。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的流程示意图;
图2示出本发明所提供的虚拟机处理器资源的调整方法另一种实施例的流程示意图;
图3示出虚拟机系统的结构示意图;
图4示出虚拟机系统的虚拟机监视器对指令的处理流程示意图;
图5示出本发明所提供的虚拟机处理器资源的调整装置一种实施例的结构示意图;
图6示出本发明所提供的虚拟机系统一种实施例的结构示意图;
图7示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的网络连接示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
以下各实施例所提供的虚拟机处理器资源的调整方法、装置与虚拟机系统可以应用在x86架构服务器的虚拟机上,实现x86架构下的虚拟化软件对动态VCPU资源减少的支持,也可以应用在基于类似指令集物理主机的虚拟机上。
参见图1所示,图1示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的流程示意图。虚拟机VM具有多个虚拟处理器VCPU,该实施例提供的虚拟机处理器资源的调整方法包括以下步骤。
101,针对虚拟机VM待删除的VCPU,识别VCPU上是否有资源调度请求。
102,响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应。其中,响应时间门限值为资源调度请求等待获得响应的最大时间值,当资源调度请求在响应时间门限值内未得到响应,VM的操作系统启动自动故障检测。
103,响应于资源调度请求在响应时间门限值内未获得响应,VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU。由于VM的操作系统支持VCPU的自动故障检测和重新调度,当资源调度请求在响应时间门限值内未得到响应,VM的操作系统认为该VCPU出现故障,即通过故障模拟强迫虚拟机挂起要删除的VCPU,从而将该VCPU上排队的进程迁移到VCPU上。
104,删除VCPU,释放VCPU占有的物理服务器CPU资源。
基于本发明上述实施例提供的方法,针对虚拟机VM待删除的VCPU,通过延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应,由VM的操作系统启动自动故障检测操作,从而将VCPU上排队的进程调度至VM的其他VCPU。从而能够空出VCPU,并删除该VCPU,完成资源的彻底回收,实现了运行状态下动态VCPU资源的减少。
参见图2所示,图2示出本发明所提供的虚拟机处理器资源的调整方法另一种实施例的流程示意图。根据本发明方法实施例的另一个具体示例,该方法还包括:
201,比较多个VCPU的平均资源利用率;
202,根据待删除的VCPU的个数n,从多个VCPU中,选取平均资源利用率最低的n个VCPU作为待删除的VCPU,n为大于等于1的自然数。
之后,以n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行针对VM待删除的虚拟处理器VCPU,识别VCPU上是否有资源调度请求的操作。
参见图3所示,图3示出虚拟机系统的结构示意图。典型的基于多核平台的虚拟机系统可分为3层:提供物理硬件的物理主机、虚拟机监视器(VMM,Virtual Machine Monitor)、虚拟机VM。如图3所示,在该结构下虚拟机系统按照两级的调度框架进行调度。首先是VMM负责第一级调度,即对VCPU在物理处理单元的调度。其次是客户操作系统负责第二级调度,即虚拟机线程或进程在VCPU上的调度。从VMM的视觉来看,VCPU对物理CPU的访问相当于VMM的一个子进程,VCPU所获得的分配资源就是VCPU对应进程所获得的资源。因此,通过本发明提供的控制方法,通过控制VMM不执行为资源调度请求分配物理资源的操作,使VCPU上的资源请求得不到及时响应,从而能够对VCPU实施控制并实现减少VCPU。
根据本发明方法实施例的一个具体示例,图1所示实施例的操作103中,延迟VCPU响应资源调度请求可以通过如下方式实现:
提高VCPU上的空闲idle进程的优先级,使VCPU切换至idle状态;VM的VMM不执行为资源调度请求分配物理资源的操作。
对于延迟操作,也可以通过在VMM的调度机制上进行设置,使得虚拟机的VCPU不能获得执行的机会。参见图4所示,图4示出虚拟机系统的虚拟机监视器对指令的处理流程示意图。可以采样“特权解除”和“陷入—模拟”技术,通过将VMM运行在最高特权级,客户操作系统的大部分指令仍可在硬件上直接运行。当客户操作系统执行到特权指令,才会陷入到最高特权级的VMM模拟执行。如图4所示,VMM通常包括调度器、分配器和解释器,当调度器分析识别收到的指令是可能改变资源的指令时,交给分配器进行资源调整。将访问特权资源的指令交给解释器。因此,通过分配器不对可能改变资源的指令进行响应,从而延迟VCPU响应资源调度请求。
根据本发明方法实施例的一个具体示例,具体可以通过suspend机制提高VCPU的空闲idle进程的优先级。例如,设置idle进程的优先级为最高,迫使该CPU切换到执行idle,从而实现在x86架构的资源环境下,该VCPU上排队的进程得不到响应而被迁移到其它VCPU上。
根据本发明方法实施例的一个具体示例,该方法还包括:
接收虚拟处理器的资源调整指令,识别资源调整指令指示的调整内容;响应于资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数n后,执行比较多个VCPU的平均资源利用率的操作。
若资源调整指令为增加VCPU资源的资源调整指令,则按照执行对应的增加VCPU资源的操作,具体执行增加VCPU资源的操作,可以按照本领域技术人员所知道的实现方式实施。
参见图5所示,图5示出本发明所提供的虚拟机处理器资源的调整系统一种实施例的结构示意图。虚拟机VM具有多个虚拟处理器VCPU,该实施例提供的虚拟机处理器资源的调整装置包括:
识别单元501,用于针对虚拟机VM待删除的VCPU,识别VCPU上是否有资源调度请求;
延迟单元502,用于响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应,以使得VM的操作系统启动自动故障检测操作,将VCPU上排队的进程调度至VM的其他VCPU;
释放单元503,用于响应于VCPU上没有排队的进程,删除VCPU,释放VCPU占有的物理服务器CPU资源。
根据本发明装置实施例的一个具体示例,装置还包括:
选择单元504,用于比较多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数。识别单元501,以选择单元选取的n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行针对VM待删除的虚拟处理器VCPU,识别VCPU上是否有资源调度请求的操作。
根据本发明装置实施例的一个具体示例,延迟单元502具体用于提高VCPU上的空闲idle进程的优先级,使VCPU切换至idle状态,VM的虚拟机监视器VMM不执行为资源调度请求分配物理资源的操作。
根据本发明装置实施例的一个具体示例,延迟单元502具体用于通过Suspend机制提高VCPU的空闲idle进程的优先级。
根据本发明装置实施例的一个具体示例,该装置还包括:
指令接收单元505,用于接收虚拟处理器的资源调整指令,识别资源调整指令指示的调整内容;响应于资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数n。
参见图6所示,图6示出本发明所提供的虚拟机系统一种实施例的结构示意图。该虚拟机具有多个虚拟处理器VCPU,包括:
识别单元601,用于针对虚拟机系统待删除的VCPU,识别VCPU上是否有资源调度请求,其中,识别单元601可以集成在虚拟机监视器VMM602中;
虚拟机监视器VMM602,用于响应于VCPU上有资源调度请求,根据VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应资源调度请求,使得资源调度请求在响应时间门限值内未获得响应;
虚拟机系统的操作系统603,用于识别资源调度请求在响应时间门限值内未获得响应,启动自动故障检测操作,将VCPU上排队的进程调度至虚拟机系统的其他VCPU;
释放单元604,用于删除VCPU,释放VCPU占有的物理服务器CPU资源,其中,释放单元604也可以集成在虚拟机监视器VMM602中。
根据本发明虚拟机系统实施例的一个具体示例,VM还包括:
选择单元605,用于比较多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数,其中,选择单元605可以集成在虚拟机监视器VMM602中;
识别单元605以选择单元选取的n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行针对VM待删除的虚拟处理器VCPU,识别VCPU上是否有资源调度请求的操作。
根据本发明虚拟机系统实施例的一个具体示例,VMM602具体用于提高VCPU上的空闲idle进程的优先级,使VCPU切换至idle状态,虚拟机系统的VMM不执行为资源调度请求分配物理资源的操作。
为了更全面的描述本发明提出的方法,参见图7所示,图7示出本发明所提供的虚拟机处理器资源的调整方法一种实施例的网络连接示意图。根据上述实施例的描述,本领域技术应该知道,以下操作中可以选择性地执行部分操作。
在图7中,物理主机上有n台虚拟机,分别是VM-1,VM-2,……,VM-n,其中VM-1上分配有4个VCPU,分别为VCPU-1、VCPU-2、VCPU-3、VCPU-4。由于业务需求的变化,需要将VM-1上面的4个VCPU资源调整为2个VCPU资源。
接收虚拟处理器的资源调整指令,该指令可以由图中管理服务器下发,识别资源调整指令指示的调整内容为将VM-1上面的4个VCPU资源调整为2个VCPU资源。
响应于资源调整指令为减少VCPU资源的资源调整指令,即将VM-1上面的4个VCPU资源调整为2个VCPU资源,对VM-1的各个VCPU的平均利用率进行比较。4个VPCU的利用率分别为55%、43%、52%、38%,根据待删除的VCPU的个数2,从多个VCPU中,选取平均资源利用率最低的2个VCPU,即VCPU-2和VCPU-4作为待删除的VCPU。
接下来,针对VCPU-2和VCPU-4分别识别VCPU上是否有资源调度请求。识别VCPU-2和VCPU-4上是否有资源调度请求,响应于VCPU-2和VCPU-4上有资源调度请求,根据VM-1的操作系统启动自动故障检测操作的响应时间门限值,分别对VCPU-2和VCPU-4的资源调度请求进行延迟。
例如,虚拟机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资源的目标。
至此,已经详细描述了根据本发明的一种虚拟机处理器资源的调整方法、装置与虚拟机系统。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于虚拟机处理器资源的调整装置、虚拟机实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的虚拟机处理器资源的调整方法、装置与虚拟机系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的虚拟机处理器资源的调整方法、装置与虚拟机系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (13)

1.一种虚拟机处理器资源的调整方法,其特征在于,虚拟机VM具有多个虚拟处理器VCPU,所述方法包括:
针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应;
响应于所述资源调度请求在所述响应时间门限值内未获得响应,所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU;
删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
比较所述多个VCPU的平均资源利用率;
根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数;
以所述n个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的个数n后,执行所述比较所述多个VCPU的平均资源利用率的操作。
6.一种虚拟机处理器资源的调整装置,其特征在于,虚拟机VM具有多个虚拟处理器VCPU,所述装置包括:
识别单元,用于针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
延迟单元,用于响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应,以使得所述VM的操作系统启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU;
释放单元,用于删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数;
所述识别单元以所述选择单元选取的所述n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
8.根据权利要求7所述的装置,其特征在于,所述延迟单元,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,VM的虚拟机监视器VMM不执行为所述资源调度请求分配物理资源的操作。
9.根据权利要求8所述的装置,其特征在于,所述延迟单元,具体用于通过suspend机制提高所述VCPU的空闲idle进程的优先级。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
指令接收单元,用于接收虚拟处理器的资源调整指令,识别所述资源调整指令指示的调整内容;响应于所述资源调整指令为减少VCPU资源的资源调整指令,确定待删除的VCPU的个数n。
11.一种虚拟机系统,其特征在于,所述虚拟机具有多个虚拟处理器VCPU,所述虚拟机系统包括:
识别单元,用于针对虚拟机VM待删除的VCPU,识别所述VCPU上是否有资源调度请求;
虚拟机监视器VMM,用于响应于所述VCPU上有资源调度请求,根据所述VM的操作系统启动自动故障检测操作的响应时间门限值,延迟响应所述资源调度请求,使得所述资源调度请求在所述响应时间门限值内未获得响应;
操作系统,用于识别所述资源调度请求在所述响应时间门限值内未获得响应,启动自动故障检测操作,将所述VCPU上排队的进程调度至所述VM的其他VCPU;
释放单元,用于响应于所述VCPU上没有排队的进程,删除所述VCPU,释放所述VCPU占有的物理服务器CPU资源。
12.根据权利要求11所述的虚拟机系统,其特征在于,所述VM还包括:
选择单元,用于比较所述多个VCPU的平均资源利用率;根据待删除的VCPU的个数n,从所述多个VCPU中,选取平均资源利用率最低的n个VCPU,n为大于等于1的自然数;
所述识别单元以所述选择单元选取的所述n个VCPU中的每一个VCPU作为待删除的VCPU,分别执行所述针对VM待删除的虚拟处理器VCPU,识别所述VCPU上是否有资源调度请求的操作。
13.根据权利要求12所述的虚拟机系统,其特征在于,所述VMM,具体用于提高所述VCPU上的空闲idle进程的优先级,使所述VCPU切换至idle状态,所述VM的VMM不执行为所述资源调度请求分配物理资源的操作。
CN201210539178.4A 2012-12-13 2012-12-13 虚拟机处理器资源的调整方法、装置与虚拟机系统 Active CN103870332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210539178.4A CN103870332B (zh) 2012-12-13 2012-12-13 虚拟机处理器资源的调整方法、装置与虚拟机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210539178.4A CN103870332B (zh) 2012-12-13 2012-12-13 虚拟机处理器资源的调整方法、装置与虚拟机系统

Publications (2)

Publication Number Publication Date
CN103870332A true CN103870332A (zh) 2014-06-18
CN103870332B CN103870332B (zh) 2017-08-25

Family

ID=50908896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210539178.4A Active CN103870332B (zh) 2012-12-13 2012-12-13 虚拟机处理器资源的调整方法、装置与虚拟机系统

Country Status (1)

Country Link
CN (1) CN103870332B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045667A (zh) * 2015-07-13 2015-11-11 中国科学院计算技术研究所 一种用于虚拟机vCPU调度的资源池管理方法
CN106161512A (zh) * 2015-03-31 2016-11-23 西门子公司 一种用于云计算的方法和装置
CN108255572A (zh) * 2016-12-29 2018-07-06 华为技术有限公司 一种vcpu切换方法和物理主机
CN108334396A (zh) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 一种数据处理方法和装置、资源组的创建方法和装置
CN111427673A (zh) * 2020-03-16 2020-07-17 杭州迪普科技股份有限公司 一种负载均衡方法、装置及设备
WO2021120933A1 (zh) * 2019-12-16 2021-06-24 华为技术有限公司 调整资源的方法和装置
CN113791867A (zh) * 2021-09-16 2021-12-14 江苏安超云软件有限公司 调整kvm虚拟机服务进程优先级的方法及应用
CN114237831A (zh) * 2022-02-25 2022-03-25 阿里巴巴(中国)有限公司 虚拟中央处理器热插拔方法、物理主机和存储介质
CN114281556A (zh) * 2022-03-08 2022-04-05 北京蚂蚁云金融信息服务有限公司 用于自适应地优化在线资源分配的方法及装置
WO2023012655A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Deferred reclaiming of secure guest resources

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773481A (zh) * 2004-11-12 2006-05-17 国际商业机器公司 处理复合体访问共享设备的方法和系统
CN101206582A (zh) * 2006-12-22 2008-06-25 联想(北京)有限公司 一种虚拟机系统及其处理方法
US20110066879A1 (en) * 2009-09-11 2011-03-17 Fujitsu Limited Virtual machine system, restarting method of virtual machine and system
CN102314377A (zh) * 2010-06-30 2012-01-11 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
CN102317917A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN102662763A (zh) * 2012-04-11 2012-09-12 华中科技大学 基于服务质量的虚拟机资源调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1773481A (zh) * 2004-11-12 2006-05-17 国际商业机器公司 处理复合体访问共享设备的方法和系统
CN101206582A (zh) * 2006-12-22 2008-06-25 联想(北京)有限公司 一种虚拟机系统及其处理方法
US20110066879A1 (en) * 2009-09-11 2011-03-17 Fujitsu Limited Virtual machine system, restarting method of virtual machine and system
CN102314377A (zh) * 2010-06-30 2012-01-11 国际商业机器公司 加速器及其实现支持虚拟机迁移的方法
CN102317917A (zh) * 2011-06-30 2012-01-11 华为技术有限公司 热点域虚拟机cpu调度方法及虚拟机系统
CN102662763A (zh) * 2012-04-11 2012-09-12 华中科技大学 基于服务质量的虚拟机资源调度方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161512A (zh) * 2015-03-31 2016-11-23 西门子公司 一种用于云计算的方法和装置
CN105045667A (zh) * 2015-07-13 2015-11-11 中国科学院计算技术研究所 一种用于虚拟机vCPU调度的资源池管理方法
CN105045667B (zh) * 2015-07-13 2018-11-30 中国科学院计算技术研究所 一种用于虚拟机vCPU调度的资源池管理方法
CN108255572A (zh) * 2016-12-29 2018-07-06 华为技术有限公司 一种vcpu切换方法和物理主机
CN108334396A (zh) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 一种数据处理方法和装置、资源组的创建方法和装置
CN108334396B (zh) * 2017-01-19 2022-12-30 阿里巴巴集团控股有限公司 一种数据处理方法和装置、资源组的创建方法和装置
WO2021120933A1 (zh) * 2019-12-16 2021-06-24 华为技术有限公司 调整资源的方法和装置
CN111427673A (zh) * 2020-03-16 2020-07-17 杭州迪普科技股份有限公司 一种负载均衡方法、装置及设备
CN111427673B (zh) * 2020-03-16 2023-04-07 杭州迪普科技股份有限公司 一种负载均衡方法、装置及设备
WO2023012655A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Deferred reclaiming of secure guest resources
GB2624593A (en) * 2021-08-05 2024-05-22 Ibm Deferred reclaiming of secure guest resources
CN113791867A (zh) * 2021-09-16 2021-12-14 江苏安超云软件有限公司 调整kvm虚拟机服务进程优先级的方法及应用
CN114237831A (zh) * 2022-02-25 2022-03-25 阿里巴巴(中国)有限公司 虚拟中央处理器热插拔方法、物理主机和存储介质
CN114281556A (zh) * 2022-03-08 2022-04-05 北京蚂蚁云金融信息服务有限公司 用于自适应地优化在线资源分配的方法及装置

Also Published As

Publication number Publication date
CN103870332B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
CN103870332A (zh) 虚拟机处理器资源的调整方法、装置与虚拟机系统
US11797327B2 (en) Dynamic virtual machine sizing
US9286127B2 (en) Method for allocating processor resources precisely by means of predictive scheduling based on current credits
US9652280B2 (en) CPU scheduler configured to support latency sensitive virtual machines
EP3036625B1 (en) Virtual hadoop manager
Song et al. Multi-tiered on-demand resource scheduling for VM-based data center
Song et al. Schedule processes, not VCPUs
JP5317010B2 (ja) 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置
US10579132B2 (en) System and method for performing distributed power management without power cycling hosts
US20170017511A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
CN102135903B (zh) 基于硬件虚拟化的Xen实时性增强系统及其方法
Alvarruiz et al. An energy manager for high performance computer clusters
CN103473135A (zh) 虚拟化环境下自旋锁lhp现象的处理方法
KR101690652B1 (ko) 멀티코어 시스템의 스케쥴링 장치 및 방법
KR101330609B1 (ko) 모바일 멀티코어 가상화 시스템에서 실시간 처리를 보장하기 위한 스케쥴링 방법
Xiao et al. Energy-efficiency enhanced virtual machine scheduling policy for mixed workloads in cloud environments
US11934890B2 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
Kim et al. Reconciling time slice conflicts of virtual machines with dual time slice for clouds
Ning et al. Research and implementation of resource management system based on Xen virtual machine
CN109857513A (zh) 一种采用开源Linux KVM内核虚拟化技术的虚拟机系统
CN116431280A (zh) 一种中断信号处理方法以及中断信号处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant