Publication: Set Associative Lock in Software Transactional Memory

All || By Area || By Year

Title Set Associative Lock in Software Transactional Memory
Authors/Editors* Ehsan Atoofian
Where published* A4MMC
How published* Proceedings
Year* 2011
Transactional Memory (TM) is emerging as a promising paradigm to simplify concurrent programming which is too difficult for most of programmers but crucial to harness performance benefit of multi-core processors. Software Transaction Memory (STM) is an important implementation of TM since it provides a mechanism to run TM programs when hardware support is not available or hardware TM resources are fully utilized. Most of STMs exploit a lock table to synchronize transactional accesses to shared data structures. Memory locations hash into entries of the lock table to detect conflicts in the event of simultaneous accesses to the shared data structures. In the current implementation of the lock table, if two distinct addresses map to the same entry of the table, they are treated as conflict even though there is no true conflict between the two addresses. This is called false conflict. In the event of false conflict, transactions are aborted conservatively which reduces concurrency level in programs. In this paper, we study false conflict in STMs and propose Set Associative Lock (SAL) to reduce frequency of false conflicts. Inspired by set associative caches, SAL increases associativity of the lock table to reduce likelihood of aliasing-induced conflicts. We have incorporated SAL into TL2 and compared the performance of the new implementation with the original STM using Stamp v0.9.7 benchmark suite. Our results show that SAL is highly effective at reducing false conflicts and significantly improves performance.
Go to Computer Architecture
Back to page 10 of list