Parallel Program Graphical Design with Program Execution Control Based on Global Application States

Author(s):  
M. Tudruj ◽  
J. Borkowski ◽  
D. Kopanski



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.



1995 ◽  
Vol 25 (1) ◽  
pp. 16-30 ◽  
Author(s):  
M.A. Driscoll ◽  
W.R. Daasch


Sign in / Sign up

Export Citation Format

Share Document