Causal memory meets the consistency and performance needs of distributed applications!
Mustaque Ahamad, Ranjit John, Prince Kohli, Gil Neiger · 1994
In order to provide acceptable performance in large scale distributed systems, shared data must be cached at or close to nodes where it is accessed. Maintaining the consistency of such cached data is an important problem in distributed systems. We claim that causal memory, which defines consistency of shared data based on causal orderings between data accesses, provides strong enough consistency guarantees to be usable yet it allows efficient and scalable implementations. In this paper, we describe some results of our recent work that support this claim. 1 Introduction Distributed systems differ from other types of systems in the support they provide for sharing state across nodes. Operating systems must provide abstractions that reduce the complexity of state sharing, yet it should be possible to implement these abstractions efficiently. A shared memory abstraction can be provided in distributed systems in software, but due to large latencies and high communication costs, efficient i...