next up previous
Next: 2.3.2 Entrées-Sorties Up: 2.3 Compilation du HPF Previous: 2.3 Compilation du HPF

2.3.1 Runtime MPI

La bibliothèque de passage de messages qui a été choisie pour ce compilateur au moment de sa conception est PVM gif [13]. Une nouvelle bibliothèque est née depuis sous l'impulsion d'un forum de chercheurs académiques et industriels; MPI gif [17] est en train de s'imposer comme le nouveau standard actuel.

Nous avons donc décidé, bien que PVM soit toujours largement utilisé, d'ajouter à HPFC la possibilité de générer un programme parallèle construit "au-dessus" de MPI, tout en conservant PVM. Ainsi, l'utilisateur peut choisir au moment de la compilation du programme généré, la bibliothèque de passage de messages qu'il désire utiliser (il est donc possible de passer d'une bibliothèque à l'autre sans devoir regénérer le programme parallèle).

Ce travail nous aura tout d'abord permis d'acquérir une bonne connaissance du nouveau standard MPI. Par ailleurs, les différents niveaux d'abstraction nécessaires pour la construction de ce "double" runtime, nous permettront d'ajouter facilement d'autres bibliothèques à l'avenir si besoin. La mise en place de ce runtime MPI devrait nous permettre par la suite d'améliorer les performances des programmes à plusieurs niveaux. Tout d'abord, de nouvelles fonctionnalités présentes dans MPI (les communications globales par exemple) devraient favoriser l'optimisation des applications construites sur ce modèle de passage de messages (ceci demande cependant un travail important pour les exploiter de manière "automatique" dans la compilation du HPF). Enfin, il apparaît aujourd'hui de plus en plus évident que les constructeurs font de gros efforts pour proposer des implémentations efficaces de MPI sur leurs machines parallèles - ce qui n'est plus le cas pour PVM.



Julien Zory
Thu Mar 12 17:35:23 MET 1998