Implementing and Exploiting Inevitability in Software Transactional Memory
Implementing and Exploiting Inevitability in Software Transactional Memory
复制标题
实现和利用软件事务内存中的必然性
DOI:
--
复制
发表时间:
2008
期刊:
影响因子:
--
通讯作者:
M. Scott
中科院分区:
文献类型:
--
作者:
Michael F. Spear;M. Silverman;Luke Dalessandro;Maged M. Michael;M. Scott
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.