Two Layers Distributed Shared Memory
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.
KeywordsShared Memory Local Memory Multigrid Method Consistency Model Local Cache
Unable to display preview. Download preview PDF.
- 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.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.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.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.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.Briggs, W.: A Multigrid Tutorial. SIAM (1987)Google Scholar
- 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
- 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