The Journal of Supercomputing

, Volume 37, Issue 2, pp 145–160 | Cite as

A Transparent Distributed Shared Memory for Clustered Symmetric Multiprocessors



A transparent distributed shared memory (DSM) system must achieve complete transparency in data distribution, workload distribution, and reconfiguration respectively. The transparency of data distribution allows programmers to be able to access and allocate shared data using the same user interface as is used in shared-memory systems. The transparency of workload distribution and reconfiguration can optimize the parallelism at both the user-level and the kernel-level, and also improve the efficiency of run-time reconfiguration. In this paper, a transparent DSM system referred to as Teamster is proposed and is implemented for clustered symmetric multiprocessors. With the transparency provided by Teamster, programmers can exploit all the computing power of the clustered SMP nodes in a transparent way as they do in single SMP computer. Compared with the results of previous researches, Teamster can realize the transparency of cluster computing and obtain satisfactory system performance.


distributed shared memory symmetric multiprocessor cluster computing reconfiguration thread architecture 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    C. Amza, A. Cox, S. Dwarkadas, P. Keleher, H. Ly, R. Rajamony, W. Yu, and W. Zwaenepoel. TreadMarks: Shared memory computing on networks of workstations. IEEE Computer, 29(2):18–28, 1996.Google Scholar
  2. 2.
    I. G. Angus, G. C. Fox, J. S. Kim, and D. Walker. Solving Problems on Concurrent Processors. Prentice-Hall International, 1988.Google Scholar
  3. 3.
    J. K. Bennett, J. B. Carter, and W. Zwaenepoel. Munin: Distributed Shared Memory Based on Type-specific Memory Coherence. Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 168–175, 1990.Google Scholar
  4. 4.
    J. Boyle, R. Butler, T. Disz, B. Glickfeld, E. Lusk, R. Overbeek, J. Patterson, and R. Stevens. Portable Programs for Parallel Processors. Holt, Rinehart and Winston, Inc., 1987.Google Scholar
  5. 5.
    J. B. Chang, Y. J. Tsai, C. K. Shieh, and P. C. Chung. An Efficient Thread Architecture for a Distributed Shared Memory on Symmetric Multiprocessor Clusters. In Proceedings of International Conference on Parallel and Distributed Systems, 816–823, 1998.Google Scholar
  6. 6.
    J. S. Chase, F. G. Amador, E. D. Lazowska, H. M. Levy, and R. J. Littlefield. The Amber System: Parallel Programming on a network of Multiprocessors. In Proceedings of the 12th ASM Symposium on Operating System Principles, 147–158, 1989.Google Scholar
  7. 7.
    A. Erlichson, N. Nucholls, G. Chesson, and J. Hennessy. SoftFLASH: Analyzing the performance of clustered distributed virtual shared memory system. In Proceedings of the 7th Symposium on Architectural Support for Programming Languages and Operating Systems, 1996.Google Scholar
  8. 8.
    I. Foster, C. Kesselman, R. Olson, and S. Tuecke. Nexus: An interoperability layer for parallel and distributed computer systems. Technical Report, Argonne National Labs, 1993.Google Scholar
  9. 9.
    A. Gersho and R. M. Gray. Vector Quantization and Signal Compression. Kluwer Academic Publishers, London, 1992.Google Scholar
  10. 10.
    Y. C. Hu, L. Honghui, A. L. Cox, and W. Zwaenepoel. OpenMP for network of SMPs. In Proceedings of 13th International and 10th Symposium on Parallel and Distributed Processing, 302–310, 1999.Google Scholar
  11. 11.
    A. Itzkovitz, A. Schuster, and L. Wolfovich. Millipede: Towards Standard Interface for Virtual Parallel Machines on Top of Distributed Environments. Technical Report 9607, Technion IIT, 1996.Google Scholar
  12. 12.
    D. Khandekar. Quarks: Portable Distributed Shared Memory on Unix. University of Utah, beta ed., 1995.Google Scholar
  13. 13.
    A. C. Lai. Design and Implementation of Release Consistency Protocol on Cohesion, Master thesis, Department of Electrical Engineering. National Cheng Kung University, R.O.C., 1994.Google Scholar
  14. 14.
    K. Li. IVY: A Shared Virtual Memory System for Parallel computing. In Proceedings of 1988 IEEE International Conference on Parallel Processing, 94–101, 1988.Google Scholar
  15. 15.
    E. Mascarenhas and V. Rego. Architecture of a Portable Threads System Supporting Thread Migration. Software: Practice & Experience, 26(3):327–256, 1996.CrossRefGoogle Scholar
  16. 16.
    S. Roy and V. Chaudhary. Strings: a high-performance distributed shared memory for symmetric multiprocessor clusters. In Proceedings of the Seventh International Symposium on High Performance Distributed Computing, 90–97, 1998.Google Scholar
  17. 17.
    R. Samanta, A. Bilas, L. Iftode, and J. Singh. Home-based SVM protocols for SMP clusters: design and performance. In Proceedings of the Fourth International Symposium on High-Performance Computer Architecture, 1998.Google Scholar
  18. 18.
    D. Scales, K. Gharachorloo, and A. Aggarwal. Fine-grain software distributed shared memory on SMP clusters. In Proceedings of the Fourth International Symposium on High-Performance Computer Architecture, 125–136, 1998.Google Scholar
  19. 19.
    E. Speight and J. K. Bennett. Brazos: A Third Generation DSM System. In Proceedings of the First USENIX Windows NT Workshop, 1997.Google Scholar
  20. 20.
    R. Stets, S. Dwarkadas, N. Hardavellas, H. Hung, L. Kontothanassis, S. Parthasarahy, and M. Scott. Cashmere-2L: Software coherent shared memory on a clustered remote write network. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, 170–183, 1997.Google Scholar
  21. 21.
    Gabriel Antoniu, Luc Bougé, and Sébastien Lacour. Making a DSM consistency protocol hierarchy-aware: an efficient synchronization scheme. In Proc. Workshop on Distributed Shared Memory on Clusters (DSM 2003), Tokyo, pages 516–523, May 2003.Google Scholar
  22. 22.
    G. da Silva Craveiro, L. M. Sato. CPAR—cluster: a runtime system for heterogeneous clusters with mono and multiprocessor nodes. In Proc. Of The 2004 International Workshop on Distributed Shared Memory on Clusters (DSM 2004), Apr. 2004.Google Scholar
  23. 23.
    Yvon Jégou. Implementation of Page Management in Mome, a User-Level DSM. In Proc. Intl. Workshop on Distributed Shared Memory on Clusters (DSM 2003), Tokyo, Japan, pages 479–486, May 2003.Google Scholar
  24. 24.
    L. Peng, W. F. Wong, M. D. Feng, and C. K. Yuen. SilkRoad: A Multithreaded Runtime System with Software Distributed Shared Memory for SMP Cluster, In Proc. Of IEEE International Conference on Cluster Computing (CLUSTER 2000), 243–249. Dec 2000.Google Scholar
  25. 25.
    L. Peng, W. F. Wong, and C. K. Yuen. SilkRoad II: A Multi-Paradigm Runtime System for Cluster Computing, In Proc. of IEEE International Conference on Cluster Computing (CLUSTER 2002) (Poster), 443–444. Sep 2002.Google Scholar
  26. 26.
    L. Peng, W. F. Wong, and C. K. Yuen. The Performance Model of SilkRoad—A Multithreaded DSM System for Clusters. DSM2003: Workshop on Distributed Shared Memory on Clusters, appeared in Proc. of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 495–501. May 2003.Google Scholar
  27. 27.
    L. Peng, W. F. Wong, and C. K. Yuen. SilkRoad II: mixed paradigm cluster computing with RC_dag consistency Parallel Computing, 29–8:1091–1115. Aug 2003.Google Scholar
  28. 28.
    Keith H. Randall. Cilk: Efficient multithreaded computing, Ph. D. Thesis. MIT Department of Electrical Engineering and Computer Science. June 1998.Google Scholar
  29. 29.
    L. M. Sato. Sistema de programac~ao e processamento, para sistema multiprocessadores. In Anais do VI Simp’osio Brasileiro de Engenharia de Software, 1991.Google Scholar

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  1. 1.Department of Electrical EngineeringNational Cheng Kung UniversityTainanR.O.C.
  2. 2.Department of Electrical EngineeringNational Kaohsiung University of Applied ScienceKaohsiungR.O.C.

Personalised recommendations