Distributed shared object memory

This paper describes the goals, programming model and design of DiSOM, a software based distributed shared memory system for a multicomputer composed of heterogeneous nodes connected by a high-speed network. A typical configuration is a cluster of tens of high-performance workstations and shared-memory multiprocessors of two or three different architectures, each with a processing power of a few hundred MIPS and several hundred kilobytes of memory, and connected by a high-speed interconnect such as ATM. Programs in DiSOM are written using a shared-memory multiprocessor model where synchronization objects are associated with data items. Programs use a threads library to start new threads, possibly at a specified node, and to synchronize between concurrent threads. Programs must call the synchronization primitives explicitly, as they would in a shared-memory multiprocessor. The system traps these calls and uses the information to drive both distributed synchronization and the memory coherence protocol. DiSOM uses the entry consistency memory model to ensure coherence. This model guarantees memory consistency, as long as an access to a data item is enclosed between an acquire and a release on the synchronization object associated with the data item. Stronger consistency models, such as release consistency and processor consistency, may also be supported.<<ETX>>

[1]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1988, TOCS.

[2]  Umakishore Ramachandran,et al.  An implementation of distributed shared memory , 1991, Softw. Pract. Exp..

[3]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[4]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[5]  Kai Li,et al.  Heterogeneous Distributed Shared Memory , 1992, IEEE Trans. Parallel Distributed Syst..

[6]  Kumar V. Vadaparty Pointer Swizzling at Page-Fault Time , 1995, J. Object Oriented Program..

[7]  Robert Joseph Fowler Decentralized object finding using forwarding addresses (object, network, distribution) , 1985 .

[8]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[9]  Willy Zwaenepoel,et al.  Adaptive software cache management for distributed shared memory architectures , 1990, ISCA '90.

[10]  P. Guedes,et al.  Extending the operating system to support an object-oriented environment , 1989, OOPSLA 1989.

[11]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[12]  Brian N. Bershad,et al.  Midway : shared memory parallel programming with entry consistency for distributed memory multiprocessors , 1991 .

[13]  Henri E. Bal,et al.  A Distributed Implementation of the Shared Data-object Model , 1989 .