Academic Journals Database
Disseminating quality controlled scientific knowledge

Clustered Checkpointing and Partial Rollbacks for Reducing Conflict Costs in STMs

Author(s): Monika Gupta | Rudrapatna K Shyamasundar | Shivali Agarwal

Journal: International Journal of Computer Applications
ISSN 0975-8887

Volume: 1;
Issue: 22;
Start page: 80;
Date: 2010;
VIEW PDF   PDF DOWNLOAD PDF   Download PDF Original page

Keywords: Software Transactional Memory | Clustered Checkpointing | Dynamic Clustering | Probabilistic Clustering | Partial Rollback

A Software Transactional Memory is a concurrency controlmechanism that executes multiple concurrent, optimistic, lockfree,atomic transactions, thus alleviating many problemsassociated with conventional mutual exclusion primitives such asmonitors and locks. With the advent of massive multi-cores,more transactions can be initiated concurrently, howeverresulting in an increase in the percentage of conflictingtransactions. Each time a transaction conflicts, it imposes asignificant cost on the system, originating from the need to abortand redo all the operations, including the costly shared memoryread operations, thus making the overall system significantlyheavy and impractical. We present an algorithm, ClusteredCheckpointing and Partial Rollback (CCPR), for reducing theconflict costs of transactions in the face of increasing conflicts.The algorithm is based on intelligent checkpointing oftransactions as they proceed, and, in case of conflict, rolling themback to a safe, consistent, intermediate checkpoint, thus reducingconflict costs. The intelligence of the algorithm lies in the factthat as conflicts decrease, the checkpointing costs go low,however, when conflicts increase, the checkpointing costsincrease but are still pretty much less than the amount of savingsobtained by the partial rollback of the conflicting transactions.We simulated several applications in the CCPR framework andfound that it can result in as good as 17% reduction in theconflict costs originating from the need to redo all the sharedmemory read operations.
Affiliate Program      Why do you need a reservation system?