-
公开(公告)号:US10691591B2
公开(公告)日:2020-06-23
申请号:US16174264
申请日:2018-10-29
Applicant: VMware, Inc.
Inventor: Kiran Tati , Xavier Deguillard , Ishan Banerjee , Julien Freche , Preeti Agarwal , Rajesh Venkatasubramanian
IPC: G06F13/00 , G06F12/02 , G06F12/0804
Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using pointer elimination are provided. In one set of embodiments, a host system can, for each level 1 (L1) page table entry of each snapshot of the NVM region, determine whether a data block of the NVM region that is pointed to by the L1 page table entry is a non-active block, and if the data block is a non-active block, remove a pointer to the data block in the L1 page table entry and reduce a reference count parameter associated with the data block by 1. If the reference count parameter has reached zero at this point, the host system purge the data block from the NVM device to the mass storage device.
-
公开(公告)号:US10592425B2
公开(公告)日:2020-03-17
申请号:US15971929
申请日:2018-05-04
Applicant: VMware, Inc.
Inventor: Doug Covelli , Rajesh Venkatasubramanian , Richard Brunner , Pratap Subrahmanyam
IPC: G06F12/10 , G06F12/1009 , G06F12/0804
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.
-
公开(公告)号:US20200042357A1
公开(公告)日:2020-02-06
申请号:US16584880
申请日:2019-09-26
Applicant: VMware, Inc.
Inventor: Venkata Subhash Reddy Peddamallu , Kiran Tati , Rajesh Venkatasubramanian , Pratap Subrahmanyam
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.
-
公开(公告)号:US20190340133A1
公开(公告)日:2019-11-07
申请号:US15971929
申请日:2018-05-04
Applicant: VMware, Inc.
Inventor: Doug Covelli , Rajesh Venkatasubramanian , Richard Brunner , Pratap Subrahmanyam
IPC: G06F12/1009 , G06F12/0804
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.
-
公开(公告)号:US10387186B2
公开(公告)日:2019-08-20
申请号:US15636527
申请日:2017-06-28
Applicant: VMware, Inc.
Inventor: Rajesh Venkatasubramanian , Kiran Tati , Syed Zahed Khurasani , Ashish Kaila , Mukund Gunti
IPC: G06F9/44 , G06F9/455 , G06F9/4401 , G06F3/06 , G06F12/08
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.
-
106.
公开(公告)号:US20190129800A1
公开(公告)日:2019-05-02
申请号:US15881514
申请日:2018-01-26
Applicant: VMware, Inc.
Inventor: Pratap Subrahmanyam , Rajesh Venkatasubramanian , Kiran Tati , Qasim Ali , Marcos Aguilera , Irina Calciu , Venkata Subhash Reddy Peddamallu , Xavier Deguillard , Yi Yao
IPC: G06F11/14
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.
-
公开(公告)号:US20190065091A1
公开(公告)日:2019-02-28
申请号:US15693292
申请日:2017-08-31
Applicant: VMware, Inc.
Inventor: Kiran Tati , Preeti Agarwal , Julien Freche , Xavier Deguillard , Rajesh Venkatasubramanian , Ishan Banerjee
IPC: G06F3/06
Abstract: Techniques for using non-volatile random access memory (NVM) as volatile random access memory (RAM) are provided. In one set of embodiments, a computer system can detect that an amount of free space in a volatile RAM of the computer system has become low and, in response, can add one or more memory pages from an unused portion of an NVM of the computer system to the system's volatile RAM pool. Conversely, the computer system can detect that an amount of free space in the NVM has become low and, in response, can return the one or more memory pages from the volatile RAM pool back to the NVM.
-
公开(公告)号:US10198352B2
公开(公告)日:2019-02-05
申请号:US15192946
申请日:2016-06-24
Applicant: VMware, Inc.
Inventor: Pratap Subrahmanyam , Zongwei Zhou , Rajesh Venkatasubramanian
IPC: G06F12/06
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.
-
109.
公开(公告)号:US09547510B2
公开(公告)日:2017-01-17
申请号:US14101787
申请日:2013-12-10
Applicant: VMware, Inc.
Inventor: Xavier Deguillard , Ishan Banerjee , Qasim Ali , Yury Baskakov , Kiran Tati , Rajesh Venkatasubramanian
CPC classification number: G06F9/455 , G06F9/45558 , G06F9/50 , G06F9/5016 , G06F9/5077 , G06F12/08 , G06F2009/45583 , G06F2212/152 , G06F2212/401
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)的主机上运行的存储器调度器的操作。 对于每个虚拟机,主机管理程序将内存页分为内存使用类,并估计每个内存使用类的总页数。 内存调度器使用该信息为每个虚拟机执行内存回收和分配操作。 存储器调度器还部分地基于虚拟机的每个存储器使用类别中的页数来选择气球回收和交换回收操作之间。 对客户机操作系统的调用提供了内存使用类信息。 内存回收不仅可以提高现有虚拟机的性能,还可以允许在主机上添加虚拟机,而不会对现有和新的虚拟机造成实质性的影响。
-
110.
公开(公告)号:US09465669B2
公开(公告)日:2016-10-11
申请号:US14201787
申请日:2014-03-07
Applicant: VMware, Inc.
Inventor: Rajesh Venkatasubramanian , Puneet Zaroo , Alexandre Milouchev
CPC classification number: G06F12/08 , G06F3/0604 , G06F3/0614 , G06F3/0662 , G06F3/0665 , G06F9/45558 , G06F9/5033 , G06F9/5083 , G06F12/0292 , G06F12/0638 , G06F12/0811 , G06F12/084 , G06F12/0868 , G06F12/0891 , G06F12/10 , G06F12/1009 , G06F12/1072 , G06F2009/45583 , G06F2212/1016 , G06F2212/152 , G06F2212/2542 , G06F2212/6042 , G06F2212/62
Abstract: In a system having non-uniform memory access architecture, with a plurality of nodes, memory access by entities such as virtual CPUs is estimated by invalidating a selected sub-set of memory units, and then detecting and compiling access statistics, for example by counting the page faults that arise when any virtual CPU accesses an invalidated memory unit. The entities, or pairs of entities, may then be migrated or otherwise co-located on the node for which they have greatest memory locality.
Abstract translation: 在具有不均匀的存储器访问架构的系统中,通过多个节点,通过使所选择的存储单元的子集失效,然后检测和编译访问统计信息来估计诸如虚拟CPU之类的实体的存储器访问,例如通过计数 任何虚拟CPU访问无效内存单元时出现的页面故障。 然后可以将实体或实体对迁移或以其他方式共同位于它们具有最大存储器位置的节点上。
-
-
-
-
-
-
-
-
-