Constant-RMR implementations of CAS and other synchronization primitives using read and write operations

Wojciech Golab, Vassos Hadzilacos, Danny Hendler, Philipp Woelfel

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

24 Scopus citations

Abstract

We consider asynchronous multiprocessors where processes communicate only by reading or writing shared memory. We show how to implement consensus, all comparison primitives (such as CAS and TAS), and load-linked/store-conditional using only a constant number of remote memory references (RMRs), in both the cache-coherent and the distributed-shared-memory models of such multiprocessors. Our implementations are blocking, rather than wait-free: they ensure progress provided all processes that invoke the implemented primitive are live. Our results imply that any algorithm using read and write operations, comparison primitives, and load-linked/store-conditional, can be simulated by an algorithm that uses read and write operations only, with at most a constant blowup in RMR complexity.

Original languageEnglish
Title of host publicationPODC'07
Subtitle of host publicationProceedings of the 26th Annual ACM Symposium on Principles of Distributed Computing
Pages3-12
Number of pages10
DOIs
StatePublished - 14 Dec 2007
EventPODC'07: 26th Annual ACM Symposium on Principles of Distributed Computing - Portland, OR, United States
Duration: 12 Aug 200715 Aug 2007

Publication series

NameProceedings of the Annual ACM Symposium on Principles of Distributed Computing

Conference

ConferencePODC'07: 26th Annual ACM Symposium on Principles of Distributed Computing
Country/TerritoryUnited States
CityPortland, OR
Period12/08/0715/08/07

Keywords

  • Comparison primitives
  • Consensus
  • Mutual exclusion
  • Remote memory references
  • Shared memory

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'Constant-RMR implementations of CAS and other synchronization primitives using read and write operations'. Together they form a unique fingerprint.

Cite this