Title
Executing Java programs with transactional memory
Abstract
Parallel programming is difficult due to the complexity of dealing with conventional lock-based synchronization. To simplify parallel programming, there have been a number of proposals to support transactions directly in hardware and eliminate locks completely. Although hardware support for transactions has the potential to completely change the way parallel programs are written, initially transactions will be used to execute existing parallel programs. In this paper we investigate the implications of using transactions to execute existing parallel Java programs. Our results show that transactions can be used to support all aspects of Java multithreaded programs, and once Java virtual machine issues have been addressed, the conversion of a lock-based application into transactions is largely straightforward. The performance that these converted applications achieve is equal to or sometimes better than the original lock-based implementation.
Year
DOI
Venue
2006
10.1016/j.scico.2006.05.006
Sci. Comput. Program.
Keywords
Field
DocType
parallel java program,transactions,java multithreaded program,lock-based application,hardware support,multiprocessor architecture,parallel programming,java virtual machine issue,parallel program,original lock-based implementation,feedback optimization,converted application,transactional memory,executing java program,conventional lock-based synchronization
Programming language,Scala,Java annotation,Lock (computer science),Computer science,Java concurrency,Real time Java,Transactional memory,strictfp,Java
Journal
Volume
Issue
ISSN
63
2
Science of Computer Programming
Citations 
PageRank 
References 
6
0.45
24
Authors
8
Name
Order
Citations
PageRank
Brian D. Carlstrom136430.29
Jaewoong Chung299352.00
Hassan Chafi3111861.11
Austen Mcdonald449936.78
Chi Cao Minh5116061.54
Lance Hammond652066.61
Christos Kozyrakis75817355.99
Kunle Olukotun84532373.50