Algorithmes d'ordonnancement et schémas de résilience pour les pannes et les erreurs silencieuses
Auteur / Autrice : | Aurélien Cavelan |
Direction : | Anne Benoit |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 07/07/2017 |
Etablissement(s) : | Lyon |
Ecole(s) doctorale(s) : | École doctorale InfoMaths (Lyon ; 2009-....) |
Partenaire(s) de recherche : | établissement opérateur d'inscription : École normale supérieure de Lyon (Lyon ; 2010-...) |
Laboratoire : Laboratoire de l'informatique du parallélisme (Lyon ; 1988-....) - Optimisation des ressources : modèles, algorithmes et ordonnancement | |
Jury : | Président / Présidente : Alain Girault |
Examinateurs / Examinatrices : Anne Benoit, Alain Girault, Olivier Beaumont, Vaidy Sunderam, Yves Robert, Luc Giraud, Amina Guermouche | |
Rapporteur / Rapporteuse : Olivier Beaumont, Vaidy Sunderam |
Mots clés
Mots clés libres
Résumé
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.