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 data sharing in collaborative design applications, such as CAD systems and software development environ- ments. In contrast, traditional research in distributed shared memory has focused on supporting parallel pro- grams; in this paper, we show how distributed pro- grams can benefit from this shared-memory abstrac- tion as well. Our approach, called log-based coherency, integrates coherency support with a standard mechanism for en- suring recoverability of persistent data. In our sys- tem, transaction logs are the basis of both recoverabil- ity and coherency. We have prototyped log-based co- herency as a set of extensions to RVM [Satyanarayanan et al. 94], a runtime package supporting recoverable virtual memory. Our prototype adds coherency sup- port to RVM in a simple way that does not require changes to existing RVM applications. We report on our prototype and its performance, and discuss its re- lationship to other DSM systems.