Integrating Coherency and Recoverability in Distributed Systems
Michael J. Feeley, Jeffrey S. Chase, Vivek R. Narasayya, and Henry M. Levy
Department of Computer Science and Engineering, FR-35
University of Washington
Seattle, WA 98195
{feeley,chase,nara,levy}@cs.washington.edu
Abstract
We propose a technique for maintaining coherency of a transactional
distributed shared memory, used by applications accessing a shared persistent
store. Our goal is to improve support for fine-grained distributed shared
memory in collaborative design applications, such as CAD systems and software
development enivronments. In contrast, traditional research in distributed
shared memory has focused on supporting parallel programs; in this paper,
we show how distributed programs can benefit from this shared-memory
abstraction as well.
Our approach, called log-based coherency, integrates coherency
support with a standard mechanism for ensuring recoverability of persistent
data. In our system, transaction logs are the basis of both recoverability
and coherency. We have prototyped log-based coherency as a set of extensions
to RVM [Satyanarayanan et al. 94], a runtime package supporting recoverable
virtual memory. Our prototype adds coherency support to RVM in a simple way
that does not require changes to existing RVM applications. We report on
out prototype and its performance, and discuss its relationship to other
DSM systems.