The parallelization of a NASA Navier-Stokes simulation code is careful
ly and systematically investigated. Based on numerical, dependence and
partition analysis, three different levels of parallelization have be
en proposed and implemented. The low-level parallelization is at the k
ernel level. A previously developed parallel tridiagonal solver is use
d for concurrent processing. The middle-level parallelization solves t
he multiple right-hand-sides of the tridiagonal systems concurrently.
The high-level parallelization is at the level of time step iterations
. A PVM implementation of the parallelization has been accomplished. D
ifferent communication patterns and different PVM communication calls
have been examined for best performance. The parallelized code has bee
n tested on two parallel platforms, a cluster of workstations availabl
e at Louisiana State University and the IBM SP2 parallel computer avai
lable at Cornell Supercomputing Center. Experimental results confirm o
ur analytical findings: the three-level parallelization is feasible an
d effective. A linear speedup is measured. In addition to parallelizat
ion, through profiling and performance analysis, the original sequenti
al code is optimized as well. (C) 1998 Published by Elsevier Science L
imited. All rights reserved.