Clustered Checkpointing and Partial Rollbacks for Reducing Conflict Costs in STMs

Date Added: Aug 2010
Format: PDF

A Software Transactional Memory is a concurrency control mechanism that executes multiple concurrent, optimistic, lock free, atomic transactions, thus alleviating many problems associated with conventional mutual exclusion primitives such as monitors and locks. With the advent of massive multi-cores, more transactions can be initiated concurrently, however resulting in an increase in the percentage of conflicting transactions. Each time a transaction conflicts, it imposes a significant cost on the system, originating from the need to abort and redo all the operations, including the costly shared memory read operations, thus making the overall system significantly heavy and impractical.