Thèse soutenue

Ordonnancement des données d'entrée sortie à l'échelle

FR  |  
EN
Auteur / Autrice : Nicolas Vidal
Direction : Emmanuel Jeannot
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 31/01/2022
Etablissement(s) : Bordeaux
Ecole(s) doctorale(s) : École doctorale de mathématiques et informatique (Talence, Gironde ; 1991-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire bordelais de recherche en informatique - Institut national de recherche en informatique et en automatique (France). Centre de recherche Inria de l'université de Bordeaux (Bordeaux)
Jury : Président / Présidente : Yves Dennelin
Examinateurs / Examinatrices : Alam Sadaf, Guillaume Pallez
Rapporteurs / Rapporteuses : Gerald frederik Lofstead, Alix Munier-Kordon

Résumé

FR  |  
EN

En calcul haute performance, les plateformes (supercalculateurs) sont composées de ressources de calcul multiples divisées en étagères.Chacune d’elles possède un (ou plusieurs) nœuds d’E/S dédiés à l’accès au système de fichiers parallèles. Suivant la croissance et l’optimisation des machines, les quantités de données mises en jeux dans les calculs augmentent. Comme différentes parties de ces plateformes sont allouées à des applications indépendantes, et comme le système de stockage est partagé par toutes, de trop nombreux accès concurrent peuvent mener à de la contention et à une perte de performance.Cette thèse consiste à étudier des stratégies de placement d’applications sur la plateforme et comment ordonner les différents accès au système de stockage afin d’éviter la contention.Nous discutons de la pertinence de nos solutions à la fois du point de vue des administrateurs (en utilisant le débit) et du point de vue des utilisateurs (à travers le ralentissement).Dans une première partie, nous considérons que le placement effectué en amont et nous concentrons sur l’étude de l’ordonnancement des accès à la bande passante dans le but de minimiser la latence. Nous montrons que le problème d’ordonnancement d’E/S standard est NP-difficile. Nous étudions donc des cas simples et montrons la pertinence d’heuristiques de listes.Dans une seconde partie, nous étendons notre problématique au placement des applications sur les nœuds afin de limiter les accès concurrents.Afin de résoudre ce problème, nous proposons un algorithme par paquets qui, sur un nœud d’E/S simple diminue considérablement le ralentissement tout en dégradant seulement légèrement le temps total d’exécution. Cependant cette dégradation est la conséquence logique d’un plus grand contrôle sur les ressources utilisées. Cela permet un meilleur passage à l’échelle quand le nombre de nœuds d’E/S augmente tout en facilitant la récupération des des ressources inutilisées par des méthodes de remblayage par exemple.Enfin, nous étudions comment étendre les stratégies standard de gestion de ressource telles que les heuristiques de liste et les techniques susmentionnées d’ordonnancement par paquets dans le but d’inclure les E/S et ce que cela signifie en terme d’utilisation de ressources et de performance.De telles stratégies, sont largement utilisées par les plateformes de calcul haute performance pour l’allocation de ressources en raison de leur simplicité. Nous observons que les stratégies par paquets induisent une limitation en moyenne qui permet des phases d’E/S intensives à la condition qu’elles soient compensées au cours de l’exécution. En comparaison, les stratégies de listes suivent constamment la restriction prescrite et sont par conséquent plus restrictives.Il en résulte que les stratégies par paquets sont préférables lorsque de grandes quantités de données relativement à la bande passante disponible sont impliquées.Dans la majeure partie de notre travail, nous considérons que les accès à la bande passante sont exclusifs. Cependant, en soulignant des différences notables de performances en fonction du degré de similarité des applications, nous montrons que certains de ces accès devraient être exécutés en parallèle. En conclusion, nous esquissons des développement récents de nos modèles cherchant à déterminer quelles partitions d’applications seraient concernées.