Analyse automatisée des causes de blocage de processus à partir d'une trace d'exécution

Pierre-Marc Fournier

Mémoire de maîtrise (2009)

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

Résumé

La tendance actuelle à la parallélisation fait que les développeurs sont de plus en plus fréquemment confrontés à des bogues de performance dont la cause est difficiles à repérer. Ceux-ci sont fréquemment dus à des interactions imprévues entre des composants logiciels qui s'exécutent parallèlement. L'intégration grandissante et la complexité liée au débogage des grands systèmes informatiques exacerbent ce problème. Un type de bogue de performance particulièrement difficile est celui dont la réelle cause est séparée du symptôme par une chaîne de blocages. Les outils actuels sont d'une aide limitée pour résoudre ces bogues. L'objectif de ce travail est donc la conception d'un outil aidant au débogage de problèmes de performance impliquant des chaînes de blocages. Ce mémoire introduit cette nouvelle approche et traite de son implémentation dans l'Analyseur de délais de LTTV. Le Linux Trace Toolkit (LTTng) est utilisé pour l'enregistrement de traces et la majorité de l'instrumentation, permettant le traçage de systèmes en production avec grande précision et un impact minimal sur la performance. Cette approche utilise exclusivement de l'instrumentation noyau et ne requiert pas la recompilation des applications. L'outil d'analyse produit un rapport qui indique en détail de quelle façon le temps a été consommé dans un processus donné entre deux événements. Pour chacune des catégories, un autre rapport indique la liste des intervalles de temps où le processus a été dans cet état. Enfin, dans les cas où le processus était bloqué, la chaîne de blocages complète est affichée. L'Analyseur de délais de LTTV a été utilisé pour analyser et corriger rapidement des problèmes de performance complexes, chose impossible avec les outils existants. Le temps d'analyse est linéaire par rapport à la taille de la trace. L'usage de la mémoire lors de l'analyse de grandes traces est linéaire par rapport à la taille de la trace, mais une méthode pour la rendre constante est décrite. La méthode conçue pourrait servir de base à des travaux futurs, dont l'analyse de chaînes de blocages qui impliquent plusieurs ordinateurs ou qui impliquent à la fois des machines physiques et les machines virtuelles qu'elles hébergent.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:117
ORCID
Date du dépôt:
25 juin 2009 13:56
Dernière modification:
14 oct. 2026 10:35
Citer en APA 7:
Fournier, P.-M. (2009). Analyse automatisée des causes de blocage de processus à partir d'une trace d'exécution [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/117/

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