Distributed Performance Analysis Tools for Large Scale Computations

Pierre-Frédérick Denys

Thèse de doctorat (2023)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 2MB •

Résumé

Les sytèmes de calcul de haute performance et basés sur les conteneurs sont de plus en plus présents et nécessaires dans de nombreux domaines tels que les prévisions métérologiques, le traitement d’images, le séquençage de l’ADN et bien d’autres. La puissance de calcul nécessaire à ces applications a entraîné la transition de systèmes monolithique à des systèmes distribués. L’augmentation inhérente de la complexité de ces systèmes s’accompagne de problèmes de performances plus fréquents et dont la cause est plus difficile à déterminer. L’objectif de ce travail de recherche est d’introduire des outils d’analyse plus performants pour l’analyse des très grands systèmes distribués. L’hypothèse de départ est qu’il est possible de trouver la cause des ralentissements et des problèmes de performance par l’analyse des évènements système. Les évènements bas niveau du noyau du système d’exploitation sont enregistrés dans des traces pendant le fonctionnent de l’application. Ou encore, à la manière d’une boîte noire d’avion, il peuvent être enregistrés quelques temps avant et après l’apparition du problème. Une fois que ces traces sont collectées, des outils d’analyse sont nécessaires pour en extraire les informations utiles et produire des vues adaptées à ce que recherche l’utilisateur. Un premier axe de recherche a concerné l’analyse de performance des systèmes basés sur les containeurs et les intergiciels de messagerie. Une étude approfondie des systèmes de communication actuellement utilisés, ainsi que des différentes architectures de déploiement, a permis d’identifier les problèmes de performance courants et des méthodes pour les identifier. Deux nouvelles méthodes ont étés proposées, la première basée sur l’instrumentation du système de communication et la seconde moins intrusive basée sur l’observation des évènements du noyau de l’hôte des conteneurs. Ensuite, une évaluation des outils de traçage présentement disponibles a été effectuée. Parmi les différent enjeux identifiés, l’un des principaux concerne l’extensibilité. Même si la collecte des traces est possible sur un très grand nombre de noeuds, ces outils sont peu adaptés à l’analyse de nombreux fichiers de trace, et encore moins sur des noeuds distants. Il y a donc des enjeux au niveau de la taille des traces collectées, du nombre de fichiers de traces, de la variété de points de traces disponibles et du nombres de noeuds. Les deux axes de recherche suivants se sont concentrés sur l’amélioration d’une méthode d’analyse de traces en particulier, l’analyse du chemin critique. L’analyse du chemin critique permet de déterminer l’origine des goulots d’étranglements par l’analyse du graphe d’exécution du système tracé. Ces périodes d’attente sont souvent causées par des appels réseaux à d’autres noeuds de la grappe. On doit donc souvent combiner plusieurs fichiers de trace issus de plusieurs noeuds différents afin de réellement comprendre l’origine du blocage. Compte tenu de la taille des fichiers de trace, il est impossible et inefficace de les trasnférer sur un noeud d’analyse unique. On doit donc répartir les calculs du processus d’analyse entre les différents noeuds tracés. Les outils d’analyse devenant eux-même des systèmes distribués, leur performance est également un enjeu. Ce travail de recherche a consisté à proposer un algorithme de calcul du chemin critique distribué dans la seconde contribution. Deux architecture optimisées pour l’architecture d’analyse répartie des traces ont étés proposées. La troisième contribution a permis d’améliorer les performances de celui-ci en effectuant un pré-traitement des fichiers de traces sur les noeuds distants. Celle-ci est basée sur des fichiers d’indexation de traces et permet d’éviter les communications inutiles entre les noeuds d’analyse lors du calcul du chemin critique. Une attention particulière a été accordée à la minimisation du surcoût des méthodes développées. Tout les outils et algorithme développés sont publiquement disponibles dans des dépôts identifiés dans les articles composants cette thèse.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
Polytechnique Montréal
OAI:
oai:publications.polymtl.ca:53372
ORCID
Date du dépôt:
27 sept. 2023 14:22
Dernière modification:
14 oct. 2026 14:11
Citer en APA 7:
Denys, P.-F. (2023). Distributed Performance Analysis Tools for Large Scale Computations [Thèse de doctorat, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/53372/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document