Linearizability, the traditional correctness condition for concurrent data structures is considered insufficient for the non-volatile shared memory model where processes recover following a crash. For this crash-recovery shared memory model, strict-linearizability is considered appropriate since, unlike linearizability, it ensures operations that crash take effect prior to the crash or not at all. This work formalizes and answers the question of whether an implementation of a data type derived for the crash-stop shared memory model is also strict-linearizable in the crash-recovery model. This work presents a rigorous study to prove how helping mechanisms, typically employed by non-blocking implementations, is the algorithmic abstraction that delineates linearizability from strict-linearizability. Our first contribution formalizes the crash-recovery model and how explicit process crashes and recovery introduces further dimensionalities over the standard crash-stop shared memory model. We make the following technical contributions: (i) we prove that strict-linearizability is independent of any known help definition; (ii) we then present a natural definition of help-freedom to prove that any obstruction-free, linearizable and help-free implementation of a total object type is also strict-linearizable; (iii) finally, we prove that for a large class of object types, a non-blocking strict-linearizable implementation cannot have helping. Viewed holistically, this work provides the first precise characterization of the intricacies in applying a concurrent implementation designed for the crash-stop model to the crash-recovery model, and vice-versa.
翻译:连接线性, 并存数据结构的传统正确性条件被认为不足以适用于非挥发性共享记忆模型, 即崩溃后进程恢复的流程。 对于这个崩溃恢复共享记忆模型来说, 严格的直线性被认为是合适的, 因为与线性可读性不同, 它确保坠毁操作在坠毁前发生效果, 而不是完全线性。 这项工作正式确定并回答了为坠毁- 停止共享记忆模型产生的数据类型是否在崩溃恢复模式中可严格线性的问题。 这项工作是一项严格的研究, 以证明如何帮助机制( 通常通过不阻塞执行而采用的机制) 是算法抽象的, 将线性可线性从严格的直线性定义。 我们的第一个贡献使崩溃恢复模式正规化, 以及清晰的流程性崩溃和复原如何在标准崩溃停止共享记忆模型上产生进一步的维度。 我们做出以下技术贡献:( ) 我们证明严格线性可独立于任何已知的整体帮助性定义。 (二) 我们随后提出了一个帮助自由性自然定义, 以证明任何阻碍性、 线性、 线性、 和帮助性平流性地平流化的轨道性 最终实施一个我们无法完全地平流的物体类型。