[发明专利]一种多核虚拟机确定性重演的方法有效
申请号: | 201510102323.6 | 申请日: | 2015-03-09 |
公开(公告)号: | CN106033368B | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 李春奇;任仕儒;谭乐;肖臻 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 苏爱华 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了一种多核虚拟机确定性重演的方法,该方法将虚拟机中的虚拟中央处理单元(VCPU)的执行划分为多个执行块,每个执行块的执行过程包括记录阶段和重演阶段,记录阶段包括执行前记录当前虚拟中央处理单元的状态、执行过程中记录操作和执行结束后记录操作;重演阶段包括获得当前执行块的执行窗口、在虚拟机退出的位置设置断点并进入虚拟机、在断点处处理中断和非确定性事件的插入等操作。本发明在现有多核CPU(中央处理单元)架构下,可解决多核虚拟机内存访问的随机性问题,加快多核虚拟机确定性重演的记录速度,同时大大降低记录日志文件的大小。 | ||
搜索关键词: | 一种 多核 虚拟机 确定性 重演 方法 | ||
【主权项】:
1.一种多核虚拟机确定性重演的方法,所述方法将虚拟机中的虚拟中央处理单元的指令执行序列划分为多个执行块,每个执行块的执行过程包括记录阶段和重演阶段,具体包括如下步骤:对于记录阶段:A.在每个执行块执行之前,记录当前虚拟中央处理单元的状态,执行如下操作:A1.记录虚拟中央处理单元的寄存器的状态;A2.导出并记录虚拟中央处理单元的浮点计算单元相关寄存器的状态;A3.记录虚拟中央处理单元的输入输出高级可编程中断控制器的状态;A4.记录虚拟中央处理单元相关机器状态寄存器的状态;B.在每个执行块执行期间,执行如下操作:B1.记录外部中断;B2.记录非确定性事件;B3.通过写时复制方法处理虚拟中央处理单元写的内存页面;B4.记录虚拟中央处理单元在该执行块中读和写的内存页面;C.在每个执行块执行结束后,执行如下操作:C1.获得提交锁;C2.检测该执行块与其他虚拟中央处理单元的执行是否有冲突;C3.如果存在冲突,则执行回滚操作;C4.如果不存在冲突,则执行提交操作;C5.释放提交锁;对于重演阶段:D.在重演阶段,对于B中对应的每一个执行块,执行如下操作:D1.获得当前执行块的执行窗口;D2.在虚拟机退出的位置设置断点,并进入虚拟机;D3.在断点处处理中断和非确定性事件的插入;D4.重复执行步骤D2~D3,直到该执行块中的全部指令执行结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510102323.6/,转载请声明来源钻瓜专利网。
- 上一篇:确定声道间时间差参数的方法和装置
- 下一篇:输入装置