Controlling atomic updates of indexes using hardware transactional memory
First Claim
1. A system comprising:
- at least one hardware device processor; and
a computer-readable storage medium storing executable instructions that, when executed, cause the at least one hardware device processor to;
control a page merge transformation of a current state of a mapping table to an updated state in a latch-free manner using a single hardware transaction in a hardware transactional memory, the single hardware transaction comprising at least one multi-word compare-and-swap operation that;
performs a first atomic step of the page merge transformation by marking a deleted page as deleted;
performs a second atomic step of the page merge transformation by merging an existing key of the deleted page to another page; and
performs a third atomic step of the page merge transformation by deleting an identifier of the deleted page from a parent page,the mapping table being associated with a lock-free index of a database.
1 Assignment
0 Petitions
Accused Products
Abstract
A current state of one or more entries in a mapping table that are associated with latch-free updates of a data structure that uses indirection mapping tables is accessed. A transformation of the current state of the one or more entries in the mapping table to a transformed state of the entries in the mapping table, is controlled. The controlling includes initiating an atomic multi-word compare-and-swap (MWCAS) operation on a plurality of words using a hardware transactional memory (HTM) resident in a device processor, and the MWCAS operation is performed using hardware primitive operations of the HTM, via the device processor. A transformation of a current state of the data structure to an updated state of the data structure, is controlled, via the transformation of the current state of the one or more entries in the mapping table to the transformed state of the entries in the mapping table.
-
Citations
20 Claims
-
1. A system comprising:
-
at least one hardware device processor; and a computer-readable storage medium storing executable instructions that, when executed, cause the at least one hardware device processor to; control a page merge transformation of a current state of a mapping table to an updated state in a latch-free manner using a single hardware transaction in a hardware transactional memory, the single hardware transaction comprising at least one multi-word compare-and-swap operation that; performs a first atomic step of the page merge transformation by marking a deleted page as deleted; performs a second atomic step of the page merge transformation by merging an existing key of the deleted page to another page; and performs a third atomic step of the page merge transformation by deleting an identifier of the deleted page from a parent page, the mapping table being associated with a lock-free index of a database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method performed via a device processor of a system having a hardware transactional memory, the method comprising:
controlling a page merge transformation of a first state of a mapping table to a second state of the mapping table, the controlling including initiating, within a single hardware transaction on the hardware transactional memory, at least one multi-word compare-and-swap operation, wherein; the at least one multi-word compare-and-swap operation marks a deleted page as deleted; the at least one multi-word compare-and-swap operation merges an existing key of the deleted page to another page; and the at least one multi-word compare-and-swap operation deletes an identifier of the deleted page from a parent page. - View Dependent Claims (15)
-
16. A computer program product comprising a computer-readable storage medium storing executable instructions that, when executed by at least one processor, cause the at least one processor to:
-
access a current state of one or more entries in a mapping table for a database index; and using a single hardware transaction in a hardware transactional memory, transform the current state of the mapping table to a transformed state, the single hardware transaction comprising a page merge operation involving at least one multi-word compare-and-swap operation, the at least one multi-word compare-and-swap operation marking a deleted page as deleted; the at least one multi-word compare-and-swap operation merging an existing key of the deleted page to another page; and the at least one multi-word compare-and-swap operation deleting an identifier of the deleted page from a parent page. - View Dependent Claims (17, 18, 19, 20)
-
Specification