DCAS is not a silver bullet for nonblocking algorithm design

Simon Doherty*, David L. Detlefs, Lindsay Groves, Christine H. Flood, Victor Luchangco, Paul A. Martin, Mark Moir, Nir Shavit, Guy L. Steele

*Corresponding author for this work

Research output: Contribution to conferencePaperpeer-review

Abstract

Despite years of research, the design of efficient nonblocking algorithms remains difficult. A key reason is that current shared-memory multiprocessor architectures support only single-location synchronisation primitives such as compare-and-swap (CAS) and load-linked/store-conditional (LL/SC). Recently researchers have investigated the utility of doublecompare-and-swap (DCAS)-a generalisation of CAS that supports atomic access to two memory locations-in over-coming these problems. We summarise recent research in this direction and present a detailed case study concerning a previously published nonblocking DCAS-based double-ended queue implementation. Our summary and case study clearly show that DCAS does not provide a silver bullet for nonblocking synchronisation. That is, it does not make the design and verification of even mundane nonblocking data structures with desirable properties easy. Therefore, our position is that while slightly more powerful synchronisation primitives can have a profound effect on ease of algorithm design and verification, DCAS does not provide sufficient additional power over CAS to justify supporting it in hardware.

Original languageEnglish
Pages216-224
Number of pages9
DOIs
StatePublished - 2004
Externally publishedYes
EventSPAA 2004 - Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures - Barcelona, Spain
Duration: 27 Jun 200430 Jun 2004

Conference

ConferenceSPAA 2004 - Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures
Country/TerritorySpain
CityBarcelona
Period27/06/0430/06/04

Keywords

  • Concurrent data structures
  • DCAS
  • Double-compare-and-swap
  • Linked lists
  • Lock-free
  • Multiprocessors
  • Nonblocking synchronization

Fingerprint

Dive into the research topics of 'DCAS is not a silver bullet for nonblocking algorithm design'. Together they form a unique fingerprint.

Cite this