一种异构CPU的虚拟机迁移方法和装置制造方法及图纸

技术编号:17109456 阅读:22 留言:0更新日期:2018-01-24 22:23
本发明专利技术实施例公开了一种异构CPU的虚拟机迁移方法和装置,所述方法包括:对虚拟机和目标物理机的指令集进行查询;根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集;如果判断结果为能够更改为所述能在所述目标物理机上运行的指令集,则修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改;根据修改结果,对所述虚拟机进行迁移,使所述虚拟机运行在不同架构的所述目标物理主机上。本发明专利技术实施例能够让虚拟机和目标物理机的CPU指令集兼容,能让虚拟机运行在目标物理机上,达到迁移虚拟机的目的。

A heterogeneous CPU virtual machine migration method and device

The implementation of virtual machine migration method and apparatus discloses a heterogeneous CPU, including the method of virtual machine and target machine instruction set of physical query; according to the query to the virtual machine and the physical machine instruction set, calculated to run on the target machine physics the instruction set, and according to the preset conditions whether the virtual machine can change the running on the target physical machine instruction set; if the judgment result is able to change the running in the physical machine instructions, register data is modified to the virtual machine. The virtual machine instruction set is modified according to the modification results; to the virtual machine migration, the virtual machine running on the target architecture on different physical host. The embodiment of the invention is able to make the virtual machine compatible with the CPU instruction set of the target physical machine, enabling the virtual machine to run on the target physical machine and achieve the purpose of migrating the virtual machine.

【技术实现步骤摘要】
一种异构CPU的虚拟机迁移方法和装置
本专利技术涉及云计算技术,尤指一种异构CPU的虚拟机迁移方法和装置。
技术介绍
随着计算机技术和互联网的快速发展,操作系统虚拟化技术日益成熟,虚拟化系统允许多个操作系统并发运行在同一台物理主机上,使用相同的硬件,且互不影响。多个虚拟机可以组成集群,集群系统以其低廉的成本、强大的运算能力和健壮的容错机制逐渐成为了计算机行业的焦点。集群中不同的物理主机拥有不同的硬件构成,在使用集群的过程中也会遇到集群的扩展,以及由此带来的硬件差异,其中最重要的就是中央处理器(CentralProcessingUnit,CPU)的差异。由于不同代系的物理CPU可能会使用不同的指令集,由此物理CPU创建的虚拟机也会拥有不同的指令集,在单台物理机上运行不会出现任何问题,但是如果在集群中,需要将虚拟机迁移到其他物理主机上,可能会遇到CPU指令集不同的情况,造成虚拟机无法迁移,降低了集群的作用。
技术实现思路
为了解决上述技术问题,本专利技术实施例提供了一种异构CPU的虚拟机迁移方法和装置,可以通过修改虚拟机CPU指令集的方法,让虚拟机和目标物理机的CPU指令集兼容,从而可以让虚拟机运行在目标物理机上,达到迁移虚拟机的目的。为了达到本专利技术目的,一方面,本专利技术实施例提供了一种异构CPU的虚拟机迁移方法,包括:对虚拟机和目标物理机的指令集进行查询;根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集;如果判断结果为能够更改为所述能在所述目标物理机上运行的指令集,则修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改;根据修改结果,对所述虚拟机进行迁移,使所述虚拟机运行在不同架构的所述目标物理主机上。进一步地,所述对虚拟机和目标物理机的指令集进行查询包括:查询相关对象的寄存器,获取到所述虚拟机和所述物理机支持的CPU指令集,并量化为二进制的数据,每位二进制的数据代表代表一个指令集属性。进一步地,所述计算出能在所述目标物理机上运行的指令集包括:记录所述虚拟机的CPU架构的数据为第一数据,所述目标物理机的CPU架构数据为第二数据,将所述第一数据和所述第二数据做运算,每一位进行与运算,得出CPU指令集的交集,记录为第三数据,并在满足所述预设条件时作为能在所述目标物理机上运行的指令集。进一步地,所述预设条件由所述二进制数据设定,所述二进制数据由支持的指令集属性和不支持的指令集属性所在各位二进制的数据构成;所述根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集包括:根据程序计算所述交集是否满足所述虚拟机的运行需要,根据所述预设条件判断需要更改的指令集是否会影响到所述虚拟机的运行,如果影响到所述虚拟机的运行,则不能迁移。进一步地,所述修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改包括:如果所述指令集交集满足所述虚拟机运行的情况,将所述虚拟机的指令集的第一数据通过寄存器命令更改为指令集交集的第三数据,将所述虚拟机迁移到所述目标物理主机上,启动所述虚拟机即完成迁移工作。另一方面,本专利技术实施例还提供了一种异构CPU的虚拟机迁移装置,包括:查询模块,用于对虚拟机和目标物理机的指令集进行查询;计算模块,用于根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集;修改模块,用于如果判断结果为能够更改为所述能在所述目标物理机上运行的指令集,则修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改;迁移模块,用于根据修改结果,对所述虚拟机进行迁移,使所述虚拟机运行在不同架构的所述目标物理主机上。进一步地,所述查询模块还用于:查询相关对象的寄存器,获取到所述虚拟机和所述物理机支持的CPU指令集,并量化为二进制的数据,每位二进制的数据代表代表一个指令集属性。进一步地,所述计算模块还用于:记录所述虚拟机的CPU架构的数据为第一数据,所述目标物理机的CPU架构数据为第二数据,将所述第一数据和所述第二数据做运算,每一位进行与运算,得出CPU指令集的交集,记录为第三数据,并在满足所述预设条件时作为能在所述目标物理机上运行的指令集。进一步地,所述预设条件由所述二进制数据设定,所述二进制数据由支持的指令集属性和不支持的指令集属性所在各位二进制的数据构成;所述计算模块还用于:根据程序计算所述交集是否满足所述虚拟机的运行需要,根据所述预设条件判断需要更改的指令集是否会影响到所述虚拟机的运行,如果影响到所述虚拟机的运行,则不能迁移。进一步地,所述修改模块还用于:如果所述指令集交集满足所述虚拟机运行的情况,将所述虚拟机的指令集的第一数据通过寄存器命令更改为指令集交集的第三数据,将所述虚拟机迁移到所述目标物理主机上,启动所述虚拟机即完成迁移工作。与现有技术相比,本专利技术实施例通过对虚拟机和目标物理机的指令集进行查询;根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集;如果判断结果为能够更改为所述能在所述目标物理机上运行的指令集,则修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改;根据修改结果,对所述虚拟机进行迁移,使所述虚拟机运行在不同架构的所述目标物理主机上。本专利技术实施例能够让虚拟机和目标物理机的CPU指令集兼容,能让虚拟机运行在目标物理机上,达到迁移虚拟机的目的。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例异构CPU的虚拟机迁移方法的流程图;图2为本专利技术实施例异构CPU的虚拟机迁移方法的原理图;图3为本专利技术实施例异构CPU的虚拟机迁移装置的结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本专利技术实施例异构CPU的虚拟机迁移方法的流程图,如图1所示,本专利技术实施例的方法包括以下步骤:步骤100:对虚拟机和目标物理机的指令集进行查询;具体地,查询虚拟机和物理机的CPU指令集的方法是通过查询相关对象的寄存器,获取到虚拟机或者物理机支持的CPU指令集,并量化为二进制的数据,每位二进制数据代表一种支持的指令集,支持为1,不支持为0。步骤101:根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所本文档来自技高网...
一种异构CPU的虚拟机迁移方法和装置

【技术保护点】
一种异构中央处理器CPU的虚拟机迁移方法,其特征在于,包括:对虚拟机和目标物理机的指令集进行查询;根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集;如果判断结果为能够更改为所述能在所述目标物理机上运行的指令集,则修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改;根据修改结果,对所述虚拟机进行迁移,使所述虚拟机运行在不同架构的所述目标物理主机上。

【技术特征摘要】
1.一种异构中央处理器CPU的虚拟机迁移方法,其特征在于,包括:对虚拟机和目标物理机的指令集进行查询;根据查询到的所述虚拟机和所述目标物理机的指令集,计算出能在所述目标物理机上运行的指令集,并根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集;如果判断结果为能够更改为所述能在所述目标物理机上运行的指令集,则修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改;根据修改结果,对所述虚拟机进行迁移,使所述虚拟机运行在不同架构的所述目标物理主机上。2.根据权利要求1所述的异构CPU的虚拟机迁移方法,其特征在于,所述对虚拟机和目标物理机的指令集进行查询包括:查询相关对象的寄存器,获取到所述虚拟机和所述物理机支持的CPU指令集,并量化为二进制的数据,每位二进制的数据代表代表一个指令集属性。3.根据权利要求1所述的异构CPU的虚拟机迁移方法,其特征在于,所述计算出能在所述目标物理机上运行的指令集包括:记录所述虚拟机的CPU架构的数据为第一数据,所述目标物理机的CPU架构数据为第二数据,将所述第一数据和所述第二数据做运算,每一位进行与运算,得出CPU指令集的交集,记录为第三数据,并在满足所述预设条件时作为能在所述目标物理机上运行的指令集。4.根据权利要求3所述的异构CPU的虚拟机迁移方法,其特征在于,所述预设条件由所述二进制数据设定,所述二进制数据由支持的指令集属性和不支持的指令集属性所在各位二进制的数据构成;所述根据预设条件判断所述虚拟机是否能够更改为所述能在所述目标物理机上运行的指令集包括:根据程序计算所述交集是否满足所述虚拟机的运行需要,根据所述预设条件判断需要更改的指令集是否会影响到所述虚拟机的运行,如果影响到所述虚拟机的运行,则不能迁移。5.根据权利要求3所述的异构CPU的虚拟机迁移方法,其特征在于,所述修改虚拟机的寄存器数据,以对所述虚拟机的指令集进行修改包括:如果所述指令集交集满足所述虚拟机运行的情况,将所述虚拟机的指令集的第一数据通过寄存器命令更改为指令集交集的第三数据,将所述虚拟...

【专利技术属性】
技术研发人员:高峰
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1