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

 Grand Large Tolérance automatique aux défaillances par points de reprise et retour en arrière dans les systèmes hautes performances à passage de message.

Présentations similaires


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

1  Grand Large 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 Aurélien Bouteiller - Séminaire ID-IMAG - 14 septembre 2006 Open MPI Grid’5000

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

3 Calcul hautes performances Pourquoi ?

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

5 Calcul hautes performances Programmation des machines parallèles

6 Calcul hautes performances Programmation des machines parallèles
Communications entre processus Mémoire partagée : OpenMP Passage de message : MPI 1 2 3 5 6 4

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

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

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 d’exploitation 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 m5 m3 P1 m1 m4 m2 P2

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

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 d’abord 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 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 qu’il n’existe aucune borne

13 Système distribué : modélisation Défaillances
Panne crash (arrêt total) Un processus n’émet plus aucun message à partir de la faute C’est 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 n’importe quel comportement arbitraire C’est le type de faute le plus grave (corruption mémoire, virus, etc).

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 d’une 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 s’arrêter totalement Fischer, Lynch, Paterson, Impossibility of distributed concensus with one faulty process (journal of ACM 32(2), April 1985) 1 P0 P1

15 Système distribué : modélisation Pseudosynchronisme
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 d’horloge 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 d’horloge globale Il existe une borne sur le temps de transit d’un message dans un canal Equivalent avec l’existence d’un 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) The main fault tolerance techniques uses checkpoint relatve techniques: coordinated or not. It consists in checkpointing the state of all processes and restarting from a preceding image when a fault occurs. The main difficulty of checkpoint techniques is due to the non determinism of distributed executions. In MPI applications this non determinism comes from order of non named message reception. Considering a very simple algorithm which takes local checkpoint image at random times. When P0 crash it restart from it’s last checkpoint at C1. From this point due to non determinism it may reach a different state where it sends a different message M three prime. But P1 still consider that P0 has sent m3. So we have to also roll back P1 to a checkpoint preceding reception of m3, at C2. The same problem appears at C2, leading to roll back P2 to C3, and then P1 to execution beginning. This is called the domino effect.

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

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

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

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

20 Algorithmes de tolérance aux fautes État global incohérent
Définition : coupe collection de points de reprises Ci,k (kieme point de reprise du processus i) telle qu’elle 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 P0 m5 m3 P1 m1 m4 m2 P2 C3 C2 C1

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

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

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

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

25 Algorithmes de tolérance aux fautes Coupe cohérente (Chandy&Lamport)
Coût négligeable sur l’exécution sans faute Synchronisation globale (temps d’enregistrement d’une 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 Algorithmes de tolérance aux fautes Enregistrement de messages
Si un processus est déterministe par parties, enregistrer les évènements non déterministes permet de rejouer l’exécution initiale L’ordre des réceptions sur le réseau est non déterministe P0 m5 m3 P1 m1 m4 m2 P2 C3 C2 C1

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

28 Algorithmes de tolérance aux fautes Enregistrement pessimiste sender-based
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 l’absence de point de reprise, le message est regénéré SP0 {rm1 ,rm2} Ok-2 {rm1 ,rm2} rm1 rm2 P0 m3 m2 ?m2 m2 P1 [m2] [m2] m4 m1 m1 Ckpt + [m2] ?m1 P2 [m1] Ckpt

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

30 Algorithmes de tolérance aux fautes Enregistrement causal : graphe
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 rm1 rm2 rm4 P0 m3 m4 m2 {rm1 ,rm2} {rm3 } P1 rm3 m5 m6 m1 {rm1 ,rm2, rm3} {rm1 ,rm2, rm3, rm5} P2 rm5

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

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 d’algorithmes (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 Le calcul hautes performances et les défaillances
Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de l’environnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

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 MPICH-V : gestion des communications MPI

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

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

38 MPICH-V : enregistrement non bloquant des points de reprise
Bibliothèque de point de reprise Condor Stand Alone Checkpointing Copie locale du processus avec fork() et transfert non bloquant (1) fork L’exécution reprend après (4), on réouvre les canaux de communication et reprend les opérations code Ordre Ckpt  checkpoint performed using the condor standalone checkpoint library.  Reducing cost on the ongoing computation  it is done asynchronously. At the reception of a checkpoint order (from the checkpoint scheduler), the MPI process forks, the parent continues its execution while the son terminates the communications, closes the sockets and produces its checkpoint image. This image is sent directly to the Checkpoint Server, which is an efficient multi- connections multi-processes server. Using a distant checkpoint server will be a bottleneck but this is mandatory as local storage of checkpoint images does not ensure fault tolerance.  Message logging ckpt ends  message payload  CL ckpt ends  sends the in transit messages at the time of the checkpoint order reception. CSAC (2) Terminer les comms en cours (3) Fermer les canaux (4) Appeler ckpt_and_exit() libmpichv fork Le point de reprise est transféré à la volée sur le support stable : serveur, disque ou les deux

39 MPICH-V : ordonnancement des points de reprise (enregistrement de messages)
La non coordination des points de reprise implique que tous les messages peuvent être en-transit L’enregistrement 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) L’ordonnancement des points de reprise permet de maximiser le nombre de messages effacés P0 P1 1 2 3 doit être enregistré 3 1 et 2 peuvent être effacés  Garbage collector 1, 2 et 3 peuvent être effacés Rien à enregistrer Mémoire P0 This leads to a tradeoff to compute: checkpointing p0 before p1 implies that messages from p0 to p1 must be saved, but messages from p1 to p0 will be spared. We have designed an adaptive algorithm which computes the cost and benefice of a checkpoint and order the checkpoints of processes accordingly a « best benefice with smaller price » heuristique. It is implemented in the checkpoint scheduler. Mémoire P1 Serveur ckpt

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 Le calcul hautes performances et les défaillances
Introduction à la tolérance aux fautes Environnement MPICH-V Performances Validation de l’environnement MPICH-V Réduction des adjonctions de causalité Comparaison des protocoles Cas des réseaux hauts débits – OpenMPI-V

42 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 Réseau noeud Un noeud fiable Distributeur et détecteur +Serveur de point de reprise +enregistreur d’évènement (si requis) +ordonnanceur de points de reprise The performance evaluation has been performed in the LRI cluster, at Paris-south university. We used thirty-two Athlons eighteen hundred plus, with one gigabyte of RAM, IDE disks, and sixteen dual Pentium three at five hundred megahertz, and five hundred twelve megabyte of RAM. All were linked with a one hundred megabit ethernet network. The deployment consisted of a single reliable node running a single checkpoint server, the checkpoint scheduler, the dispatcher and an event logger for V2. In real clusters we cannot attempt to have access to a large number of stable dedicated resources. Stress of these reliable component is also part of the experiment. noeud

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

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

45 Validation de MPICH-V : performance d’application

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

47 Stratégies d’adjonction de causalité Ping-pong
½ sans causalité

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

49 Stratégies d’adjonction de causalité Temps de manipulation de la causalité

50 Stratégies d’adjonction de causalités Performance d’applications

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

52 Comparaison des protocoles Ping-pong

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

54 Comparaison des protocoles Performance d’applications 2/2

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 d’une diminution du débit

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

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 L’enregistrement de message impose une copie sur l’émetteur : sortir cette copie du chemin critique (diminution de latence) L’enregistrement 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 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 d’accè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 n’est-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 l’opération de livraison

59 Réseaux rapides Architecture OpenMPI-V
PML-V parasite le vrai PML et charge un « Vprotocol » Vprotocol remplace les fonctions d’interface Des BTL spéciaux communiquent avec l’enregistreur 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 l’enregistrement des évènements Le résultat des livraisons non déterministes est rejoué à l’identique

60 Réseaux rapides Performance ping-pong Myrinet

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 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 l’algorithme LogOn Nouvel algorithme paresseux Environnement MPICH-V Implémentation de 6 protocoles différents (Chandy&Lamport, 3 stratégies causal, 2 pessimistes) L’environnement est validé expérimentalement Comparaison de trois stratégies causales Introduction d’un enregistreur d’évènements dans le protocole causal La présence d’un support stable impacte plus les performances que le choix de l’algorithme 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 d’enregistrement de message pour traiter l’absence de copies Détection des évènements déterministes : diminution du coût général de l’enregistrement pessimiste

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 l’enregistrement 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 Tolérance aux défaillances dans les systèmes hautes performances
 Grand Large Tolérance aux défaillances dans les systèmes hautes performances QUESTIONS ?


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

Présentations similaires


Annonces Google