Return to search

Algorithmes d'ordonnancement et schémas de résilience pour les pannes et les erreurs silencieuses / Scheduling algorithms and resilience patterns for fail-stop and silent errors

Cette thèse s'intéresse à la résilience pour les applications haute performance à très grande échelle. Sur ce type de plateforme, qui compte jusqu'à plusieurs millions d'unités de calculs, les erreurs représentent la norme plutôt que l'exception. On distingue principalement deux types d'erreurs : les pannes (typiquement, l'arrêt de l'application suite au crash d'un nœud de calcul) et les corruptions de données silencieuses (se traduisant généralement par des résultats erronés). Ces dernières posent de nombreux problèmes car elles sont autant difficile à détecter qu'à corriger. Dans cette thèse, nous commençons par étudier plusieurs mécanismes de détection pour les erreurs silencieuses. Nous modélisons l'impact des détecteurs sur l'exécution d'applications scientifiques, permettant notamment de décider lequel utiliser lorsque plusieurs choix sont possibles. Dans un deuxième temps, nous combinons pannes et erreurs silencieuses au sein d'un même schéma de résilience : périodiquement, l'application vérifie les résultats, puis créer un point de sauvegarde. Ainsi, en cas d'erreur, il n'est pas nécessaire de tout ré-exécuter. L'objectif est alors de minimiser le temps d'exécution ou la consommation d’énergie. Dans ce contexte, nous étendons plusieurs résultats de la littérature en caractérisant le schéma de résilience optimal pour différents types d'applications. Nous fournissons également plusieurs algorithmes d'ordonnancement exacts polynomiaux, ainsi que des heuristiques pour les graphes de tâches. Enfin, les modèles sont validés au travers de nombreuses simulations, en comparant notamment les résultats obtenus avec l'état de l'art lorsque cela est possible. / This thesis focuses on resilience for high performance applications that execute on large scale platforms, with millions of processing cores. On such platforms, errors are the norm rather than the exception. We consider two types of errors: fail-stop errors, which generally cause the application to stop, and silent-errors, a.k.a. Silent Data Corruption or SDCs, which can corrupt data in memory. Silent errors pose a new threat to scientific applications, because they are both difficult to detect and to correct. In this thesis, we first study several detection mechanisms for silent errors. We model the impact of such detectors on the execution of scientific applications, which allows us to decide which one to use when multiple choices are available. Then, we combine both fail-stop errors and silent errors into one resilience pattern: the application periodically verify and checkpoint the results. Thus, in case of failure, it is not necessary to re-execute everything from scratch. The goal is to minimize the execution time or the energy consumption. In this context, we extend several results from the literature by deriving the optimal resilience pattern for different types of applications. We also provide several exact scheduling algorithms that execute in polynomial time, as well as heuristics for application workflows. Finally, models are validated through an exhaustive set of simulations, and by comparing against the state-of-the-art when possible.

Identiferoai:union.ndltd.org:theses.fr/2017LYSEN031
Date07 July 2017
CreatorsCavelan, Aurélien
ContributorsLyon, Benoit, Anne
Source SetsDépôt national des thèses électroniques françaises
LanguageEnglish
Detected LanguageFrench
TypeElectronic Thesis or Dissertation, Text

Page generated in 0.0024 seconds