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.

    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.

    EFFICIENT POINTER SWIZZLING FOR PERSISTENT OBJECTS

    公开(公告)号:US20170344475A1

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

    申请号:US15192946

    申请日:2016-06-24

    Applicant: VMware, Inc.

    CPC classification number: G06F12/0646 G06F9/4493 G06F11/00 G06F2212/1008

    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.

    Commit Coalescing for Micro-Journal Based Transaction Logging

    公开(公告)号:US20210034600A1

    公开(公告)日:2021-02-04

    申请号: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.

    Commit coalescing for micro-journal based transaction logging

    公开(公告)号:US10445308B2

    公开(公告)日:2019-10-15

    申请号:US15192937

    申请日:2016-06-24

    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.

    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.

    Micro-journal based transaction logging

    公开(公告)号:US10528436B2

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

    申请号:US15192940

    申请日:2016-06-24

    Applicant: VMware, Inc.

    Abstract: Techniques for using micro-journals to ensure crash consistency of a transactional application are provided. In one embodiment, a computer system can receive a transaction associated with the transactional application, where the transaction includes a plurality of modifications to data or metadata of the transactional application. The computer system can further select a free micro-journal from a pool of micro-journals, where the pool of micro-journals are stored in a byte-addressable persistent memory of the computer system, and where each micro-journal in the pool is configured to record journal entries for a single transaction at a time. The computer system can then write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction and commit the journal entries to the byte-addressable persistent memory.

    COMMIT COALESCING FOR MICRO-JOURNAL BASED TRANSACTION LOGGING

    公开(公告)号:US20200004735A1

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

    申请号:US16560951

    申请日:2019-09-04

    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.

    MICRO-JOURNAL BASED TRANSACTION LOGGING
    9.
    发明申请

    公开(公告)号:US20170344440A1

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

    申请号:US15192940

    申请日:2016-06-24

    Applicant: VMware, Inc.

    Abstract: Techniques for using micro-journals to ensure crash consistency of a transactional application are provided. In one embodiment, a computer system can receive a transaction associated with the transactional application, where the transaction includes a plurality of modifications to data or metadata of the transactional application. The computer system can further select a free micro-journal from a pool of micro-journals, where the pool of micro-journals are stored in a byte-addressable persistent memory of the computer system, and where each micro-journal in the pool is configured to record journal entries for a single transaction at a time. The computer system can then write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction and commit the journal entries to the byte-addressable persistent memory.

Patent Agency Ranking