Title :
Relaxed Concurrency Control in Software Transactional Memory
Author :
Aydonat, Utku ; Abdelrahman, Tarek S.
Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of Toronto, Toronto, ON, Canada
fDate :
7/1/2012 12:00:00 AM
Abstract :
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.
Keywords :
concurrency control; software performance evaluation; storage management; transaction processing; 2PL algorithm; conflict-serializability model; relaxed concurrency control; software transactional memory; transactional programming model; two-phase-locking algorithm; Concurrency control; Concurrent computing; Delay; Schedules; Software; Software algorithms; Upper bound; Transactional memory; concurrent programming; serializability; synchronization.;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2011.287