Compiler and runtime support for efficient software transactional memory

Author(s):  
Ali-Reza Adl-Tabatabai ◽  
Brian T. Lewis ◽  
Vijay Menon ◽  
Brian R. Murphy ◽  
Bratin Saha ◽  
...  
2006 ◽  
Vol 41 (6) ◽  
pp. 26-37 ◽  
Author(s):  
Ali-Reza Adl-Tabatabai ◽  
Brian T. Lewis ◽  
Vijay Menon ◽  
Brian R. Murphy ◽  
Bratin Saha ◽  
...  

2012 ◽  
Vol 21 (02) ◽  
pp. 1240005
Author(s):  
CHENG WANG ◽  
YOUFENG WU

Transactional memory addresses a number of important issues in lock-based parallel programs. Unfortunately, the semantics of transactions are different from those of critical sections defined by locks. The semantic differences make it difficult to correctly port existing lock-based programs to transaction-based programs. Experienced programmers accustomed to lock-based programming can easily make mistakes in transaction-based programming as parallel programs running correctly using locks can run incorrectly when critical sections are converted to using transactions. This problem becomes even more severe in porting lock-based programs to use the efficient software transactional memory. In this paper, we first identify three necessary properties in a program for the program execution using transactions to be equivalent to the program execution using locks. Assuming that the input lock-based program satisfies the necessary properties (i.e., a well-behaved parallel program), we next present a correctness condition to verify the transactional memory implementation in order for the program execution using transactions to be equivalent to the program execution using locks. Finally, we develop a correct and efficient software transactional memory implementation that satisfies the correctness condition so that locks in the well-behaved parallel programs can be converted to use the efficient software transactional memory easily and correctly.


2018 ◽  
Vol 51 (12) ◽  
pp. 105-113
Author(s):  
Matthew Le ◽  
Ryan Yates ◽  
Matthew Fluet

Sign in / Sign up

Export Citation Format

Share Document