MPI ou MPI+OpenMP sur grappes de multiprocesseurs ?
Les grappes de multiprocesseurspossèdent la particularité davoir un modèle mémoire
hybride au niveau matériel. Lun des problèmes consiste à choisir le mode de programmation
de ces machines. Le choix dun mode dépend dau moins deux critères : la performance et
la facilité de programmation. Dans cet article, nous prenons le point de vue de programmes
parallèles MPI déjà existants et nous essayons de déterminer quand et pourquoi le modèle unifié
MPI est meilleur que le modèle hybride MPI+OpenMP grain fin. Pour cela, nous comparons
les deux modèles à partir des benchmarksNAS 2.3 sur 3 machines différentes : un cluster de PC
et 2 IBM SP3. Nous montrons que la supériorité dun modèle sur lautre dépend 1) du niveau
de parallélisation en mémoire partagée, 2) des schémas de communication et 3) de lefficacité
des parties purement parallèles du code dans les deux modes.
The clusters of multiprocessors have a hybrid memory model at hardware level. One
specific problem consists in choosing the programming model for these machines, according to
performance and programming effort. In this paper, we consider existing MPI codes and we
examine when and why the unified MPI model is better than a fine grain hybrid MPI+OpenMP
model. We compare the two models for NAS 2.3 benchmarks running on a cluster of PCs and
two different IBM SP3 systems. The superiority of one model depends on 1) the level of shared
memory model parallelization, 2) the communication patterns and 3) the efficiency for executing
the pure parallel code with each model.
F.CAPPELLO, D.ETIEMBLE
grappes de multiprocesseurs, réseaux Myrinet de PC, systèmes SP3, MPI, OpenMP, MPI+OpenMP, BenchmarksNAS
clusters of multiprocessors, Myrinet clusters of PCs, SP3 machines, MPI, OpenMP, MPI+OpenMP, NAS benchmarks
Français
|