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.
[1]
H. Vereecken,et al.
Numerical Modelling of Field Scale Transport in Heterogeneous Variably Saturated Porous Media
,
1993
.
[2]
G. Yeh,et al.
1DFEMWATER: A one-dimensional finite element model of WATER flow through saturated-unsaturated media
,
1988
.
[3]
F. Bodin,et al.
Fortran-S: a Fortran interface for shared virtual memory architectures
,
1993,
Supercomputing '93.
[4]
Kai Li,et al.
Shared virtual memory on loosely coupled multiprocessors
,
1986
.
[5]
Harry Berryman,et al.
A manual for PARTI runtime primitives, revision 1
,
1991
.
[6]
Thierry Priol,et al.
KOAN: A Shared Virtual Memory for the iPSC/2 Hypercube
,
1992,
CONPAR.
[7]
Leslie Lamport,et al.
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
,
2016,
IEEE Transactions on Computers.