当前位置: X-MOL 学术Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Long-lived counters with polylogarithmic amortized step complexity
Distributed Computing ( IF 1.3 ) Pub Date : 2022-11-29 , DOI: 10.1007/s00446-022-00439-5
Mirza Ahad Baig , Danny Hendler , Alessia Milani , Corentin Travers

A shared-memory counter is a widely-used and well-studied concurrent object. It supports two operations: An Inc operation that increases its value by 1 and a Read operation that returns its current value. In Jayanti et al (SIAM J Comput, 30(2), 2000), Jayanti, Tan and Toueg proved a linear lower bound on the worst-case step complexity of obstruction-free implementations, from read-write registers, of a large class of shared objects that includes counters. The lower bound leaves open the question of finding counter implementations with sub-linear amortized step complexity. In this work, we address this gap. We show that n-process, wait-free and linearizable counters can be implemented from read-write registers with \(O(\log ^2 n)\) amortized step complexity. This is the first counter algorithm from read-write registers that provides sub-linear amortized step complexity in executions of arbitrary length. Since a logarithmic lower bound on the amortized step complexity of obstruction-free counter implementations exists, our upper bound is within a logarithmic factor of the optimal. The worst-case step complexity of the construction remains linear, which is optimal. This is obtained thanks to a new max register construction with \(O(\log n)\) amortized step complexity in executions of arbitrary length in which the value stored in the register does not grow too quickly. We then leverage an existing counter algorithm by Aspnes, Attiya and Censor-Hillel [1] in which we “plug” our max register implementation to show that it remains linearizable while achieving \(O(\log ^2 n)\) amortized step complexity.



中文翻译:

具有多对数摊销步长复杂度的长寿命计数器

共享内存计数器是一种广泛使用和深入研究的并发对象。它支持两种操作:将其值增加 1的Inc操作和返回其当前值的Read操作。在 Jayanti 等人 (SIAM J Comput, 30(2), 2000) 中,Jayanti、Tan 和 Toueg 证明了大类读写寄存器的无障碍实现的最坏情况步复杂度的线性下界包含计数器的共享对象。下界留下了寻找具有次线性平摊步骤复杂度的计数器实现的问题。在这项工作中,我们解决了这一差距。我们表明n-进程、无等待和可线性化的计数器可以从具有\(O(\log ^2 n)\)摊销步骤复杂度的读写寄存器中实现。这是读写寄存器中的第一个计数器算法,它在任意长度的执行中提供次线性的平摊步骤复杂度。由于存在无障碍计数器实现的分摊步骤复杂性的对数下界,我们的上界在最优的对数因子内。构造的最坏情况步骤复杂度保持线性,这是最优的。这是由于使用\(O(\log n)\)的新最大寄存器结构获得的任意长度执行中的分摊步骤复杂性,其中存储在寄存器中的值不会增长太快。然后,我们利用 Aspnes、Attiya 和 Censor-Hillel [1] 的现有计数器算法,在其中“插入”我们的最大寄存器实现,以表明它在实现\(O(\log ^2 n)\)摊销步骤时保持线性化复杂。

更新日期:2022-11-30
down
wechat
bug