LO06
TP de programmation parallèle
avec PVM
Un aperçu rapide
PVM prend en main et permet de gérer :
-
les primitives de routage de messages
-
les conversions de données
-
la planification de tâches à travers un réseaux
d'ordinateurs d'architectures incompatibles
L'utilisateur écrit son application comme une collection
de tâches coopérantes. Les tâches accèdent aux
ressources de PVM à travers une librairie de routines d'interface
standard. Ces routines permettent l'initialisation et la terminaison des
tâches à travers le réseau aussi bien que les communications
et les synchronisations entre tâches. Les primitives de passage de
message de PVM permettent l'envoi et la réception de structures
de données, mais il y a aussi des primitives de haut niveau telles
que le broadcast, la barrière de synchronisation ou la somme globale.
Une tâche peut posséder un controle arbitraire
sur les autres tâches. En d'autres termes, à n'importe quel
point (moment) de l'exécution d'une application concurrente, n'importe
quelle tâche active peut démarrer ou arréter d'autres
tâches, ou encore ajouter ou supprimer des ordinateurs de la machine
virtuelle. N'importe quel processus peu communiquer et/ou se synchroniser
avec n'importe quel autre. N'importe quel type de contrôle et de
structure de dépendance peut être implémenté
sous un système PVM par un usage approprié des constructeurs
et du langage hôte (en l'occurence, le C ou le Fortran).