Brief announcement: Are lock-free concurrent algorithms practically wait-free?

Dan Alistarh, Keren Censor-Hille, Nir Shavit

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

Abstract

Lock-free concurrent algorithms guarantee that some concurrent operation will always make progress in a finite number of steps. Yet programmers would prefer to treat concurrent code as if it were wait-free, guaranteeing that all operations always make progress. Unfortunately, designing wait-free algorithms is in general a complex undertaking, and the resulting algorithms are not always efficient, so most non-blocking commercial code is only lock-free, and the design of efficient wait-free algorithms has been left to the academic community. In [2], we suggest a solution to this problem. We show that, for a large class of lock-free algorithms, under scheduling conditions which approximate those found in commercial hardware architectures, lock-free algorithms behave as if they are wait-free. In other words, programmers can keep on designing simple lock-free algorithms instead of complex wait-free ones, and in practice, they will get wait-free progress. Our main contribution is a new way of analyzing a general class of lock-free algorithms under a stochastic scheduler. Our analysis relates the individual performance of processes with the global performance of the system using Markov chain lifting between a complex per-process chain and a simpler system progress chain. We show that lock-free algorithms are not only wait-free with probability 1, but that in fact a broad subset of lock-free algorithms can be closely bounded in terms of the average number of steps required until an operation completes.

Original languageEnglish
Title of host publicationPODC 2014 - Proceedings of the 2014 ACM Symposium on Principles of Distributed Computing
PublisherAssociation for Computing Machinery
Pages50-52
Number of pages3
ISBN (Print)9781450329446
DOIs
StatePublished - 2014
Event2014 ACM Symposium on Principles of Distributed Computing, PODC 2014 - Paris, France
Duration: 15 Jul 201418 Jul 2014

Publication series

NameProceedings of the Annual ACM Symposium on Principles of Distributed Computing

Conference

Conference2014 ACM Symposium on Principles of Distributed Computing, PODC 2014
Country/TerritoryFrance
CityParis
Period15/07/1418/07/14

Keywords

  • Distributed computing
  • Lock-free algorithms
  • Progress properties
  • Schedulers
  • Shared memory
  • Wait-free algorithms

Fingerprint

Dive into the research topics of 'Brief announcement: Are lock-free concurrent algorithms practically wait-free?'. Together they form a unique fingerprint.

Cite this