MPICH-Vcl vs MPICH-Pcl Camille Coti, Thomas Herault, Pierre Lemarinier, Laurence Pilard, Ala Rezmerita, Eric Rodriguez, Franck Cappello Journées GDX, 13/10/06
Plan Tolérance aux fautes Pourquoi Comment Retour sur points de reprise coordonnés Implémentation bloquante Implémentation non bloquante Performances Grande échelle Cluster Cluster à communications rapides
MPI Message Passing Interface MPICH, OpenMPI, LAM/MPI, FT-MPI... MPI_Send(...) MPI_Recv(...) MPICH, OpenMPI, LAM/MPI, FT-MPI... MPI1:1994 MPI2:1997
Checkpointing Niveau système Niveau utilisateur Serveur de checkpoints Pile, registres, VM Volumes importants de données Niveau utilisateur Variables + PC Volumes moins importants Sérialisation explicite Serveur de checkpoints support stable stocke et restitue les checkpoints
In distributed systems État de l'art Automatic Non Automatic coordinated based Log based Coordinated checkpoint Pessimistic log Causal log Optimistic log Cocheck Independent of MPI Framework Optimistic recovery In distributed systems coherent checkpoint Manetho Starfish Enrichment of MPI Clip Semi-transparent checkpoint FT-MPI Modification of MPI routines User Fault Treatment MPI/FT Redundance of tasks Egida LAMMPI MPI-FT Centralized server Pruitt 98 API Communication Lib. MPICH-V Sender based Mess. Log. Level
MPICH-V Architecture : Checkpoint scheduler : permet de faire le garbage quand un checkpoint est pris Checkpoint server : stocke les checkpoints Dispatcher : sert au lancement de l'application
Plan Tolérance aux fautes Pourquoi Comment Retour sur points de reprise coordonnés Implémentation bloquante Implémentation non bloquante Performances Grande échelle Cluster Cluster à communications rapides
MPICH-Pcl Implémentation bloquante de Chandy-Lamport Circulation de marqueurs Synchronisation Reprise de l'exécution une fois que tous les checkpoints ont été pris
MPICH-Vcl Implémentation non bloquante de Chandy- Lamport Enregistrement de messages L'exécution ne s'arrête pas Pas de synchronisation sur l'ensemble du système
Plan Tolérance aux fautes Pourquoi Comment Retour sur points de reprise coordonnés Implémentation bloquante Implémentation non bloquante Performances Grande échelle Cluster Cluster à communications rapides
Expérimentations Benchmarks Plate-forme NAS Parallel Benchmarks (NASA) CG BT Plate-forme Grid'5000 Plate-forme expérimentale Grille Cluster à communication rapides (Myrinet) GdX Cluster à grande échelle
Expérimentations sur grille À grande échelle Avec Pcl, l'exécution s'arrête pour prendre les checkpoints et ne reprend qu'une fois la vague terminée. Synchronisation trop coûteuse avec Pcl
Cluster Gigabit Ethernet Sur grappe de PC Dû au caractère bloquant ou non bloquant. Avec Vcl, les communication et la prise de ckpt sont en compétition. Avec Pcl, l'exécution s'arrête le temps de prendre de ckpt. Plus il y a de CS plus la prise de ckpt va vite, et plus l'exécution peut reprendre rapidement. Nombre de CS : Pcl scalable, pas Vcl
Cluster Myricom2000 Grappe à réseau à hautes performances À fréquence de ckpt trop élevée, Pcl moins performant car coût de la synchronisation. Mais ces fréquences ne sont pas réalistes (qqes 10s secondes). Temps d'exécution fonction linéaire du nb de vagues de checkpoints pour Pcl : une vague prend toujours le même temps, et les communications ne sont pas en concurrence avec la prise de ckpt. Surcoût dû aux copies de Vcl
Apports Apport de GdX Apport de Grid'5000 Apport de Kadeploy Expérience de cluster à grande échelle Apport de Grid'5000 Grille Réseau rapide à Bordeaux Apport de Kadeploy Utilisation de la librairie BLCR
Vcl vs Pcl : conclusion Pcl n'est pas adapté à un contexte de grille Synchronisation trop coûteuse Compétition messages / transferts de checkpoints Dans Pcl : pas de compétition Dans Vcl : compétition donc ralentissement Pcl : temps d'exécution fonction linéaire du nombre de vagues de checkpoints Message-logging de Vcl coûteux sur Myrinet
Travaux futurs Vers des protocoles plus adaptés aux grilles GdX2 Évaluation des protocoles pour clusters Conception de protocoles spécifiques (hiérarchiques ?) GdX2 Réseau rapide à grande échelle