Two-level checkpointing and 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 verifications for linear task graphs

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

Résumé

Fail-stop and silent errors are omnipresent on large-scale platforms. Efficient resilience techniques must accommodate both error sources. To cope with the double challenge, a two-level checkpointing and rollback recovery approach can be used, with additional verifications for silent error detection. 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 checkpointing and recovery overhead. Furthermore, recent detectors offer partial verification mechanisms that are less costly than the guaranteed ones but do not detect all silent errors. In this paper, we show how to combine all of these techniques for HPC applications whose dependency graph forms a linear chain. We present a sophisticated dynamic programming algorithm that returns the optimal solution in polynomial time. Simulation results demonstrate that the combined use of multi-level checkpointing and verifications leads to improved performance compared to the standard single-level checkpointing algorithm.
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 améliore la performance.
Fichier principal
Vignette du fichier
RR-8794.pdf (807.9 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

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 3

Citer

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

Partager

Gmail Facebook X LinkedIn More