Issue No. 02 - Summer (1996 vol. 4)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/88.494605
This article reviews the increasingly important area of distributed-shared memory. This relatively new concept combines the advantages of the shared- and distributed-memory approaches. A DSM system logically implements the shared-memory model on a physically distributed-memory system. System designers can implement the specific mechanism for achieving the shared-memory abstraction in hardware or software in a variety of ways. The DSM system hides the remote communication mechanism from the application writer, preserving the programming ease and portability typical of shared-memory systems. DSM systems allow relatively easy modification and efficient execution of existing shared-memory system applications, which preserves software investments while maximizing the resulting performance. In addition, the scalability and cost-effectiveness of underlying distributed-memory systems are also inherited. Consequently, DSM systems offer a viable choice for building efficient, large-scale multiprocessors. The DSM model's ability to provide a transparent interface and convenient programming environment for distributed and parallel applications have made it the focus of numerous research efforts in recent years. Current DSM system research focuses on the development of general approaches that minimize the average access time to shared data, while maintaining data consistency. Some solutions implement a specific software layer on top of existing message-passing systems. Others extend strategies applied in shared-memory multiprocessors with private caches to multilevel memory systems. After first covering general DSM concepts and approaches, this article surveys existing DSM systems, developed either as research prototypes or commercial products and standards.
V. Milutinovic, J. Protic and M. Tomasevic, "Distributed Shared Memory: Concepts and Systems," in IEEE Concurrency (out of print), vol. 4, no. , pp. 63-79, 1996.