Issue No.07 - July (2012 vol.23)
Utku Aydonat , University of Toronto, Toronto
Tarek S. Abdelrahman , University of Toronto, Toronto
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2011.287
Some of today's TM systems implement the two-phase-locking (2PL) algorithm which aborts transactions every time a conflict occurs. 2PL is a simple algorithm that provides fast transactional operations. However, it limits concurrency in benchmarks with high contention because it increases the rate of aborts. We propose the use of a more relaxed concurrency control algorithm to provide better concurrency. This algorithm is based on the conflict-serializability (CS) model. Unlike 2PL, it allows some transactions to commit successfully even when they make conflicting accesses. We implement this algorithm in a STM system and evaluate its performance on 16 cores using standard benchmarks. Our evaluation shows that the algorithm improves the performance of applications with long transactions and high abort rates. Throughput is improved by up to 2.99 times despite the overheads of testing for CS at runtime. These improvements come with little additional implementation complexity and require no changes to the transactional programming model. We also propose an adaptive approach that switches between 2PL and CS to mitigate the overhead in applications that have low abort rates.
Transactional memory, serializability, concurrent programming, synchronization.
Utku Aydonat, Tarek S. Abdelrahman, "Relaxed Concurrency Control in Software Transactional Memory", IEEE Transactions on Parallel & Distributed Systems, vol.23, no. 7, pp. 1312-1325, July 2012, doi:10.1109/TPDS.2011.287