-
公开(公告)号:US20120284714A1
公开(公告)日:2012-11-08
申请号:US13471616
申请日:2012-05-15
Applicant: Ganesh VENKITACHALAM , Rohit JAIN , Boris WEISSMAN , Daniel J. SCALES , Vyacheslav MALYUGIN , Jeffrey W. SHELDON , Min XU
Inventor: Ganesh VENKITACHALAM , Rohit JAIN , Boris WEISSMAN , Daniel J. SCALES , Vyacheslav MALYUGIN , Jeffrey W. SHELDON , Min XU
IPC: G06F9/455
CPC classification number: G06F11/1658 , G06F9/45533 , G06F9/45558 , G06F9/4881 , G06F11/0712 , G06F11/0766 , G06F11/079 , G06F2009/45579 , G06F2009/45591 , G06F2201/805 , G06F2201/815 , G06F2201/82
Abstract: In a computer system running at least a first virtual machine (VM) and a second VM on virtualization software, a computer implemented method for the second VM to provide quasi-lockstep fault tolerance for the first VM. The method includes enabling operations of the second VM to diverge from being in lockstep with operations with the first VM without resynchronizing the second VM with the first VM, if output of the second VM is not diverging from output of the first VM. The output of the second VM is compared with the output of the first VM to determine whether the output of the second VM has diverged from the output of the first VM. In response to a determination that the output of the second VM has diverged from the output of the first VM, a resynchronization of the second VM is executed.
Abstract translation: 在运行虚拟化软件上的至少第一虚拟机(VM)和第二虚拟机的计算机系统中,用于所述第二虚拟机为所述第一虚拟机提供准锁步骤容错的计算机实现的方法。 该方法包括如果第二VM的输出不与第一VM的输出分离,则第二VM的启用操作使得与第一VM的操作不同步,而不与第一VM重新同步第二VM。 将第二VM的输出与第一VM的输出进行比较,以确定第二个VM的输出是否与第一个VM的输出分离。 响应于确定第二VM的输出已经从第一VM的输出分离,执行第二VM的重新同步。
-
公开(公告)号:US20100229173A1
公开(公告)日:2010-09-09
申请号:US12397914
申请日:2009-03-04
Applicant: Pratap SUBRAHMANYAM , Carl A. WALDSPURGER , Vyacheslav MALYUGIN , Tal GARFINKEL
Inventor: Pratap SUBRAHMANYAM , Carl A. WALDSPURGER , Vyacheslav MALYUGIN , Tal GARFINKEL
CPC classification number: G06F9/4881 , G06F9/45533 , G06F9/4887
Abstract: A component manages and minimizes latency introduced by virtualization. The virtualization component determines that a currently scheduled guest process has executed functionality responsive to which the virtualization component is to execute a virtualization based operation, wherein the virtualization based operation is one that is not visible to the guest operating system. The virtualization component causes the guest operating system to de-schedule the currently scheduled guest process and schedule at least one separate guest process. The virtualization component then executes the virtualization based operation concurrently with the execution of the at least one separate guest process. Responsive to completing the execution of the virtualization based operation, the virtualization component causes the guest operating system to re-schedule the de-scheduled guest process.
Abstract translation: 组件管理并最小化由虚拟化引入的延迟。 虚拟化组件确定当前调度的访客进程已经执行响应于虚拟化组件将执行基于虚拟化的操作的功能,其中基于虚拟化的操作是客户操作系统不可见的。 虚拟化组件使客户机操作系统取消调度当前调度的客户机进程并调度至少一个单独的客户机进程。 然后,虚拟化组件与至少一个独立的客户进程的执行同时执行基于虚拟化的操作。 响应于完成基于虚拟化的操作的执行,虚拟化组件使得客户机操作系统重新安排未排程的访客进程。
-
公开(公告)号:US07945761B2
公开(公告)日:2011-05-17
申请号:US12829884
申请日:2010-07-02
Applicant: Pratap Subrahmanyam , Vyacheslav Malyugin
Inventor: Pratap Subrahmanyam , Vyacheslav Malyugin
IPC: G06F12/00
CPC classification number: G06F12/1036
Abstract: A method is provided for creating and maintaining the validity of a cache group including one or more cache elements. Each of the cache elements corresponds to a different address space in a virtual memory of a computer system. Each of the cache elements include one or more caches that store mappings from virtual addresses to data or values that are functions of or dependent upon physical addresses that correspond to the virtual addresses. When there is an address space switch from a first address space to a second address space, the cache group is searched to find the cache element corresponding to the second address space, and that found cache element is made the current cache element for virtual memory access through the cache element. Changes in the page tables are also detected and reflected in the caches of the cache group to maintain the caches up-to-date.
Abstract translation: 提供了一种用于创建和维护包括一个或多个缓存元素的高速缓存组的有效性的方法。 每个缓存元件对应于计算机系统的虚拟存储器中的不同地址空间。 每个缓存元素包括一个或多个高速缓存,其存储从虚拟地址到对应于虚拟地址的物理地址的功能或依赖于物理地址的数据或值的映射。 当存在从第一地址空间到第二地址空间的地址空间切换时,搜索高速缓存组以找到与第二地址空间相对应的高速缓存元件,并且将找到的高速缓存元素设置为用于虚拟存储器访问的当前高速缓存元件 通过缓存元素。 还会检测页表中的更改并反映在缓存组的高速缓存中,以保持缓存最新。
-
公开(公告)号:US08321842B2
公开(公告)日:2012-11-27
申请号:US12163513
申请日:2008-06-27
Applicant: Min Xu , Dmitry Grinberg , Vyacheslav Malyugin , Petr Vandrovec , Ganesh Venkitachalam , Boris Weissman , Andrew Biggadike , James Chow
Inventor: Min Xu , Dmitry Grinberg , Vyacheslav Malyugin , Petr Vandrovec , Ganesh Venkitachalam , Boris Weissman , Andrew Biggadike , James Chow
CPC classification number: G06F11/3664 , G06F9/4418 , G06F11/3624
Abstract: Replay-time-only functionalities in a computer program are executed only during replay in a virtual machine and are skipped outside of replay. If a replay-time-only functionality is detected during the replay of a program execution in a virtual machine, the replay may be paused and the virtual machine state may be saved. The replay-time-only core functionality is executed. When this execution is complete, a prior state of the virtual machine may be restored and the replay may be resumed.
Abstract translation: 仅在虚拟机中重放时才执行计算机程序中的仅重播功能,并在重播之外跳过。 如果在重放虚拟机中的程序执行期间检测到仅播放时间功能,则可以暂停重放并且可以保存虚拟机状态。 重播时间核心功能被执行。 当该执行完成时,可以恢复虚拟机的先前状态并且可以恢复重放。
-
公开(公告)号:US08201169B2
公开(公告)日:2012-06-12
申请号:US12484640
申请日:2009-06-15
Applicant: Ganesh Venkitachalam , Rohit Jain , Boris Weissman , Daniel J. Scales , Vyacheslav Malyugin , Jeffrey W. Sheldon , Min Xu
Inventor: Ganesh Venkitachalam , Rohit Jain , Boris Weissman , Daniel J. Scales , Vyacheslav Malyugin , Jeffrey W. Sheldon , Min Xu
CPC classification number: G06F11/1658 , G06F9/45533 , G06F9/45558 , G06F9/4881 , G06F11/0712 , G06F11/0766 , G06F11/079 , G06F2009/45579 , G06F2009/45591 , G06F2201/805 , G06F2201/815 , G06F2201/82
Abstract: In a computer system running a primary virtual machine (VM) on virtualization software on a primary virtualized computer system (VCS) and running a secondary VM on virtualization software on a secondary VCS, a method for the secondary VM to provide quasi-lockstep fault tolerance for the primary VM includes: as the primary VM is executing a workload, virtualization software in the primary VCS is: (a) causing predetermined events to be recorded in an event log, (b) keeping output associated with the predetermined events pending, and (c) sending the log entries to the virtualization software in the secondary VCS; as the secondary VM is replaying the workload, virtualization software in the secondary VCS is: (a) sending acknowledgements indicating that log entries have been received; (b) when the virtualization software encounters one of the predetermined events, searching the log entries to determine whether a log entry corresponding to the same event was received from the primary VCS, and if so, comparing data associated with the predetermined event produced by the secondary VM with that of the primary VM; if there is a match, the virtualization software in the secondary VCS transmitting an acknowledgement to the virtualization software in the primary VCS; one of the virtualization software in the primary or secondary VCS dropping the event and the other dispatching the output; and if there is no match, performing a checkpoint resynchronization.
Abstract translation: 在主虚拟化计算机系统(VCS)上的虚拟化软件上运行主虚拟机(VM)并在辅助VCS上运行虚拟化软件上的辅助虚拟机的计算机系统中,辅助虚拟机提供准锁步骤容错 对于主虚拟机包括:当主虚拟机正在执行工作负载时,主VCS中的虚拟化软件是:(a)使事件日志中记录预定事件,(b)保持与预定事件挂起的输出挂起,以及 (c)将日志条目发送到二级VCS中的虚拟化软件; 当辅助虚拟机正在重播工作负载时,辅助VCS中的虚拟化软件是:(a)发送指示已经接收到日志条目的确认; (b)当虚拟化软件遇到预定事件之一时,搜索日志条目以确定是否从主VCS接收到与同一事件相对应的日志条目,如果是,则将与由该VCS生成的预定事件相关联的数据进行比较 辅助虚拟机与主虚拟机的辅助虚拟机; 如果存在匹配,则次级VCS中的虚拟化软件向主VCS中的虚拟化软件发送确认; 主要或次要VCS中的虚拟化软件之一放弃事件,另一个调度输出; 如果没有匹配,则执行检查点重新同步。
-
公开(公告)号:US20100318991A1
公开(公告)日:2010-12-16
申请号:US12484640
申请日:2009-06-15
Applicant: Ganesh VENKITACHALAM , Rohit JAIN , Boris WEISSMAN , Daniel J. SCALES , Vyacheslav MALYUGIN , Jeffrey W. SHELDON , Min XU
Inventor: Ganesh VENKITACHALAM , Rohit JAIN , Boris WEISSMAN , Daniel J. SCALES , Vyacheslav MALYUGIN , Jeffrey W. SHELDON , Min XU
IPC: G06F9/455
CPC classification number: G06F11/1658 , G06F9/45533 , G06F9/45558 , G06F9/4881 , G06F11/0712 , G06F11/0766 , G06F11/079 , G06F2009/45579 , G06F2009/45591 , G06F2201/805 , G06F2201/815 , G06F2201/82
Abstract: In a computer system running a primary virtual machine (VM) on virtualization software on a primary virtualized computer system (VCS) and running a secondary VM on virtualization software on a secondary VCS, a method for the secondary VM to provide quasi-lockstep fault tolerance for the primary VM includes: as the primary VM is executing a workload, virtualization software in the primary VCS is: (a) causing predetermined events to be recorded in an event log, (b) keeping output associated with the predetermined events pending, and (c) sending the log entries to the virtualization software in the secondary VCS; as the secondary VM is replaying the workload, virtualization software in the secondary VCS is: (a) sending acknowledgements indicating that log entries have been received; (b) when the virtualization software encounters one of the predetermined events, searching the log entries to determine whether a log entry corresponding to the same event was received from the primary VCS, and if so, comparing data associated with the predetermined event produced by the secondary VM with that of the primary VM; if there is a match, the virtualization software in the secondary VCS transmitting an acknowledgement to the virtualization software in the primary VCS; one of the virtualization software in the primary or secondary VCS dropping the event and the other dispatching the output; and if there is no match, performing a checkpoint resynchronization.
Abstract translation: 在主虚拟化计算机系统(VCS)上的虚拟化软件上运行主虚拟机(VM)并在辅助VCS上运行虚拟化软件上的辅助虚拟机的计算机系统中,辅助虚拟机提供准锁步骤容错 对于主虚拟机包括:当主虚拟机正在执行工作负载时,主VCS中的虚拟化软件是:(a)使事件日志中记录预定事件,(b)保持与预定事件挂起的输出挂起,以及 (c)将日志条目发送到二级VCS中的虚拟化软件; 当辅助虚拟机正在重播工作负载时,辅助VCS中的虚拟化软件是:(a)发送指示已经接收到日志条目的确认; (b)当虚拟化软件遇到预定事件之一时,搜索日志条目以确定是否从主VCS接收到与同一事件相对应的日志条目,如果是,则将与由该VCS生成的预定事件相关联的数据进行比较 辅助虚拟机与主虚拟机的辅助虚拟机; 如果存在匹配,则次级VCS中的虚拟化软件向主VCS中的虚拟化软件发送确认; 主要或次要VCS中的虚拟化软件之一放弃事件,另一个调度输出; 如果没有匹配,则执行检查点重新同步。
-
公开(公告)号:US20100274987A1
公开(公告)日:2010-10-28
申请号:US12829884
申请日:2010-07-02
Applicant: Pratap SUBRAHMANYAM , Vyacheslav MALYUGIN
Inventor: Pratap SUBRAHMANYAM , Vyacheslav MALYUGIN
IPC: G06F12/10
CPC classification number: G06F12/1036
Abstract: A method is provided for creating and maintaining the validity of a cache group including one or more cache elements. Each of the cache elements corresponds to a different address space in a virtual memory of a computer system. Each of the cache elements include one or more caches that store mappings from virtual addresses to data or values that are functions of or dependent upon physical addresses that correspond to the virtual addresses. When there is an address space switch from a first address space to a second address space, the cache group is searched to find the cache element corresponding to the second address space, and that found cache element is made the current cache element for virtual memory access through the cache element. Changes in the page tables are also detected and reflected in the caches of the cache group to maintain the caches up-to-date.
Abstract translation: 提供了一种用于创建和维护包括一个或多个缓存元素的高速缓存组的有效性的方法。 每个缓存元件对应于计算机系统的虚拟存储器中的不同地址空间。 每个缓存元素包括一个或多个高速缓存,其存储从虚拟地址到对应于虚拟地址的物理地址的功能或依赖于物理地址的数据或值的映射。 当存在从第一地址空间到第二地址空间的地址空间切换时,搜索高速缓存组以找到与第二地址空间相对应的高速缓存元件,并且将找到的高速缓存元素设置为用于虚拟存储器访问的当前高速缓存元件 通过缓存元素。 还会检测页表中的更改并反映在缓存组的高速缓存中,以保持缓存最新。
-
公开(公告)号:US09459895B2
公开(公告)日:2016-10-04
申请号:US13471616
申请日:2012-05-15
Applicant: Ganesh Venkitachalam , Rohit Jain , Boris Weissman , Daniel J. Scales , Vyacheslav Malyugin , Jeffrey W. Sheldon , Min Xu
Inventor: Ganesh Venkitachalam , Rohit Jain , Boris Weissman , Daniel J. Scales , Vyacheslav Malyugin , Jeffrey W. Sheldon , Min Xu
CPC classification number: G06F11/1658 , G06F9/45533 , G06F9/45558 , G06F9/4881 , G06F11/0712 , G06F11/0766 , G06F11/079 , G06F2009/45579 , G06F2009/45591 , G06F2201/805 , G06F2201/815 , G06F2201/82
Abstract: In a computer system running at least a first virtual machine (VM) and a second VM on virtualization software, a computer implemented method for the second VM to provide quasi-lockstep fault tolerance for the first VM. The method includes enabling operations of the second VM to diverge from being in lockstep with operations with the first VM without resynchronizing the second VM with the first VM, if output of the second VM is not diverging from output of the first VM. The output of the second VM is compared with the output of the first VM to determine whether the output of the second VM has diverged from the output of the first VM. In response to a determination that the output of the second VM has diverged from the output of the first VM, a resynchronization of the second VM is executed.
Abstract translation: 在运行虚拟化软件上的至少第一虚拟机(VM)和第二虚拟机的计算机系统中,用于所述第二虚拟机为所述第一虚拟机提供准锁步骤容错的计算机实现的方法。 该方法包括如果第二VM的输出不与第一VM的输出分离,则第二VM的启用操作使得与第一VM的操作不同步,而不与第一VM重新同步第二VM。 将第二VM的输出与第一VM的输出进行比较,以确定第二个VM的输出是否与第一个VM的输出分离。 响应于确定第二VM的输出已经从第一VM的输出分离,执行第二VM的重新同步。
-
公开(公告)号:US08719823B2
公开(公告)日:2014-05-06
申请号:US12397914
申请日:2009-03-04
Applicant: Pratap Subrahmanyam , Carl A. Waldspurger , Vyacheslav Malyugin , Tal Garfinkel
Inventor: Pratap Subrahmanyam , Carl A. Waldspurger , Vyacheslav Malyugin , Tal Garfinkel
CPC classification number: G06F9/4881 , G06F9/45533 , G06F9/4887
Abstract: A component manages and minimizes latency introduced by virtualization. The virtualization component determines that a currently scheduled guest process has executed functionality responsive to which the virtualization component is to execute a virtualization based operation, wherein the virtualization based operation is one that is not visible to the guest operating system. The virtualization component causes the guest operating system to de-schedule the currently scheduled guest process and schedule at least one separate guest process. The virtualization component then executes the virtualization based operation concurrently with the execution of the at least one separate guest process. Responsive to completing the execution of the virtualization based operation, the virtualization component causes the guest operating system to re-schedule the de-scheduled guest process.
Abstract translation: 组件管理并最小化由虚拟化引入的延迟。 虚拟化组件确定当前调度的访客进程已经执行响应于虚拟化组件将执行基于虚拟化的操作的功能,其中基于虚拟化的操作是客户操作系统不可见的。 虚拟化组件使客户机操作系统取消调度当前调度的客户机进程并调度至少一个单独的客户机进程。 然后,虚拟化组件与至少一个独立的客户进程的执行同时执行基于虚拟化的操作。 响应于完成基于虚拟化的操作的执行,虚拟化组件使得客户机操作系统重新安排未排程的访客进程。
-
公开(公告)号:US20090327574A1
公开(公告)日:2009-12-31
申请号:US12163513
申请日:2008-06-27
Applicant: Min Xu , Dmitry Grinberg , Vyacheslav Malyugin , Petr Vandrovec , Ganesh Venkitachalam , Boris Weissman , Andrew Biggadike , James Chow
Inventor: Min Xu , Dmitry Grinberg , Vyacheslav Malyugin , Petr Vandrovec , Ganesh Venkitachalam , Boris Weissman , Andrew Biggadike , James Chow
IPC: G06F12/08
CPC classification number: G06F11/3664 , G06F9/4418 , G06F11/3624
Abstract: Replay-time-only functionalities in a computer program are executed only during replay in a virtual machine and are skipped outside of replay. If a replay-time-only functionality is detected during the replay of a program execution in a virtual machine, the replay may be paused and the virtual machine state may be saved. The replay-time-only core functionality is executed. When this execution is complete, a prior state of the virtual machine may be restored and the replay may be resumed.
Abstract translation: 仅在虚拟机中重放时才执行计算机程序中的仅重播功能,并在重播之外跳过。 如果在重放虚拟机中的程序执行期间检测到仅播放时间功能,则可以暂停重放并且可以保存虚拟机状态。 重播时间核心功能被执行。 当该执行完成时,可以恢复虚拟机的先前状态并且可以恢复重放。
-
-
-
-
-
-
-
-
-