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.