Two Layers Distributed Shared Memory

  • F. Baiardi
  • D. Guerri
  • P. Mori
  • L. Moroni
  • L. Ricci1
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2110)


This paper presents a methodology to design a distributed shared memory by decomposing it into two layers. An application independent layer supplies the basic functionalities to access shared structures and optimizes these functionalities according to the underlying architecture. On top of this layer, that can be seen as an application independent run time support, an application dependent layer defines the most suitable consistency model for the considered class of applications and it implements the most appropriate caching and prefetching strategies for the consistency model. To exemplify this methodology, we introduce DVSA, a package that implements the application independent layer and SHOB, an example of the second layer. SHOB defines a release consistency model for iterative numerical algorithms and it implements the corresponding caching and prefetching strategies. We present some experimental results of the methodology and discuss the performance of a uniform multigrid method developed through SHOB on a massively parallel architecture, the Meiko CS2, and on a cluster of workstations.


Shared Memory Local Memory Multigrid Method Consistency Model Local Cache 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amza, C., Cox, A.L., Dwarkadas, S., Keleher, P., Lu, H., Rajamony, R., Yu, W., Zwaenepoel, W.: TreadMarks: Shared Memory Computing on Networks of Workstations. IEEE Computer 2(29) (1996) 18–28Google Scholar
  2. 2.
    Baiardi, F., Chiti, S., Mori, P., Ricci L.: Parallelization of Irregular Problems Based on Hierarchical Domain Representation. Proceedings of HPCN 2000: Lecture Notes in Computer Science 1823 (2000) 71–80Google Scholar
  3. 3.
    Baiardi, F., Dobloni, G., Mori, P., Ricci L.: Hive: Implementing a virtual distributed shared memory in Java. DAPSYS-3rd Austrian Hungarian Workshop on Distributed and Parallel Systems Kluwer Press (2000)Google Scholar
  4. 4.
    Baiardi, F., Guerri, D., Mori, P., Moroni, L., Ricci, L.: Evaluation of a Virtual Shared Memory by the Compilation of Data Parallel Loops. 8th Euromicro Workshop on Parallel and Distributed Processing (2000)Google Scholar
  5. 5.
    Bennett, J.K., Carter, J.B., Zwaenepoel, W.: Munin: Distributed shared memory based on type-specific memory coherence. ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (1990) 168–176Google Scholar
  6. 6.
    Briggs, W.: A Multigrid Tutorial. SIAM (1987)Google Scholar
  7. 7.
    Coelho, F., Germain, C., Pazat, J.L.: State of Art in Compiling HPF. In The parallel programming Model: Foundations, HPF Realization and Scientific Application, Lecture Notes in Computer Science 1132 (1996)Google Scholar
  8. 8.
    Gupta, S.K.S., Kaushik, S.D., Sharma, S., Huang, C.H., Sadayappan, P.: Compiling Array Expression for Efficient Execution on Distributed-Memory Machines. Journal of Parallel and Distribute Computing 32 (1996) 155–172CrossRefGoogle Scholar
  9. 9.
    Lamport, L.: How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs. IEEE Trans. on Computers C-28(9) ( 1979) 690–691CrossRefGoogle Scholar
  10. 10.
    Reinhardt, S.K., Larus, J.R., Wood, D.A.: Tempest and Typhoon: User-level Shared Memory. Int. Symposium om Computer Architecture (1994) 325–336Google Scholar
  11. 11.
    Stichnoth, J.M., O’Hallaron, D., Gross, T.R.: Generating Communication for Array Statements: Design, implementation, and evaluation. Journal of Parallel and Distribute Computing 21(1) ( 1994) 150–159CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • F. Baiardi
    • 1
  • D. Guerri
    • 2
  • P. Mori
    • 1
  • L. Moroni
    • 1
  • L. Ricci1
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly
  2. 2.Synapsis S.r.l.LivornoItaly

Personalised recommendations