This paper introduces nonblocking transaction composition (NBTC), a new methodology for atomic composition of nonblocking operations on concurrent data structures. Unlike previous software transactional memory (STM) approaches, NBTC leverages the linearizability of existing nonblocking structures, reducing the number of memory accesses that must be executed together, atomically, to only one per operation in most cases (these are typically the linearizing instructions of the constituent operations). Our obstruction-free implementation of NBTC, which we call Medley, makes it easy to transform most nonblocking data structures into transactional counterparts while preserving their nonblocking liveness and high concurrency. In our experiments, Medley outperforms Lock-Free Transactional Transform (LFTT), the fastest prior competing methodology, by 40--170%. The marginal overhead of Medley's transactional composition, relative to separate operations performed in succession, is roughly 2.2$\times$. For persistent data structures, we observe that failure atomicity for transactions can be achieved "almost for free" with epoch-based periodic persistence. Toward that end, we integrate Medley with nbMontage, a general system for periodically persistent data structures. The resulting txMontage provides ACID transactions and achieves throughput up to two orders of magnitude higher than that of the OneFile persistent STM system.
翻译:本文介绍非阻塞交易构成(NBTC),这是非阻塞数据结构中非阻塞操作的原子构成的新方法。与以往的软件交易内存(STM)方法不同,NBTC利用了现有非阻塞结构的线性可扩展性,将大多数情况下必须一起执行的存储存取数量从原子上减少到每个操作仅一个(典型的是各组成部分业务的线性指示)。我们称之为Medley的无阻执行NBTC,使我们很容易将大多数非阻塞数据结构转变为交易对应机构,同时保持其无阻住和高同价。在我们的实验中,Medley超越了现有非阻塞结构(LTT),这是最快的先前竞争方法。Medley的交易组成与连续执行的不同操作相比,其边际的顶端约为2.2美元。关于持续数据结构,我们观察到交易的失败原子可以“最免费”实现,同时保持其不阻塞的周期性。为此,我们把Medley与NbF-F-F-F-F-F-自由交易结构(LTTT)结合,这是最快的相互竞争方法,这是比S-MAT-MAT-MAT-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S