COMMIT COALESCING FOR MICRO-JOURNAL BASED TRANSACTION LOGGING

    公开(公告)号:US20170344595A1

    公开(公告)日:2017-11-30

    申请号:US15192937

    申请日:2016-06-24

    Applicant: VMware, Inc.

    CPC classification number: G06F16/2343 G06F16/2358 G06F16/2379

    Abstract: Techniques for using commit coalescing when performing micro-journal-based transaction logging are provided. In one embodiment a computer system can maintain, in a volatile memory, a globally ascending identifier, a first list of free micro-journals, and a second list of in-flight micro-journals. The computer system can further receive a transaction comprising a plurality of modifications to data or metadata stored in the byte-addressable persistent memory, select a micro-journal from the first list, obtain a lock on the globally ascending identifier, write a current value of the globally ascending identifier as a journal commit identifier into a header of the micro-journal, and write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction. The computer system can then commit the micro-journal to the byte-addressable persistent memory, increment the current value of the globally ascending identifier, and release the lock.

    Efficiently Purging Non-Active Blocks in NVM Regions Using Virtblock Arrays

    公开(公告)号:US20220129377A1

    公开(公告)日:2022-04-28

    申请号:US17571417

    申请日:2022-01-07

    Applicant: VMware, Inc.

    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.

    Commit coalescing for micro-journal based transaction logging

    公开(公告)号:US11204912B2

    公开(公告)日:2021-12-21

    申请号:US17073221

    申请日:2020-10-16

    Applicant: VMware, Inc.

    Abstract: Techniques for using commit coalescing when performing micro-journal-based transaction logging are provided. In one embodiment a computer system can maintain, in a volatile memory, a globally ascending identifier, a first list of free micro-journals, and a second list of in-flight micro-journals. The computer system can further receive a transaction comprising a plurality of modifications to data or metadata stored in the byte-addressable persistent memory, select a micro-journal from the first list, obtain a lock on the globally ascending identifier, write a current value of the globally ascending identifier as a journal commit identifier into a header of the micro-journal, and write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction. The computer system can then commit the micro-journal to the byte-addressable persistent memory, increment the current value of the globally ascending identifier, and release the lock.

    File system interface for remote direct memory access

    公开(公告)号:US10706005B2

    公开(公告)日:2020-07-07

    申请号:US15836577

    申请日:2017-12-08

    Applicant: VMware, Inc.

    Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.

    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.

    Tracking guest memory characteristics for memory scheduling
    30.
    发明授权
    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