Projet : APACHE

previous up next contents
Précédent : Interface de programmation Athapascan-1 et Remonter : Résultats nouveaux Suivant : Applications


Sous-sections


   
Outils pour le débogage et les performances



Participants : J. Chassin de Kergommeaux, A. Fagot, L-G. Fernandes, B. Plateau, B. Stein, J.-M.. Vincent, P. Waille.

Réexécution déterministe

Dans le cadre des techniques classiques de réexécution de programmes parallèles, un mécanisme original a été défini pour un sous-ensemble de ATHAPASCAN-0. Le surcoût dû à la prise de traces a été mesuré de façon systématique en utilisant des programmes synthétiques. Les résultats des mesures ont mis en évidence un surcoût très faible. Un travail en cours consiste à étudier une adaptation des mécanismes existants à l'ensemble des primitives de ATHAPASCAN-0, ainsi qu'à ATHAPASCAN-1. Cette étude est menée en collaboration avec l'université de Gand et financée par l'action intégrée Tournesol du MAE MENESR.

Traces et performance

Un travail de recherche qui s'achève nous a amené à définir les propriétés d'un traceur logiciel pour ATHAPASCAN-0. Il doit être à même d'identifier tous les objets clés (et les événements qui leur sont liés) d'un programme ATHAPASCAN-0 (les processeurs, les processus légers, les ports de communications, les messages, les variables de synchronisation, etc.). La mise en oeuvre d'un traceur pour ATHAPASCAN-0 a permis de soulever et de résoudre divers problèmes d'identification des fils d'exécution, d'observabilité de leur ordonnancement, d'atomicité des événements et de gestion des tampons de trace. Le traceur contient un mécanisme de recalage des horloges distribuées sur chaque processeur afin de disposer d'une horloge physique globale. Il est construit en instrumentant le code, de façon à ce que le temps de prise de mesure soit autant que possible prévisible et n'induise qu'une perturbation localisée autour du point mesuré. Un algorithme de correction post-mortem est en cours de réalisation, permettant de corriger autant que faire se peut les perturbations directes du programme instrumenté.

Analyse et visualisation

Un environnement de visualisation pour ATHAPASCAN-0 a été réalisé. Pour assurer l'extensibilité de l'environnement de visualisation, ce dernier est constitué d'un ensemble de composants. Un outil d'analyse de traces et de visualisation particulier est constitué en assemblant des composants de l'environnement pour constituer un graphe flot de données. L'environnement peut être enrichi par encapsulation d'un module de traitement de traces ou de visualisation pour constituer un nouveau composant de l'environnement. Des protocoles de communication entre composants ont été définis pour faciliter la réalisation de nouveaux modules connectables aux composants existants. Un prototype a été réalisé en utilisant le système OpenStep et son portage vers le système du domaine public GnuStep, pour en faciliter la diffusion, est étudié actuellement.

Les programmes ATHAPASCAN mettent en oeuvre un nombre important de processus légers, apparaissant et disparaissant dynamiquement durant l'exécution des programmes. Deux des visualisations les plus utilisées ont été combinées et adaptées à ATHAPASCAN : la représentation gère un nombre variable de processus légers dont les communications (diagramme espace-temps) et les états d'activité (diagramme de Gantt) sont représentés. Les objets visuels (tranche de vie de processus léger, communication, par exemple) sont interrogeables par l'utilisateur. Différents filtres ont été également réalisés pour faciliter la compréhension de l'utilisateur en regroupant ou restructurant l'information.



previous up next contents
Précédent : Interface de programmation Athapascan-1 et Remonter : Résultats nouveaux Suivant : Applications