P2P-MPI : A fault-tolerant Message Passing Interface Implementation for Grids - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2008

P2P-MPI : A fault-tolerant Message Passing Interface Implementation for Grids

Résumé

This thesis aims to demonstrate that message-passing parallel programs can be deployed onto large, heterogeneous distributed systems. This work consists in the design and development of a proof-of-concept middleware named P2P-MPI, released under a public license. P2P-MPI alleviates this task by proposing a peer-to-peer based platform in which available resources are dynamically discovered upon job requests, and by providing a fault-tolerant message-passing library for Java programs. The motivation for this project is to offer a programming environment which is: - integrated: its embeds both a middleware layer and a communication library, - in Java (for its "run everywhere" feature), - light-weight to encourage average users to have a good grasp on it: it is contained in only 1 jar, and runs in user space, We have also integrated in P2P-MPI contributions to major issues in the field: * Message-passing programming model: P2P-MPI integrates an important subset of MPJ (we are able to pass the Java Grande Forum benchmark). In that respect, we faced the same problems as Ibis, or MPJ express. We currently have two implementations: the first implementation uses tcp sockets only and a limited port range (for firewalls concerns). Recently, we decided to offer a more performant implementation using Java NIO. * Fault-tolerance: we provide some fault-tolerance through replication of computations. A number of copies of each process may be asked to run simultaneously at runtime (this mechanism is user-friendly because the user simply chooses the replication degree through a command line argument). So, contrarily to an MPI application that crashes as soon as any of its processes crash, a program using replication will be able to continue as long as at least one copy of each process is running. * Scalability: the goal is to scale to hundreds of nodes, especially over geographically distributed resources. Since the beginning of the project, we have based the middleware on a P2P layer to avoid single point of failures concerning resource discovery. Another key design feature is the fault-detection mechanism, based on the principle of failure detectors. A major issue when scaling is the detection time of a failure. We have extensively studied the behavior of these algorithms in P2P-MPI and assessed their effectiveness in real experiments.
Cette thèse démontre la faisabilité d'un intergiciel destiné aux grilles de calcul, prenant en compte la dynamicité de ce type de plateforme, et les impératifs des programmes parallèles à passage de message. Pour cela, nous mettons en avant l'intérêt d'utiliser une architecture la plus distribuée possible : nous reprenons l'idée d'une infrastructure pair-à-pair pour l'organisation des ressources, qui facilite notamment la découverte des ressources, et nous retenons les détecteurs de défaillance distribués pour gérer la tolérance aux pannes. La dynamicité de ce type d'environnement est également un problème pour le modèle d'exécution sous-jacent à MPI, car la panne d'un seul processus entraine l'arrêt de l'application. La contribution de P2P-MPI dans ce domaine est la tolérance aux pannes par réplication. Nous pensons qu'elle est la mieux adaptée à une architecture pair-à-pair, les techniques classiques basées sur le check-point and restart nécessitant un ou des serveurs de sauvegardes. De plus, la réplication est totalement transparente à l'utilisateur et rejoint ainsi l'objectif de simplicité d'utilisation que nous nous sommes fixés. Nous pensons que garder un environnement très simple d'utilisation, entièrement maîtrisable par un utilisateur, est un des facteurs permettant d'augmenter le nombre de ressources disponibles sur la grille. Enfin, la contribution majeure de P2P-MPI est la librairie de communication proposée, qui est une implémentation de MPJ (MPI adapté à Java), et qui intègre la réplication des processus. Ce point particulier de notre travail plaide pour une collaboration étroite entre l'intergiciel, qui connaît l'état de la grille (détection des pannes par exemple) et la couche de communication qui peut adapter son comportement en connaissance de cause.
Fichier principal
Vignette du fichier
these_choopan.pdf (2.49 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00724132 , version 1 (18-08-2012)

Identifiants

  • HAL Id : tel-00724132 , version 1

Citer

Choopan Rattanapoka. P2P-MPI : A fault-tolerant Message Passing Interface Implementation for Grids. Distributed, Parallel, and Cluster Computing [cs.DC]. Université Louis Pasteur - Strasbourg I, 2008. English. ⟨NNT : ⟩. ⟨tel-00724132⟩

Collections

CNRS
240 Consultations
139 Téléchargements

Partager

Gmail Facebook X LinkedIn More