[发明专利]一种虚拟机的指令处理方法、装置及物理主机有效
申请号: | 201310391124.2 | 申请日: | 2013-08-30 |
公开(公告)号: | CN103455363A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 刘力力 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 指令 处理 方法 装置 物理 主机 | ||
1.一种虚拟机的指令处理方法,其特征在于,应用于虚拟机从源CPU所在的主机热迁移至目标CPU所在的主机之后,包括:
当所述源CPU和所述目标CPU不兼容时,接收所述虚拟机发送的指令;
将所述指令中所述目标CPU不可识别的指令转换为所述目标CPU可识别的信息;
将所述目标CPU可识别的信息发送至所述目标CPU,以便于所述目标CPU对所述信息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述指令中所述目标CPU不可识别的指令转换为所述目标CPU可识别的信息,包括:
根据所述虚拟机中虚拟CPU的寄存器的状态确定所述源CPU的型号;
根据所述源CPU的型号调用转换表,在所述转换表中查询所述目标CPU不可识别的指令对应的目标CPU可识别的指令,所述转换表包括预先设置的所述目标CPU不可识别的指令和所述目标CPU可识别的指令之间的映射关系,所述目标CPU不可识别的指令和与所述目标CPU不可识别的指令对应的所述目标CPU可识别的指令的操作相同。
3.根据权利要求1所述的方法,其特征在于,所述将所述指令中所述目标CPU不可识别的指令转换为所述目标CPU可识别的信息,包括:
在映射表中查询所述目标CPU不可识别的指令对应的函数地址,调用所述函数地址指示的函数,根据所述函数,获取对所述不可识别的指令的运算结果,所述运算结果为所述目标CPU可识别的信息,其中,所述映射表中包括预先设置的所述目标CPU不可识别的每一个指令及与所述每一个指令对应的函数地址信息。
4.根据权利要求1所述的方法,其特征在于,所述接收所述虚拟机发送的指令之前,还包括:
检测所述源CPU和所述目标CPU的兼容性;
向所述虚拟机发送所述兼容性的检测结果,以便于当所述源CPU和目标CPU兼容时,所述虚拟机将指令直接发送至所述目标CPU。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述接收所述虚拟机发送的指令之后,还包括:
计算接收到的指令的指令开销,其中,所述目标CPU不可识别的指令的指令开销为转换所述指令的开销与目标CPU运行转换后的指令的开销的和,所述目标CPU可识别的指令的指令开销为目标CPU运行所述可识别的指令的开销;
根据所述接收到的指令的指令开销计算所述虚拟机的性能开销;
若所述虚拟机的性能开销大于预设的阈值开销,则对所述虚拟机再次进行热迁移。
6.根据权利要求5所述的方法,其特征在于:
所述虚拟机的性能开销为所述接收到的指令的指令开销的加权平均值。
7.一种虚拟机的指令处理装置,其特征在于,包括接收单元、处理单元及发送单元;
所述接收单元用于当源CPU和目标CPU不兼容时,接收所述虚拟机发送的指令;
所述处理单元用于将所述接收单元接收的指令中所述目标CPU不可识别的指令转换为所述目标CPU可识别的信息;
所述发送单元用于将所述处理单元转换的目标CPU可识别的信息发送至所述目标CPU,以便于所述目标CPU对所述信息进行处理。
8.根据权利要求7所述的装置,其特征在于,所述处理单元包括:型号确定子单元及转换子单元;
所述型号确定子单元用于根据所述虚拟机中虚拟CPU的寄存器的状态确定所述源CPU的型号;
所述转换子单元用于根据所述型号确定子单元确定的源CPU的型号调用转换表,在所述转换表中查询所述目标CPU不可识别的指令对应的目标CPU可识别的指令,所述转换表包括预先设置的所述目标CPU不可识别的指令和所述目标CPU可识别的指令之间的映射关系,所述目标CPU不可识别的指令和与所述目标CPU不可识别的指令对应的所述目标CPU可识别的指令的操作相同。
9.根据权利要求7所述的装置,其特征在于,所述处理单元还用于:
在映射表中查询所述目标CPU不可识别的指令对应的函数地址,调用所述函数地址指示的函数,根据所述函数,获取对所述不可识别的指令的运算结果,所述运算结果为所述目标CPU可识别的信息,其中,所述映射表中包括预先设置的所述目标CPU不可识别的每一个指令及与所述每一个指令对应的函数地址信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310391124.2/1.html,转载请声明来源钻瓜专利网。