Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Distributed Shared Memory: Concepts and Systems

Published: 01 June 1996 Publication History

Abstract

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.

References

[1]
M.J. Flynn, Computer Architecture: Pipelined and Parallel Processor Design, Jones and Bartlett, Boston, 1995.]]
[2]
V. Lo, "Operating Systems Enhancements for Distributed Shared Memory," Advances in Computers, Vol. 39, 1994, pp. 191-237.]]
[3]
J. Protic M. Tomasevic and V. Milutinovic, "A Survey of Distributed Shared Memory Systems," Proc. 28th Ann. Hawaii Int'l Conf. System Sciences, IEEE Computer Society Press, Los Alamitos, Calif., 1995, pp. 74-84.]]
[4]
M. Tomasevic and V. Milutinovic, "Hardware Approaches to Cache Coherence in Shared-Memory Multiprocessors, Part 1 (Basic Issues)," IEEE Micro, Vol. 14, No. 5, Oct. 1994, pp. 52-59.]]
[5]
M. Tomasevic and V. Milutinovic, "Hardware Approaches to Cache Coherence in Shared-Memory Multiprocessors, Part 2 (Advanced Issues)," IEEE Micro, Vol. 14, No. 6, Dec. 1994, pp. 61-66.]]
[6]
I. Tartalja and V. Milutinovic, "A Survey of Software Solutions for Maintenance of Cache Consistency in Shared Memory Multiprocessors," Proc. 28th Ann. Hawaii Int'l Conf. System Sciences, CS Press, 1995, pp. 272-282.]]
[7]
K. Li and P. Hudak, "Memory Coherence in Shared Virtual Memory Systems," ACM Trans. Computer Systems, Vol. 7, No. 4, Nov. 1989, pp. 321-359.]]
[8]
M. Stumm and S. Zhou, "Algorithms Implementing Distributed Shared Memory," Computer, Vol. 23, No. 5, May 1990, pp. 54-64.]]
[9]
D.L. Black A. Gupta and W. Weber, "Competitive Management of Distributed Shared Memory," Compcon '89, CS Press, 1989, pp. 184-190.]]
[10]
R.E. Kessler and M. Livny, "An Analysis of Distributed Shared Memory Algorithms," Proc. Ninth Int'l Conf. Distributed Computing Systems, CS Press, 1989, pp. 498-505.]]
[11]
R. Bisiani and A. Forin, "Multilanguage Parallel Programming of Heterogeneous Machines," IEEE Trans. Computers, Vol. 37, No. 8, Aug. 1988 pp. 930-945.]]
[12]
J. Protic M. Tomasevic and V. Milutinovic, "A Survey of Distributed Shared Memory: Concepts and Systems," Tech. Report No. ETF-TR-95-157, Dept. of Computer Engineering, Univ. of Belgrade, Belgrade, Yugoslavia, 1995.]]
[13]
J. Protic M. Tomasevic and V. Milutinovic, "Tutorial on Distributed Shared Memory: Concepts and Systems," CS Press, to be published in 1996.]]
[14]
K. Gharachorloo, et al., "Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors," Proc. 17th Ann. Int'l Symp. Computer Architecture, CS Press, 1990, pp. 15-26.]]
[15]
P. Keleher A.L. Cox and W. Zwaenepoel, "Lazy Release Consistency for Software Distributed Shared Memory," Proc. 19th Ann. Int'l Symp. Computer Architecture, CS Press, 1992, pp. 13-21.]]
[16]
K. Li, "IVY: A Shared Virtual Memory System for Parallel Computing," Proc. Int'l Conf. Parallel Processing, IEEE Computer Society Press, Los Alamitos, Calif., 1988, pp. 94-101.]]
[17]
S. Zhou M. Stumm and T. McInerney, "Extending Distributed Shared Memory to Heterogeneous Environments," Proc. 10th Int'l Conf. Distributed Computing Systems, CS Press, 1990, pp. 30-37.]]
[18]
J.B. Carter J.K. Bennet and W. Zwaenepoel, "Implementation and Performance of Munin," Proc. 13th ACM Symp. Operating Systems Principles, ACM Press, New York, 1991, pp. 152-164.]]
[19]
P. Keleher, et al., "TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems," Proc. Usenix Winter Conf., Usenix Assoc., Berkeley, Calif., 1994, pp. 115-132.]]
[20]
J.P. Singh W.-D. Weber and A. Gupta, "Splash: Stanford Parallel Applications for Shared Memory," Tech. Report CSL-TR-91-469, Stanford Univ., Stanford, Calif., 1991.]]
[21]
B.N. Bershad M.J. Zekauskas and W.A. Sawdon, "The Midway Distributed Shared Memory System," Compcon 93, CS Press, 1993, pp. 528-537.]]
[22]
I. Schoinas, et al., "Fine-Grain Access Control for Distributed Shared Memory," Proc. Sixth Int'l Conf. Architectural Support for Programming Languages and Operating Systems, ACM Press, 1994, pp. 297-306.]]
[23]
B. Fleisch and G. Popek, "Mirage: A Coherent Distributed Shared Memory Design," Proc. 14th ACM Symp. Operating System Principles, ACM Press, 1989, pp. 211-223.]]
[24]
U. Ramachandran and M.Y.A. Khalidi, "An Implementation of Distributed Shared Memory," Software Practice and Experience, Vol. 21, No. 5, May 1991, pp. 443-464.]]
[25]
S. Ahuja N. Carriero and D. Gelernter, "Linda and Friends," Computer, Vol. 19, No. 8, May 1986, pp. 26-34.]]
[26]
H.E. Bal and A.S. Tannenbaum, "Distributed Programming with Shared Data," Int'l Conf. on Computer Languages, CS Press, 1988, pp. 82-91.]]
[27]
G. Delp D. Farber and R. Minnich, "Memory as a Network Abstraction," IEEE Network, July 1991, pp. 34-41.]]
[28]
D. Lenoski, et al., "The Stanford DASH Multiprocessor," Computer, Vol. 25, No. 3, Mar. 1992, pp. 63-79.]]
[29]
D.V. James, "The Scalable Coherent Interface: Scaling to High-Performance Systems," Compcon 94, IEEE Computer Society Press, Los Alamitos, Calif., 1994, pp. 64-71.]]
[30]
S. Frank, et al. "The KSR1: Bridging the Gap Between Shared Memory and MPPs," Compcon 93, CS Press, 1993, pp. 285-294.]]
[31]
E. Hagersten A. Landin and S. Haridi, "DDM—A Cache-Only Memory Architecture," Computer, Vol. 25, No. 9, Sept. 1992, pp. 44-54.]]
[32]
S. Lucci, et al., "Reflective-Memory Multiprocessor," Proc. 28th IEEE/ACM Hawaii Int'l Conf. System Sciences, CS Press, 1995, pp. 85-94.]]
[33]
C. Maples and L. Wittie, "Merlin: A Superglue for Multicomputer Systems," Compcon 90, CS Press, 1990, pp. 73-81.]]
[34]
R. Bisani and M. Ravishankar, "Plus: A Distributed Shared-Memory System," Proc. 17th Ann. Int'l Symp. Computer Architecture, IEEE Computer Society Press, Los Alamitos, Calif., 1990, pp. 115-124.]]
[35]
A. Wilson R. LaRowe and M. Teller, "Hardware Assist for Distributed Shared Memory," Proc. 13th Int'l Conf. on Distributed Computing Systems, CS Press, 1993, pp. 246-255.]]
[36]
D. Chaiken J. Kubiatowicz and A. Agarwal, "Software-Extended Coherent Shared Memory: Performance and Cost," Proc. 21th Ann. Int'l Symp. Computer Architecture, CS Press, 1994, pp. 314-324.]]
[37]
J. Kuskin, et al., "The Stanford Flash Multiprocessor," Proc. 21th Ann. Int'l Symp. Computer Architecture, CS Press, 1994, pp. 302-313.]]
[38]
S. Reinhardt J. Larus and D. Wood, "Tempest and Typhoon: User-Level Shared Memory," Proc. 21th Ann. Int'l Symp. Computer Architecture, CS Press, 1994, pp. 325-336.]]
[39]
L. Iftode J. Pal Singh and K. Li, "Scope Consistency: A Bridge Between Release Consistency and Entry Consistency," to be published in Proc. Eighth Ann. Symp. Parallel Algorithms and Architectures, CS Press, 1996.]]
[40]
M. Hill J. Larus and S. Reinhardt, "Cooperative Shared Memory: Software and Hardware for Scalable Multiprocessors," ACM Trans. Computer Systems, ACM Press, New York, 1993, pp. 300-318.]]
[41]
R. Chandra, et al., "Performance Evaluation of Hybrid Hardware and Software Distributed Shared Memory Protocols," Tech. Report No. CSL-TR-93-597, Stanford Univ., Palo Alto, Calif., 1993.]]

Cited By

View all
  • (2023)TriCache: A User-Transparent Block Cache Enabling High-Performance Out-of-Core Processing with In-Memory ProgramsACM Transactions on Storage10.1145/358313919:2(1-30)Online publication date: 22-Mar-2023
  • (2023)Aggregate VM: Why Reduce or Evict VM's Resources When You Can Borrow Them From Other Nodes?Proceedings of the Eighteenth European Conference on Computer Systems10.1145/3552326.3587452(469-487)Online publication date: 8-May-2023
  • (2022)The case for distributed shared-memory databases with RDMA-enabled memory disaggregationProceedings of the VLDB Endowment10.14778/3561261.356126316:1(15-22)Online publication date: 1-Sep-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Parallel & Distributed Technology: Systems & Technology
IEEE Parallel & Distributed Technology: Systems & Technology  Volume 4, Issue 2
June 1996
95 pages

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 01 June 1996

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)TriCache: A User-Transparent Block Cache Enabling High-Performance Out-of-Core Processing with In-Memory ProgramsACM Transactions on Storage10.1145/358313919:2(1-30)Online publication date: 22-Mar-2023
  • (2023)Aggregate VM: Why Reduce or Evict VM's Resources When You Can Borrow Them From Other Nodes?Proceedings of the Eighteenth European Conference on Computer Systems10.1145/3552326.3587452(469-487)Online publication date: 8-May-2023
  • (2022)The case for distributed shared-memory databases with RDMA-enabled memory disaggregationProceedings of the VLDB Endowment10.14778/3561261.356126316:1(15-22)Online publication date: 1-Sep-2022
  • (2022)GiantVM: A Novel Distributed Hypervisor for Resource Aggregation with DSM-aware OptimizationsACM Transactions on Architecture and Code Optimization10.1145/350525119:2(1-27)Online publication date: 7-Mar-2022
  • (2021)GPU Accelerated Path Tracing of Massive ScenesACM Transactions on Graphics10.1145/344780740:2(1-17)Online publication date: 27-Apr-2021
  • (2020)Scaling Shared Memory Multiprocessing Applications in Non-cache-coherent DomainsProceedings of the 13th ACM International Systems and Storage Conference10.1145/3383669.3398278(13-24)Online publication date: 30-May-2020
  • (2020)GiantVMProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381324(30-44)Online publication date: 17-Mar-2020
  • (2019)CoSMIXProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358854(555-570)Online publication date: 10-Jul-2019
  • (2019)OrionProceedings of the 17th USENIX Conference on File and Storage Technologies10.5555/3323298.3323319(221-234)Online publication date: 25-Feb-2019
  • (2019)Distributed Shared Memory with CAN-Based Prioritized Mutual Exclusion for Embedded Control SystemsProceedings of the 7th International Conference on Computer and Communications Management10.1145/3348445.3348478(32-37)Online publication date: 27-Jul-2019
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media