Implementing and Exploiting Inevitability in Software Transactional Memory

Implementing and Exploiting Inevitability in Software Transactional Memory
复制标题

实现和利用软件事务内存中的必然性

DOI:
--
复制
发表时间:
2008
期刊:
International Conference on Parallel Processing
影响因子:
--
通讯作者:
M. Scott
M. Scott
中科院分区:
--
文献类型:
--
作者:
Michael F. Spear;M. Silverman;Luke Dalessandro;Maged M. Michael;M. Scott

文献摘要

被引文献

相似文献

事务性内存(TM)负责标记代码区域的并发原子执行,从而使程序员不必管理锁。典型的实现依赖于推测和回滚,但这会给交互I/O等不可逆操作带来问题。一个广泛假设的解决方案允许事务以排除所有其他事务的必然模式运行,并保证完成,但这种方法不具有可伸缩性。本文探讨了软件TM的一组更丰富的替代方案,并证明了不可避免的事务可以与(不冲突的)非不可避免的事务并行运行,而不会在非不可避免的情况下引入显著的开销。我们报告了在图形游戏应用程序中使用这些替代方案的经验。我们还考虑使用必然性来加速某些常见情况下的事务。
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.