Asynchronous exclusive selection

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Scopus citations


The distributed setting of this paper is an asynchronous system consisting of n processes prone to crashes and a number of shared read-write registers. We consider problems regarding assigning integer values to processes in an exclusive way, in the sense that no integer is assigned to two distinct processes. In the problem of renaming, any k ≤ n processes, that hold original names from a range [N] = {1,..., N}, contend to acquire unique integers as new names in a smaller range [M} using some r shared registers. When k and N are known, our wait-free solution operates in O(log k(log N + log k log log N)) local steps, for M = O(k), and with r = O(klog N/k) auxiliary shared registers. Processes obtain new names by exploring their neighbors in bipartite graphs of suitable expansion properties, with nodes representing names and processes competing for the name of each visited node. We show that 1 + min{k - 2, log2r N/2M} local steps are required in the worst case to wait-free solve renaming, when k and N are known and r and M are given constraints. We give a fully adaptive solution, with neither k nor N known, having M = 8k - lg k - 1 as a bound on the range of new names, operating in O(k) steps and using O(n2) registers. We apply renaming algorithms to obtain solutions to the Store & Collect problem. When both k and N are known, then storing can be performed in O(log k(log N + log k log log N)) steps and collecting in O(k) steps, for r = O(k log(N/k)) registers. We consider the problem Unbounded-Naming in which processes repeatedly require new names, while no name can be reused once assigned, so that infinitely many integers need to be exclusively assigned as names. For no fixed integer i can one guarantee in a wait-free manner that i is eventually assigned to be a name, so some integers may never be used; the upper bound on the number of such unused integers is used as a measure of quality of a solution. We show that Unbounded-Naming is solvable in a non-blocking way with at most n - 1 integers never assigned as names, which is best possible, and in a wait-free manner with at most n(n - 1) values never assigned as names.

Original languageEnglish (US)
Title of host publicationPODC'08
Subtitle of host publicationProceedings of the 27th Annual ACM Symposium on Principles of Distributed Computing
PublisherAssociation for Computing Machinery (ACM)
Number of pages10
ISBN (Print)9781595939890
StatePublished - 2008
Externally publishedYes
Event27th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing - Toronto, ON, Canada
Duration: Aug 18 2008Aug 21 2008

Publication series

NameProceedings of the Annual ACM Symposium on Principles of Distributed Computing


Conference27th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing
CityToronto, ON


  • Adaptation to contention
  • Asynchrony
  • Crashes
  • Graph expansion
  • Local step complexity
  • Non-blocking
  • Read-write shared registers
  • Renaming
  • Store and collect
  • Wait-free

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Cite this