Title:
Implementing and Programming Weakly Consistent Memories
Implementing and Programming Weakly Consistent Memories
Author(s)
John, Ranjit
Advisor(s)
Editor(s)
Collections
Supplementary to
Permanent Link
Abstract
A distributed operating system should provide abstractions that make
it easy to program applications, provide good performance and allow
applications to scale. Operating systems structured around message passing
kernels typically ensure good performance and are scalable. On the other
hand, Distributed Shared Memory (DSM) systems are much easier to program.
However, maintaining a consistent view of shared memory operations in
a DSM system can be expensive. Early DSM implementations used variants of
multiprocessor cache consistency algorithms that provided sequential
consistency. These, however, do not perform very well in distributed systems
where the message latencies are much higher.
This thesis explores a memory consistency model called causal consistency
which provides weaker consistency guarantees than sequential consistency.
Many applications which execute correctly on a sequentially consistent DSM
can run correctly without any change in code on a causal DSM.
By programming applications that have a variety of data sharing
patterns, it is shown that performance comparable to the message passing
implementations of the applications can be achieved on the causal DSM
system. The improved performance is due to a significant reduction (70 -
90%) in communication costs compared to the implementation of a sequentially
consistent DSM system. These results show that causal memory can meet the
consistency and performance requirements of many distributed and parallel
applications.
Sponsor
Date Issued
1995
Extent
525074 bytes
Resource Type
Text
Resource Subtype
Technical Report