Transactional memory (TM) has recently emerged as an effective tool for extracting fine-grain parallelism from declarative
critical sections. In order to make STM systems practical, significant effort has been made to integrate transactions intoexisting programming languages. Unfortunately, existing approaches fail to provide a simple implementation that permits lock-basedand transaction-based abstractions to coexist seamlessly. Because of the fundamental semantic differences between locks andtransactions, legacy applications or libraries written using locks can not be transparently used within atomic regions. Toaddress these shortcomings, we implement a uniform transactional execution environment for Java programs in which transactionscan be integrated with more traditional concurrency control constructs. Programmers can run arbitrary programs that utilizetraditional mutual-exclusion-based programming techniques, execute new programs written with explicit transactional constructs,and freely combine abstractions that use both coding styles.
%0 Journal Article
%1 UniformTM
%A Ziarek, Lukasz
%A Welc, Adam
%A Adl-Tabatabai, Ali-Reza
%A Menon, Vijay
%A Shpeisman, Tatiana
%A Jagannathan, Suresh
%B Lecture Notes in Computer Science
%D 2008
%E Vitek, Jan
%I Springer
%J ECOOP 2008 – Object-Oriented Programming
%K Java PhD Proposal TransactionalMemory
%P 129--154
%R 10.1007/978-3-540-70592-5_7
%T A Uniform Transactional Execution Environment for Java
%V 5142
%X Transactional memory (TM) has recently emerged as an effective tool for extracting fine-grain parallelism from declarative
critical sections. In order to make STM systems practical, significant effort has been made to integrate transactions intoexisting programming languages. Unfortunately, existing approaches fail to provide a simple implementation that permits lock-basedand transaction-based abstractions to coexist seamlessly. Because of the fundamental semantic differences between locks andtransactions, legacy applications or libraries written using locks can not be transparently used within atomic regions. Toaddress these shortcomings, we implement a uniform transactional execution environment for Java programs in which transactionscan be integrated with more traditional concurrency control constructs. Programmers can run arbitrary programs that utilizetraditional mutual-exclusion-based programming techniques, execute new programs written with explicit transactional constructs,and freely combine abstractions that use both coding styles.
%@ 978-3-540-70591-8
@article{UniformTM,
abstract = {Transactional memory (TM) has recently emerged as an effective tool for extracting fine-grain parallelism from declarative
critical sections. In order to make STM systems practical, significant effort has been made to integrate transactions intoexisting programming languages. Unfortunately, existing approaches fail to provide a simple implementation that permits lock-basedand transaction-based abstractions to coexist seamlessly. Because of the fundamental semantic differences between locks andtransactions, legacy applications or libraries written using locks can not be transparently used within atomic regions. Toaddress these shortcomings, we implement a uniform transactional execution environment for Java programs in which transactionscan be integrated with more traditional concurrency control constructs. Programmers can run arbitrary programs that utilizetraditional mutual-exclusion-based programming techniques, execute new programs written with explicit transactional constructs,and freely combine abstractions that use both coding styles.},
added-at = {2008-08-12T19:40:17.000+0200},
affiliation = {Purdue University Dept. of Computer Sciences West Lafayette IN 47907},
author = {Ziarek, Lukasz and Welc, Adam and Adl-Tabatabai, Ali-Reza and Menon, Vijay and Shpeisman, Tatiana and Jagannathan, Suresh},
biburl = {https://www.bibsonomy.org/bibtex/2bf543a1f9ef7a7b79f431aa59ff3c372/gron},
description = {SpringerLink - Buchkapitel},
doi = {10.1007/978-3-540-70592-5_7},
editor = {Vitek, Jan},
interhash = {7a890c1759ad499cfd3c08010d7879d4},
intrahash = {bf543a1f9ef7a7b79f431aa59ff3c372},
isbn = {978-3-540-70591-8},
journal = {ECOOP 2008 – Object-Oriented Programming},
keyword = {Computer Science},
keywords = {Java PhD Proposal TransactionalMemory},
pages = {129--154},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
timestamp = {2013-08-09T16:41:00.000+0200},
title = {A Uniform Transactional Execution Environment for Java},
volume = 5142,
year = 2008
}