Automatic Checkpointing and Partial Rollback in Software Transaction Memory
First Claim
Patent Images
1. A method comprising:
- while speculatively executing a given one of a plurality of transactions concurrently executing on a computer;
carrying out write operations in a local data block;
automatically creating an entry in a checkpoint log when reading from a shared memory;
continuously conflict checking during read and tentative commit operations; and
carrying out a partial rollback upon detection of a conflict in the conflict checking step, the partial rollback being based upon the checkpoint log.
2 Assignments
0 Petitions
Accused Products
Abstract
While speculatively executing a given one of a plurality of transactions concurrently executing on a computer, carry out write operations in a local data block, and automatically create an entry in a checkpoint log when reading from a shared memory. Continuously conflict check during read and tentative commit operations, and carry out a partial rollback upon detection of a conflict. The partial rollback is based upon the checkpoint log.
-
Citations
20 Claims
-
1. A method comprising:
while speculatively executing a given one of a plurality of transactions concurrently executing on a computer; carrying out write operations in a local data block; automatically creating an entry in a checkpoint log when reading from a shared memory; continuously conflict checking during read and tentative commit operations; and carrying out a partial rollback upon detection of a conflict in the conflict checking step, the partial rollback being based upon the checkpoint log. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
-
computer readable program code configured to carry out write operations in a local data block, while speculatively executing a given one of a plurality of transactions concurrently executing on a computer; computer readable program code configured to automatically create an entry in a checkpoint log when reading from a shared memory, while speculatively executing the given one of the plurality of transactions concurrently executing on the computer; computer readable program code configured to continuously conflict check during read and tentative commit operations, while speculatively executing the given one of the plurality of transactions concurrently executing on the computer; and computer readable program code configured to carry out a partial rollback upon detection of a conflict in the conflict checking step, while speculatively executing the given one of the plurality of transactions concurrently executing on the computer, the partial rollback being based upon the checkpoint log. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An apparatus comprising:
-
a memory; and at least one processor, coupled to the memory, and operative to, while speculatively executing a given one of a plurality of transactions concurrently executing on a computer; carry out write operations in a local data block; automatically create an entry in a checkpoint log when reading from a shared memory; continuously conflict check during read and tentative commit operations; and carry out a partial rollback upon detection of a conflict in the conflict checking step, the partial rollback being based upon the checkpoint log. - View Dependent Claims (16, 17, 18, 19)
-
-
20. An apparatus comprising:
-
means for carrying out write operations in a local data block while speculatively executing a given one of a plurality of transactions concurrently executing on a computer; means for automatically creating an entry in a checkpoint log when reading from a shared memory, while speculatively executing the given one of the plurality of transactions concurrently executing on the computer; means for continuously conflict checking during read and tentative commit operations, while speculatively executing the given one of the plurality of transactions concurrently executing on the computer; and means for carrying out a partial rollback upon detection of a conflict in the conflict checking step, while speculatively executing the given one of the plurality of transactions concurrently executing on the computer, the partial rollback being based upon the checkpoint log.
-
Specification