A comparison of shared virtual memory and message passing programming techniques based on a finite element application
This paper describes the methods used and experiences made with implementing a finite element application on three different parallel computers with either message passing or shared virtual memory as the programming model. Designing a parallel finite element application using message-passing requires to find a data domain decomposition to map data into the local memory of the processors. Since data accesses may be very irregular, communication patterns are unknown prior to the parallel execution and thus makes the parallelization a difficult task. We argue that the use of a shared virtual memory greatly simplifies the parallelization step. It is shown experimentally on an hypercube iPSC/2 that the use of the KOAN/Fortran-S programming environment based on a shared virtual memory allows to port quickly and easily a sequential application without a significant degradation in performance compared to the message passing version. Results for recent parallel architectures such as the Paragon XP/S for message-passing and the KSR1 for shared virtual memory are presented, too.
Keywordsshared virtual memory message passing programming model finite element application
Unable to display preview. Download preview PDF.
- 1.Technical Summary. Kendall Square Research, Waltham, Massachusetts, edition, 1992.Google Scholar
- 2.Rudolf Berrendorf, Michael Gerndt, Zakaria Lahjomri, Thierry Priol, and Philippe d'Anfray. Evaluation of numerical applications running with shared virtual memory. Internal Report KFA-ZAM-IB-9315, KFA Research Centre Juelich, 1993.Google Scholar
- 3.F. Bodin, L. Kervella, and T. Priol. Fortran-S: a fortran interface for shared virtual memory architectures. In Supercomputing'93, pages 274–283, IEEE, November 1993.Google Scholar
- 4.F. Darema-Rodgers, V.A. Norton, and G.F. Pfister. Using A Single-Program-Multiple-Data Computational Model for Parallel Execution of Scientific Applications. Technical Report RC11552, IBM T.J Watson Research Center, November 1985.Google Scholar
- 5.R. Das and J. Saltz. A Manual for Parti Runtime Primitives — revision 2. Internal Research Report, ICASE, 1992.Google Scholar
- 6.Z. Lahjomri and T. Priol. Koan: a shared virtual memory for the ipsc/2 hypercube. In CONPAR/VAPP92, September 1992.Google Scholar
- 7.Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers, C-28(6):313–348, September 1979.Google Scholar
- 8.Kai Li. Shared Virtual Memory on Loosely Coupled Multiprocessors. PhD thesis, Yale University, September 1986.Google Scholar
- 9.H. Vereecken, G. Lindenmayr, A. Kuhr, D. H. Weite, and A. Basermann. Numerical Modelling of Field Scale Transport in Heterogeneous Variably Saturated Porous Media. Internal Report KFA/ICG-4 No. 500393, Forschungszentrum Jülich, 1993.Google Scholar
- 10.G. T. Yeh. 3DFEMWATER, a Three Dimensional Finite Element Model of Water Flow Through Saturated-Unsaturated Media. ORNL-6386, Oak Ridge National Laboratory, 1987.Google Scholar