Distributed Shared Memory: A Survey of Issues and Algorithms
Loading...
Date
1991-01-07
Authors
Lo, Virginia M.
Nitzberg, Bill
Journal Title
Journal ISSN
Volume Title
Publisher
University of Oregon
Abstract
A distributed shared memory (DSM) is an implementation of the shared memory
abstraction on a multicomputer architecture which has no physically shared memory.
Shared memory is important (as a programming model) not only because of the vast
number of existing applications which use it, but also because it is a more appropriate
paradigm for certain algorithms. The DSM concept was demonstrated to be viable by
Li, in IVY. Recently, there has been a surge of new projects which implement DSM in
a variety of software and hardware environments.
This paper gives an integrated overview of distributed shared memory. We discuss
theoretical lower bounds on the performance of DSM systems, design choices such as
structure and granularity, access, coherence semantics, scalability, and heterogeneity,
and open problems in DSM. In addition, we describe algorithms used to implement and
improve efficiency: reducing thrashing, eliminating false sharing, matching the coherence
protocol to the type of sharing, and relaxing the semantics of the memory coherence
provided. A spectrum of current DSM systems are used as illustrative examples.
Description
26 pages
Keywords
distributed shared memory (DSM), cache coherence, synchronization, memory consistency, distributed systems, preprint