Synchronisation de traces distribuées à l'aide d'événements de bas niveau

Benjamin Poirier

Mémoire de maîtrise (2010)

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

Résumé

Le traçage d'événement a prouvé son efficacité dans l'identification de problèmes de fonctionnalité et de performance. Il peut s'appliquer dans le développement d'applications, de systèmes d'exploitation et de pilotes matériels. Pour l'appliquer également à des systèmes distribués, il est possible d'enregistrer des traces individuellement sur chaque noeud puis de regrouper ces traces lors de l'analyse a posteriori. Il faut alors que les estampilles de temps associées aux événements soient synchronisées avec fidélité et justesse. Ce mémoire traite de la synchronisation hors ligne de groupes de traces enregistrées sur un système distribué. L'objectif est d'identifier un algorithme de synchronisation de trace précis, qui s'exécute en temps linéaire par rapport au nombre d'événements dans le groupe de traces, qui garantit l'absence d'inversion de message et qui peut déterminer des bornes sur la justesse. Dans l'approche préconisée, le traçage noyau enregistre avec une faible intrusivité des événements correspondant à l'envoi et la réception de messages réseau. Les relations d'ordre entre ces événements sont utilisées pour construire une base de temps globale. L'approche se concentre sur la synchronisation de paires de traces à l'aide de fonctions linéaires de correction d'horloge. Les paramètres de ces fonctions sont identifiés à l'aide de l'algorithme basé sur la méthode des enveloppes convexes. Cet algorithme garantit l'absence d'inversion de message et il a été étendu afin de déterminer des bornes sur la justesse à tout moment lors du traçage. L'algorithme a été intégré à un outil de visualisation de trace. Son application à des traces réelles, variées et de grandes tailles révèle que la précision de la synchronisation est favorisée par l'utilisation d'un réseau à plus faible latence ou d'un débit de message plus élevé. En contrepartie, une durée de traçage plus longue réduit la précision et fausse la détermination des bornes de justesse. Cette situation est mise en évidence grâce à l'utilisation de métriques sur les temps de transfert des messages après synchronisation. L'étude de la performance de l'algorithme confirme qu'il peut réaliser la synchronisation avec un ordre d'exécution linéaire. La détermination des bornes de justesse a un comportement quadratique dans le pire des cas, mais, avec des traces réelles, elle s'exécute en temps presque linéaire. Lors de nos expériences, nous avons atteint une justesse de ±15 us et une précision estimée à 9 us sur un réseau comportant une latence minimale estimée à 39 us. La détermination de bornes sur la justesse de la synchronisation représente une avancée scientifique alors que l'implantation efficace de l'algorithme de synchronisation dans un système de traçage pratique représente une avancée technique.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:261
ORCID
Date du dépôt:
23 juin 2010 14:46
Dernière modification:
14 oct. 2026 10:35
Citer en APA 7:
Poirier, B. (2010). Synchronisation de traces distribuées à l'aide d'événements de bas niveau [Mémoire de maîtrise, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/261/

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