In a seminal work, Golab et al. showed that a randomized algorithm that works with atomic objects may lose some of its properties if we replace the atomic objects that it uses with linearizable objects. It was not known whether the properties that can be lost include the important property of termination (with probability 1). In this paper, we first show that, for randomized algorithms, termination can indeed be lost. Golab et al. also introduced strong linearizability, and proved that strongly linearizable objects can be used as if they were atomic objects, even for randomized algorithms: they preserve the algorithm's correctness properties, including termination. Unfortunately, there are important cases where strong linearizability is impossible to achieve. In particular, Helmi et al. MWMR registers do not have strongly linearizable implementations from SWMR registers. So we propose a new type of register linearizability, called write strong-linearizability, that is strictly stronger than linearizability but strictly weaker than strong linearizability. We prove that some randomized algorithms that fail to terminate with linearizable registers, work with write strongly-linearizable ones. In other words, there are cases where linearizability is not sufficient but write strong-linearizability is. In contrast to the impossibility result mentioned above, we prove that write strongly-linearizable MWMR registers are implementable from SWMR registers. Achieving write strong-linearizability, however, is harder than achieving just linearizability: we give a simple implementation of MWMR registers from SWMR registers and we prove that this implementation is linearizable but not write strongly-linearizable. Finally, we prove that any linearizable implementation of SWMR registers is necessarily write strongly-linearizable; this holds for shared-memory, message-passing, and hybrid systems.
翻译:Golab 等人( Golab et al.) 在一项开创性工作中, Golab 等人( Golab et al.) 显示,如果我们用可线性物体替换原子物体,那么与原子物体一起工作的随机算法可能会失去部分属性。 不清楚可以丢失的属性是否包括终止的重要属性( 概率 ) 。 在本文件中, 我们首先显示, 对于随机算法, 终止确实可以丢失。 Golab 等人( Golab et al.) 也引入了强烈的线性可线性, 并且证明, 强烈可线性物体可以被使用, 甚至可以像原子物体一样被使用, 甚至可以随机化的算法: 它们保存了算法的正确性, 包括终止。 不幸的是, 有重要的情况是, 直线性登记册无法实现。 特别是Helmi 和 al. MR. 登记册没有强烈的线性执行。 因此, 直线性 直线性 直线性 执行系统是绝对性, 。