Disjoint-access-parallel implementations of strong shared memory primitives

128Citations
Citations of this article
30Readers
Mendeley users who have this article in their library.

Abstract

In this paper, we present efficient implementations of strong shared memory primitives. We use the asynchronous shared memory model. In this model, processes communicate by applying primitive operations (e.g. Read, Write) to a shared memory. We define disjoint-access-parallel implementations. Intuitively, an implementation of shared memory primitives is disjoint-access-parallel, if processes which execute shared memory operations that access disjoint sets of words, progress concurrently, without interfering with each other (under an assumption described in the paper). Two commonly used primitives, both in theory and in practice, are Compare&Swap (C&S) and the pair Load Linked (LL) and Store Conditional (SC). We present an efficient, non-blocking, disjointaccess-parallel implementation of LL and SCn, using Read and C&S. SCn is a generalization of SC, which accesses n memory words. This implementation is constructed in three stages. We first present an implementation of LL, SC and an additional primitive, called Validate (VL), using Read and C&S. We then present an implementation of Read and C&Sn, using LL, SC and VL (C&Sn is a generalization of C&S, which accesses n memory words). Finally, we present an implementation of SCn, using Read and C&Sn. The work and space complexities of the implementations presented in this paper, improve the work and space complexities of previous works.

Cite

CITATION STYLE

APA

Israeli, A., & Rappoport, L. (1994). Disjoint-access-parallel implementations of strong shared memory primitives. In Proceedings of the Annual ACM Symposium on Principles of Distributed Computing (Vol. Part F129432, pp. 151–160). Association for Computing Machinery. https://doi.org/10.1145/197917.198079

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free