@inproceedings{d760c96e4380495297ab8a492d50ec91,
title = "Long-lived counters with polylogarithmic amortized step complexity",
abstract = "A shared-memory counter is a well-studied and widely-used concurrent object. It supports two operations: An Inc operation that increases its value by 1 and a Read operation that returns its current value. Jayanti, Tan and Toueg [16] proved a linear lower bound on the worst-case step complexity of obstruction-free implementations, from read and write operations, 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 paper, we address this gap. We present the first wait-free n-process counter, implemented using only read and write operations, whose amortized operation step complexity is O(log2 n) in all executions. This is the first non-blocking read/write counter algorithm 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 optimal up to a logarithmic factor.",
keywords = "Amortized Complexity, Concurrent Objects, Counter, Shared Memory, Wait-freedom",
author = "Baig, {Mirza Ahad} and Danny Hendler and Alessia Milani and Corentin Travers",
note = "Publisher Copyright: {\textcopyright} Mirza Ahad Baig, Danny Hendler, Alessia Milani, and Corentin Travers.; 33rd International Symposium on Distributed Computing, DISC 2019 ; Conference date: 14-10-2019 Through 18-10-2019",
year = "2019",
month = oct,
day = "1",
doi = "10.4230/LIPIcs.DISC.2019.3",
language = "English",
series = "Leibniz International Proceedings in Informatics, LIPIcs",
publisher = "Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing",
editor = "Jukka Suomela",
booktitle = "33rd International Symposium on Distributed Computing, DISC 2019",
address = "Germany",
}