一种虚拟化场景下分配CPU资源的方法和装置制造方法及图纸

技术编号:11207510 阅读:97 留言:0更新日期:2015-03-26 16:07
本发明专利技术实施例提供了一种虚拟化场景下分配CPU资源的方法和装置,解决了虚拟化场景下多个物理CPU运行同一个I/O所导致的I/O性能降低的问题。该方法包括:当第一I/O需要运行时,主机选取第一物理CPU,并获得虚拟机选取的第一虚拟CPU,第一虚拟CPU用于处理虚拟机内与所述第一I/O相对应的线程;主机判断第一物理CPU和第一虚拟CPU是否存在绑定关系,所述绑定关系是指所述第一虚拟CPU所对应的物理CPU包含所述第一物理CPU;若不存在,所述主机绑定所述第一物理CPU和所述第一虚拟CPU;所述主机配置所述主机内的第一I/O所对应的线程运行在所述第一物理CPU上。该方法适用于计算机技术领域。

【技术实现步骤摘要】
【专利摘要】本专利技术实施例提供了一种虚拟化场景下分配CPU资源的方法和装置,解决了虚拟化场景下多个物理CPU运行同一个I/O所导致的I/O性能降低的问题。该方法包括:当第一I/O需要运行时,主机选取第一物理CPU,并获得虚拟机选取的第一虚拟CPU,第一虚拟CPU用于处理虚拟机内与所述第一I/O相对应的线程;主机判断第一物理CPU和第一虚拟CPU是否存在绑定关系,所述绑定关系是指所述第一虚拟CPU所对应的物理CPU包含所述第一物理CPU;若不存在,所述主机绑定所述第一物理CPU和所述第一虚拟CPU;所述主机配置所述主机内的第一I/O所对应的线程运行在所述第一物理CPU上。该方法适用于计算机
。【专利说明】一种虚拟化场景下分配CPU资源的方法和装置
本专利技术涉及计算机
,尤其涉及一种虚拟化场景下分配CPU资源的方法和 >J-U ρ?α装直。
技术介绍
随着近年来多核系统、云计算等的广泛部署,虚拟化技术的优势日益明显。虚拟化技术不仅降低了信息技术(Informat1n Technology, IT)成本,而且还增强了系统的安全性和可靠性,虚拟化技术可以将有限的固定资源根据不同需求进行重新规划以达到最大的利用率。 输入输出(Input/Output,1/0)虚拟化是虚拟化技术中的一种,当虚拟机内的一个应用程序开始运行时,该应用程序发起一个I/o流程,在整个1/0流程中,虚拟机通过与主机的交互访问主机内的物理磁盘。 完整的1/0流程需要运行多个线程,虚拟机内的1/0线程运行在虚拟机选取的虚拟中央处理器(Central Processing Unit, CPU)所对应的主机内的物理CPU上,主机的I/O线程运行在主机选取的物理CPU中,对于包含多个物理CPU的主机,如非一致性内存访问(Non Uniform Memory Access Architecture,NUMA)架构服务器,若虚拟机选取的虚拟CPU所对应的物理CPU和主机选取的物理CPU不是同一个物理CPU,则在1/0流程中就会产生物理CPU切换的开销,降低1/0的性能,若不同的物理CPU还处于不同的NUMA节点,由于跨NUMA节点内存访问速度较慢,也会降低1/0的性能。
技术实现思路
本专利技术的实施例提供一种虚拟化场景下分配CPU资源的方法和装置,解决了不同物理CPU对同一 1/0的多个线程进行处理而导致的1/0性能降低的问题。 为达到上述目的,本专利技术的实施例采用如下技术方案: 第一方面,本专利技术实施例提供了一种分配CPU资源的方法,该方法包括: 当第一 1/0需要运行时,主机选取第一物理CPU,并获得虚拟机选取的第一虚拟CPU,其中,所述第一虚拟CPU用于处理所述虚拟机内与所述第一 1/0相对应的线程; 所述主机判断所述第一物理CPU和所述第一虚拟CPU是否存在绑定关系,其中,所述绑定关系是指所述第一虚拟CPU所对应的物理CPU包含所述第一物理CPU ; 若不存在,所述主机绑定所述第一物理CPU和所述第一虚拟CPU ; 所述主机配置所述主机内的第一 1/0所对应的线程运行在所述第一物理CPU上。 在第一种可能的实施方式中,结合第一方面,所述主机判断所述第一物理CPU和所述第一虚拟CPU是否存在绑定关系之后,该方法还包括: 所述主机判断所述第一虚拟CPU和第二物理CPU是否存在绑定关系,其中,所述第二物理CPU是所述主机内除所述第一物理CPU之外的任一物理CPU ; 若所述第一虚拟CPU和所述第一物理CPU以及所述第二物理CPU存在绑定关系,且所述第一物理CPU和所述第二物理CPU位于不同的非一致性内存访问NUMA节点内,则所述主机取消所述第一虚拟CPU和所述第二物理CPU的绑定关系; 所述若不存在,绑定所述第一物理CPU和所述第一虚拟CPU具体包括: 若所述第一虚拟CPU和所述第二物理CPU不存在绑定关系,则绑定所述第一物理CPU所述第一虚拟CPU ;或者, 若所述第一虚拟CPU和所述第二物理CPU存在绑定关系,且所述第一物理CPU和所述第二物理CPU位于同一个非一致性内存访问NUMA节点内,则所述主机增加绑定所述第一物理CPU和所述第一虚拟CPU ;或者, 若所述第一虚拟CPU和所述第二物理CPU存在绑定关系,且所述第一物理CPU和所述第二物理CPU位于不同的NUMA节点内,则所述主机取消所述第一虚拟CPU和所述第二物理CPU的绑定关系,并绑定所述第一物理CPU和所述第一虚拟CPU。 在第二种可能的实施方式中,结合第一方面或第一种可能的实施方式,所述主机选取第一物理CPU具体包括: 所述主机判断当前是否存在空闲物理CPU,所述空闲物理CPU是指当前没有运行I/O的物理CPU ; 若存在,所述主机根据所述空闲CPU的利用率,选取利用率最低的物理CPU作为所述第一物理CPU ; 若不存在,所述主机根据从所述虚拟机预获得的所有I/O的特征信息,获取所述第一物理CPU。 在第三种可能的实施方式中,结合第二种可能的实施方式,所述主机判断当前是否存在空闲物理CPU之前,该方法还包括: 所述主机判断在所述第一 I/O之前,所述主机是否运行有第二 I/O ; 若是,所述主机判断所述第一 I/O和所述第二 I/O访问的物理磁盘是否是同一物理磁盘; 所述主机判断当前是否存在空闲物理CPU具体包括: 若在所述第一 I/O之前,所述主机运行有第二 1/0,且所述第一 I/O和所述第二 I/O访问的物理磁盘不是同一物理磁盘,所述主机判断是否存在与运行所述第二 I/O的物理CPU位于不同NUMA节点的空闲物理CPU ; 所述若存在,所述主机根据所述空闲CPU的利用率,选取利用率最低的物理CPU作为所述第一物理CPU具体包括: 若存在与运行所述第二 I/O的物理CPU位于不同NUMA节点的空闲物理CPU,则从与运行所述第二 I/o的物理CPU位于不同NUMA节点的空闲物理CPU中选取利用率最低的物理CPU作为所述第一物理CPU。 在第四种可能的实施方式中,结合第二种可能的实施方式或第三种可能的实施方式,所述主机根据从所述虚拟机预获得的所有I/o的特征信息,获取所述第一物理CPU具体包括: 所述主机根据所述所有I/O的特征信息,判断每个物理CPU的I/O处理速度,其中,所述I/o的特征信息至少包括所述I/O访问的虚拟磁盘的地址信息,所述I/O访问的虚拟磁盘的空间大小信息以及所述I/o为读操作或写操作信息; 根据所述每个物理CPU的I/O处理速度,选择从当前状态变为空闲状态需要时间最短的物理CPU作为所述第一物理CPU。 第二方面,本专利技术实施例提供了一种虚拟化场景下分配CPU资源的装置,该装置包括:选取单元,第一判断单元,绑定单元和配置单元; 所述选取单元,用于当第一 I/O需要运行时,选取第一物理CPU,并获得虚拟机选取的第一虚拟CPU,其中,所述第一虚拟CPU用于处理所述虚拟机内与所述第一 I/O相对应的线程; 所述第一判断单元,用于判断所述第一物理CPU和所述第一虚拟CPU是否存在绑定关系,其中,所述绑定关系是指所述第一虚拟CPU所对应的物理CPU本文档来自技高网
...
一种虚拟化场景下分配CPU资源的方法和装置

【技术保护点】
一种虚拟化场景下分配中央处理器CPU资源的方法,其特征在于,该方法包括:当第一输入输出I/O需要运行时,主机选取第一物理CPU,并获得虚拟机选取的第一虚拟CPU,其中,所述第一虚拟CPU用于处理所述虚拟机内与所述第一I/O相对应的线程;所述主机判断所述第一物理CPU和所述第一虚拟CPU是否存在绑定关系,其中,所述绑定关系是指所述第一虚拟CPU所对应的物理CPU包含所述第一物理CPU;若不存在,所述主机绑定所述第一物理CPU和所述第一虚拟CPU;所述主机配置所述主机内的第一I/O所对应的线程运行在所述第一物理CPU上。

【技术特征摘要】

【专利技术属性】
技术研发人员:王婷
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1