Virtualizing NVDIMM WPQ flushing with minimal overhead

    公开(公告)号:US10592425B2

    公开(公告)日:2020-03-17

    申请号:US15971929

    申请日:2018-05-04

    Applicant: VMware, Inc.

    Abstract: Techniques for virtualizing NVDIMM WPQ flushing with minimal overhead are provided. In one set of embodiments, a hypervisor of a computer system can allocate a virtual flush hint address (FHA) for a virtual machine (VM), where the virtual flush hint address is associated with one or more physical FHAs corresponding to one or more physical memory controllers of the computer system. The hypervisor can further determine whether one or more physical NVDIMMs of the computer system support WPQ flushing. If so, the hypervisor can write protect a guest physical address (GPA) to host physical address (HPA) mapping for the virtual FHA in the page tables of the computer system, thereby enabling the hypervisor to trap VM writes to the virtual FHA and propagate those write to the physical FHAs of the system.

    OS/HYPERVISOR-BASED PERSISTENT MEMORY
    103.
    发明申请

    公开(公告)号:US20200042357A1

    公开(公告)日:2020-02-06

    申请号:US16584880

    申请日:2019-09-26

    Applicant: VMware, Inc.

    Abstract: Techniques for implementing OS/hypervisor-based persistent memory are provided. In one embodiment, an OS or hypervisor running on a computer system can allocate a portion of the volatile memory of the computer system as a persistent memory allocation. The OS/hypervisor can further receive a signal from the computer system's BIOS indicating an AC power loss or cycle event and, in response to the signal, can save data in the persistent memory allocation to a nonvolatile backing store. Then, upon restoration of AC power to the computer system, the OS/hypervisor can restore the saved data from the nonvolatile backing store to the persistent memory allocation.

    VIRTUALIZING NVDIMM WPQ FLUSHING WITH MINIMAL OVERHEAD

    公开(公告)号:US20190340133A1

    公开(公告)日:2019-11-07

    申请号:US15971929

    申请日:2018-05-04

    Applicant: VMware, Inc.

    Abstract: Techniques for virtualizing NVDIMM WPQ flushing with minimal overhead are provided. In one set of embodiments, a hypervisor of a computer system can allocate a virtual flush hint address (FHA) for a virtual machine (VM), where the virtual flush hint address is associated with one or more physical FHAs corresponding to one or more physical memory controllers of the computer system. The hypervisor can further determine whether one or more physical NVDIMMs of the computer system support WPQ flushing. If so, the hypervisor can write protect a guest physical address (GPA) to host physical address (HPA) mapping for the virtual FHA in the page tables of the computer system, thereby enabling the hypervisor to trap VM writes to the virtual FHA and propagate those write to the physical FHAs of the system.

    Hypervisor with virtual-memory file system

    公开(公告)号:US10387186B2

    公开(公告)日:2019-08-20

    申请号:US15636527

    申请日:2017-06-28

    Applicant: VMware, Inc.

    Abstract: A first hypervisor uses a first version of a virtual-memory file system (VMemFS) suspends virtual machines. A second hypervisor uses a instance of the VMemFS, the version of which may be the same or different from the first version. The VMemFS is designed so that an instance of the same or a later version of the VMemFS can read and ingest information in memory written to memory by another instance of the VMemFS. Accordingly, the second hypervisor resumes the virtual machines, effecting an update or other swap of hypervisors with minimal interruption. In other examples, the swapped hypervisors support process containers or simply support virtual memory.

    Application High Availability via Crash-Consistent Asynchronous Replication of Persistent Data

    公开(公告)号:US20190129800A1

    公开(公告)日:2019-05-02

    申请号:US15881514

    申请日:2018-01-26

    Applicant: VMware, Inc.

    Abstract: Techniques for achieving application high availability via crash-consistent asynchronous replication of persistent data are provided. In one set of embodiments, an application running on a computer system can, during runtime of the application: write persistent data to a local nonvolatile data store of the computer system, write one or more log entries comprising the persistent data to a local log region of the computer system, and asynchronously copy the one or more log entries to one or more remote destinations. Then, upon detecting a failure that prevents the application from continuing execution, the computer system can copy the local log region or a remaining portion thereof to the one or more remote destinations, where the copying is performed while the computer system runs on battery power and where the application is restarted on another computer system using a persistent state derived from the copied log entries.

    Efficient pointer swizzling for persistent objects

    公开(公告)号:US10198352B2

    公开(公告)日:2019-02-05

    申请号:US15192946

    申请日:2016-06-24

    Applicant: VMware, Inc.

    Abstract: Techniques for efficiently swizzling pointers in persistent objects are provided. In one embodiment, a computer system can allocate slabs in a persistent heap, where the persistent heap resides on a byte-addressable persistent memory of the system, and where each slab is a continuous memory segment of the persistent heap that is configured to store instances of an object type used by an application. The system can further store associations between the slabs and their respective object types, and information indicating the locations of pointers in each object type. At the time of a system restart or crash recovery, the system can iterate through each slab and determine, based on the stored associations, the slab's object type. The system can then scan though the allocated objects in the slab and, if the system determines that the object includes any pointers based on the stored pointer location information, can swizzle each pointer.

    Tracking guest memory characteristics for memory scheduling
    109.
    发明授权
    Tracking guest memory characteristics for memory scheduling 有权
    跟踪访客内存特性进行内存调度

    公开(公告)号:US09547510B2

    公开(公告)日:2017-01-17

    申请号:US14101787

    申请日:2013-12-10

    Applicant: VMware, Inc.

    Abstract: A system and method are disclosed for improving operation of a memory scheduler operating on a host machine supporting virtual machines (VMs) in which guest operating systems and guest applications run. For each virtual machine, the host machine hypervisor categorizes memory pages into memory usage classes and estimates the total number of pages for each memory usage class. The memory scheduler uses this information to perform memory reclamation and allocation operations for each virtual machine. The memory scheduler further selects between ballooning reclamation and swapping reclamation operations based in part on the numbers of pages in each memory usage class for the virtual machine. Calls to the guest operating system provide the memory usage class information. Memory reclamation not only can improve the performance of existing VMs, but can also permit the addition of a VM on the host machine without substantially impacting the performance of the existing and new VMs.

    Abstract translation: 公开了一种系统和方法,用于改进在支持客机操作系统和来宾应用运行的虚拟机(VM)的主机上运行的存储器调度器的操作。 对于每个虚拟机,主机管理程序将内存页分为内存使用类,并估计每个内存使用类的总页数。 内存调度器使用该信息为每个虚拟机执行内存回收和分配操作。 存储器调度器还部分地基于虚拟机的每个存储器使用类别中的页数来选择气球回收和交换回收操作之间。 对客户机操作系统的调用提供了内存使用类信息。 内存回收不仅可以提高现有虚拟机的性能,还可以允许在主机上添加虚拟机,而不会对现有和新的虚拟机造成实质性的影响。

Patent Agency Ranking