Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations

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 bo...

Full description

Bibliographic Details
Main Author: Golab, Wojciech
Other Authors: Hadzilacos, Vassos
Language:en_ca
Published: 2010
Subjects:
Online Access:http://hdl.handle.net/1807/26182
id ndltd-LACETR-oai-collectionscanada.gc.ca-OTU.1807-26182
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-OTU.1807-261822013-04-17T04:18:17ZConstant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write OperationsGolab, Wojciechdistributed computingtheoryshared memoryalgorithmscompare and swapsynchronization0984We 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-factor increase in RMR complexity.Hadzilacos, Vassos2010-112011-02-15T21:28:00ZNO_RESTRICTION2011-02-15T21:28:00Z2011-02-15T21:28:00ZThesishttp://hdl.handle.net/1807/26182en_ca
collection NDLTD
language en_ca
sources NDLTD
topic distributed computing
theory
shared memory
algorithms
compare and swap
synchronization
0984
spellingShingle distributed computing
theory
shared memory
algorithms
compare and swap
synchronization
0984
Golab, Wojciech
Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations
description 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-factor increase in RMR complexity.
author2 Hadzilacos, Vassos
author_facet Hadzilacos, Vassos
Golab, Wojciech
author Golab, Wojciech
author_sort Golab, Wojciech
title Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations
title_short Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations
title_full Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations
title_fullStr Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations
title_full_unstemmed Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations
title_sort constant-rmr implementations of cas and other synchronization primitives using read and write operations
publishDate 2010
url http://hdl.handle.net/1807/26182
work_keys_str_mv AT golabwojciech constantrmrimplementationsofcasandothersynchronizationprimitivesusingreadandwriteoperations
_version_ 1716580427524734976