Projet :
APACHE

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.
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.
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é.
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.

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