Method and system for performing virtual to physical address translations in a virtual machine monitor
    1.
    发明授权
    Method and system for performing virtual to physical address translations in a virtual machine monitor 有权
    用于在虚拟机监视器中执行虚拟到物理地址转换的方法和系统

    公开(公告)号:US07069413B1

    公开(公告)日:2006-06-27

    申请号:US10354556

    申请日:2003-01-29

    IPC分类号: G06F12/00

    摘要: The invention is used in a virtual machine monitor for a multiprocessing system that includes a virtual memory system. During a software-based processing of a guest instruction, including translating or interpreting a guest instruction, mappings between virtual addresses and physical addresses are retained in memory until processing of the guest instruction is completed. The retained mappings may be cleared after each guest instruction has been processed, or after multiple guest instructions have been processed. Information may also be stored to indicate that an attempt to map a virtual address to a physical address was not successful. The invention may be extended beyond virtual machine monitors to other systems involving the software-based processing of instructions, and beyond multiprocessing systems to other systems involving concurrent access to virtual memory management data.

    摘要翻译: 本发明用于包括虚拟存储器系统的多处理系统的虚拟机监视器中。 在访客指令的基于软件的处理中,包括翻译或解释访客指令,虚拟地址和物理地址之间的映射被保留在存储器中,直到访客指令的处理完成。 保留的映射可以在每个客户指令被处理之后或在多个客户指令被处理之后被清除。 还可以存储信息以指示将虚拟地址映射到物理地址的尝试不成功。 本发明可以扩展到虚拟机监视器以外的其他系统,涉及指令的基于软件的处理,并且超出多处理系统到涉及对虚拟存储器管理数据的并发访问的其他系统。

    Maintaining coherency of derived data in a computer system
    2.
    发明授权
    Maintaining coherency of derived data in a computer system 有权
    维护计算机系统中派生数据的一致性

    公开(公告)号:US07222221B1

    公开(公告)日:2007-05-22

    申请号:US10774095

    申请日:2004-02-06

    IPC分类号: G06F12/00

    摘要: A computer system has secondary data that is derived from primary data, such as entries in a TLB being derived from entries in a page table. When an actor changes the primary data, a producer indicates the change in a set data structure, such as a data array, in memory that is shared by the producer and a consumer. There may be multiple producers and multiple consumers and each producer/consumer pair has a separate channel. At coherency events, at which incoherencies between the primary data and the secondary data should be removed, consumers read the channels to determine the changes, and update the secondary data accordingly. The system may be a multiprocessor virtual computer system, the actor may be a guest operating system, and the producers and consumers may be subsystems within a virtual machine monitor, wherein each subsystem exports a separate virtual central processing unit.

    摘要翻译: 计算机系统具有从主数据导出的辅助数据,诸如从页表中的条目导出的TLB中的条目。 当演员改变主要数据时,制片人指示在生产者和消费者共享的存储器中的设置数据结构(例如数据阵列)中的改变。 可能有多个生产者和多个消费者,每个生产者/消费者对都有一个单独的渠道。 在一致性事件中,应删除主数据和辅助数据之间的货币,消费者读取通道以确定更改,并相应地更新次要数据。 该系统可以是多处理器虚拟计算机系统,该演员可以是客户操作系统,并且生产者和消费者可以是虚拟机监视器内的子系统,其中每个子系统导出单独的虚拟中央处理单元。

    System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems
    3.
    发明授权
    System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems 有权
    用于检测对共享结构的访问并维护虚拟化多处理器系统中派生结构的一致性的系统和方法

    公开(公告)号:US07149843B1

    公开(公告)日:2006-12-12

    申请号:US11185151

    申请日:2005-07-19

    IPC分类号: G06F13/00

    CPC分类号: G06F9/45537 G06F9/4812

    摘要: A computer system includes at least one virtual machine that has a plurality of virtual processors all running on an underlying hardware platform. A software interface layer such as a virtual machine monitor establishes traces on primary structures located in a common memory space as needed for the different virtual processors. Whenever any one of the virtual processors generates a trace event, such as accessing a traced structure, then a notification is sent to at least the other virtual processors that have a trace on the accessed primary structure. In some applications, the VMM derives and maintains secondary structures corresponding to the primary structures, such as where the VMM converts, through binary translation, original code intended to run on a virtual processor into code that can be run on an underlying physical processor of the hardware platform. In these applications, the VMM may rederive or invalidate the secondary structures as needed upon receipt of the notification of the trace event. Different semantics are provided for the notification, providing different choices of performance versus guaranteed consistency between primary and secondary structures. In the preferred embodiment of the invention, a dedicated sub-system is included within the VMM for each virtual processor; each sub-system establishes traces, senses trace events, issues the notification, and performs other operations relating specifically to its respective virtual processor.

    摘要翻译: 计算机系统包括至少一个具有在底层硬件平台上运行的多个虚拟处理器的虚拟机。 诸如虚拟机监视器之类的软件接口层根据不同虚拟处理器的需要,在位于公共存储器空间中的主结构上建立迹线。 无论何时任何一个虚拟处理器生成跟踪事件(例如访问跟踪结构),则向至少在所访问的主要结构上具有跟踪的其他虚拟处理器发送通知。 在某些应用中,VMM导出和维护对应于主要结构的二级结构,例如VMM通过二进制转换将旨在在虚拟处理器上运行的原始代码转换为可以在底层物理处理器上运行的代码 硬件平台。 在这些应用中,VMM可以在接收到跟踪事件的通知时根据需要重新激活或使二级结构无效。 为通知提供不同的语义,提供不同的性能选择与主要和次要结构之间的一致性保证。 在本发明的优选实施例中,专用子系统包括在每个虚拟处理器的VMM内; 每个子系统建立跟踪,感测跟踪事件,发出通知,并执行与其各自的虚拟处理器专门相关的其他操作。

    Method and system for enabling checkpointing fault tolerance across remote virtual machines
    4.
    发明授权
    Method and system for enabling checkpointing fault tolerance across remote virtual machines 有权
    远程虚拟机启用检查点容错功能的方法和系统

    公开(公告)号:US08171338B2

    公开(公告)日:2012-05-01

    申请号:US12781875

    申请日:2010-05-18

    IPC分类号: G06F11/00

    摘要: A checkpointing fault tolerance network architecture enables a backup computer system to be remotely located from a primary computer system. An intermediary computer system is situated between the primary computer system and the backup computer system to manage the transmission of checkpoint information to the backup VM in an efficient manner. The intermediary computer system is networked to the primary VM through a high bandwidth connection but is networked to the backup VM through a lower bandwidth connection. The intermediary computer system identifies updated data corresponding to memory pages that have been least recently modified by the primary VM and transmits such updated data to the backup VM through the low bandwidth connection. In such manner, the intermediary computer system economizes the bandwidth capacity of the low bandwidth connection, holding back updated data corresponding to more recently modified memory pages, since such memory pages may be more likely to be updated again in the future.

    摘要翻译: 检查点容错网络架构使备份计算机系统能够远离主计算机系统。 中间计算机系统位于主计算机系统和备用计算机系统之间,以有效的方式管理检查点信息传输到备份虚拟机。 中间计算机系统通过高带宽连接与主虚拟机联网,但通过较低带宽连接与备用虚拟机联网。 中间计算机系统识别对应于由主VM最近最近修改的存储器页面的更新数据,并通过低带宽连接将这种更新的数据发送到备份VM。 以这种方式,中间计算机系统节约了低带宽连接的带宽容量,阻止与最近修改的存储器页面相对应的更新数据,因为这样的存储器页面将来可能再次被更新。

    System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems
    5.
    发明授权
    System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems 有权
    用于检测对共享结构的访问并维护虚拟化多处理器系统中派生结构的一致性的系统和方法

    公开(公告)号:US06961806B1

    公开(公告)日:2005-11-01

    申请号:US10016072

    申请日:2001-12-10

    IPC分类号: G06F12/00

    CPC分类号: G06F9/45537 G06F9/4812

    摘要: A computer system includes at least one virtual machine that has a plurality of virtual processors all running on an underlying hardware platform. A software interface layer such as a virtual machine monitor establishes traces on primary structures located in a common memory space as needed for the different virtual processors. Whenever any one of the virtual processors generates a trace event, such as accessing a traced structure, then a notification is sent to at least the other virtual processors that have a trace on the accessed primary structure. In some applications, the VMM derives and maintains secondary structures corresponding to the primary structures, such as where the VMM converts, through binary translation, original code intended to run on a virtual processor into code that can be run on an underlying physical processor of the hardware platform. In these applications, the VMM may rederive or invalidate the secondary structures as needed upon receipt of the notification of the trace event. Different semantics are provided for the notification, providing different choices of performance versus guaranteed consistency between primary and secondary structures. In the preferred embodiment of the invention, a dedicated sub-system is included within the VMM for each virtual processor; each sub-system establishes traces, senses trace events, issues the notification, and performs other operations relating specifically to its respective virtual processor.

    摘要翻译: 计算机系统包括至少一个虚拟机,其具有在底层硬件平台上运行的多个虚拟处理器。 诸如虚拟机监视器之类的软件接口层根据不同虚拟处理器的需要,在位于公共存储器空间中的主结构上建立迹线。 无论何时任何一个虚拟处理器生成跟踪事件(例如访问跟踪结构),则向至少在所访问的主要结构上具有跟踪的其他虚拟处理器发送通知。 在某些应用中,VMM导出和维护对应于主要结构的二级结构,例如VMM通过二进制转换将旨在在虚拟处理器上运行的原始代码转换为可以在底层物理处理器上运行的代码 硬件平台。 在这些应用中,VMM可以在接收到跟踪事件的通知时根据需要重新激活或使二级结构无效。 为通知提供不同的语义,提供不同的性能选择与主要和次要结构之间的一致性保证。 在本发明的优选实施例中,专用子系统包括在每个虚拟处理器的VMM内; 每个子系统建立跟踪,感测跟踪事件,发出通知,并执行与其各自的虚拟处理器专门相关的其他操作。

    METHOD AND SYSTEM FOR ENABLING CHECKPOINTING FAULT TOLERANCE ACROSS REMOTE VIRTUAL MACHINES
    6.
    发明申请
    METHOD AND SYSTEM FOR ENABLING CHECKPOINTING FAULT TOLERANCE ACROSS REMOTE VIRTUAL MACHINES 有权
    通过远程虚拟机实现检查故障容错的方法和系统

    公开(公告)号:US20110289345A1

    公开(公告)日:2011-11-24

    申请号:US12781875

    申请日:2010-05-18

    摘要: A checkpointing fault tolerance network architecture enables a backup computer system to be remotely located from a primary computer system. An intermediary computer system is situated between the primary computer system and the backup computer system to manage the transmission of checkpoint information to the backup VM in an efficient manner. The intermediary computer system is networked to the primary VM through a high bandwidth connection but is networked to the backup VM through a lower bandwidth connection. The intermediary computer system identifies updated data corresponding to memory pages that have been least recently modified by the primary VM and transmits such updated data to the backup VM through the low bandwidth connection. In such manner, the intermediary computer system economizes the bandwidth capacity of the low bandwidth connection, holding back updated data corresponding to more recently modified memory pages, since such memory pages may be more likely to be updated again in the future.

    摘要翻译: 检查点容错网络架构使备份计算机系统能够远离主计算机系统。 中间计算机系统位于主计算机系统和备用计算机系统之间,以有效的方式管理检查点信息传输到备份虚拟机。 中间计算机系统通过高带宽连接与主虚拟机联网,但通过较低带宽连接与备用虚拟机联网。 中间计算机系统识别对应于由主VM最近最近修改的存储器页面的更新数据,并通过低带宽连接将这种更新的数据发送到备份VM。 以这种方式,中间计算机系统节约了低带宽连接的带宽容量,阻止与最近修改的存储器页面相对应的更新数据,因为这样的存储器页面将来可能再次被更新。

    Method and system for enabling checkpointing fault tolerance across remote virtual machines
    7.
    发明授权
    Method and system for enabling checkpointing fault tolerance across remote virtual machines 有权
    远程虚拟机启用检查点容错功能的方法和系统

    公开(公告)号:US08898518B2

    公开(公告)日:2014-11-25

    申请号:US13450249

    申请日:2012-04-18

    IPC分类号: G06F11/00 G06F11/20

    摘要: A checkpointing fault tolerance network architecture enables a backup computer system to be remotely located from a primary computer system. An intermediary computer system is situated between the primary computer system and the backup computer system to manage the transmission of checkpoint information to the backup VM in an efficient manner. The intermediary computer system is networked to the primary VM through a first connection and is networked to the backup VM through a second connection. The intermediary computer system identifies updated data corresponding to memory pages that have been least recently modified by the primary VM and transmits such updated data to the backup VM through the first connection. In such manner, the intermediary computer system holds back updated data corresponding to more recently modified memory pages, since such memory pages may be more likely to be updated again in the future.

    摘要翻译: 检查点容错网络架构使备份计算机系统能够远离主计算机系统。 中间计算机系统位于主计算机系统和备用计算机系统之间,以有效的方式管理检查点信息传输到备份虚拟机。 中间计算机系统通过第一连接与主虚拟机联网,并通过第二连接与备用虚拟机联网。 中间计算机系统识别对应于由主VM最近最近修改的存储器页面的更新数据,并通过第一连接将这种更新的数据发送到备份VM。 以这样的方式,中间计算机系统保持对应于最近修改的存储器页面的更新数据,因为这样的存储器页面将来可能再次被更新。

    Maintaining address translations during the software-based processing of instructions
    8.
    发明授权
    Maintaining address translations during the software-based processing of instructions 有权
    在基于软件的指令处理期间维护地址转换

    公开(公告)号:US08024506B1

    公开(公告)日:2011-09-20

    申请号:US11859710

    申请日:2007-09-21

    摘要: The invention is used in a virtual machine monitor for a multiprocessing system that includes a virtual memory system. During a software-based processing of a guest instruction, including translating or interpreting a guest instruction, mappings between virtual addresses and physical addresses are retained in memory until processing of the guest instruction is completed. The retained mappings may be cleared after each guest instruction has been processed, or after multiple guest instructions have been processed. Information may also be stored to indicate that an attempt to map a virtual address to a physical address was not successful. The invention may be extended beyond virtual machine monitors to other systems involving the software-based processing of instructions, and beyond multiprocessing systems to other systems involving concurrent access to virtual memory management data.

    摘要翻译: 本发明用于包括虚拟存储器系统的多处理系统的虚拟机监视器中。 在访客指令的基于软件的处理中,包括翻译或解释访客指令,虚拟地址和物理地址之间的映射被保留在存储器中,直到访客指令的处理完成。 保留的映射可以在每个客户指令被处理之后或在多个客户指令被处理之后被清除。 还可以存储信息以指示将虚拟地址映射到物理地址的尝试不成功。 本发明可以扩展到虚拟机监视器以外的其他系统,涉及指令的基于软件的处理,并且超出多处理系统到涉及对虚拟存储器管理数据的并发访问的其他系统。

    Maintaining coherency of derived data in a computer system
    9.
    发明授权
    Maintaining coherency of derived data in a computer system 有权
    维护计算机系统中派生数据的一致性

    公开(公告)号:US07783838B1

    公开(公告)日:2010-08-24

    申请号:US11752193

    申请日:2007-05-22

    摘要: A computer system has secondary data that is derived from primary data, such as entries in a TLB being derived from entries in a page table. When an actor changes the primary data, a producer indicates the change in a set data structure, such as a data array, in memory that is shared by the producer and a consumer. There may be multiple producers and multiple consumers and each producer/consumer pair has a separate channel. At coherency events, at which incoherencies between the primary data and the secondary data should be removed, consumers read the channels to determine the changes, and update the secondary data accordingly. The system may be a multiprocessor virtual computer system, the actor may be a guest operating system, and the producers and consumers may be subsystems within a virtual machine monitor, wherein each subsystem exports a separate virtual central processing unit.

    摘要翻译: 计算机系统具有从主数据导出的辅助数据,诸如从页表中的条目导出的TLB中的条目。 当演员改变主要数据时,制片人指示在生产者和消费者共享的存储器中的设置数据结构(例如数据阵列)中的改变。 可能有多个生产者和多个消费者,每个生产者/消费者对都有一个单独的渠道。 在一致性事件中,应删除主数据和辅助数据之间的货币,消费者读取通道以确定更改,并相应地更新次要数据。 该系统可以是多处理器虚拟计算机系统,该演员可以是客户操作系统,并且生产者和消费者可以是虚拟机监视器内的子系统,其中每个子系统导出单独的虚拟中央处理单元。

    System and method for maintaining memory page sharing in a virtual environment
    10.
    发明授权
    System and method for maintaining memory page sharing in a virtual environment 有权
    在虚拟环境中维护内存页共享的系统和方法

    公开(公告)号:US08006043B2

    公开(公告)日:2011-08-23

    申请号:US12246402

    申请日:2008-10-06

    申请人: Ole Agesen

    发明人: Ole Agesen

    IPC分类号: G06F12/08

    摘要: In a virtualized system using memory page sharing, a method is provided for maintaining sharing when Guest code attempts to write to the shared memory. In one embodiment, virtualization logic uses a pattern matcher to recognize and intercept page zeroing code in the Guest OS. When the page zeroing code is about to run against a page that is already zeroed, i.e., contains all zeros, and is being shared, the memory writes in the page zeroing code have no effect. The virtualization logic skips over the writes, providing an appearance that the Guest OS page zeroing code has run to completion but without performing any of the writes that would have caused a loss of page sharing. The pattern matcher can be part of a binary translator that inspects code before it executes.

    摘要翻译: 在使用内存页面共享的虚拟化系统中,提供了一种方法,用于在访客代码尝试写入共享内存时保持共享。 在一个实施例中,虚拟化逻辑使用模式匹配器来识别和拦截访客操作系统中的页面归零代码。 当页面归零代码即将针对已经归零的页面运行时,即包含全部零,并且正在共享时,页面调零代码中的内存写入不起作用。 虚拟化逻辑跳过写入,提供Guest OS页面调零代码已经运行到完成的外观,但不执行会导致页面共享丢失的任何写入。 模式匹配器可以是在执行代码之前检查代码的二进制转换器的一部分。