Design of the Munin Distributed Shared Memory System

John B. Carter
Department of Computer Science
University of Utah, Salt Lake City, UT 84112


Software distributed shared memory (DSM) is a software abstraction of shared memory on a distributed memory machine. The key problem in building an efficient DSM system is to reduce the amount of communication needed to keep the distributed memories consistent. The Munin DSM system incorporates a number of novel techniques for doing so, including the use of multiple consistency protocols and support for multiple concurrent writer protocols. Due to these, and other, features, Munin is able to achieve high performance on a variety of numerical applications. This paper contains a detailed description of the design and implementation of the Munin prototype, with special emphasis given to its novel write shared protocol. Furthermore, it describes a number of lessons that we learned from our experience with the prototype implementation that are relevant to the implementation of future DSM's.

Full paper appeared in Journal of Parallel and Distributed Computing, September 1995.