A multiplicity queue is a concurrently-defined data type which relaxes the conditions of a linearizable FIFO queue to allow concurrent Dequeue instances to return the same value. It would seem that this should allow faster implementations, as processes should not need to wait as long to learn about concurrent operations at remote processes and previous work has shown that multiplicity queues are computationally less complex than the unrelaxed version. Intriguingly, recent work has shown that there is, in fact, not much speedup possible versus an unrelaxed queue implementation. Seeking to understand this difference between intuition and real behavior, we extend that work, increasing the lower bound for uniform algorithms. Further, we outline a path forward toward building proofs for even higher lower bounds, allowing us to hypothesize that the worst-case time to Dequeue approaches maximum message delay, which is similar to the time required for an unrelaxed Dequeue. We also give an upper bound for a special case to show that our bounds are tight at that point. To achieve our lower bounds, we use extended shifting arguments, which have been rarely used but allow larger lower bounds than traditional shifting arguments. We use these in series of inductive indistinguishability proofs which allow us to extend our proofs beyond the usual limitations of shifting arguments. This proof structure is an interesting contribution independently of the main result, as developing new lower bound proof techniques may have many uses in future work.
翻译:多重队列是一种并发定义的数据类型,它放宽了线性化FIFO队列的条件,允许并发的Dequeue实例返回相同的值。这似乎应该允许更快的实现,因为进程不需要等待太长时间来了解远程进程上的并发操作,且先前的研究表明,多重队列在计算上比非宽松版本复杂度更低。引人注目的是,最近的研究表明,实际上与非宽松队列实现相比,其加速效果并不显著。为理解直觉与实际行为之间的这种差异,我们扩展了该研究,提高了统一算法的下界。此外,我们勾勒出一条通向更高下界证明的前进路径,从而假设Dequeue的最坏情况时间接近最大消息延迟,这与非宽松Dequeue所需的时间类似。我们还给出了一个特殊情况的紧上界,以证明我们的界在该点上是紧的。为得到下界,我们使用了扩展移位论证——这种方法虽很少使用,但能比传统移位论证获得更大的下界。我们将其应用于一系列归纳不可区分性证明中,从而突破了移位论证的常规限制。这一证明结构本身是独立于主要结果之外的有趣贡献,因为开发新的下界证明技术可能在未来研究中具有广泛用途。