A practical wait-free simulation for lock-free data structures

Shahar Timnat, Erez Petrank

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

Abstract

Lock-free data structures guarantee overall system progress, whereas wait-free data structures guarantee the progress of each and every thread, providing the desirable non-starvation guarantee for concurrent data structures. While practical lock-free implementations are known for various data structures, wait-free data structure designs are rare. Wait-free implementations have been notoriously hard to design and often inefficient. In this work we present a transformation of lock-free algorithms to wait-free ones allowing even a non- expert to transform a lock-free data-structure into a practical wait-free one. The transformation requires that the lock-free data structure is given in a normalized form defined in this work. Using the new method, we have designed and implemented wait-free linked-list, skiplist, and tree and we measured their performance. It turns out that for all these data structures the wait-free implementations are only a few percent slower than their lock-free counterparts, while still guaranteeing non-starvation.

Original languageEnglish
Title of host publicationPPoPP 2014 - Proceedings of the 2014 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Pages357-368
Number of pages12
DOIs
StatePublished - 2014
Event2014 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2014 - Orlando, FL, United States
Duration: 15 Feb 201419 Feb 2014

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

Conference

Conference2014 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2014
Country/TerritoryUnited States
CityOrlando, FL
Period15/02/1419/02/14

Keywords

  • Lock-freedom
  • Wait-freedom

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'A practical wait-free simulation for lock-free data structures'. Together they form a unique fingerprint.

Cite this