为什么跨语言记忆不应该是无障碍的
Why Transactional Memory Should Not Be Obstruction-Free
摘要:
transmittance memory(TM)是一种固有的乐观抽象:它允许并发进程推测性地执行共享数据访问(事务)序列,并可以选择在将来中止它们。早期的TM设计避免使用锁,并依赖于非阻塞同步来确保无阻塞:不允许任何步骤争用的事务中止。然而,后来观察到,无障碍TM表现不佳,因此,目前最先进的TM实现是阻塞的,允许由于数据冲突而不是步骤争用而中止。在本文中,我们解释了这种转变,在TM实践理论上,通过复杂性界限。我们证明了几个重要的下限无障碍TM。然后,我们提出了一个基于锁的TM实现,击败所有这些下限。总之,我们的研究结果表现出相当大的复杂性差距之间的非阻塞和阻塞TM实现。
英文摘要:
Transactional memory (TM) is an inherently optimistic abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an option of aborting them in the future. Early TM designs avoided using locks and relied on non-blocking synchronization to ensure obstruction-freedom: a transaction that encounters no step contention is not allowed to abort. However, it was later observed that obstruction-free TMs perform poorly and, as a result, state-of-the-art TM implementations are nowadays blocking, allowing aborts because of data conflicts rather than step contention. In this paper, we explain this shift in the TM practice theoretically, via complexity bounds. We prove a few important lower bounds on obstruction-free TMs. Then we present a lock-based TM implementation that beats all of these lower bounds. In sum, our results exhibit a considerable complexity gap between non-blocking and blocking TM implementations.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。