虚拟机运行跟踪的制作方法

文档序号:19159040发布日期:2019-11-16 01:08阅读:来源:国知局

技术特征:

1.一种由计算设备执行的方法,所述计算设备包括处理硬件和存储硬件,所述方法包括:

运行虚拟化层,所述虚拟化层管理所述处理硬件上的虚拟机的运行,每个虚拟机包括相应的虚拟处理器和相应的客户操作系统;

由所述虚拟化层切换所述虚拟机的运行上下文,以支持所述客户操作系统向所述虚拟处理器发出指令;以及

基于由所述虚拟处理器正在运行的所述客户操作系统的所述指令,记录运行跟踪数据,所述运行跟踪数据包括:(i)由所述虚拟处理器运行的所述客户操作系统的所述指令,(ii)基于存储所捕获的指令的输入和/或输出的存储器部分而选择用于跟踪的存储器部分,以及(iii)由所述虚拟化层插入到所述运行跟踪数据中的排序标记,每个排序标记对应于已经发生可排序事件的相应的确定。

2.根据权利要求1所述的方法,其中所述可排序事件包括上下文切换。

3.根据权利要求1所述的方法,其中所述虚拟化层包括应用编程接口(api),所述api包括调用,所述方法还包括:调取由所述虚拟化层管理的第一虚拟机(vm)的调用,并且基于所述调用的所述调取,执行所述运行跟踪数据的记录。

4.根据权利要求3所述的方法,其中所述调用的所述调取开启/关闭所述运行跟踪数据的记录,和/或设置要跟踪的运行的范围。

5.根据权利要求1所述的方法,还包括:将所述运行跟踪数据记录到循环缓冲区中,并且将运行跟踪数据从所述循环缓冲区复制到永久存储中。

6.一种计算设备,包括:

处理硬件;

存储硬件,所述存储硬件存储包括管理程序的虚拟化层;

所述存储硬件存储包括客户操作系统的虚拟机,所述客户操作系统包括客户内核,所述虚拟机还包括由所述虚拟化层管理的虚拟处理器,所述客户内核配置用于向所述虚拟处理器发出客户指令;并且

所述虚拟化层配置用于在所述计算设备正在操作时,运行所述虚拟化层上的所述虚拟处理器,所述虚拟化层还配置用于在所述计算设备操作时:

将由所述客户内核向所述虚拟处理器发出的任何客户指令的标志捕获并且存储到跟踪文件中,所述跟踪文件包括指令标志的集合,每个集合包括块,其中每个集合内的指令保留运行的客户指令的因果关系,其中集合内的所述块保留相对于彼此的因果关系,并且其中至少两个集合分别对应于由所述虚拟化层同时运行的两个运行单元的跟踪。

7.根据权利要求6所述的计算设备,其中所述运行单元中的第一运行单元对应于第一虚拟机的虚拟处理器,并且所述运行单元中的第二运行单元对应于第二虚拟机的虚拟处理器。

8.根据权利要求6所述的计算设备,其中所述虚拟化层还配置用于检测所述运行单元的上下文切换,并且分别插入针对所述上下文切换的排序标记,并且其中所述排序标记以对应于相应的所述上下文切换的时间顺序来插入,并且其中每个新插入的排序标记包括比先前插入的排序标记更大的值。

9.根据权利要求6所述的计算设备,其中所述存储硬件存储指令,所述指令配置用于在由所述处理硬件运行时,使得所述计算设备显示用户接口,所述用户接口包括使运行跟踪能够被开启/关闭的用户接口元件,并且其中所述用户接口使用户能够指定由所述虚拟化层管理的任何任意虚拟机被开启/关闭运行跟踪。

10.一种由计算设备执行的方法,所述计算设备包括处理硬件和存储硬件,所述方法包括:

运行虚拟化层,所述虚拟化层管理所述处理硬件上的虚拟机的运行,每个虚拟机包括相应的虚拟处理器和相应的客户操作系统;

通过以下来记录虚拟机的运行跟踪:针对由所述虚拟机在运行跟踪的时间段期间运行的所有客户指令,记录确定性客户指令及其相应的输入和输出的标识符,并且标识非确定性客户指令以将其相应的边际效应捕获到所述运行跟踪中;以及

由所述虚拟化层实现应用编程接口,并且通过设置所述运行跟踪的范围来响应所述应用编程接口的调取,其中所述应用编程接口被除了其运行跟踪正在被记录的虚拟机之外的虚拟机调取。


技术总结
实施方式涉及虚拟化层捕获由虚拟化层所管理的VM的可重放运行跟踪。可以在由虚拟化层管理的任何运行单元上执行运行跟踪,运行单元例如线程、进程、虚拟处理器、个体VM、多个VM等。被跟踪的运行单元可以并行运行。运行跟踪涉及将以下各项捕获到缓冲区中:运行的指令、输入到指令的存储器、由指令输出的存储器、指令接触的寄存器和排序标记。可以以块捕获跟踪数据,其中保留了因果关系,并且保留了块之间但不必是块内的排序。可以通过在上下文切换之间插入单调递增的标记来描绘块,由此对块进行相对排序。可以通过标识非确定性事件而部分地提供确定性。VM跟踪对客户软件是透明的,客户软件不需要感知。备选地,客户可以与虚拟化层对接以控制跟踪功能性。

技术研发人员:J·莫拉
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:2018.03.26
技术公布日:2019.11.15
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1