Fault-tolerant algorithms for iterative applications and batch schedulers
Algorithmes tolérants aux pannes pour les applications itératives et les ordonnanceurs
Résumé
Due to the increasing number of nodes in supercomputers, scientific applications are frequently interrupted by failures. Ensuring a correct and uninterrupted application execution requires fault tolerance mechanisms, consisting of Checkpoint/Rollback mechanisms. A checkpoint of the application is taken periodically; that is, the state of the application is written onto reliable storage. Whenever one of the computing resources experiences a failure, the application pauses and restarts from the last valid checkpoint. The optimal checkpointing period can be computed by the well-known Young/Daly formula, which applies to applications where a checkpoint can be taken anytime during the computation. However, many scientific applications exhibit a more complicated behavior. For example, checkpointing at the end of an iteration is efficient for iterative applications since the volume of data to checkpoint is dramatically reduced at that point. In addition, the batch scheduler, a key component of the supercomputing infrastructure, is also affected by failures. This thesis designs fault-tolerant algorithms for iterative applications to minimize the makespan and designs scheduling heuristics for batch schedulers to improve the performance of the platform. The first two works focus on iterative applications but with different application models. In the first work, we consider the stochastic iterative applications as a linear chain whose tasks do not have constant execution times but obey some probability distributions. We propose the static checkpointing strategy and the dynamic checkpointing strategy to minimize the makespan and show that the Young/Daly formula can be safely applied to stochastic iteration applications. The second work considers the deterministic iterative applications as a chain of cyclic tasks. We propose the optimal checkpointing strategy computed in polynomial time and show that the strategy extended from the Young/Daly formula is suboptimal. The final work concerns batch schedulers. For traditional scheduling heuristics, failed jobs must wait until enough nodes become available for their re-execution. We propose a novel scheduling heuristic to schedule failed jobs more efficiently. Simulations using traces from the Mira supercomputer at Argonne National Laboratory show that the new approach improves the utilization of the platform and dramatically reduces the flow of large jobs at the price of slightly increasing the flow of small jobs.
En raison du nombre croissant de nœuds dans les supercalculateurs, les applications scientifiques sont fréquemment interrompues par des pannes. Assurer une exécution correcte et ininterrompue de l'application nécessite des mécanismes de tolérance aux pannes, consistant en des mécanismes de prise de point de contrôle/retour sur erreur. Un point de contrôle de l'application est effectué périodiquement ; c'est-à-dire que l'état de l'application est écrit sur un stockage fiable. Chaque fois que l'une des ressources informatiques rencontre une panne, l'application s'interrompt et redémarre à partir du dernier point de contrôle valide. La période de point de contrôle optimale peut être calculée par la formule de Young/Daly, qui s'applique aux applications où un point de contrôle peut être pris à tout moment pendant le calcul. Cependant, de nombreuses applications scientifiques présentent un comportement plus compliqué. Par exemple, prendre un point de contrôle à la fin d'une itération est recommandé pour les applications itératives puisque le volume de données à contrôler est considérablement réduit à ce stade. De plus, l’ordonnanceur, un composant clé de l'infrastructure de calcul intensif, est également affecté par les pannes. Cette thèse conçoit des algorithmes tolérants aux pannes pour les applications itératives afin de minimiser le temps de terminaison des tâches de calcul et conçoit des heuristiques d'ordonnancement pour les ordonnanceurs afin d'améliorer les performances de la plate-forme. Les deux premiers travaux portent sur des applications itératives mais avec des modèles d'application différents. Dans le premier travail, nous considérons des applications itératives stochastiques comme une chaîne linéaire dont les tâches n'ont pas de temps d'exécution constants mais obéissent à des distributions de probabilité. Nous proposons une stratégie de point de contrôle statique ainsi qu’une stratégie dynamique pour minimiser le temps de complétion et montrons que la formule de Young/Daly peut être appliquée avec succès aux applications dont les itérations sont stochastiques. Le second travail considère les applications itératives déterministes comme un cycle constitué d’une chaîne de tâches. Nous proposons une stratégie de point de reprise optimale calculée en temps polynomial et montrons que des extensions de la stratégie de Young/Daly sont sous-optimales. Le travail final concerne les ordonnanceurs pour supercalculateurs. Dans les heuristiques d’ordonnancement traditionnelles, tout travail ayant échoué doit attendre que suffisamment de nœuds soient disponibles pour sa réexécution. Nous proposons une nouvelle heuristique d'ordonnancement plus rapide pour les tâches qui ont échoué. Des simulations utilisant des traces du supercalculateur Mira du Laboratoire national d'Argonne montrent que notre nouvelle approche peut améliorer l'utilisation de la plate-forme et réduire considérablement le temps de traitement des grosses tâches au prix d'une légère augmentation du temps de traitement des petites tâches.
Origine | Version validée par le jury (STAR) |
---|