Analyse de systèmes temps-réel par traçage

François Rajotte

Mémoire de maîtrise (2014)

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

Résumé

Le traçage est une technique qui permet de récupérer de l'information très précise sur l'exécution d'un système avec un impact minime. Afin de mieux comprendre l'exécution d'une application, la technique habituelle consiste à y attacher un débogueur et interrompre l'application, afin d'inspecter la valeurs de certaines variables, par exemple. Cette approche est mal adaptée aux applications qui ont des interactions fréquentes avec le système lui-même ou avec d'autres applications. Les applications temps réel sont un type d'application qui possède ce genre d'interactions. L'aspect temporel de leur exécution rend l'utilisation d'un débogueur inutile dans plusieurs cas. L'impact minimal du traçage sur l'exécution d'une application lui confère un atout important pour mieux comprendre les interactions complexes qui peuvent agir au sein d'un système temps réel. Afin de minimiser l'impact de l'instrumentation, il est souhaitable de réduire la quantité d'information récupérée. Il est donc important de bien identifier l'information minimale nécessaire à l'analyse, qui ne causera pas de latences indues. Dans un même ordre d'idées, le traceur ne peut pas se permettre d'effectuer un traitement coûteux avant l'enregistrement des informations. Les événements récupérés devront donc contenir une information brute sur l'exécution du système. L'objectif de cette recherche est de montrer que l'information récupérée lors du traçage d'un système temps réel peut être utilisée pour extraire de l'information permettant de mieux comprendre des comportements propres aux systèmes temps réel. L'hypothèse de ce travail est que le traçage permet de récupérer de l'information sur l'exécution d'une application temps réel et que les informations de traçage ainsi récupérées peuvent être utilisées pour diagnostiquer des problèmes difficilement observables. Nous étudions d'abord les différents outils de traçage en fonction de leurs fonctionalités et de leur impact sur les systèmes temps réel. Ensuite, nous comparons les différents outils d'analyse de trace selon deux grandes catégories: les approches algorithmiques et les techniques de visualisation. Des problèmes typiques des applications temps réel sont initialement identifés et serviront de base pour guider notre recherche. Un algorithme est développé afin d'analyser la trace et retrouver ces problèmes typiques. L'algorithme est testé sur des traces générées à partir de cas de tests et sa performance sera évaluée. La première contribution de ce travail consiste en la mise au point d'un algorithme permettant de générer un modèle à haut niveau d'une application temps réel à partir de la trace de son interaction avec le noyau du système d'exploitation. Ce modèle utilise la sémantique particulière des événements afin de produire une machine à états simple et rapide. Les événements nécessaires et minimaux à l'analyse sont identifiés de façon à limiter l'impact du traçage sur l'application. La deuxième contribution consiste en l'élaboration d'un outil de visualisation permettant de comparer directement les différentes phases d'exécution d'une application temps réel. Cet outil utilise le modèle généré à partir des informations de traçage afin d'identifier les différentes phases et d'extraire plusieurs statistiques utiles à la compréhension globale de l'exécution. Finalement, une structure de stockage des statistiques est améliorée de façon à récupérer efficacement des statistiques qui évoluent de façon continue dans le temps. Le résultat final est un outil qui permet de diagnostiquer les problèmes des applications temps réel grâce aux informations contenues dans une trace noyau, en plus de faciliter la découverte de patrons d'intérêt.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:1388
ORCID
Date du dépôt:
23 juil. 2014 16:23
Dernière modification:
14 oct. 2026 10:37
Citer en APA 7:
Rajotte, F. (2014). Analyse de systèmes temps-réel par traçage [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1388/

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