• Aucun résultat trouvé

2 État de l’art

2.1.3 Analyse de données

Les données brutes fournies par la trace ne sont pas toujours exploitables telles quelles. Le propos de l’analyse de données et de traiter ces données pour produire des indices de performance qui seront ensuite représentés dans les visualisations de l’environnement.

Ces indices de performance sont la plupart du temps des indicateurs simples comme des moyennes de volume de données échangés entre les tâches d’une ap-plication, des comptages de messages en attente, etc. Suivant les informations souhaitées, ces indicateurs sont obtenues en manipulant les données des événe-ments eux-mêmes ou les indications fournies par un simulateur.

Les outils d’analyse de données sont souvent simples et les informations qu’ils fournissent ne sont pas difficiles à produire en elles-mêmes. La partie délicate de cette tâche réside dans le choix des indicateurs de performance qui seront

don-2.1. PRINCIPES

nés aux visualisations (MILLER 1993). De la pertinence de ce choix dépendent la qualité de la vision des performances d’une application et la facilité avec laquelle les indicateurs de son comportement peuvent être utilisés pour localiser des pro-blèmes de performance.

2.1.4 Visualisation

La visualisation est la partie la plus utilisée des environnements d’évaluation de performance auxquels nous nous intéressons. C’est à travers elle que l’utilisa-teur voit le comportement de son application et peut décider si celle-ci a des pro-blèmes ou non. En l’absence d’aides automatisées à la recherche de propro-blèmes les possibilités d’évaluation d’une application dépendent principalement de la qualité et de la diversité des visualisations proposées par un environnement d’analyse de performance.

On peut séparer les visualisations en deux catégories. Les visualisations statis-tiques représentent les indices de performances qui sont produits par les modules d’analyse de données intégrés dans l’environnement. Des exemples courants de visualisations de ce type sont les histogrammes, les jauges, les représentations matricielles ou de contour, etc. Elles donnent une vue synthétique des indicateurs de comportement de l’application. La seconde catégorie est celle des visualisa-tions représentant des informavisualisa-tions spécifiques au domaine du parallélisme et au modèle de programmation utilisé pour l’écriture de l’application évaluée. Nous citerons pour exemples les animations de l’état de l’application, qui présentent après chaque événement une vue symbolique instantanée de l’état des différentes entités d’une application et des échanges de données qu’elles effectuent, et les diagrammes espace-temps représentant au cours du temps non seulement l’évolu-tion des états de l’applical’évolu-tion mais également les interacl’évolu-tions entre ses différentes parties.

Si les visualisations statistiques et autres représentations simples sont assez faciles à réaliser, il est très difficile de trouver des visualisations spécifiques à l’évaluation de performance qui apportent réellement un intérêt pour l’analyse du comportement des applications. Le premier problème que l’on rencontre est de déterminer ce qui va être représenté afin que la visualisation soit à la fois informa-tive et simple à comprendre (MILLER 1993). D’autres problèmes concernent la quantité d’informations représentées dans une visualisation donnée. En effet des

visualisations qui sont très correctes pour un petit nombre de données peuvent ra-pidement devenir totalement inutilisables lorsque ce nombre augmente. Les appli-cations parallèles modernes pouvant comporter beaucoup de tâches il est essentiel aujourd’hui de trouver de nouvelles visualisations pouvant représenter de grand nombres d’objets ; ces nouvelles visualisations doivent également être capables de donner plus d’information tout en restant très lisibles (REED 1991, HARING

1992, HACKSTADT et MALONY 1993).

Un autre problème lié à la visualisation est celui de l’accès aux informations de bas niveau et non pas seulement à celles qui sont représentées, ces dernières étant parfois trop synthétiques. Considèrons une visualisation montrant le graphe de tâches d’une application parallèle (une tâche est un sommet du graphe et les arêtes représentent les voies d’échanges de données) et dans laquelle chaque tâche a une couleur différente suivant son état. Cette visualisation fournit une information de haut niveau, l’état des tâches, mais ne permet pas de savoir autre chose alors que l’on souhaiterait par exemple connaître l’événement qui a fait qu’une tâche est bloquée parce que cette information supplémentaire peut aider à trouver les causes de ce blocage s’il est anormal. Cette possibilité d’accéder à plusieurs niveaux d’information, à interroger une visualisation pour en savoir que ce qu’elle présente de manière synthétique, est un des besoins les plus importants auxquels devront répondre les environnements de visualisation pour l’évaluation de performance des années futures.

Une dernière piste qui n’a pas encore été vraiment exploitée mais qui peut se révéler prometteuse est celle de la sonorisation des traces (FRANCIONI et al.

1991a, FRANCIONI et al. 1991b). La sonorisation n’est pas vraiment une

tech-nique de visualisation puisqu’elle exploite la dimension sonore, mais elle peut se révéler un plus très utile dans l’évaluation des performances d’une application. On sait depuis longtemps que l’ouïe, contrairement à la vue, n’a pas besoin d’être explicitement sollicitée pour réagir à de nombreuses informations ; utiliser le son revient donc réellement à ajouter plusieurs dimensions d’information puisqu’il est exploitable en même temps que la visualisation. L’idée de la sonorisation est d’associer des sons à certaines informations, ces sons formant unemélodie re-présentative du comportement de l’application évaluée. Si la mélodie est brusque-ment changée, l’utilisateur s’en aperçoit immédiatebrusque-ment et peut ainsi être averti de changements de phases dans son application ou encore d’anomalies : un schéma d’échange de données régulier ayant une mélodie répétitive, toute perturbation de ce schéma entraîne une rupture de la mélodie signalant le problème. L’intérêt principal du son est que nous y sommes très sensibles même s’il est complexe,