Efficient Partial Roll-backing Mechanism for Transactional Memory Systems
Artikel i vetenskaplig tidskrift, 2008

Transactional memory systems promise to reduce the burden of exposing thread-level parallelism in programs by relieving programmers from analyzing complex inter-thread dependences in detail. By encapsulating large program code blocks and executing them as atomic blocks, dependence checking is deferred to run-time. One of many conflicting transactions will then be committed whereas the others will have to roll-back and re-execute. In current proposals, a checkpoint is taken at the beginning of the atomic block and all execution can be wasted even if the conflicting access happens at the end of the atomic block. In this paper, we propose a novel scheme that (1) predicts when the first conflicting access occurs and (2) inserts a checkpoint before it is executed. When the prediction is correct, the only execution discarded is the one that has to be re-done. When the prediction is incorrect, the whole transaction has to be re-executed just as before. Overall, we find that our scheme manages to maintain high prediction accuracy and leads to a quite significant reduction in the number of lost cycles due to roll-backs; the geometric mean speedup across five applications is 16%.

Transactional Memory

Intermediate checkpointing

Författare

Mridha Mohammad Waliullah

Chalmers, Data- och informationsteknik, Datorteknik

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 6590 256-274

Ämneskategorier

Datorteknik

DOI

10.1007/978-3-642-19448-1_14

ISBN

9783642194474