Public data structures: Counters as a special case

Hagit Brit, Shlomo Moran, Gadi Taubenfeld

Research output: Contribution to journalArticlepeer-review


A public data structure is required to work correctly in a concurrent environment where many processes may try to access it, possibly at the same time. In implementing such a structure nothing can be assumed in advance about the number or the identities of the processes that might access it. While most of the known concurrent data structures are not public, there are few which are public. Interestingly, these public data structures all deal with various variants of counters, which are data structures that support two operations: increment and read. In this paper, we define the notion of a public data structure, and investigate several types of public counters. Then we give an optimal construction of public counters which satisfies a weak correctness condition, and show that there is no public counter which satisfies a stronger condition. It is hoped that this work will provide insights into the design of other, more complicated, public data structures.

Original languageEnglish
Pages (from-to)401-423
Number of pages23
JournalTheoretical Computer Science
Issue number1
StatePublished - 23 Oct 2002

Bibliographical note

Funding Information:
A preliminary version of this work appeared in the Proc. 3rd Israel Symp. on the Theory of Computing and Systems, Tel Aviv, January 1995. ∗Corresponding author. E-mail address: (S. Moran). 1This research was supported in part by the fund for promotion of the research in the Technion. 2Part of the work was done while the author was working for AT& T Bell Laboratories.


Dive into the research topics of 'Public data structures: Counters as a special case'. Together they form a unique fingerprint.

Cite this