Thèse de doctorat (2025)
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (4MB) |
Résumé
Les systèmes distribués évoluent rapidement et suscitent un grand intérêt auprès des grandes entreprises, car ils ne sont pas liés à un langage de programmation spécifique, et sont facile-ment évolutifs et maintenables. Cependant, en raison de leur architecture complexe et de la communication entre services, identifier un service défaillant en cas de problème ou d’erreur est une tâche extrêmement difficile et chronophage. Les ingénieurs doivent avoir une compré-hension approfondie de l’architecture pour localiser précisément l’origine du problème. Pour y faire face, les systèmes de traçage de haut niveau et de bas niveau sont devenus des outils précieux permettant d’identifier les causes de la dégradation des performances. Le traçage suit une requête depuis une couche de haut niveau à travers plusieurs services, tandis que les systèmes de métriques détectent les problèmes de performance au niveau des machines. Uti-liser l’une ou l’autre de ces approches, ou une combinaison des deux, présente des avantages et des défis spécifiques. Dans cette recherche, nous avons abordé ces problématiques en trois phases. Dans la première phase de notre recherche, nous avons développé DTraComp (Distributed Trace Compare), un logiciel à code source libre conçu pour aider les utilisateurs à comparer plusieurs traces d’exécution dans des systèmes distribués ou monolithiques. Cet outil répond à une limitation clé de nombreux outils d’analyse de performance existants : l’absence de fonctionnalité de comparaison. DTraComp facilite l’identification des services responsables de la dégradation des performances en comparant deux groupes de traces de requêtes et en mettant en évidence leurs différences. Le logiciel est intégré à Eclipse Trace Compass, une plateforme largement utilisée pour la visualisation de traces. Il prend en charge divers formats de traces et génère un graphe de flamme différentiel en utilisant une échelle de couleurs allant du blanc au rouge et au bleu, pour montrer l’intensité et la direction des différences d’exécution. Les utilisateurs peuvent également sélectionner un service ou une portion spécifique pour consulter les métriques système de bas niveau, telles que l’utilisation du CPU ou la mémoire, capturées au niveau du noyau. Ce contexte supplémentaire permet d’identifier la cause profonde des dégradations de performance dans les composants distribués. DTraComp a été évalué sur plusieurs scénarios réels et est actuellement utilisé chez Ericsson pour l’analyse des performances.
Abstract
ABSTRACT Distributed systems are growing quickly and are widely used by large companies because they are easy to scale, maintain, and do not depend on a specific programming language. However, their complex structure and the way services communicate with each other make it very difficult and time-consuming to find the cause of problems when something goes wrong. Engineers often need a deep understanding of the system to identify which service is causing the issue. One common way to address this challenge is by using high-level tracing and low-level system metrics. High-level tracing tracks how a request moves across different services, while low-level metrics focus on system performance like CPU or memory usage. Each method has its own advantages and limitations, and sometimes they are used together. In this research, we addressed these challenges through three main phases. In the first phase of our research, we developed DTraComp (Distributed Trace Compare), an open-source framework designed to help users compare multiple execution traces in both distributed and monolithic systems. This tool addresses a key limitation in many existing performance analysis tools—the lack of a comparison feature. DTraComp makes it easier to identify services responsible for performance degradation by comparing two groups of request traces and highlighting their differences. The framework is integrated with Eclipse Trace Compass, a widely used trace visualization platform. It supports various trace formats and generates a differential flame graph, using a color scale from white to red and blue, to show the magnitude and direction of the differences in execution. Users can also select a specific service or span to view low-level system metrics, such as CPU usage and memory, captured at the kernel level. This additional context helps identify the root cause of performance degradation across distributed components. DTraComp has been evaluated on multiple real-world scenarios and is currently in use at Ericsson for performance analysis.
| Département: | Département de génie informatique et génie logiciel |
|---|---|
| Programme: | Génie informatique |
| Directeurs ou directrices: |
Michel Dagenais |
| URL de PolyPublie: | https://publications.polymtl.ca/67029/ |
| Université/École: | Polytechnique Montréal |
| Date du dépôt: | 17 nov. 2025 12:14 |
| Dernière modification: | 17 nov. 2025 13:43 |
| Citer en APA 7: | Ekhlasi, M. (2025). Diagnostic automatisé des performances dans les systèmes distribués à l'aide de traces, de métriques système et de modèles de langage de grande taille [Thèse de doctorat, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/67029/ |
|---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
