Read-Write Lock Allocation in Software Transactional Memory

Amir Ghanbari Bavarsad, Ehsan Atoofian · 2013

Transactional Memory (TM) is a promising programming model for managing concurrent accesses to the shared memory locations. Time-based Software Transactional Memories (STMs) exploit a global clock to maintain consistency of transactions and validate transactional data. One of the shortcomings of this technique is that the global clock becomes bottleneck as the number of transactions increases. In this paper, we introduce two optimization techniques to overcome the overhead of the global clock. The first technique is Read-Write Lock Allocation (RWLA) which does not exploit any central data structure to maintain consistency of transactions. This method improves performance of STMs only if transactions commit successfully. However, in the event of frequent conflicts, RWLA increases cost of abort and degrades performance. Our second optimization technique is an adaptive technique which dynamically selects either baseline scheme or RWLA. Our experimental results reveal that our adaptive technique is effective and is able to improve performance of transactional applications up to 66%.

Read the paper · More papers on PaperTik