Title :
Hybrid Transactions: Lock Allocation and Assignment for Irrevocability
Author :
Sreeram, Jaswanth ; Pande, Santosh
Abstract :
Irrevocable Software Memory Transactions provide a safe way to perform certain unrecoverable operations such as I/O or system calls inside transactions. In this paper we show that this notion of irrevocability has strong relevance and impact on the performance and throughput of a transactional program. In this paper we propose a compile-time analysis and transactional memory runtime system that allows several irrevocable transactions to execute concurrently with normal revocable transactions unlike state-of-the-art methods that allow for at most one irrevocable transaction at a time. Our approach uses a compile-time analysis to derive a fine-grained lock-assignment scheme using a precise context-sensitive data structure analysis that is able to identify disjoint logical data structures. We describe the prototype implementation of our system in the LLVM compiler and TL2 STM system and evaluate the parallel performance of our system on high-contention transactional programs in the STAMP suite.
Keywords :
concurrency control; data structures; program compilers; shared memory systems; I/O; LLVM compiler; STAMP suite; TL2 STM system; compile-time analysis; context-sensitive data structure analysis; fine-grained lock-assignment scheme; high-contention transactional programs; hybrid transactions; irrevocable software memory transactions; lock allocation; lock assignment; normal revocable transactions; system calls; transactional memory runtime system; transactional program; unrecoverable operations; Concurrent computing; Data structures; Interference; Memory management; Runtime; Software; Synchronization; irrevocable; lock assignment; software transactions;
Conference_Titel :
Parallel & Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International
Conference_Location :
Shanghai
Print_ISBN :
978-1-4673-0975-2
DOI :
10.1109/IPDPS.2012.109