Two-level checkpointing and partial verifications for linear task graphs - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2015

Two-level checkpointing and partial verifications for linear task graphs

Checkpoint à deux niveaux et vérifications partielles pour des graphes de tâches linéaires

Résumé

Fail-stop and silent errors are unavoidable on large-scale platforms. Efficient resilience techniques must accommodate both error sources. A traditional checkpointing and rollback recovery approach can be used, with added verifications to detect silent errors. A fail-stop error leads to the loss of the whole memory content, hence the obligation to checkpoint on a stable storage (e.g., an external disk). On the contrary, it is possible to use in-memory checkpoints for silent errors, which provide a much smaller checkpoint and recovery overhead. Furthermore, recent detectors offer partial verification mechanisms, which are less costly than guaranteed verifications but do not detect all silent errors. In this paper, we show how to combine all these techniques for HPC applications whose dependence graph is a chain of tasks, and provide a sophisticated dynamic programming algorithm returning the optimal solution in polynomial time. Simulations demonstrate that the combined use of multi-level checkpointing and partial verifications further improves performance.
Les erreurs fatales et silencieuses ne peuvent plus être ignorées sur des plates-formes à grande échelle. Des techniques de résilience efficaces doivent accommoder les deux types d'erreurs. Une approche traditionnelle de checkpoint et points de reprise peut être utilisée, en rajoutant des vérifications afin de détecter les erreurs silencieuses. Une erreur fatale entraîne la perte de tout le contenu mémoire, d'où l'obligation de faire une sauvegarde sur un support fiable (typiquement un disque). Par contre, il est possible de se satisfaire de checkpoints en mémoire pour les erreurs silencieuses, ce qui donne des surcoûts bien plus faibles. De plus, les détecteurs récents offrent des mécanismes de vérification partielle, qui sont moins coûteux que les vérifications garanties, mais qui ne détectent pas toutes les erreurs silencieuses. Nous montrons comment combiner toutes ces techniques pour des applications HPC dont le graphe de dépendances est une chaîne de tâches, et nous donnons un algorithme de programmation dynamique sophistiqué qui renvoie la solution optimale en temps polynomial. Des simulations démontrent que l'utilisation combinée de checkpoint à deux niveaux et de vérifications partielles améliore la performance.
Fichier principal
Vignette du fichier
RR-8794.pdf (745.96 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01216850 , version 1 (17-10-2015)
hal-01216850 , version 2 (02-03-2016)
hal-01216850 , version 3 (11-03-2016)

Identifiants

  • HAL Id : hal-01216850 , version 1

Citer

Anne Benoit, Aurélien Cavelan, Yves Robert, Hongyang Sun. Two-level checkpointing and partial verifications for linear task graphs. [Research Report] RR-8794, ENS Lyon; Inria Grenoble Rhône-Alpes, Université de Grenoble. 2015. ⟨hal-01216850v1⟩
224 Consultations
229 Téléchargements

Partager

Gmail Facebook X LinkedIn More