Toward high performance nonblocking software transactional memory

Toward high performance nonblocking software transactional memory
复制标题

迈向高性能非阻塞软件事务内存

DOI:
--
复制
发表时间:
2008
期刊:
ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming
影响因子:
--
通讯作者:
Mark Moir
Mark Moir
中科院分区:
--
文献类型:
--
作者:
Virendra J. Marathe;Mark Moir

文献摘要

被引文献

相似文献

近年来STM性能的实质性进展主要集中在阻塞系统上。我们描述了我们的工作,将最近关于阻塞STM的工作中出现的最重要的技术和优化集成到非阻塞STM的几个变体中。特别是,我们的设计是基于这样的理念,即保持共同的、无争用的执行路径尽可能简单(因此速度更快),同时仅在事务向前进展有问题的情况下才诉诸更昂贵的数据置换和元数据管理。我们在我们的非阻塞STM中采用了新颖的所有权“窃取”和元数据管理技术,以实现几个最近的阻塞STM优化,例如基于时间戳的验证和通过存储指令的所有权释放,所有这些都导致了一个更精简和有效的快速路径。(渴望版本控制)变体,以及两个重做日志(惰性版本控制)变体,后者基于用于由事务进行的写入的两种所有权获取技术(即,渴望和惰性)。实验结果表明,我们的努力提高了非阻塞STM的性能,达到了与最先进的阻塞STM(如TL2)竞争的水平。
Substantial advances in STM performance in recent years have mostly focused on blocking systems. We describe our work integrating the most important techniques and optimizations emerging from the recent work on blocking STMs into several variants of a nonblocking STM. In particular, our design is based on the philosophy of keeping the common, contention free execution path as simple (consequently fast) as possible, while resorting to the more expensive data displacement and metadata management only in situations where transactions have problems making forward progress. We employ novel ownership "stealing" and metadata management techniques in our nonblocking STM to enable several recent blocking STM optimizations such as timestamp-based validation and ownership release via store instructions, all leading to a more streamlined and efficient fast path. We present an undo log (eager versioning) variant of our STM, as well as two redo log (lazy versioning) variants, the latter of which are based on the two ownership acquisition techniques (namely eager and lazy) for writes made by transactions. Experimental results show that our efforts have improved the performance of nonblocking STMs up to the level of being competitive with the state-of-the-art blocking STMs such as TL2.