Scalability of virtual TLBs for multi-processor virtual machines
    1.
    发明授权
    Scalability of virtual TLBs for multi-processor virtual machines 有权
    用于多处理器虚拟机的虚拟TLB的可扩展性

    公开(公告)号:US07788464B2

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

    申请号:US11644502

    申请日:2006-12-22

    IPC分类号: G06F12/10

    CPC分类号: G06F12/1027

    摘要: Various operations are provided that improve the scalability of virtual TLBs in multi-processor virtual machines, and they include: implicitly locking SPTs using per-processor generation counters; waiting for pending fills on other virtual processors to complete before servicing a GVA invalidation using the counters; write-protecting or unmaping guest pages in a deferred two-stage process or reclaiming SPTs in a deferred two-stage process; periodically coalescing two SPTs that shadow the same GPT with the same attributes; sharing SPTs between two SASes only at a specified level in a SPTT; flushing the entire virtual TLB using a generation counter; allocating a SPT to GPT from a NUMA node on which the GPT resides; having an instance for each NUMA node on which a virtual machine runs; and, correctly handling the serializing instructions executed by a guest in a virtual machine with more than one virtual processor sharing the virtual TLB.

    摘要翻译: 提供了提高多处理器虚拟机中虚拟TLB可扩展性的各种操作,包括:使用每处理器生成计数器隐式锁定SPT; 在使用计数器服务GVA无效之前等待其他虚拟处理器上的待处理填充; 在延迟的两阶段过程中写入保护或取消映射访客页面或在延迟的两阶段过程中回收SPT; 定期合并两个具有相同属性的相同GPT的SPT; 在SPTT之间仅在指定级别共享两个SAS之间的SPT; 使用生成计数器刷新整个虚拟TLB; 从GPT所在的NUMA节点向GPT分配SPT; 具有运行虚拟机的每个NUMA节点的实例; 并且正确地处理由具有多个共享虚拟TLB的虚拟处理器的虚拟机中的来宾执行的序列化指令。

    Reduction of operational costs of virtual TLBs
    2.
    发明授权
    Reduction of operational costs of virtual TLBs 有权
    降低虚拟TLB的运营成本

    公开(公告)号:US08694712B2

    公开(公告)日:2014-04-08

    申请号:US11634538

    申请日:2006-12-05

    IPC分类号: G06F12/00 G06F9/455

    CPC分类号: G06F12/1036

    摘要: Various operations are disclosed for improving the operational efficiency of a virtual translation look-aside buffer (TLB) in a virtual machine environment. For example, operations are disclosed that allow for determination of whether present entries in shadow page tables (SPTs) are stale by comparing shadowed guest page table (GPT) entries against snapshots taken when the entries were cached. Other operations are disclosed that allow a virtual machine monitor (VMM) to access shadow page table trees (SPTTs) by walking trees in software or in hardware. Still other operations are disclosed allowing the VMM to use a hash table to relate GVA ranges to SPTs that map them, thus significantly reducing the cost of having to walk each SPTT in order to invalidate desired GVA(s). And, finally, operations are disclosed allowing the VMM to determine global GVA ranges by checking a bitmap, when invalidating global GVAs.

    摘要翻译: 公开了用于提高虚拟机环境中的虚拟翻译后备缓冲器(TLB)的操作效率的各种操作。 例如,披露了允许通过比较阴影的访客页表(GPT)条目与条目被缓存时拍摄的快照来确定影子页表(SPT)中的现有条目是否过时的操作。 公开了允许虚拟机监视器(VMM)通过软件或硬件中的步行树来访问影子页表树(SPTT)的其他操作。 还公开了其他操作,允许VMM使用散列表将GVA范围与映射它们的SPT相关联,从而显着降低了必须走每个SPTT以使所需GVA无效的成本。 最后,公开了操作,允许VMM通过在使全局GVAs无效时检查位图来确定全局GVA范围。

    Scalability of virtual TLBs for multi-processor virtual machines
    3.
    发明申请
    Scalability of virtual TLBs for multi-processor virtual machines 有权
    用于多处理器虚拟机的虚拟TLB的可扩展性

    公开(公告)号:US20080155168A1

    公开(公告)日:2008-06-26

    申请号:US11644502

    申请日:2006-12-22

    IPC分类号: G06F12/10

    CPC分类号: G06F12/1027

    摘要: Various operations are provided that improve the scalability of virtual TLBs in multi-processor virtual machines, and they include: implicitly locking SPTs using per-processor generation counters; waiting for pending fills on other virtual processors to complete before servicing a GVA invalidation using the counters; write-protecting or unmaping guest pages in a deferred two-stage process or reclaiming SPTs in a deferred two-stage process; periodically coalescing two SPTs that shadow the same GPT with the same attributes; sharing SPTs between two SASes only at a specified level in a SPTT; flushing the entire virtual TLB using a generation counter; allocating a SPT to GPT from a NUMA node on which the GPT resides; having an instance for each NUMA node on which a virtual machine runs; and, correctly handling the serializing instructions executed by a guest in a virtual machine with more than one virtual processor sharing the virtual TLB.

    摘要翻译: 提供了提高多处理器虚拟机中虚拟TLB可扩展性的各种操作,包括:使用每处理器生成计数器隐式锁定SPT; 在使用计数器服务GVA无效之前等待其他虚拟处理器上的待处理填充; 在延迟的两阶段过程中写入保护或取消映射访客页面或在延迟的两阶段过程中回收SPT; 定期合并两个具有相同属性的相同GPT的SPT; 在SPTT之间仅在指定级别共享两个SAS之间的SPT; 使用生成计数器刷新整个虚拟TLB; 从GPT所在的NUMA节点向GPT分配SPT; 具有运行虚拟机的每个NUMA节点的实例; 并且正确地处理由具有多个共享虚拟TLB的虚拟处理器的虚拟机中的来宾执行的序列化指令。

    Reduction of operational costs of virtual TLBs
    5.
    发明申请
    Reduction of operational costs of virtual TLBs 有权
    降低虚拟TLB的运营成本

    公开(公告)号:US20080134174A1

    公开(公告)日:2008-06-05

    申请号:US11634538

    申请日:2006-12-05

    IPC分类号: G06F12/10 G06F9/46

    CPC分类号: G06F12/1036

    摘要: Various operations are disclosed for improving the operational efficiency of a virtual translation look-aside buffer (TLB) in a virtual machine environment. For example, operations are disclosed that allow for determination of whether present entries in shadow page tables (SPTs) are stale by comparing shadowed guest page table (GPT) entries against snapshots taken when the entries were cached. Other operations are disclosed that allow a virtual machine monitor (VMM) to access shadow page table trees (SPTTs) by walking trees in software or in hardware. Still other operations are disclosed allowing the VMM to use a hash table to relate GVA ranges to SPTs that map them, thus significantly reducing the cost of having to walk each SPTT in order to invalidate desired GVA(s). And, finally, operations are disclosed allowing the VMM to determine global GVA ranges by checking a bitmap, when invalidating global GVAs.

    摘要翻译: 公开了用于提高虚拟机环境中的虚拟翻译后备缓冲器(TLB)的操作效率的各种操作。 例如,披露了允许通过比较阴影的访客页表(GPT)条目与条目被缓存时拍摄的快照来确定影子页表(SPT)中的现有条目是否过时的操作。 公开了允许虚拟机监视器(VMM)通过软件或硬件中的步行树来访问影子页表树(SPTT)的其他操作。 还公开了其他操作,允许VMM使用散列表将GVA范围与映射它们的SPT相关联,从而显着降低了必须走每个SPTT以使所需GVA无效的成本。 最后,公开了操作,允许VMM通过在使全局GVAs无效时检查位图来确定全局GVA范围。

    Operational efficiency of virtual TLBs
    6.
    发明申请
    Operational efficiency of virtual TLBs 有权
    虚拟TLB的运行效率

    公开(公告)号:US20080133875A1

    公开(公告)日:2008-06-05

    申请号:US11634782

    申请日:2006-12-05

    IPC分类号: G06F9/34

    摘要: Various mechanisms are disclosed for improving the operational efficiency of a virtual translation look-aside buffer (TLB) in a virtual machine environment. For example, one mechanism fills in entries in a shadow page table (SPT) and additionally, speculatively fills in other entries in the SPT based on various heuristics. Another mechanism allows virtual TLBs (translation look-aside buffers) to cache partial walks in a guest page table tree. Still another mechanism allows for dynamic resizing of the virtual TLB to optimize for run-time characteristics of active workloads. Still another mechanism allows virtual machine monitors (VMMs) to support legacy and enlightened modes of virtual TLB operation. Finally, another mechanism allows the VMM to remove only the stale entries in SPTs when linking or switching address spaces. All these mechanisms, together or in part, increase the operational efficiency of the virtual TLB.

    摘要翻译: 公开了用于提高虚拟机环境中的虚拟翻译后备缓冲器(TLB)的操作效率的各种机制。 例如,一个机制填充影子页表(SPT)中的条目,另外,基于各种启发式,推测性地填写SPT中的其他条目。 另一种机制允许虚拟TLB(转换后备缓冲区)在访客页表树中缓存部分散步。 另一种机制允许虚拟TLB的动态调整大小以优化活动工作负载的运行时特性。 另一种机制允许虚拟机监视器(VMM)支持传统和开明的虚拟TLB操作模式。 最后,另一种机制允许VMM在链接或切换地址空间时删除SPT中的陈旧条目。 所有这些机制,共同或部分地提高了虚拟TLB的运营效率。

    Enhanced shadow page table algorithms
    9.
    发明授权
    Enhanced shadow page table algorithms 有权
    增强的影子页表算法

    公开(公告)号:US07650482B2

    公开(公告)日:2010-01-19

    申请号:US11849774

    申请日:2007-09-04

    IPC分类号: G06F9/26

    摘要: Enhanced shadow page table algorithms are presented for enhancing typical page table algorithms. In a virtual machine environment, where an operating system may be running within a partition, the operating system maintains it's own guest page tables. These page tables are not the real page tables that map to the real physical memory. Instead, the memory is mapped by shadow page tables maintained by a virtualing program, such as a hypervisor, that virtualizes the partition containing the operating system. Enhanced shadow page table algorithms provide efficient ways to harmonize the shadow page tables and the guest page tables. Specifically, by using tagged translation lookaside buffers, batched shadow page table population, lazy flags, and cross-processor shoot downs, the algorithms make sure that changes in the guest pages tables are reflected in the shadow page tables.

    摘要翻译: 提出了增强的影子页表算法,用于增强典型的页表算法。 在虚拟机环境中,操作系统可能在分区内运行,操作系统维护它自己的访客页表。 这些页表不是映射到真实物理内存的真实页表。 相反,内存由虚拟化程序(例如虚拟机管理程序)维护的影子页表映射,虚拟化包含操作系统的分区。 增强的影子页表算法提供了有效的方式来协调阴影页表和访客页表。 具体来说,通过使用标记的翻译后备缓冲区,批量阴影页表群,延迟标记和跨处理器拍摄,算法确保访客页表中的更改反映在影子页表中。

    Enhanced shadow page table algorithms
    10.
    发明授权
    Enhanced shadow page table algorithms 有权
    增强的影子页表算法

    公开(公告)号:US07299337B2

    公开(公告)日:2007-11-20

    申请号:US11128665

    申请日:2005-05-12

    IPC分类号: G06F9/26

    摘要: Enhanced shadow page table algorithms are presented for enhancing typical page table algorithms. In a virtual machine environment, where an operating system may be running within a partition, the operating system maintains it's own guest page tables. These page tables are not the real page tables that map to the real physical memory. Instead, the memory is mapped by shadow page tables maintained by a virtualing program, such as a hypervisor, that virtualizes the partition containing the operating system. Enhanced shadow page table algorithms provide efficient ways to harmonize the shadow page tables and the guest page tables. Specifically, by using tagged translation lookaside buffers, batched shadow page table population, lazy flags, and cross-processor shoot downs, the algorithms make sure that changes in the guest pages tables are reflected in the shadow page tables.

    摘要翻译: 提出了增强的影子页表算法,用于增强典型的页表算法。 在虚拟机环境中,操作系统可能在分区内运行,操作系统维护它自己的访客页表。 这些页表不是映射到真实物理内存的真实页表。 相反,内存由虚拟化程序(例如虚拟机管理程序)维护的影子页表映射,虚拟化包含操作系统的分区。 增强的影子页表算法提供了有效的方式来协调阴影页表和访客页表。 具体来说,通过使用标记的翻译后备缓冲区,批量阴影页表群,延迟标记和跨处理器拍摄,算法确保访客页表中的更改反映在影子页表中。