基于异构CPU的虚拟机迁移方法技术

技术编号:27771797 阅读:26 留言:0更新日期:2021-03-23 12:50
本发明专利技术公开了种基于异构CPU的虚拟机迁移方法,所述异构CPU进一步包括:管控核、计算核、虚拟机操作系统、宿主机操作系统和虚拟机管理模块;包括以下步骤:虚拟机迁移开始,虚拟机的管控核向计算核发送暂停命令,当计算核暂停成功时,计算核的状态维持不变;虚拟机操作系统将计算核的状态存入指定的内存中,所述计算核的状态为寄存器状态、存储器状态和系统调用状态;虚拟机管理模块发出虚拟机暂停命令,虚拟机暂停成功后,虚拟机状态维持不变。本发明专利技术虚拟机迁移方法在支持通用虚拟机迁移技术相关接口的基础上,解决了异构架构虚拟机的计算核上进程的迁移问题。

【技术实现步骤摘要】
基于异构CPU的虚拟机迁移方法
本专利技术属于计算机
,尤其涉及一种基于异构CPU的虚拟机迁移方法。
技术介绍
虚拟化技术在云计算和集群服务中的作用越来越重要,而虚拟机迁移技术是虚拟化技术应用的重要组成部分。虚拟机的迁移功能可以提升系统运行的稳定性,优化集群中的负载不均衡问题。为了在应用上提供更多的优势,需要在异构CPU的虚拟机适配迁移技术。完整的虚拟机迁移主要包括虚拟机状态的迁移,内存的迁移等。虚拟机迁移中的主要技术难点在于虚拟机状态的保留和恢复工作。现有虚拟机现场的保留和恢复发生在虚拟机线程在进出虚拟机时。CPU硬件支持指令进行切换CPU运行模式,可以在虚拟机模式和宿主机模式间切换。虚拟机在退出虚拟机模式进入宿主机模式时,宿主机完成对虚拟机的状态的保留。但是这个技术方案建立在虚拟机线程模型下。如果虚拟机在使用CPU硬件资源时,不采用虚拟机线程模型,现有的技术就无法生效。
技术实现思路
本专利技术目的在于提供一种基于异构CPU的虚拟机迁移方法,该虚拟机迁移方法在支持通用虚拟机迁移技术相关接口的基础上,解决了异构架构虚拟机的计算核上进程的迁移问题。为达到上述目的,本专利技术采用的技术方案是:一种基于异构CPU的虚拟机迁移方法,所述异构CPU进一步包括:管控核、计算核、虚拟机操作系统、宿主机操作系统和虚拟机管理模块,所述管控核负责操作系统运行和计算核的运行,所述计算核负责提供计算能力,所述虚拟机操作系统负责计算核状态保留恢复,所述宿主机操作系统负责虚拟机操作系统的保留恢复,所述虚拟机管理模块负责状态的传输工作;所述虚拟机迁移方法包括以下步骤:S1、虚拟机迁移开始,虚拟机的管控核向计算核发送暂停命令,当计算核暂停成功时,计算核的状态维持不变;S2、虚拟机操作系统将计算核的状态存入指定的内存中,所述计算核的状态为寄存器状态、存储器状态和系统调用状态;S3、虚拟机管理模块发出虚拟机暂停命令,虚拟机暂停成功后,虚拟机状态维持不变;S4、发送端虚拟机管理模块向接收端虚拟机管理模块传输发送端虚拟机的管控核的寄存器状态、内存状态和计算核的存器状态、存储器状态和系统调用状态;S5、接受端虚拟机管理模块接收并恢复发送端虚拟机的管控核寄存器、内存和计算核的存器状态、存储器状态和系统调用状态;S6、虚拟机管理模块发出虚拟机运行命令,使恢复虚拟机操作系统的运行;S7、虚拟机操作系统恢复计算核状态,此计算核状态为寄存器状态、存储器状态和系统调用状态;S8、虚拟机的管控核向计算核发送运行命令,恢复计算核的运行;所述S1~S4的虚拟机现场保留步骤进一步包括以下步骤:S11、虚拟机操作系统通过管控核对计算核发送状态保留异步命令,完成计算核的暂停和计算核寄存器状态、存储器状态和系统调用状态保存,此步骤由以下几个子步骤完成:S111、管控核向计算核运行状态控制IO寄存器写入运行停止命令,停止计算核运行;S112、计算核进入暂停状态后,管控核通过读取计算核运行状态IO寄存器数值,根据该数值判定计算核是否处于系统调用状态,计算核为系统调用状态是,该寄存器必为某一个固定数值,该数值由系统开发者决定,如果是,则记录从核系统调用状态(包括系统调用类型,输入变量值)到指定内存中;S113、完成系统调用状态保留后,管控核读取计算核寄存器状态IO寄存器,记录计算核所有寄存器的数值到指定内存中;S114、完成寄存器状态保留后,管控核读取计算核存储器状态IO寄存器,记录计算核存储器状态到指定内存中;S12、完成S11步骤后,虚拟机管理模块发出虚拟机暂停命令;S13、虚拟机暂停后,宿主机操作系统记录管控核的寄存器状态和内存状态,并将其传输给虚拟机管理模块;S14、接收端虚拟机管理模块接收到管控核的寄存器状态和内存状态后,通过TCP网络协议将管控核的寄存器状态和内存状态以及计算核的寄存器状态,存储器状态,系统调用状态发送给接收端虚拟机管理模块;所述S5~S8的虚拟机的恢复步骤:S21、接收端虚拟机管理模块接收到发送端虚拟机管理模块传输的内存状态,并将直接写入接收端虚拟机申请的内存中;S22、接收端虚拟机管理模块接收到发送端虚拟机管理模块传输的管控核寄存器状态后,虚拟机管理模块控制宿主机操作系统恢复虚拟机操作系统的管控核寄存器状态;S23、虚拟机操作系统寄存器状态和内存状态恢复后,虚拟机管理模块发出运行命令,虚拟机操作系统开始运行;S24、虚拟机操作系统读取指定的内存地址,获取发送端计算核状态信息,通过管控核对计算核发送状态恢复异步命令,恢复计算核的寄存器状态、存储器状态和系统调用状态,并使计算核重新运行,此功能由以下几个子步骤完成:S241、管控核将发送端计算核存储器状态写回计算核存储器状态IO寄存器,完成计算核存储器状态恢复;S242、管控核将发送端计算核寄存器状态写回计算核寄存器状态IO寄存器,完成计算核寄存器状态恢复;S243、计算核存储器状态和寄存器状态恢复后,判定发送端计算核系统调用状态,如果处于系统调用状态,则根据虚拟机操作系统控制管控核根据计算核系统调用状态(系统调用类型,输入变量值)代理完成系统调用功能;S244、计算核状态恢复后,管控核通过向计算核运行状态控制IO寄存器写入运行命令,恢复计算核的运行。由于上述技术方案的运用,本专利技术与现有技术相比具有下列优点:本专利技术基于异构CPU的虚拟机迁移方法,实现了基于异构CPU的虚拟机迁移技术,实现了异构CPU中非通用的计算核的状态管理和迁移功能,给异构CPU虚拟机的应用上提供更多的优势;采用分级的异构CPU虚拟机状态管理架构,功能扩展性强;兼容通用虚拟机迁移流程,可以共用通用虚拟机迁移的先进技术。附图说明附图1为本专利技术异构CPU的虚拟机架构框图;附图2为本专利技术虚拟机迁移方法的流程图;附图3为本专利技术虚拟机状态保留流程图;附图4为本专利技术虚拟机状态恢复流程图。具体实施方式下面结合实施例对本专利技术作进一步描述:实施例:一种基于异构CPU的虚拟机迁移方法,所述异构CPU进一步包括:管控核、计算核、虚拟机操作系统、宿主机操作系统和虚拟机管理模块,所述管控核负责操作系统运行和计算核的运行,所述计算核负责提供计算能力,所述虚拟机操作系统负责计算核状态保留恢复,所述宿主机操作系统负责虚拟机操作系统的保留恢复,所述虚拟机管理模块负责状态的传输工作;所述虚拟机迁移方法包括以下步骤:S1、虚拟机迁移开始,虚拟机的管控核向计算核发送暂停命令,当计算核暂停成功时,计算核的状态维持不变;S2、虚拟机操作系统将计算核的状态存入指定的内存中,所述计算核的状态为寄存器状态、存储器状态和系统调用状态;S3、虚拟机管理模块发出虚拟机暂停命令,虚拟机暂停成功后,虚拟机状态维持不变;S4、发送端虚拟机管理模块向接收端虚拟机本文档来自技高网...

【技术保护点】
1.一种基于异构CPU的虚拟机迁移方法,其特征在于:所述异构CPU进一步包括:管控核、计算核、虚拟机操作系统、宿主机操作系统和虚拟机管理模块,所述管控核负责操作系统运行和计算核的运行,所述计算核负责提供计算能力,所述虚拟机操作系统负责计算核状态保留恢复,所述宿主机操作系统负责虚拟机操作系统的保留恢复,所述虚拟机管理模块负责状态的传输工作;/n所述虚拟机迁移方法包括以下步骤:/nS1、虚拟机迁移开始,虚拟机的管控核向计算核发送暂停命令,当计算核暂停成功时,计算核的状态维持不变;/nS2、虚拟机操作系统将计算核的状态存入指定的内存中,所述计算核的状态为寄存器状态、存储器状态和系统调用状态;/nS3、虚拟机管理模块发出虚拟机暂停命令,虚拟机暂停成功后,虚拟机状态维持不变;/nS4、发送端虚拟机管理模块向接收端虚拟机管理模块传输发送端虚拟机的管控核的寄存器状态、内存状态和计算核的存器状态、存储器状态和系统调用状态;/nS5、接受端虚拟机管理模块接收并恢复发送端虚拟机的管控核寄存器、内存和计算核的存器状态、存储器状态和系统调用状态;/nS6、虚拟机管理模块发出虚拟机运行命令,使恢复虚拟机操作系统的运行;/nS7、虚拟机操作系统恢复计算核状态,此计算核状态为寄存器状态、存储器状态和系统调用状态;/nS8、虚拟机的管控核向计算核发送运行命令,恢复计算核的运行;/n所述S1~S4的虚拟机现场保留步骤进一步包括以下步骤:/nS11、虚拟机操作系统通过管控核对计算核发送状态保留异步命令,完成计算核的暂停和计算核寄存器状态、存储器状态和系统调用状态保存,此步骤由以下几个子步骤完成:/nS111、管控核向计算核运行状态控制IO寄存器写入运行停止命令,停止计算核运行;/nS112、计算核进入暂停状态后,管控核通过读取计算核运行状态IO寄存器数值,根据该数值判定计算核是否处于系统调用状态,如果是,则记录从核系统调用状态到指定内存中;/nS113、完成系统调用状态保留后,管控核读取计算核寄存器状态IO寄存器,记录计算核所有寄存器的数值到指定内存中;/nS114、完成寄存器状态保留后,管控核读取计算核存储器状态IO寄存器,记录计算核存储器状态到指定内存中;/nS12、完成S11步骤后,虚拟机管理模块发出虚拟机暂停命令;/nS13、虚拟机暂停后,宿主机操作系统记录管控核的寄存器状态和内存状态,并将其传输给虚拟机管理模块;/nS14、接收端虚拟机管理模块接收到管控核的寄存器状态和内存状态后,通过TCP网络协议将管控核的寄存器状态和内存状态以及计算核的寄存器状态,存储器状态,系统调用状态发送给接收端虚拟机管理模块;/n所述S5~S8的虚拟机的恢复步骤:/nS21、接收端虚拟机管理模块接收到发送端虚拟机管理模块传输的内存状态,并将直接写入接收端虚拟机申请的内存中;/nS22、接收端虚拟机管理模块接收到发送端虚拟机管理模块传输的管控核寄存器状态后,虚拟机管理模块控制宿主机操作系统恢复虚拟机操作系统的管控核寄存器状态;/nS23、虚拟机操作系统寄存器状态和内存状态恢复后,虚拟机管理模块发出运行命令,虚拟机操作系统开始运行;/nS24、虚拟机操作系统读取指定的内存地址,获取发送端计算核状态信息,通过管控核对计算核发送状态恢复异步命令,恢复计算核的寄存器状态、存储器状态和系统调用状态,并使计算核重新运行,此功能由以下几个子步骤完成:/nS241、管控核将发送端计算核存储器状态写回计算核存储器状态IO寄存器,完成计算核存储器状态恢复;/nS242、管控核将发送端计算核寄存器状态写回计算核寄存器状态IO寄存器,完成计算核寄存器状态恢复;/nS243、计算核存储器状态和寄存器状态恢复后,判定发送端计算核系统调用状态,如果处于系统调用状态,则根据虚拟机操作系统控制管控核根据计算核系统调用状态代理完成系统调用功能;/nS244、计算核状态恢复后,管控核通过向计算核运行状态控制IO寄存器写入运行命令,恢复计算核的运行。/n...

【技术特征摘要】
1.一种基于异构CPU的虚拟机迁移方法,其特征在于:所述异构CPU进一步包括:管控核、计算核、虚拟机操作系统、宿主机操作系统和虚拟机管理模块,所述管控核负责操作系统运行和计算核的运行,所述计算核负责提供计算能力,所述虚拟机操作系统负责计算核状态保留恢复,所述宿主机操作系统负责虚拟机操作系统的保留恢复,所述虚拟机管理模块负责状态的传输工作;
所述虚拟机迁移方法包括以下步骤:
S1、虚拟机迁移开始,虚拟机的管控核向计算核发送暂停命令,当计算核暂停成功时,计算核的状态维持不变;
S2、虚拟机操作系统将计算核的状态存入指定的内存中,所述计算核的状态为寄存器状态、存储器状态和系统调用状态;
S3、虚拟机管理模块发出虚拟机暂停命令,虚拟机暂停成功后,虚拟机状态维持不变;
S4、发送端虚拟机管理模块向接收端虚拟机管理模块传输发送端虚拟机的管控核的寄存器状态、内存状态和计算核的存器状态、存储器状态和系统调用状态;
S5、接受端虚拟机管理模块接收并恢复发送端虚拟机的管控核寄存器、内存和计算核的存器状态、存储器状态和系统调用状态;
S6、虚拟机管理模块发出虚拟机运行命令,使恢复虚拟机操作系统的运行;
S7、虚拟机操作系统恢复计算核状态,此计算核状态为寄存器状态、存储器状态和系统调用状态;
S8、虚拟机的管控核向计算核发送运行命令,恢复计算核的运行;
所述S1~S4的虚拟机现场保留步骤进一步包括以下步骤:
S11、虚拟机操作系统通过管控核对计算核发送状态保留异步命令,完成计算核的暂停和计算核寄存器状态、存储器状态和系统调用状态保存,此步骤由以下几个子步骤完成:
S111、管控核向计算核运行状态控制IO寄存器写入运行停止命令,停止计算核运行;
S112、计算核进入暂停状态后,管控核通过读取计算核运行状态IO寄存器数值,根据该数值判定计算核是否处于系统调用状态,如果是,则记录从核系统调用状态到指定内存中;
S113、完成系统调用...

【专利技术属性】
技术研发人员:林海南王星焱黄高阳郑岩刘松邹通
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:江苏;32

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

1