By Topic

Relaxed Concurrency Control in Software Transactional Memory

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

2 Author(s)
Aydonat, U. ; Dept. of Electr. & Comput. Eng., Univ. of Toronto, Toronto, ON, Canada ; Abdelrahman, T.S.

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.

Published in:

Parallel and Distributed Systems, IEEE Transactions on  (Volume:23 ,  Issue: 7 )