2008 37th International Conference on Parallel Processing (2008)
Sept. 9, 2008 to Sept. 11, 2008
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICPP.2008.55
Transactional Memory (TM) takes responsibility for concurrent, atomic execution of labeled regions of code, freeing the programmer from the need to manage locks. Typical implementations rely on speculation and rollback, but this creates problems for irreversible operations like interactive I/O.A widely assumed solution allows a transaction to operate in an inevitable mode that excludes all other transactions and is guaranteed to complete, but this approach does not scale. This paper explores a richer set of alternatives for software TM, and demonstrates that it is possible for an inevitable transaction to run in parallel with (non-conflicting) non-inevitable transactions, without introducing significant overhead in the non-inevitable case. We report experience with these alternatives in a graphical game application. We also consider the use of inevitability to accelerate certain common-case transactions.
Software Transactional Memory, Inevitability, I/O, System Calls
M. L. Scott, L. Dalessandro, M. M. Michael, M. F. Spear and M. Silverman, "Implementing and Exploiting Inevitability in Software Transactional Memory," 2008 37th International Conference on Parallel Processing(ICPP), vol. 00, no. , pp. 59-66, 2008.