La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Tolérance automatique aux défaillances par points de reprise et retour en arrière dans les systèmes hautes performances à passage de message Aurélien.

Présentations similaires


Présentation au sujet: "1 Tolérance automatique aux défaillances par points de reprise et retour en arrière dans les systèmes hautes performances à passage de message Aurélien."— Transcription de la présentation:

1 1 Tolérance automatique aux défaillances par points de reprise et retour en arrière dans les systèmes hautes performances à passage de message Aurélien Bouteiller - Séminaire ID-IMAG - 14 septembre 2006 Grand Large Aurélien Bouteiller – Séminaire ID-IMAG – 14 septembre 2006 Open MPI Grid5000

2 2 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

3 3 Calcul hautes performances Pourquoi ?

4 4 Calcul hautes performances Évolution du nombre de processeurs1998 ASCI RED 1TFlop 10k 2006 Xbox 360 1TFlop 1 GPU 2006 AMD Opteron 3Gflop

5 5 Calcul hautes performances Programmation des machines parallèles

6 Communications entre processus Mémoire partagée : OpenMP Passage de message : MPI

7 7 Calcul hautes performances Fiabilité et temps moyen entre deux fautes

8 8 Calcul hautes performances Évolution du MTBF dans le futur 1 PetaFlop = 200k 5Gflop CPU Avec du matériel fiable actuel (ASCI white), une machine de cette dimension subit 1 défaillance par heure BlueGene/L

9 9 Calcul hautes performances Survivre aux défaillances Constatations : Les défaillances sont trop fréquentes pour être ignorées Le logiciel est la part majoritaire du coût dexploitation Rendre une application tolérante aux fautes est difficile De nombreuses applications utilisent MPI Conséquence : Tolérance aux fautes automatique intégrée dans MPI P0 P1 P2 m1 m2 m5 m4 m3

10 10 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

11 11 Système distribué : modélisation Réseau Fiabilité : garanties sur le bon acheminement du message (UDP/TCP) Ordre de livraison : Sans ordre Ordre par canal, si p0 envoi m1 puis m2 vers p1, p1 reçoit dabord m1 puis m2 Ordre causal, si un évènement f est causé ou influencé par e, alors tout le système doit observer e avant f

12 12 Système distribué : modélisation Synchronisme Modèle synchrone : on suppose une horloge globale Fonctionnement par phases Durant la phase les processus calculent Au début de la phase suivante, tous les messages reçus sont disponibles P0 P1 P2 Modèle asynchrone : on suppose quil nexiste aucune borne

13 13 Système distribué : modélisation Défaillances Panne crash (arrêt total) Un processus német plus aucun message à partir de la faute Cest le type de faute le moins grave Panne de réseau Le réseau ne respecte pas sa spécification (non respect de la fiabilité, livraison dans le désordre) Panne byzantine Un processus présente nimporte quel comportement arbitraire Cest le type de faute le plus grave (corruption mémoire, virus, etc).

14 14 Système distribué : modélisation Concensus dans le cas général Consensus asynchrone Terminaison : Les processus décident en un temps fini Agrément : tous les processus non défaillants décident dune même valeur Validité : Si les processus partagent tous une même valeur initiale, ils décident de cette valeur Type de fautes : des processus peuvent sarrêter totalement Fischer, Lynch, Paterson, Impossibility of distributed concensus with one faulty process (journal of ACM 32(2), April 1985) 0 1 … P0 P1

15 15 Modèle synchrone Les processus réalisent une étape de calcul de façon synchronisée (Horloge globale). A la fin de la phase, tous les messages envoyés ont été reçus On peut résoudre le problème, mais ne correspond pas au monde réel. Modèle asynchrone pas dhorloge globale un message peut transiter un temps arbitrairement long dans un canal Modèle très expressif (Internet), mais on ne peut rien faire! Modèle(s) Pseudosynchrone(s) Pas dhorloge globale Il existe une borne sur le temps de transit dun message dans un canal Equivalent avec lexistence dun détecteur de défaillances (appelé Oracle) (Chen, Toueg, Aguilera: On the QoS of failure detectors, proc. Of ICDSN/FTCS-30, June 2000) Représente bien les réseaux de diamètre connu constitué de compostants temps réels (typiquement LAN/Clusters), permet de résoudre le problème! (Chen, Toueg: Unreliable failure detectors for reliable distributed systmes, Journal of the ACM 43(2) march 1996) Système distribué : modélisation Pseudosynchronisme

16 16 Algorithmes de tolérance aux fautes Choix dune méthode générale Autostabilisation Réplication P1#1 P1#2 P1#3 P2#1 Active P1#2 P1#1 P1#3 P2#1 Passive Stabilisation

17 17 Algorithmes de tolérance aux fautes Points de reprise P0P1P2 P0 P1 P2 C3 C1 m1 m2 m5 C2 m4 m3 m5 Ckpt

18 18 Algorithmes de tolérance aux fautes Points de reprise P0P1P2 P0 P1 P2 C3 C1 m1 m2 m5 C2 m4 m3 Ckpt P0

19 19 Algorithmes de tolérance aux fautes Points de reprise P0 P1 P2 C3 C1 m1 m2 m5 C2 m4 m3 Points de reprise non coordonnés : état global incohérent Lordre des réceptions est non déterministe Les messages reçus non envoyés par rapport à la ligne de reprise sont incohérents Leffect domino peut provoquer le retour jusquau début même avec une seule faute Perte de toute lexécution, coût dune faute imprévisible

20 20 Algorithmes de tolérance aux fautes État global incohérent P0 P1 P2 C3 C1 m1 m2 C2 m4 m3 Définition : coupe collection de points de reprises Ci,k (k ieme point de reprise du processus i) telle quelle contient un unique point de reprise par processus. Type de message par rapport à une coupe C Passé : émission et réception sont avant C (m2 par rapport à C1) Futur : émission et réception sont après C (m5 par rapport à C1) En-transit: émission avant C, réception après C (m4 par rapport à C1) Orphelin: émission après C, réception avant C (m2 par rapport à C2) Définition : Coupe cohérente Pas de message orphelin Tous les messages en-transit sont enregistrés m5

21 21 Algorithmes de tolérance aux fautes Coupe cohérente (Chandy&Lamport) P0 P1 P2

22 22 Algorithmes de tolérance aux fautes Coupe cohérente (Chandy&Lamport) P0 P1 P2

23 23 Algorithmes de tolérance aux fautes Coupe cohérente (Chandy&Lamport) P0 P1 P2

24 24 Algorithmes de tolérance aux fautes Coupe cohérente (Chandy&Lamport) P0 P1 P2

25 25 Algorithmes de tolérance aux fautes Coupe cohérente (Chandy&Lamport) P0 P1 P2 Coût négligeable sur lexécution sans faute Synchronisation globale (temps denregistrement dune coupe cohérente long) Une faute unique provoque le retour de tous les processus à leur point de reprise : coût de récupération élevé

26 26 Algorithmes de tolérance aux fautes Enregistrement de messages P0 P1 P2 C3 C1 m1 m2 m5 C2 m4 m3 Si un processus est déterministe par parties, enregistrer les évènements non déterministes permet de rejouer lexécution initiale Lordre des réceptions sur le réseau est non déterministe

27 27 Algorithmes de tolérance aux fautes Enregistrement pessimiste sender-based P0 P1 P2 m1 3 problèmes : Messages en-transit : enregistrement du message sur lémetteur Ordre des réceptions non déterministe : enregistrement de lordre des évènements sur un support stable Propagation transitive de dépendance avec des évenements non déterministes interdite : Retardement des émissions m2 m3 S P0 r m1 r m2 {r m1,r m2 } {r m1,r m2 } Ok-2 ? m2 ? m1 m2 m1 [m1] [m2] m4

28 28 Algorithmes de tolérance aux fautes Enregistrement pessimiste sender-based P0 P1 P2 m1 Messages en-transit et fautes multiples : Messages en-transit : enregistrement du message sur lémetteur Si lémetteur disparaît, les messages disparaissent : enregistrement en même temps que le point de reprise En labsence de point de reprise, le message est regénéré m2 m3 S P0 r m1 r m2 {r m1,r m2 } {r m1,r m2 } Ok-2 ? m2 ? m1 m2 m1 [m1] [m2] m4 Ckpt + [m2] Ckpt [m2]

29 29 Algorithmes de tolérance aux fautes Enregistrement causal P0 P1 P2 m1 problème : Interdiction des dépendences transitives : Latence multipliée par 3 avec algo pessimiste Lever linterdiction : propager les évènements vers ceux qui en dépendent m2 m3 S P0 r m1 r m2 {r m1,r m2 } {r m1,r m2 } Ok-2 ? m2 ? m1 m2 m1 [m1] [m2] m4 {r m1,r m2 } {r m1,r m2, r m3 }

30 30 Algorithmes de tolérance aux fautes Enregistrement causal : graphe P0 P1 P2 m1 problème : La propagation dévènements coûte cher en bande passante Certains évènements envoyés sont déjà connus du destinataire La structure de graphe de causalité permet de détecter de tels évènements m2 m3 r m1 r m2 m5 {r m1,r m2 } {r m1,r m2, r m3 } m6 {r m1,r m2, r m3, r m5 } m4 r m4 {r m3 } r m3 r m5

31 31 Algorithmes de tolérance aux fautes Enregistrement causal : graphe P0 P1 P2 m1 m2 m3 r m1 r m2 m5 {r m1,r m2 } {r m1,r m2, r m3 } m6 { r m3, r m5 } m4 r m4 {r m3 } r m3 r m5 r m2 P0 P1 P2 r m1 r m3 r m4 r m5

32 32 Objectif : Etude expérimentale des protocoles de tolérance aux fautes Modèle pseudosynchrone – Pannes crash – Automatique – points de reprise : bien adapté pour le calcul hautes performances Concevoir des algorithmes originaux adapté au calcul hautes performances Explorer des optimisations techniques Plusieurs familles dalgorithmes (coupe cohérente, enregistrement de message pessimiste, causal) : comparaison expérimentale Environnement équitable pour exprimer les algorithmes et les comparer Classification suivant des critères de performance et de résistance aux fautes

33 33 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

34 34 MPICH-V : comparaison avec les implémentations existantes Classification des implémentations suivant deux critères Niveau dans la pile logicielle MPI Algorithme de tolérance aux défaillances utilisé

35 35 MPICH-V : gestion des communications MPI

36 36 MPICH-V : cas particulier de ch_v1 Enregistrement de message distant

37 37 MPICH-V : environnement partagé Architecture générale

38 38 code CSAC libmpichv Ordre Ckpt (1) fork fork (2) Terminer les comms en cours (3) Fermer les canaux (4) Appeler ckpt_and_exit() Le point de reprise est transféré à la volée sur le support stable : serveur, disque ou les deux Lexécution reprend après (4), on réouvre les canaux de communication et reprend les opérations Bibliothèque de point de reprise Condor Stand Alone Checkpointing Copie locale du processus avec fork() et transfert non bloquant MPICH-V : enregistrement non bloquant des points de reprise

39 39 MPICH-V : ordonnancement des points de reprise (enregistrement de messages) Mémoire P1 Serveur ckpt Mémoire P0 P0 P doit être enregistré et 2 peuvent être effacés Garbage collector 1, 2 et 3 peuvent être effacés Garbage collector Rien à enregistrer La non coordination des points de reprise implique que tous les messages peuvent être en-transit Lenregistrement local occupe de la mémoire Le transfert vers le serveur occupe du débit Diminution du coût en effaçant les messages devenus inutiles (preuve que seuls les messages orphelins et dans le passé sont effacés) Lordonnancement des points de reprise permet de maximiser le nombre de messages effacés

40 40 MPICH-V : enregistrement de message causal paresseux Nouvelle stratégie causale paresseuse non optimale mais de moindre coût en calcul Preuve de correction fournie

41 41 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

42 42 noeud Réseau noeud noeud Un noeud fiable Distributeur et détecteur +Serveur de point de reprise +enregistreur dévènement (si requis) +ordonnanceur de points de reprise Performances Conditions expérimentales Programmes étalons : NetPIPE : ping-pong MPI NAS Parallel Benchmark CG : fort taux de communication, nombreux messages courts SP, BT : taux de communication moyen, nombreux messages longs FT : opérations collectives, messages de grande taille LU : très grand nombre de messages de taille moyenne

43 43 Validation de MPICH-V : Points de reprises BT.A.4 BT.B.1

44 44 Validation de MPICH-V : communications MPI Latence 100Mb/s (1octet) (µs)

45 45 Validation de MPICH-V : performance dapplication

46 46 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

47 47 Stratégies dadjonction de causalité Ping-pong ½ sans causalité

48 48 Stratégies dadjonction de causalité Quantité de données de causalité Données de causalité échangées (% total des messages)

49 49 Stratégies dadjonction de causalité Temps de manipulation de la causalité

50 50 Stratégies dadjonction de causalités Performance dapplications

51 51 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

52 52 Comparaison des protocoles Ping-pong

53 53 Comparaison des protocoles Performance dapplications 1/2 LU : enregistrement sur lémetteur dépasse la capacité mémoire

54 54 Comparaison des protocoles Performance dapplications 2/2

55 55 Comparaison des protocoles Résistance aux fautes Coupe cohérente : plus performant hors faute Enregistrement de message : plus performant à haute fréquence de fautes Extrapolation : une application occupant 1Go de RAM par nœud, 200 nœuds par serveur de pt de reprise Croisement = 1 faute / 10 heures Causal améliore la latence par rapport à pessimiste, au prix dune diminution du débit

56 56 Le calcul hautes performances et les défaillances Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de lenvironnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

57 57 Réseaux rapides Supprimer les copies mémoires La performance des réseaux rapide est diminuée par les copies mémoires Supprimer les copies mémoires dans C&L est uniquement technique Lenregistrement de message impose une copie sur lémetteur : sortir cette copie du chemin critique (diminution de latence) Lenregistrement de message suppose une livraison atomique : faux en réalité, impose une copie inutile changer le modèle Séparation de la correspondance et de la livraison du message La correspondance peut-être non déterministe (source non spécifiée)

58 58 Réseaux rapides Déterminisme de la livraison Contrairement au modèle général, certaines livraisons sont déterministes dans MPI (enregistrement inutile) Fonctions daccès au message livré : Recv, Wait, WaitAll : livraison déterministe WaitAny : un des messages parmi un ensemble est terminé, lequel ? WaitSome : un ou plusieurs messages sont terminés, lesquels, combien ? Probe : un message est-il prêt à une date donnée ? Combien de fois nest- il pas prêt ? On enregistre deux évènements distincts pour un message : La correspondance au début du message si il est sans source spécifiée Le résultat de lopération de livraison

59 59 Réseaux rapides Architecture OpenMPI-V PML-V parasite le vrai PML et charge un « Vprotocol » Vprotocol remplace les fonctions dinterface Des BTL spéciaux communiquent avec lenregistreur dévènements, et enregistrent les messages sur lémetteur Lors de la récupération, les messages sans source ont leur source spécifiée par lenregistrement des évènements Le résultat des livraisons non déterministes est rejoué à lidentique

60 60 Réseaux rapides Performance ping-pong Myrinet

61 61 Réseaux rapides Performances OpenMPI-Vpessimist Aucune dégradation de performance pour les messages à source spécifiée Latence multipliée par 3 uniquement pour les messages sans source Pas de coût de copies mémoires

62 62 Conclusions Algorithmes adaptés pour le contexte du calcul numérique hautes performances Protocole par vue globale coordonnée (Chandy&Lamport) –Algorithme non bloquant pour les points de reprise –Enregistrement local et distant des points de reprise Enregistrement de messages pessimiste –Enregistrement de message distant décentralisé : protocole original –Enregistrement de message basé sur lémetteur : traitement optimisé des messages en-transit Enregistrement de messages Causal –Première implémentation de lalgorithme LogOn –Nouvel algorithme paresseux Environnement MPICH-V Implémentation de 6 protocoles différents (Chandy&Lamport, 3 stratégies causal, 2 pessimistes) Lenvironnement est validé expérimentalement Comparaison de trois stratégies causales Introduction dun enregistreur dévènements dans le protocole causal La présence dun support stable impacte plus les performances que le choix de lalgorithme causal Comparaison de performances entre les protocoles Avantage pour CL pour la performance hors faute Avantage pour Pessimiste en terme de résistance aux fautes Causal est un bon compromis Réseaux rapides Environnement « zéro copie » OpenMPI-V Modification des hypothèses denregistrement de message pour traiter labsence de copies Détection des évènements déterministes : diminution du coût général de lenregistrement pessimiste

63 63 Travaux futurs Collaboration avec les couches hautes de OpenMPI (opérations collectives) pour détecter les évènements non déterministes sémantiquement déterministes Enregistreur dévènements décentralisé pour protocole causal Décentralisation de lenregistrement des points de reprise (Reed- Solomon + incremental ckpt) Investigation : problème de passage à léchelle structurel de la vague de synchro CL ? (Grid5000) Évaluation à grande échelle avec Grid5000, et comparaison dans OpenMPI-V de toutes les familles de protocoles (en particulier pour C&L)

64 64 Tolérance aux défaillances dans les systèmes hautes performances Grand Large QUESTIONS ?


Télécharger ppt "1 Tolérance automatique aux défaillances par points de reprise et retour en arrière dans les systèmes hautes performances à passage de message Aurélien."

Présentations similaires


Annonces Google