LIP6 2002/018

  • Soutenance de thèse
    Optimisations de la bibliothèque de communication MPI pour machines parallèles de type "grappe de PCs" sur une primitive d'écriture distante
  • O. Glück
  • 219 pages - 12/07/2002- document en - http://www.lip6.fr/lip6/reports/2002/lip6.2002.018.pdf - 6,227 Ko
  • Contact : Olivier.Gluck (at) nulllip6.fr
  • Ancien Thème : ASIM
  • Le travail présenté dans cette thèse s'inscrit dans le cadre du projet de recherche MPC (Multi-PC) démarré en 1995 à l'Université Pierre et Marie Curie. Le but de ce projet est la réalisation d'une machine parallèle à faible coût. Les noeuds de calcul sont des PC standard achetés dans le commerce auxquels s'ajoutent des composantes aussi bien matérielles que logicielles réalisées dans le cadre du projet. Cette thèse présente des optimisations de la bibliothèque de communication MPI pour machines parallèles de type "grappe de PCs", disposant d'un réseau de communication qui fournit une primitive d'écriture en mémoire distante (Remote DMA). Ce mécanisme de communication est implanté de manière très efficace au niveau matériel. Notre objectif est de faire bénéficier les applications de la très faible latence matérielle de ce réseau spécifique, en minimisant le temps de traversée des couches logicielles qui sépare l'appel à une primitive de communication au niveau applicatif, de la prise en compte du transfert par le matériel réseau. Ce manuscrit de thèse présente, dans ce cadre, une implémentation optimisée de MPI au-dessus d'une primitive d'écriture distante. La machine MPC du Laboratoire d'Informatique de Paris VI constitue notre plate-forme expérimentale mais nous avons construit nos couches de communication au-dessus d'une API (Applications Programming Interface) générique d'écriture en mémoire distante permettant de porter facilement notre implémentation de MPI sur n'importe quelle plate-forme matérielle disposant d'une primitive d'écriture en mémoire distante. Nous étudions l'impact de divers facteurs sur les performances obtenues au niveau applicatif et nous proposons des solutions optimisées pour implanter l'environnement de programmation parallèle MPI sur la primitive d'écriture distante. Plus particulièrement, nous décrivons des mécanismes pour réaliser les communications en mode utilisateur en éliminant les appels système et la signalisation par interruption matérielle. Un inconvénient de la primitive d'écriture en mémoire distante est qu'elle utilise des adresses physiques pour réaliser ses transferts : le contrôleur réseau accède directement à la mémoire physique (DMA) sur le noeud émetteur et sur le noeud récepteur pour transférer les données. Les principales difficultés concernent le partage des ressources réseau entre plusieurs processus utilisateur et le problème des conversions d'adresses. Nous proposons une solution pour réduire au maximum le coût de traduction des adresses virtuelles fournies par l'application en adresses physiques utilisables par le contrôleur réseau.
  • Mots clés : machine parallèle, grappes de PCs, bibliothèque de communication, passage de messages, MPI, écriture distante, DMA, communication en mode utilisateur, gestion mémoire, adresse virtuelle/physique, traduction d'adresse
  • Directeur de la publication : Francois.Dromard (at) nulllip6.fr