The computability of relaxed data structures: queues and stacks as examples

Nir Shavit, Gadi Taubenfeld

Research output: Contribution to journalArticlepeer-review

Abstract

Most concurrent data structures being designed today are versions of known sequential data structures. However, in various cases it makes sense to relax the semantics of traditional concurrent data structures in order to get simpler and possibly more efficient and scalable implementations. For example, when solving the classical producer-consumer problem by implementing a concurrent queue, it might be enough to allow the dequeue operation (by a consumer) to return and remove one of the two oldest values in the queue, and not necessarily the oldest one. We define infinitely many possible relaxations of several traditional data structures and objects: queues, stacks, multisets and registers, and examine their relative computational power.

Original languageEnglish
Pages (from-to)395-407
Number of pages13
JournalDistributed Computing
Volume29
Issue number5
DOIs
StatePublished - 1 Oct 2016
Externally publishedYes

Bibliographical note

Publisher Copyright:
© 2016, Springer-Verlag Berlin Heidelberg.

Keywords

  • Consensus number
  • Multiset
  • Queue
  • Relaxed data structure
  • Stack
  • Synchronization
  • Wait-freedom
  • k-register

Fingerprint

Dive into the research topics of 'The computability of relaxed data structures: queues and stacks as examples'. Together they form a unique fingerprint.

Cite this