P2P-MPI

Un article de Wikipédia, l'encyclopédie libre.

P2P-MPI est un intergiciel de type pair-à-pair, permettant de former des groupes de machines dans le but d'exécuter des programmes parallèles à passage de message.

P2P-MPI peut utiliser des machines hétérogènes (en particulier concernant le système d'exploitation) dans une même groupe. La formation des groupes est dynamique, c'est-à-dire qu'un groupe de machines est formé au moment où un utilisateur demande l'exécution de son application sur plusieurs processeurs. Cette approche évite d'utiliser les fichiers de configuration qui dans la plupart des implémentations MPI, indiquent de manière statique quelles machines doivent être utilisées. Pour cette recherche dynamique de machines disponibles, P2P-MPI utilise JXTA.

Ainsi, P2P-MPI présente les caractéristiques suivantes :

  • recherche autonome, décentralisée, d'autres pairs (machines) adaptée à l'apparition ou disparition de machines sur le réseau ;
  • programmes écrits en Java pour les rendre indépendants du système d'exploitation ;
  • tolérance aux fautes à travers un mécanisme de réplication, pour mieux résister à la disparition de machines.

L'implémentation actuelle est en Java, et nécessite d'écrire des programmes parallèles Java pour en tirer parti.

P2P-MPI propose deux grands types de fonctionnalités :

  • la gestion des machines distantes (recherche, regroupement, allocation des processus),
  • la bibliothèque de communication offerte aux programmes, proche de MPI-1. P2P-MPI implémente une grande partie de la spécification MPJ.

Des articles de recherche (voir le site du projet) décrivent l'utilisation de P2P-MPI pour exécuter des programmes parallèles tests (IS et EP du NAS Benchmark et Ray-tracer du Java Grande Forum) ou comment une application de clustering appliquée à des images satellites à été parallélisée avec P2P-MPI.

[modifier] Lien externe