发明名称 Efficient recording and replaying of non-deterministic instructions in a virtual machine and CPU therefor
摘要 The output of a non-deterministic instruction is handled during record and replay in a virtual machine. An output of a non-deterministic instruction is stored to a buffer during record mode and retrieved from a buffer during replay mode without exiting to the hypervisor. At least part of the contents of the buffer can be stored to a log when the buffer is full during record mode, and the buffer can be replenished from a log when the buffer is empty during replay mode.
申请公布号 US9436471(B2) 申请公布日期 2016.09.06
申请号 US201313926605 申请日期 2013.06.25
申请人 VMware, Inc. 发明人 Malyugin Vyacheslav V.;Xu Min;Weissman Boris;Venkitachalam Ganesh;Klaiber Alexander
分类号 G06F9/46;G06F9/455;G06F9/30;G06F11/34 主分类号 G06F9/46
代理机构 代理人
主权项 1. A CPU having operational modes comprising at least a normal mode, a record mode, and a replay mode, wherein: the CPU is configured such that when the CPU is in the record mode, each time an instruction included in a predefined subset of an instruction set of the CPU is executed in a virtual computing instance, a result of execution of the instruction is stored in a buffer without a context switch to a virtualization software hosting the virtual computing instance, the CPU triggering a fault or exception to perform the context switch and move contents of the buffer into a log file that is accessible by the virtualization software when the buffer is full; and the CPU is further configured such that when the CPU is in the replay mode, each time the instruction included in the predefined subset is executed, a next non-deterministic value is read from the buffer without a context switch to the virtualization software and supplied in place of a result of the execution of the instruction, the CPU triggering a fault or exception to perform the context switch to the virtualization software and move contents of the log file into the buffer, when the buffer does not contain the next non-deterministic value; wherein the predefined subset comprises instructions that generate non-deterministic values.
地址 Palo Alto CA US