Fair synchronization

Gadi Taubenfeld

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


Most published concurrent data structures which avoid locking do not provide any fairness guarantees. That is, they allow processes to access a data structure and complete their operations arbitrarily many times before some other trying process can complete a single operation. Such a behavior can be prevented by enforcing fairness. However, fairness requires waiting or helping. Helping techniques are often complex and memory consuming. Does it mean that for enforcing fairness it is best to use locks? The answer is negative. We show that it is possible to automatically transfer any non-blocking or wait-free data structure into a similar data structure which satisfies a strong fairness requirement, without using locks and with limited waiting. The fairness we require is that no beginning process can complete two operations on a given resource while some other process is kept waiting on the same resource. Our approach allows as many processes as possible to access a shared resource at the same time as long as fairness is preserved. To achieve this goal, we introduce and solve a new synchronization problem, called fair synchronization. Solving the new problem enables us to add fairness to existing implementations of concurrent data structures, and to transform any solution to the mutual exclusion problem into a fair solution.

Original languageEnglish
Title of host publicationDistributed Computing - 27th International Symposium, DISC 2013, Proceedings
Number of pages15
StatePublished - 2013
Externally publishedYes
Event27th International Symposium on Distributed Computing, DISC 2013 - Jerusalem, Israel
Duration: 14 Oct 201318 Oct 2013

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8205 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference27th International Symposium on Distributed Computing, DISC 2013


  • Concurrent data structures
  • Fairness
  • Locks
  • Mutual exclusion
  • Non-blocking
  • Synchronization
  • Wait-freedom


Dive into the research topics of 'Fair synchronization'. Together they form a unique fingerprint.

Cite this