Agrégation de traces d exécution pour la visualisation de grands systèmes distribués



Documents pareils
Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche

Principe de symétrisation pour la construction d un test adaptatif

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Introduction au Data-Mining

Fonctions de plusieurs variables

Techniques d interaction dans la visualisation de l information Séminaire DIVA

4.2 Unités d enseignement du M1

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Université de Bangui. Modélisons en UML

La classification automatique de données quantitatives

Extraction d informations stratégiques par Analyse en Composantes Principales

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Traitement bas-niveau

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Chapitre 7. Récurrences

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Introduction au Data-Mining

Transmission d informations sur le réseau électrique

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

MABioVis. Bio-informatique et la

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Differential Synchronization

Once the installation is complete, you can delete the temporary Zip files..

Le produit semi-direct

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Resolution limit in community detection

Le Futur de la Visualisation d Information. Jean-Daniel Fekete Projet in situ INRIA Futurs

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Business & High Technology

Optimisation, traitement d image et éclipse de Soleil

Synthèse «Le Plus Grand Produit»

Primaire. analyse a priori. Lucie Passaplan et Sébastien Toninato 1

Représentation des Nombres

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Modélisation géostatistique des débits le long des cours d eau.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Concevoir et déployer un data warehouse

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Chapitre 1 : Introduction aux bases de données

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Formats d images. 1 Introduction

Introduction au datamining

Contributions à l expérimentation sur les systèmes distribués de grande taille

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Apprentissage Automatique

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Entraînement, consolidation, structuration... Que mettre derrière ces expressions?

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

données en connaissance et en actions?

Opérations de base sur ImageJ

Arbres binaires de décision

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Annexe 6. Notions d ordonnancement.

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Coup de Projecteur sur les Réseaux de Neurones

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Travailler avec les télécommunications

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Introduction à l étude des Corps Finis

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Entrepôt de données 1. Introduction

Présentation du Modèle de Référence pour les Bibliothèques FRBR

Les diagrammes de modélisation

OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT)

Agrégation des portefeuilles de contrats d assurance vie

Conception des bases de données : Modèle Entité-Association

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

Intégration et probabilités TD1 Espaces mesurés Corrigé

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Créer le schéma relationnel d une base de données ACCESS

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

TSTI 2D CH X : Exemples de lois à densité 1

Continuité d une fonction de plusieurs variables

UML (Diagramme de classes) Unified Modeling Language

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Créer et partager des fichiers

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

ASSURER LA QUALITE DES RESULTATS D ESSAI ET D ETALONNAGE Assuring the quality of test and calibration results

NON-LINEARITE ET RESEAUX NEURONAUX

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Introduction à MATLAB R

TD : Codage des images

Programmes des classes préparatoires aux Grandes Ecoles

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Programmation linéaire

Théorèmes de Point Fixe et Applications 1

Installer Joomla Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

Cours de Master Recherche

L apprentissage automatique

Transcription:

Agrégation de traces d exécution pour la visualisation de grands systèmes distribués Robin Lamarche-Perrin 1, Lucas M. Schnorr 2, Jean-Marc Vincent 2, Yves Demazeau 1 1. Laboratoire d Informatique de Grenoble Maison Jean Kuntzmann 110 avenue de la Chimie 38400 Saint-Martin-d Hères {Robin.Lamarche-Perrin,Yves.Demazeau}@imag.fr 2. Laboratoire d Informatique de Grenoble INRIA Rhône-Alpes 655 avenue de l Europe 38330 Montbonnot {Lucas.Schnorr,Jean-Marc.Vincent}@imag.fr RÉSUMÉ. La visualisation de performance consiste à représenter graphiquement l exécution d applications parallèles pour procéder à leur analyse. Dans le cas de très grands systèmes, l agrégation des données analysées est inévitable. Cet article met en évidence un problème scientifique majeur : comment produire des représentations agrégées qui ont un sens lors du passage à l échelle? Quatre éléments de réponse sont discutés. (1) Les outils de visualisation doivent garantir la compréhension et le contrôle par l utilisateur du procédé d agrégation. (2) Il est crucial d estimer la qualité des représentations engendrées afin de distinguer les agrégations utiles (suppression d informations redondantes) de celles qui sont dangereuses pour l analyse (perte d informations importantes). Nous proposons des mesures issues de la théorie de l information pour quantifier ces deux aspects et pour ainsi engendrer des représentations multirésolutions (agrégation de données redondantes et conservation des données hétérogènes). (3) Les propriétés sémantiques et topologiques du système doivent également être prises en compte afin de garantir la juste interprétation des agrégats par l utilisateur. La recherche des agrégations optimales est ainsi restreinte à un ensemble d agrégations pertinentes sur le plan sémantique. (4) Des méthodes de calcul sophistiquées sont alors nécessaires pour sélectionner les agrégations optimales lors du passage à l échelle. Nous proposons un algorithme à complexité linéaire (dans le cas de systèmes hiérarchiques) parvenant à agréger jusqu à un million d entités et garantissant l interprétabilité des visualisations engendrées. ABSTRACT. Performance visualisation consists in using graphical representations to analyse parallel applications. In the case of large-scale systems, the aggregation of data cannot be avoided. This paper highlights a major scientific issue: How to provide aggregated representations Technique et science informatiques n o 5-6/2014, 465-498

466 TSI. Volume 33 n o 5-6/2014 that have a consistent meaning at scale? Four facets of this issue are addressed in this paper. (1) Visualisation tools should ensure the understanding and the control of the aggregation process by the user. (2) They should estimate the quality of aggregated representations in order to distinguish useful aggregations (suppressing redundant information) from those that may be harmful for the analysis (supressing essential information). We propose to use informationtheoretic measures in order to quantify these two aspects and to generate multiresolution representations of the system (aggregating redundant data while preserving heterogeneous data). (3) The system s semantic and topological properties should also be taken into account in order to ensure the proper interpretation of aggregated data by the user. The search for optimal aggregations is thus restricted to a subset of semantically-relevant aggregations. (4) Advanced computation methods are necessary to select optimal aggregations in an efficient way. We propose an algorithm with a linear complexity (in the case of hierarchical systems) in order to aggregate large-scale execution traces while preserving the interpretability of generated visualisations. MOTS-CLÉS : agrégation de données, réduction de complexité, perte d information, théorie de l information, visualisation de performance, systèmes distribués, représentations treemap. KEYWORDS: data aggregation, complexity reduction, information loss, information theory, performance visualization, distributed systems, treemap representations. DOI:10.3166/TSI.33.465-498 c 2014 Lavoisier 1. Introduction Les applications de calcul haute performance (High Performance Computing) s exécutent actuellement sur des systèmes ayant plusieurs milliers, voire plusieurs millions de cœurs. Le supercalculateur en tête de la liste Top500 de juin 2013 en possédait par exemple plus de 3 millions 1. L exa-informatique vise à développer, au cours des prochaines années, des supercalculateurs atteignant l exaflop (i.e., 10 18 opérations par seconde) en orchestrant éventuellement plusieurs milliards de cœurs (Geller, 2011). Les applications exécutées sur ces plateformes font intervenir autant de fils d exécution, engendrant une concurrence extrême entre les tâches de calcul. Comprendre et expliquer le comportement de ces applications constitue un défi majeur pour l informatique. Nous distinguons les défis techniques, relatifs à l observation, la centralisation et l enregistrement de l activité des processus, notamment via des traces d exécution, et les défis sémantiques, relatifs à l extraction d informations pertinentes pour l analyse à différentes échelles temporelles (de la nanoseconde au millier de secondes) et spatiales (du cœur à l ensemble du système). La visualisation de performance constitue un outil d analyse adapté au débogage et à l optimisation d applications hautes performances. Elle consiste à représenter graphiquement leur exécution pour y détecter des comportements anormaux. Les techniques de visualisation de l espace et du temps utilisées dans le domaine comprennent 1. Supercalculateur Tianhe-2 Milkyway, voir : http://www.top500.org/lists/2013/06/.

Agrégation et visualisation de traces 467 des représentions classiques, telles que les diagrammes de Gantt (Wilson, 2003), et des représentations alternatives moins classiques, telles que les treemaps 2 (Shneiderman, 1992) et le graphe des ressources de calcul (Schnorr, Legrand, 2012). Cet article présente des outils de visualisation compétitifs pour l analyse de performances à grande échelle (Jumpshot-4, Pajé, Paraver, Triva, Vampir, Vite et Viva) en précisant les techniques de visualisation qu ils implémentent. Ces outils doivent cependant être perfectionnés afin de préserver la sémantique des données aux échelles qui nous intéressent. En plus d être extrêmement coûteux, le rendu détaillé du niveau microscopique est difficile à analyser (Schnorr, Legrand, 2012). Plus grave, le désordre qui existe à ce niveau compromet l interprétation des représentations. Il est alors nécessaire de recourir à des techniques d abstraction pour réduire la taille et la complexité des visualisations proposées (Elmqvist, Fekete, 2010). Pour ce faire, des techniques de sélection, d échantillonnage, de regroupement (clustering) ou d agrégation permettent de réduire la taille des traces pour engendrer des représentations graphiques lisibles. Cependant, les techniques de sélection n offrent que des représentations partielles du système, interdisant ainsi tout point de vue global. L échantillonnage ne permet pas de capter à coup sûr les comportements exceptionnels. Le regroupement (Lee et al., 2008) constitue des agrégats de processus généralement décorrélés de la sémantique du système (e.g., tâches exécutées, architecture, topologie du réseau), ce qui peut nuire à l analyse (cf. section 4). En revanche, l agrégation de données permet, dans certains cas, de constituer des abstractions plus pertinentes pour interpréter de grandes traces d exécution. Les données brutes sont transformées par un opérateur d agrégation (moyenne, somme, médiane, etc. (Elmqvist, Fekete, 2010)) en fonction de la structure du système (Schnorr et al., 2009). L agrégation vise ainsi à réduire la taille des données pour produire une représentation macroscopique cohérente des états et de la dynamique du système. Notons que ce processus de réduction est inévitable dans le cas de grandes traces, qu il s agisse d une agrégation graphique lors du rendu de la visualisation (par exemple au niveau des pixels, pour Paraver (Labarta et al., 2006)) ou d une agrégation de données (par exemple au niveau des évènements, pour Viva (Schnorr, Legrand, 2012)). L agrégation n est pas un procédé de traitement anodin. Elle peut notamment engendrer une perte d information dangereuse pour l interprétation des représentations macroscopiques, en particulier lorsque les données agrégées sont fortement hétérogènes. Si elle n est pas contrôlée, une telle transformation peut n apporter aucune information pertinente et, pire, induire l utilisateur en erreur. Par exemple, dans la figure 1, parce qu il n y a pas assez de place sur l écran pour représenter toute l information contenue dans une trace d exécution de 8 mois, une agrégation temporelle des données est nécessaire. En examinant les détails sur une période de 12 jours, nous remarquons que le comportement est bien plus complexe que celui visualisé à l échelle macroscopique. Plus grave encore, le logiciel de visualisation procède également à 2. Plusieurs traductions de ce terme anglais ont été proposées en informatique : «diagrammes de répartition», «diagrammes d occupation», ou encore «arborescences». Nous préférons dans la suite de l article conserver le terme original «treemaps» qui exprime mieux la représentation d arbres ou de hiérarchies.

468 TSI. Volume 33 n o 5-6/2014 Acroread 8 mois Evince 8 mois 12 jours 12 jours Figure 1. Visualisation de la disponibilité d un client BOINC sur une période de 8 mois (Schnorr, Legrand, Vincent, 2012). Une agrégation de données est nécessaire pour représenter l ensemble de cette période (frises supérieures). Le résultat de l agrégation est visualisé au format vectoriel par deux outils (Acroread à gauche et Evince à droite). Les représentations diffèrent du fait des techniques d agrégation graphique implémentées par chacun des outils une agrégation graphique pour afficher les données superposées au niveau du pixel. Le rendu diffère d un outil à l autre, ce qui met en cause l interprétabilité de la visualisation (cf. les quatre frises de la figure 1, réalisées avec deux outils de visualisations différents, sur le même ordinateur et avec le même logiciel de capture). Le procédé d agrégation étant à la fois décisif et critique, il nous paraît essentiel de disposer de méthodes formelles et pratiques pour son contrôle et son évaluation. À notre connaissance, peu de travaux de recherche en visualisation de performance se sont intéressés à ce problème dépassant, bien entendu, le seul domaine des systèmes distribués. Nous défendons l idée que, dans la plupart des domaines d applications, l évaluation du procédé d agrégation est un point crucial pour garantir l interprétabilité des visualisations à grande échelle. Face aux limitations sémantiques des outils de visualisation de performance (section 2), cet article présente une approche originale, adaptée à la production de visualisations macroscopiques pertinentes pour l utilisateur. Cette approche consiste à évaluer la qualité des représentations proposées en exploitant des mesures issues de la théorie de l information, dont les fondements mathématiques permettent de formaliser les notions de «complexité» et de «perte d information» pour engendrer des représentations multirésolutions : agrégation de données redondantes et conservation des données hétérogènes (section 3). Nous proposons un algorithme permettant d optimiser ces mesures de qualité et d ainsi sélectionner les «meilleures» visualisations pour une trace donnée (section 4). Cette approche est appliquée à l agrégation spatiale d applications parallèles et à leur visualisation via des treemaps multirésolutions. Nous montrons que de telles représentations permettent de détecter à moindre coût les comportements anormaux au sein de l application. En outre, nous montrons que notre approche résout les défis techniques et sémantiques actuels en agrégeant la trace d exécution d un million de processus (section 5). Nous montrons que cette ap-

Agrégation et visualisation de traces 469 proche peut être généralisée à de nombreux cas d analyse et que les problèmes qu elle soulève ne se limitent pas au domaine du calcul haute performance (section 6). Nous pensons au contraire que l évaluation et le contrôle des procédés d agrégation constitue un enjeu transversal crucial pour la visualisation de grandes quantités de données (section 7). 2. Politiques d agrégation des outils de visualisation de performance Les outils de visualisation de performance ont souvent recours à l agrégation de données pour manipuler de grandes traces d exécution. Dans cet état de l art, nous utilisons comme référence les techniques de visualisation par diagrammes de Gantt, car celles-ci sont implémentées dans la majeure partie des outils d analyse. Nous distinguons quatre catégories de politiques d agrégation de données proposées par ces outils (Schnorr, Legrand, 2012). À ce titre, le procédé d agrégation constitue une étape préliminaire au procédé de visualisation. Interdiction de l agrégation. Politique généralement utilisée pour éviter les pertes d information pouvant induire l utilisateur en erreur. Agrégation implicite. L utilisateur ne peut distinguer, au sein de la visualisation, les données agrégées des données brutes. L agrégation graphique, induite par le rendu de la visualisation, tombe dans cette catégorie. Agrégation explicite. L utilisateur supervise le procédé d agrégation. Il peut notamment contrôler les entités à agréger et les opérateurs à utiliser. Évaluation de l agrégation. En plus de superviser le procédé d agrégation, l utilisateur dispose d indicateurs concernant la qualité des représentations engendrées. Il peut ainsi estimer la perte d information induite par l agrégation. 2.1. Interdiction de l agrégation Le diagramme de Gantt implémenté dans Pajé (Chassin de Kergommeaux et al., 2000) interdit l agrégation spatiale des données en imposant une largeur d écran minimale pour chaque entité visualisée. Dans l exemple de la figure 2, seule l activité de 16 processus est affichée. L utilisateur doit faire défiler la fenêtre de haut en bas pour examiner les autres entités, ce qui rend impossible toute vue d ensemble. Très peu d outils interdisent l agrégation spatiale ou temporelle, sous peine de contraindre l utilisateur à une analyse extrêmement laborieuse dans le cas de grandes traces. La plupart des outils proposent donc un procédé d agrégation implicite ou explicite de l espace et du temps, pour offrir une vue globale de l exécution. 2.2. Agrégation implicite Dans le diagramme de Gantt implémenté par Pajé, les communications et les évènements peuvent être agrégés dans le temps. Cependant, l utilisateur ne peut distinguer

470 TSI. Volume 33 n o 5-6/2014 immédiatement les données brutes des données agrégées, les symboles correspondants étant identiques. Par exemple, dans la figure 2, les flèches de synchronisation entre les processus (ellipse B) peuvent indistinctement représenter une ou plusieurs communications. L utilisateur peut néanmoins parcourir ces symboles pour obtenir plus d information à leur sujet. Le diagramme implémenté par Vampir (Brunst et al., 2010) agrège dans le temps les fonctions exécutées par l application analysée. La couleur d un pixel correspond à la fonction prédominante sur l intervalle de temps correspondant (GWT-TUD Gmbh, 2011). Pour cet outil, il est impossible de distinguer le cas où une seule fonction a été exécutée du cas où plusieurs l ont été. Le diagramme implémenté par Vite (Coulomb et al., 2009) réalise une agrégation graphique implicite de l espace et du temps. L outil tente d afficher toutes les données fournies, indépendamment de l espace disponible pour la visualisation. Jumpshot-4 (Chan et al., 2008) et slog2 (un format de fichier pour encoder de très grandes traces) permettent à l utilisateur de configurer la granularité de la dimension temporelle pour réduire les coûts de lecture et de visualisation. Cependant, une fois la granularité définie, rien ne permet d identifier visuellement les intervalles qui ont effectivement été agrégés. Temps A B Processus agrégation interdite Rectangles hachurés : agrégation explicite des états Flèches superposées : agrégation implicite des communications Figure 2. Diagramme de Gantt proposé par l outil de visualisation Pajé (Kergommeaux et al., 2000). Les processus de l application sont listés selon l axe vertical (dimension spatiale) et le comportement de chaque processus est visualisé selon l axe horizontal (dimension temporelle) sous la forme de rectangles, indiquant les différents états d exécution, et de flèches, indiquant les communications entre les processus. L ellipse A met en évidence des rectangles hachurés indiquant une agrégation temporelle des états sur la tranche de temps correspondante (lorsqu il est impossible de visualiser des variations trop fines). L ellipse B met en évidence des flèches représentant chacune plusieurs communications via une agrégation implicite

Agrégation et visualisation de traces 471 Dans la mesure où les données agrégées ne sont pas clairement identifiées, ces outils peuvent conduire à une mauvaise interprétation de la visualisation : certaines données brutes peuvent être dissimulées, uniformisées, ou transformées sans que cela ne soit indiqué clairement à l utilisateur. Il est par conséquent nécessaire d utiliser ces outils avec la plus grande prudence, ou alors préférer ceux qui distinguent explicitement les données agrégées des données brutes. 2.3. Agrégation explicite Dans le diagramme proposé par Pajé, les états des processus sont représentés par des rectangles hachurés lorsqu il n y a pas assez de place pour représenter en détail leur succession (cf. figure 2, ellipse A). La distribution de ces états est alors indiquée, mais pas leur ordre. Lorsque le diagramme de Gantt proposé par Paraver (Pillet et al., 1995 ; Labarta et al., 2006) est agrégé dans le temps ou dans l espace, le rendu de la visualisation est contrôlé afin de repérer les éventuelles agrégations au niveau des pixels. L utilisateur peut alors sélectionner un opérateur d agrégation pour chacune des dimensions : afficher le premier ou le dernier état, l état le plus ou le moins présent, l état moyen, ou encore un état choisi de manière aléatoire. Il contrôle ainsi explicitement la manière dont est faite l agrégation. Dans le diagramme proposé par Vampir (Brunst et al., 2010), un symbole spécial est utilisé pour représenter les communications agrégées, invitant l utilisateur à zoomer pour obtenir plus de détails (GWT-TUD Gmbh, 2011). Triva (Schnorr, Legrand, Vincent, 2012) et Viva (Schnorr, Legrand, 2012) agrègent également l espace et le temps de manière explicite, mais à partir de techniques de visualisation moins classiques (treemaps et graphes des ressources). Ces outils pour l analyse de traces permettent de mieux interpréter les visualisations qu ils engendrent : soit en contrôlant la manière dont le procédé d agrégation est réalisé, soit en indiquant explicitement lorsque les données brutes ont été transformées. Cependant, ils ne permettent pas de distinguer les agrégations utiles (suppression d informations redondantes) des agrégations dangereuses pour l analyse (perte d informations importantes). En plus du contrôle du procédé d agrégation, ces outils devraient donc fournir à l utilisateur les moyens d évaluer la qualité des représentations engendrées. Analyse de l état d art et contribution Le tableau 1 fait la synthèse des politiques d agrégation implémentées par les outils de visualisation cités dans cette section. Nous distinguons l agrégation de la dimension spatiale (ensemble des processus de l application) et l agrégation de la dimension temporelle (états et communications des processus au cours du temps). Par exemple, la ligne dédiée à Pajé dans le tableau indique que cet outil interdit l agrégation spatiale et autorise l agrégation temporelle, de manière implicite dans le cas des communications et de manière explicite dans le cas des états. Ce tableau montre qu aucun outil de visualisation de performance, à notre connaissance, n offre les moyens nécessaires à l évaluation de la qualité des techniques d agrégation qu ils implémentent. Pour ceux

472 TSI. Volume 33 n o 5-6/2014 que nous avons examinés (Jumpshot-4, Pajé, Paraver, Triva, Vampir, Vite et Viva), même si les données agrégées sont graphiquement distinguées des données brutes, l utilisateur ne peut pas identifier et sélectionner les agrégations permettant le passage à l échelle sans nuire profondément à l interprétation des données. Cet article vise à l implémentation d une telle politique d agrégation au sein de l outil de visualisation Viva (cf. objectif dans le tableau 1. Interdiction Implicite Explicite Évaluation Jumpshot-4 Espace Temps Pajé Espace Temps (comm.) Temps (états) Paraver Triva Espace/Temps Espace/Temps Vampir Espace/Temps Temps (comm.) Vite Espace/Temps Viva Espace/Temps objectif Tableau 1. Classification des outils de visualisation de traces en fonction de leurs politiques d agrégation (spatiale/temporelle, interdite/implicite/explicite) 3. Évaluer la qualité des représentations agrégées Nous venons de mettre en évidence le besoin d intégrer aux outils de visualisation des méthodes d évaluation permettant de contrôler la qualité des représentations engendrées par l agrégation de données. Cette section formalise la notion même d agrégation (3.1). Nous y définissons la qualité d une représentation comme un équilibre entre une réduction de complexité, évaluant la suppression d informations redondantes pour simplifier la visualisation et passer à l échelle, et une mesure d ajustement (goodness-of-fit), évaluant la juste interprétation des données agrégées par rapport aux données microscopiques (3.2). Des mesures issues de la théorie de l information sont proposées afin de quantifier ces deux aspects de l agrégation de données (3.3). 3.1. Données microscopiques et données agrégées Soit E l ensemble des entités microscopiques du système. Dans le cas de systèmes distribués, il s agit la plupart du temps des processus exécutés. La visualisation de performance consiste à afficher certains attributs de ces entités (états, propriétés, évènements, communications, etc.) pour en analyser la répartition. Dans cet article, nous nous intéressons aux attributs quantitatifs à valeur positive. Nous notons v(e) R + la valeur prise par l attribut du processus e E. L ensemble des valeurs {v(e)} e E constitue la représentation microscopique spatiale de l attribut (cf. figure 3). Elle fournit une information complète et détaillée des entités relativement

Agrégation et visualisation de traces 473 Agrégat homogène 12 11 9 10 8 10 60 10 10 10 10 10 10 Agrégat hétérogène 3 0 3 14 8 22 20 70 10 10 10 10 10 10 10 Représentation microscopique Représentation agrégée Réprésentation hypothétique Figure 3. Deux exemples d agrégation de données. Un agrégat homogène (en haut) et un agrégat hétérogène (en bas) sont représentés au niveau microscopique (à gauche), puis agrégés (au centre) et interprétés sous la forme d une représentation hypothétique (à droite). Dans le cas de l agrégat hétérogène, cette représentation hypothétique diverge significativement de la représentation microscopique à l attribut sélectionné. Dans de nombreux cas, toute l information contenue par une telle représentation n est pas nécessaire à l analyse. Un ensemble restreint de valeurs peut alors suffire à la compréhension et à l explication de l exécution. Un agrégat A E est une entité macroscopique abstraite qui résume le comportements d un ensemble d entités sous-jacentes. Les valeurs agrégées peuvent être définies de plusieurs manières : somme, moyenne, extrema, distribution des valeurs (Elmqvist, Fekete, 2010). Par exemple, dans la figure 3, les valeurs des agrégats sont la somme des valeurs des entités sous-jacentes. Nous notons donc v(e) la somme des valeurs de tous les processus. Une agrégation A est une partition de E qui associe à chaque entité microscopique un et un seul agrégat. L ensemble des valeurs agrégées {v(a)} A A fournit alors une représentation agrégée de l attribut (cf. figure 3). Dans cet article, nous nous limitons donc à l étude des agrégations recouvrantes (chaque entité appartient au moins à un agrégat) et non redondantes (chaque entité appartient au plus à un agrégat). Il serait intéressant de relâcher, plus tard, cette contrainte. 3.2. Mesure paramétrée : entre réduction de complexité et perte d information La visualisation et l analyse d une représentation agrégée est moins coûteuse, sur le plan computationnel et sur le plan cognitif, que la visualisation et l analyse de la représentation microscopique correspondante. Cependant, la représentation agrégée est plus ou moins similaire à la représentation initiale. On parle d ajustement. Par exemple, dans la figure 3, seules 2 valeurs sont fournies par la représentation agrégée, contre 13 valeurs pour la représentation microscopique. Ces deux représentations peuvent être comparées grâce à une hypothèse de répartition des valeurs au sein des

474 TSI. Volume 33 n o 5-6/2014 agrégats. Il s agit de la manière dont l utilisateur est amené à interpréter les données agrégées. Nous pouvons par exemple supposer que les sommes sont uniformément réparties entre les entités sous-jacentes (cf. figure 3). On parle alors de représentation hypothétique. Il apparaît que certains agrégats sont plus adéquats que d autres pour résumer les données. Dans la figure 3, l agrégat homogène semble pertinent dans la mesure où sa représentation hypothétique est proche de de sa représentation microscopique. Ce n est pas le cas de l agrégat hétérogène. Dans cet article, nous nous limitons à l hypothèse de répartition uniforme. L agrégation de valeurs hétérogènes entraîne alors un faible ajustement. Il serait cependant intéressant de travailler à partir d autres hypothèses de répartition en fonction de l attribut visualisé (par exemple des répartitions Gaussiennes, géométriques, etc.). La notion de «bonne» agrégation réunit donc deux aspects : 1. Ce que l on gagne en agrégeant la représentation microscopique. Il s agit de la simplification opérée par le processus d agrégation pour passer à l échelle. Nous parlons plus précisément de réduction de complexité, c est-à-dire de la réduction des ressources (ressources de calcul ou ressources cognitives) nécessaires à la visualisation de la représentation agrégée. 2. Ce que l on perd lors de l agrégation en termes d ajustement. Il s agit de mesurer la qualité des données visualisées par rapport aux données microscopiques. Le résultat de l agrégation est notamment sensible à la perte d information pouvant nuire à la bonne interprétation des données par l utilisateur. Par conséquent, choisir une agrégation consiste à réaliser un compromis entre un gain et une perte. Ce point de vue hérite notamment de travaux en sélection de modèles statistiques. Par exemple, le critère informationnel d Akaike (1974) permet de comparer le nombre de paramètres du modèle et sa vraisemblance, qui peuvent être respectivement interprétés comme une mesure de complexité et une mesure d ajustement. À supposer que nous disposons de mesures pour quantifier le gain et la perte d une agrégation A, nous exprimons ce compromis de qualité par une mesure paramétrée : m p (A) = p gain(a) (1 p) perte(a) (1) où A est l agrégation à évaluer et p [0, 1] est un paramètre permettant de pondérer les termes du compromis (rapport gain / perte). Maximiser m 0 revient à minimiser la perte : l agrégation la plus précise est optimale, on préfèrera donc la représentation microscopique. Maximiser m 1 revient à maximiser le gain : l agrégation la plus simple est optimale, on choisira donc l agrégation totale, résumant l attribut à la seule valeur v(e). Quand p varie de 0 à 1, un ensemble d agrégations optimales émerge. Chacune d elles optimise le compromis exprimé par m p en agrégeant seulement les parties homogènes du système. Le choix du rapport gain / perte est volontairement laissé à l attention de l utilisateur. Celui-ci peut ainsi adapter le niveau de représentation en fonction de la quantité de détails attendue et des ressources dont il dispose pour le rendu et l analyse de la visualisation.

Agrégation et visualisation de traces 475 3.3. Des mesures de qualité issues de la théorie de l information Cette sous-section présente des mesures de gain et de perte permettant d évaluer la réduction de complexité et l ajustement d une représentation donnée. La théorie de l information fournit pour cela un cadre intéressant dont l apport essentiel consiste ici en deux mesures : l entropie de (Shannon, 1948) et la divergence de (Kullback, Leibler, 1951), toutes deux interprétables comme des quantités d information manipulées lors de l agrégation. De ce fait, notre approche hérite de travaux réalisés dans des domaines tels que le traitement du signal, la compression d images (Gonzalez, Woods, 2002), ou encore la construction de modèles statistiques (Akaike, 1973 ; 1974). Cette approche peut également être considérée comme une spécialisation de l approche MDL (Grunwald, 2007). Dans notre travail, la complexité d une représentation est évaluée comme la longueur d un codage simple, basé sur la quantité d information au sens de Shannon. L originalité des résultats repose plus sur la capacité algorithmique de sélectionner un modèle (au sens MDL) en un temps raisonnable (cf. complexité algorithmique polynomiale, section 4). Cette sélection est efficace car la classe de modèles est structurée algébriquement et que la quantité d information (au sens de Shannon ou de Kullback-Leibler) a de bonnes propriétés vis-à-vis de la structure algébrique de cette classe (cf. décomposabilité additive, section 4.3). Des détails concernant la formalisation et la sémantique des mesures présentées ci-dessous sont disponibles dans (Lamarche-Perrin et al., 2012 ; 2014). 3.3.1. Mesurer la réduction de complexité induite par l agrégation de données Une représentation agrégée est moins coûteuse à encoder qu une représentation détaillée. En ce sens elle est plus facile à manipuler, moins complexe. La complexité d un objet peut ainsi être mesurée par une quantité d information (Edmonds, 1999). Le gain d une agrégation A est alors interprété comme une différence entre deux quantités : gain(a) = Q(A 0 ) Q(A), où A 0 est une partition de référence. Le gain mesure ainsi la quantité d information que l on économise en encodant la représentation A plutôt que la représentation A 0. Dans notre cas, nous prenons la représentation microscopique comme référence. Nombre de valeurs encodées Une manière simple de mesurer l information contenue dans une représentation consiste à compter le nombre de bits nécessaires pour encoder les valeurs qu elle contient. Nous pouvons alors supposer que chaque valeur nécessite un nombre constant de bits q dépendant du type de données utilisé (entier, flottant, booléen, etc.). Nous avons donc Q(A) = A q, où A est le nombre d agrégats représentés, et : gain(a) = ( E A ) q = A A ( A 1) q (2) Cette mesure de complexité compte simplement le nombre de valeurs contenue dans une représentation donnée (à une constante multiplicative près). Elle peut être

476 TSI. Volume 33 n o 5-6/2014 assimilée au décompte des paramètres d un modèle statistique (Akaike, 1974) : plus il y a de paramètres, plus le modèle est complexe. Il s agit également d une mesure cohérente avec les techniques de visualisation représentant la valeur de chaque agrégat (e.g., vecteurs de valeurs, histogrammes et diagrammes en rectangle, représentations treemap). En effet, le nombre A des valeurs à afficher définit alors la granularité de la visualisation et évalue aussi le coût de leur encodage et de leur rendu. Réduire le nombre de valeurs contenues dans une représentation permet ainsi le passage à l échelle de ces techniques de visualisation. Entropie de Shannon L entropie est une mesure classique de quantité d information couramment utilisée comme mesure de complexité (Edmonds, 1999). Elle est donnée par la formule de (Shannon, 1948) : H(A) = A A ( v(a) v(e) log 2 ) v(a) v(e) Nous prenons Q(A) = H(A) v(e), ce qui donne : gain(a) = ( v(a) log 2 v(a) ) v(e) log 2 v(e) A A e A (3) L entropie mesure la quantité d information nécessaire pour encoder, en moyenne, les symboles d un vocabulaire dont on connait la distribution de probabilité (les symboles les plus fréquents ont un code binaire plus court, et inversement). Or, nous pouvons interpréter un attribut comme une distribution de probabilité sur l ensemble des processus E, par exemple lorsqu il s agit d un dénombrement (évènements, changements d état, communications au sein de chaque processus). L entropie mesure alors la quantité d information nécessaire pour encoder chacun de ces évènements. Elle se distingue de la mesure précédente prenant en compte l encodage des valeurs, c està-dire de la quantité d évènements pour chaque agrégat. L entropie est donc particulièrement adaptée à la visualisation de ces évènements (e.g., graphes et diagrammes d interactions, nuages de points). Dans de précédents travaux de recherche, nous avons utilisé la réduction d entropie pour l agrégation de systèmes d information géographique (Lamarche-Perrin et al., 2014). Nous pensons qu elle peut également être utile à la visualisation de performance des systèmes distribués dans la mesure où de nombreuses analyses s intéressent aux relations de causalité entre les évènements et les communications. 3.3.2. Mesurer l ajustement d une représentation agrégée La divergence de Kullback-Leibler est une mesure classique de similarité ou d ajustement utilisée en théorie de l information (Kullback, Leibler, 1951). Elle nous sert

Agrégation et visualisation de traces 477 à comparer la distribution hypothétique des valeurs à la distribution microscopique (Lamarche-Perrin et al., 2012) : perte(a) = A A ( e A ( ) ) v(e) v(e) log 2 v(a) A (4) La divergence mesure la quantité d information perdue lorsqu on utilise un modèle statistique pour trouver le codage minimal d un vocabulaire au lieu de sa véritable distribution de probabilité. Elle peut également être interprétée comme la probabilité de retrouver la répartition initiale des valeurs à partir d une représentation agrégée : on parle alors de la vraisemblance de la représentation (Akaike, 1973). En d autres termes, la divergence mesure la perte d information liée à l approximation de la représentation microscopique par la représentation agrégée. Notons que la réduction de complexité n induit pas nécessairement de perte d information. En particulier, lorsque des valeurs homogènes sont agrégées, le nombre d agrégats visualisés diminue et les valeurs restent correctement interprétées par l utilisateur. D autres mesures de similarité classiques, en statistique, pourraient servir à évaluer l ajustement des représentations agrégées (par exemple l écart quadratique moyen). Nous leur préférons la divergence de Kullback-Leibler pour son interprétation en termes de quantité d information, assurant ainsi la compatibilité avec l entropie de Shannon (Kullback, Leibler, 1951) et le nombre de valeurs encodées. Ce travail peut également être étendu à d autres mesures de complexité telles que présentées dans (Grunwald, 2007). La sémantique du résultat devra alors être précisée de manière opérationnelle en fonction des algorithmes de codage utilisés. 4. Calculer les représentations agrégées optimales Les mesures présentées dans la section précédente, et en particulier la mesure paramétrée m p (sous-section 3.2), fournissent à l utilisateur les indicateurs de qualité dont il a besoin pour interpréter les agrégats visualisés. De tels outils permettent également de comparer les représentations dans le but de sélectionner les «meilleures» d entre elles. Cette section s intéresse à ce problème d optimisation. Il est nécessaire de fournir une technique d agrégation peu coûteuse en calcul, afin que cette étape préliminaire à la visualisation et à l analyse ait un intérêt lors du passage à l échelle. Dans cette section, nous montrons que le calcul des représentations optimales est un problème à complexité exponentielle vis-à-vis de la taille du système (4.1). Pour résoudre ce problème en un temps raisonnable, nous formulons deux hypothèses. Premièrement, la topologie du système visualisé permet de restreindre l espace de recherche en définissant un ensemble d agrégations admissibles par l utilisateur (4.2). Deuxièmement, les mesures utilisées pour l évaluation ont une propriété algébrique importante : la décomposabilité. Cette propriété peut être exploitée pour comparer rapidement les agrégations (4.3). À partir de ces hypothèses, nous proposons un algorithme qui calcule les représentations optimales en un temps linéaire dans le cas de systèmes hiérarchiques.

478 TSI. Volume 33 n o 5-6/2014 4.1. Complexité exponentielle du problème des représentations optimales Le problème des représentations optimales consiste à trouver les agrégations qui maximisent une mesure de qualité donnée. Or, le nombre de partitions d un ensemble et donc le nombre d agrégations possibles est donné par la suite des nombres de Bell (Rota, 1964) à croissance exponentielle : B(n + 1) = n k=0 ( n k ) B(n) = O (( n ) n ) ln(n) où n est la taille de l ensemble. En pratique, pour un système de grande taille (e.g., de l ordre du million de processus), il est impossible de trouver les agrégations optimales en les évaluant une à une. Des heuristiques, telles que développées par les techniques de clustering (Halkidi et al., 2001), pourraient être mises en œuvre pour trouver des solutions non optimales. Cependant, de telles approches supposent que toute agrégation à un sens pour l analyse. Nous soutenons au contraire que la plupart des systèmes ont une sémantique propre qui interdit l usage de certains agrégats. Par exemple, dans le cas des systèmes distribués, la topologie du réseau de communication et la position des processus au sein de ce réseau sont souvent essentielles à l analyse (Schnorr et al., 2009). Cette topologie doit être préservée par lors de l agrégation afin de produire des visualisations pertinentes pour l utilisateur. En outre, ces contraintes topologiques permettent de réduire la complexité du problème en restreignant l espace de recherche au sous-ensemble des agrégations admissibles. 4.2. Agrégations admissibles au sein d une hiérarchie Les ressources de calcul de certains systèmes distribués ont une organisation hiérarchique. C est par exemple le cas de Grid5000 (Bolze et al., 2006) : les processus sont exécutés par des machines, celles-ci sont regroupées en clusters, puis en sites de calcul, etc. Dans ce cas, la hiérarchie est induite par la structure physique du réseau de communication. Dans d autres cas, une telle organisation est induite par l application parallèle qui y est exécutée : e.g., distribution des tâches de calcul, réseau d utilisateurs dans les systèmes pair-à-pair. Dans tous les cas, ces structures sont essentielles pour l analyse dans la mesure où elles permettent d expliquer le comportement des processus. 4.2.1. Exprimer les connaissances a priori lors de l agrégation Le partitionnement contraint (constrained clustering) est une technique d apprentissage semi-supervisé permettant de formaliser la structure du système analysé sous la forme de contraintes sur le regroupement des données. Cette technique consiste notamment à interdire ou à obliger certains regroupements en fonction de règles logiques exprimées par les experts pour décrire leur connaissance a priori du système (Davidson, Basu, 2007). Cependant, la plupart des travaux du domaine définissent les contraintes au niveau des entités microscopiques (instance-level constrained clustering) : à partir de contraintes de type must-link et cannot-link (Wagstaff, Cardie, 2000 ; Davidson,

Agrégation et visualisation de traces 479 Basu, 2007) ou de règles de logique propositionnelle (Talavera, Béjar, 1999) obligeant ou interdisant le regroupement de certaines entités. Ces techniques de contraintes microscopiques ne permettent d exprimer que des propriétés relativement simples au niveau des agrégats : e.g., diamètre minimal des agrégats, distance minimale entre agrégats (Davidson, Basu, 2007). Afin de formaliser des structures plus complexes, nous proposons de travailler directement au niveau des agrégations (partitions de l ensemble des entités microscopiques). Les contraintes que nous définissons s appliquent donc à l ensemble des agrégations possibles et permettent d extraire le sous-ensemble des agrégations admissibles par les experts. Le problème que nous abordons dans cet article doit donc être soigneusement distingué des problèmes abordés en classification de données. Premièrement, les hiérarchies utilisées visent à la production d objets macroscopiques et non de concepts génériques. Le processus d agrégation n est donc pas un processus de généralisation (cf. la distinction proposée dans (Smith, Smith, 1977)). De plus, les techniques de classification classiques visent parfois à l édification de hiérarchies (e.g., analyse formelle de concepts sous forme de hiérarchies de concepts (Wille, 2005)). Dans ce cas, les hiérarchies sont le résultat du processus d abstraction, et non un point de départ. Dans notre cas, les hiérarchies constituent les données externes du problèmes, fournies par les experts chargés de l analyse du système pour contraindre le processus d abstraction. 4.2.2. Formaliser la notion de hiérarchie Une hiérarchie est souvent représentée par un arbre (cf. figure 4) : les feuilles représentent les entités microscopiques ; les nœuds représentent les agrégats ; et la racine représente l agrégation totale. Une hiérarchie définit donc un ensemble d agrégats emboîtés à partir desquels le système peut être agrégé. Les agrégations admissibles sont celles qui font intervenir uniquement ces agrégats. En particulier, l agrégation d entités appartenant à différentes branches de la hiérarchie ne respecte pas sa topologie. Il faut alors agréger les branches entièrement. Par exemple, dans la figure 4, si l on souhaite agréger les processus p 1 et p 4, alors il est également nécessaire d agréger l intégralité les processus des machines m 1 et m 2. Une agrégation est caractérisée par une coupe dans l arbre qui représente la hiérarchie, c est-à-dire un ensemble de nœuds tels que chaque feuille ne descend que d un seul nœud de cet ensemble (cf. les trois coupes présentées dans la figure 4). Le nombre d agrégations admissibles au sein d un arbre T est donné par la formule récursive suivante : N(T ) = 1 + N(S), où les S sont les «premiers sous-arbres» de T. Pour un ensemble E donné, le nombre maximal d agrégations admissibles est atteint lorsque l arbre représentant la hiérarchie est un arbre binaire complet : à chaque nœud, le nombre d agrégations admissibles est multiplié par deux. Supposons que E = 2 k, où k est la hauteur de l arbre, nous avons alors : N(2 k ) = U k = 1 + (U k 1 ) 2 avec U 0 = 1

480 TSI. Volume 33 n o 5-6/2014 c 1 c 1 c 1 m 1 m 2 m 3 m 1 m 2 m 3 m 1 m 2 m 3 p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 1 p 2 p 3 p 4 p 5 p 6 p 7 Figure 4. Trois agrégations admissibles au sein d une hiérarchie définie sur 7 processus, répartis en 3 machines et 1 cluster. Les surfaces grisées représentent des coupes de l arbre et les cercles noirs les partitions correspondantes, de haut en bas : agrégation totale, agrégation multi-résolution et représentation microscopique La suite (U k ) k N est dominée par 3 : N(T ) = O(c n ) avec c 1, 226 Notons qu on trouve des résultats similaires pour des arbres ternaires complets 4 (c 1, 084), pour des arbres quaternaires complets, etc. Ainsi, pour une taille bornée des agrégats constituant la hiérarchie, la classe de complexité reste la même que dans le cas d un arbre binaire (c est-à-dire exponentielle). L espace de recherche déterminé par des contraintes hiérarchiques est donc bien plus petit que l espace non contraint, dont le cardinal est donné par le n-ème nombre de Bell B n. En particulier, N ne dépend pas directement du nombre de processus, mais essentiellement du nombre de branches dans la hiérarchie. Par exemple, N demeure constant lors de l addition de processus dans une branche de la hiérarchie. Cependant, le nombre d agrégations admissibles croît toujours de manière exponentielle lors de l addition de branches ou de niveaux. Ainsi, les contraintes topologiques ne sont pas à elles seules suffisantes pour résoudre le problème de l agrégation optimale en temps polynomial. 4.3. Un algorithme reposant sur la décomposabilité des mesures Pour comparer les agrégations admissibles en un temps raisonnable, nous utilisons une propriété algébrique importante des mesures définies dans la sous-section 3.3. Il s agit de la décomposabilité additive (sum property) (Csiszár, 2008). Une mesure de qualité f est additivement décomposable s il existe une application g de P(E) dans R + telle que, pour toute agrégation A : f(a) = A A g(a) 3. Voir la formule présentée sur le site Integer Sequences : http://oeis.org/a003095 (formule de Benoit Cloitre, 27 novembre 2002) 4. Voir : http://oeis.org/a135361

Agrégation et visualisation de traces 481 En d autre termes, la qualité d une agrégation peut être définie comme la somme des qualités de ses agrégats. La décomposabilité additive garantit ainsi que la qualité d un agrégat ne dépend pas de la manière dont les autres entités sont agrégées. L évaluation d un agrégat peut donc servir à l évaluation de toutes les agrégations qui le contiennent. En réalité, la décomposabilité additive est une hypothèse plus forte puisqu il suffit qu une mesure soit décomposable pour garantir que l on peut évaluer les agrégats indépendamment les uns des autres. Il se trouve que la plupart des mesures en théorie de l information sont également additives (Csiszár, 2008). De plus, notons que l additivité des mesures de qualité ne dépend pas de l additivité des attributs analysés : il est par exemple possible, en toute généralité, de définir des mesures additivement décomposables s appliquant à des attributs intensifs (agrégation par moyenne). Les équations 2, 3 et 4 montrent que les mesures que nous avons définies précédemment sont bien décomposables. C est également le cas de la mesure paramétrée m p (équation 1). L algorithme des représentations optimales présenté ci-dessous utilise cette propriété pour trouver les agrégations maximisant m p en réalisant le moins de mesures possible. L évaluation est divisée sur chaque branche de l arbre par autant d appels récursifs. L algorithme est appliqué une fois à chaque nœud et correspond donc à un simple parcours en profondeur de l arbre. Sa complexité temporelle est donc linéaire. Notons que les deux hypothèses doivent être vérifiées pour obtenir une complexité linéaire : la décomposabilité sans les contraintes topologiques, et réciproquement, ne suffit pas. Soit T un arbre et m une mesure de qualité additivement décomposable. On note A T l agrégation totale de T. Si T est une feuille, alors renvoyer A T, (cas de base) sinon : 1. Pour chaque sous-arbre direct S, trouver l agrégation optimale A S. (un appel récursif pour chaque fils de la racine de T ) 2. Si la somme des qualités des agrégations optimales m(a S ) est supérieure à la qualité de l agrégation totale m(a T ), alors : renvoyer A S, l union des agrégations optimales, sinon : renvoyer A T, l agrégation totale. Algorithme des représentations optimales. Cet algorithme calcule les agrégations admissibles au sein d une hiérarchie (représentée par un arbre T ) qui maximisent une mesure de qualité décomposable m

482 TSI. Volume 33 n o 5-6/2014 5. Résultats et évaluation de l approche Cette section montre l intérêt des mesures de qualité et de l algorithme des représentations optimales à partir de trois cas d étude concernant la détection et l explication d anomalies apparaissant à différentes échelles spatiales dans les traces d exécution. Les applications et les outils utilisés, ainsi que les objectifs de l analyse, sont détaillés dans la sous-section suivante. Trois cas d analyse sont ensuite présentés : deux concernant le vol de travail dans des applications parallèles réelles et un troisième pour démontrer que l approche proposée passe à l échelle en agrégeant la trace simulée d un million de processus. 5.1. Description des outils, des traces et du cadre d analyse Les approches de visualisation orientée-pixels (Keim, 2000 ; Ward et al., 2010) proposent d utiliser l intégralité des pixels disponibles à l écran pour représenter de très grandes quantités de données. Nous choisissons une technique de visualisation adaptée à la structure hiérarchique des systèmes qui nous intéressent. Les représentations treemap (Shneiderman, 1992) constituent à ce titre une technique orientée-pixels représentant les hiérarchies sous la forme de «boîtes imbriquées», chacune représentant une entitée ou un agrégat (processus, machine, cluster ou site dans le cas de systèmes distribués). Les attributs de ces entités graphiques sont affichés à l intérieur des boîtes. Dans nos expériences, les treemaps sont utilisées pour afficher le temps passé par les processus dans différents états au cours de l exécution. Des niveaux de gris différents sont utilisés pour chaque état (cf. figures 5, 6 et 7). La complexité des treemaps est mesurée par le nombre de valeurs affichées, définissant ainsi la granularité de la visualisation (cf. section 3.3.1). Nous utilisons les outils open-source PajéNG et Viva (Chassin de Kergommeaux et al., 2000 ; Schnorr, Legrand, 2012 ; Schnorr, Huard, Navaux, 2012), affichant les traces d exécution sous la forme de treemaps, outils au sein desquels nous avons implémenté les mesures de qualité et l algorithme d agrégation. Notons que l agrégation de données constitue une étape préliminaire à la visualisation. Ainsi, nous pensons que l approche présentée dans cet article peut être appliquée à de nombreuses autres techniques de visualisation classiques (comme aux diagrammes de Gantt, discutés en section 2 ou à d autres approches orientées-pixels (Ward et al., 2010)) à condition de définir une mesure de complexité adaptée, i.e., exprimant le coût du processus de visualisation pour une représentation donnée. Les deux premiers cas d étude concernent l analyse du vol de travail aléatoire d une application parallèle orienté par les tâches. L application repose sur le middleware KAAPI (Gautier et al., 2007) qui tente d équilibrer les charges de travail. Les traces analysées contiennent, pour chaque processus, les intervalles de temps consacrés à l exécution des tâches (RUN), ainsi que les dates auxquelles le processus tente de voler des tâches aux autres processus (STEAL). L application est exécutée sur la plateforme Grid 5000 (Bolze et al., 2006). Les processus y sont hiérarchiquement organisés en machines, clusters et sites. Le troisième cas d étude propose l analyse d une trace engendrée de manière artificielle. Celle-ci contient l exécution d un mil-

Agrégation et visualisation de traces 483 lion de processus, organisés selon 5 niveaux et pouvant être dans deux états : VS0 et VS1. Pour souligner l intérêt de notre approche, nous avons introduit des comportements hétérogènes à chaque niveau de la hiérarchie : des processus hétérogènes au sein d une machine, des machines hétérogènes au sein d un cluster, etc. 5.2. Premier cas d étude : utilisation des mesures et de l algorithme Ce cas d étude explique le fonctionnement des treemaps et montre l intérêt de l algorithme des représentations optimales pour régler le niveau de détail de la visualisation spatiale de la trace. La trace analysée provient d une application parallèle KAAPI composée de 188 processus répartis en 9 clusters et 5 sites (Schnorr, Huard, Navaux, 2012). Dans les treemaps de la figure 5, l état RUN est représenté en gris clair et l état STEAL en gris foncé. La treemap A affiche le temps passé dans ces états pour chaque processus. Il s agit d une visualisation de la représentation microscopique. Les treemaps A.1 et A.2 affichent les données agrégées au niveau des clusters et des sites. Les temps passés dans chaque état par les processus sous-jacents sont simplement additionnés. La treemap A.3 représente l agrégation totale. En affichant les différents niveaux d agrégation, ces quatre treemaps (A, A.1, A.2 et A.3) rendent compte de l organisation hiérarchique de la plateforme sous la forme de «boîte imbriquées» : A.1 indique les agrégats de processus en clusters, A.2 les agrégats de clusters en sites et A.3 l agrégation totale. Plus nous montons dans la hiérarchie, plus le nombre de valeurs affichées diminue et, avec lui, la complexité de la visualisation. Celle-ci nécessite moins de temps de rendu et peut être analysée plus rapidement. Pourtant, elle contient moins d information concernant le comportement précis des processus. Une analyse de la treemap A permet de repérer que certains processus d un site (entouré, dans la figure 5) ont passé un temps anormal dans l état STEAL. Cette anomalie peut être expliquée par une analyse technique plus approfondie : la latence du réseau est plus grande au niveau du site en question. Comme l algorithme de répartition des tâches ne prend pas en compte ce genre de propriétés locales, il résulte des temps de vol de travail plus longs. Cette anomalie ne peut pas être détectée à partir des treemaps A.1, A.2 et A.3 puisqu elles agrègent les informations relatives au site en question. Pire, ces visualisations peuvent être mal interprétées. En particulier, l utilisateur peut supposer que tous les processus du site ont anormalement volé du travail. Il peut également penser que c est le cas d un seul processus. Dans les deux cas, il s agit d interprétations erronées qui peuvent nuire à l analyse de l application. De plus, la treemap A n est pas optimale dans la mesure où elle contient beaucoup d information redondante (sites homogènes). Cette visualisation microscopique peut difficilement être appliquée à de très grands systèmes, tels que présentés dans le troisième cas d étude. L algorithme des représentations optimales, appliqué à la mesure paramétrée m p (cf. équation 1), permet de construire des visualisations multirésolutions pertinentes pour pallier ces problèmes. Nous examinons les agrégations maximisant la mesure m p pour différentes valeurs du rapport gain / perte p : de 0 % (visualisation micro-

484 TSI. Volume 33 n o 5-6/2014 A 188 processus A.1 9 clusters A.2 5 sites A.3 Agrégation totale B Agrégation optimale pour p = 10% C Agrégation optimale pour p = 40% Figure 5. Treemaps d une application exécutée sur 188 processus. La treemap A présente le niveau microscopique ; les treemaps A.1, A.2 et A.3 présentent les autres niveaux de la hiérarchie ; les treemaps B et C sont engendrées par l algorithme des représentations optimales. Le positionnement du paramètre p à 10 % (treemap B) et à 40 % (treemap C) permet d observer la trace à différentes échelles spatiales scopique, treemap A) à 100 % (agrégation totale, treemap A.3). Très rapidement, pour p > 10 %, les sites homogènes sont agrégés et l anomalie reste visible (treemap B). Contrairement aux treemaps A.1, A.2 et A.3, agrégées à différents niveaux de la hiérarchie, l algorithme garantit dans le cas des treemaps B et C que les données sont homogènes dans chacun des agrégats. Ainsi, l utilisateur peut faire les bonnes hypothèses concernant les processus sous-jacents, sans procéder à une analyse plus détaillée de ces parties de la visualisation. Lorsque le rapport gain / perte arrive aux alentours de 40 %, l algorithme agrège chacun des sites (treemap C). Cette visualisation rend compte d un autre niveau d hétérogénéité. Nous constatons alors que le site entouré lorsqu il est pris dans sa globalité se comporte différemment des autres. Enfin, pour p > 54 %, nous obtenons l agrégation totale (treemap A.3). 5.3. Deuxième cas d étude : détecter les anomalies via l hétérogénéité L application analysée dans ce cas d étude est exécutée sur 433 processus, répartis en 50 machines et 3 clusters. L objectif de l analyse consiste à détecter des anomalies dans la trace engendrée. On suppose ici que l hétérogénéité est le symptôme d une exécution anormale : comme dans le cas précédent, on s attend à ce que les proces-

Agrégation et visualisation de traces 485 sus au sein d un même cluster aient un comportement similaire. Les treemaps de la figure 6 utilisent le même code couleur que précédemment. Les treemaps A, A.1, A.2 et A.3 visualisent les différents niveaux d agrégation spatiale. La treemap B est engendrée par l algorithme des représentations optimales pour un rapport gain / perte de 10 %. Les machines homogènes y sont agrégées avec une perte d information négligeable. Seules les machines avec au moins un processus différent des autres sont détaillées. Pour p > 30 %, les machines hétérogènes sont finalement agrégées (treemap C). Il s agit indubitablement d une perte d information, mais cela permet de repérer une machine «plus hétérogène» que les autres (entourée, dans la figure 6). Elle contient en effet deux processus au comportement anormal. Cet exemple montre comment, avec très peu d effort, l utilisateur peut détecter des anomalies dans l application qu il analyse, à supposer que celles-ci soient synonymes d hétérogénéité. L algorithme d agrégation focalise l attention sur ces parties du système. Bien évidement, d autres critères peuvent être utilisés pour détecter d autres anomalies : trop ou pas assez de temps passé dans un état donné, comportements homogènes, etc. Notre approche permet de produire des visualisations au sein desquelles de tels critères sont également détectables à moindre coût. A 433 processus A.1 50 machines A.2 3 clusters A.3 Agrégation totale B Agrégation optimale pour p = 10% C Agrégation optimale pour p = 30% Figure 6. Treemaps d une application exécutée sur 433 processus. La treemap A présente le niveau microscopique ; les treemaps A.1, A.2 et A.3 présentent les autres niveaux de la hiérarchie ; les treemaps B et C sont engendrées par l algorithme des représentations optimales. La treemap B (p = 10 %) induit une perte d information négligeable par rapport à la treemap C (p = 30 %) où seule la machine la plus hétérogène est détaillée

486 TSI. Volume 33 no 5-6/2014 5.4. Troisième cas d étude : visualisation de très grands systèmes distribués Ce cas d étude vise à montrer que l agrégation de données est essentielle lorsqu il s agit de passer à l échelle les méthodes de visualisation. Dans ce but, nous avons artificiellement engendré la trace d exécution d une application contenant un million de processus, chacun pouvant être dans un état parmi deux possibles. Ces processus sont répartis en 10 000 machines, 1 000 clusters, 100 super-clusters et 10 sites. Tous ces niveaux sont homogènes à un cas près : une machine a des processus hétérogènes, un cluster a des machines hétérogènes, un super-clusters à des clusters hétérogènes et un site a des super-clusters hétérogènes. A 10000 machines A.b A.a A.c B Agrégation optimale pour p = 10% B.b B.d B.a B.c Figure 7. Treemaps d une trace artificielle contenant un million de processus. La treemap A présente le niveau des machines ; la treemap B est engendrée par l algorithme des représentations optimales. Avec un paramètre p à 10 %, la treemap B contient 50 fois moins d agrégats que la treemap A, mais contient néanmoins 95 % de l information microscopique. Elle permet ainsi le passage à l échelle des techniques de détection et d analyse des anomalies

Agrégation et visualisation de traces 487 La surface d une feuille A4 ou celle d un écran d ordinateur ne permet pas d afficher de façon lisible et compréhensible le niveau microscopique d une telle application. Pour passer à l échelle, l augmentation de la surface de visualisation ne semble pas appropriée puisque le champ de vision de l utilisateur est lui-même limité (si on imprime chaque processus sur une surface de 3 3 millimètres, la visualisation aurait une surface de 3 3 mètres et le recul nécessaire à une vision globale ne permettrait pas de saisir les détails). Dans notre exemple, la treemap A de la figure 7 présente donc la trace agrégée au niveau des machines. Nous pouvons déjà observer trois zones hétérogènes de tailles différentes (entourées dans la figure). Pour le reste, pour chaque machine, nous ne pouvons être sûrs que les processus sous-jacents ont des comportements homogènes. La treemap B est obtenue pour un rapport gain / perte de 10 %. L information redondante y est agrégée afin de rendre la visualisation plus lisible. En outre, cette représentation prend 50 fois moins d espace mémoire lorsqu elle est enregistrée au format vectoriel (10 000 éléments affichés pour la treemap A contre 190 pour la treemap B). Les trois zones hétérogènes repérées dans la treemap A sont également détectées plus aisément dans la treemap B. Plus important encore, l algorithme des représentations optimales force à désagréger une machine lors de la visualisation (zone B.d dans la treemap B). Les processus de celle-ci sont en effet hétérogènes, ce qui ne pouvait être déduit de la treemap A. Ainsi, même sur de très grands ensembles de données, l algorithme d agrégation que nous proposons présente toujours le maximum d information en minimisant la complexité de la visualisation. L analyse détaillée de la treemap microscopique, au niveau des processus, aurait en effet permis de détecter cette hétérogénéité, mais elle aurait nécessité bien plus de calcul (en particulier, une telle treemap demande 5 000 fois plus d espace mémoire que la treemap agrégée). Pour des problèmes plus complexes, une telle analyse microscopique n est pas réalisable en pratique. L approche ici présentée permet donc de découvrir des phénomènes qui ne pourraient être visualisés autrement. Notons que ce troisième cas d étude montre que la méthode de détection des anomalies passe à l échelle. Cependant, la trace analysée ne correspond pas à un cas d exécution réelle. Elle ne permet donc pas d évaluer le passage à l échelle de la méthode d explication des anomalies (abordée dans les cas d étude précédents). En effet, l hétérogénéité a été explicitement et artificiellement introduite en fonction de la structure (dans une machine, dans un cluster, dans un site). Par conséquent, les anomalies sont trivialement expliquées par cette structure. Il apparaît donc nécessaire, en perspective de ce cas d étude, de procéder à l analyse d une trace qui soit à la fois réelle et de grande taille, afin de montrer que la méthode de détection et la méthode d explication des anomalies passent toutes les deux à l échelle grâce à cette méthode d agrégation.

488 TSI. Volume 33 n o 5-6/2014 6. Des pistes de recherche pour généraliser l approche La section précédente montre comment l approche proposée dans cet article peut être appliquée à l agrégation spatiale de systèmes distribués à topologie hiérarchique. Les processus y sont agrégés sous la forme de treemaps multirésolutions en fonction de la répartition des valeurs d un attribut. Cette section vise à montrer que l algorithme des représentations optimales peut être utilisé dans de nombreux autres contextes : hiérarchies non topologiques (6.1), topologies non hiérarchiques (6.2), agrégation selon plusieurs attributs (6.3), application à d autres opérateurs d agrégation (6.4), à d autres techniques de visualisation (6.5), agrégation selon un ensemble d agrégats non disjoints et/ou non recouvrants (6.6). 6.1. Construire d autres hiérarchies pertinentes Nous avons supposé que la topologie du système visualisé prenait la forme d une hiérarchie. Cependant, la structure physique de certains systèmes est entièrement décentralisée ou forme parfois une hiérarchie «plate» (i.e., regroupant de nombreuses entités en très peu de niveaux). L agrégation peut néanmoins reposer sur d autres propriétés (non topologiques) des systèmes. La structure de la visualisation peut notamment reposer sur un procédé de regroupement hiérarchique (hierarchical clustering) (Schaffer et al., 1996 ; Manning et al., 2008 ; Elmqvist, Fekete, 2010). Les processus sont itérativement groupés en fonction d une mesure de similarité, jusqu à l obtention d une hiérarchie généralement représentée sous la forme d un dendrogramme. La mesure de similarité dépend alors de certains attributs des processus. Les autres attributs sont visualisés et analysés comme précédemment, sur la base de la hiérarchie engendrée. Dans ce cas, nous supposons que la sémantique préservée par l agrégation n est pas d ordre topologique, mais repose sur les attributs utilisés pour le regroupement. Ceux-là servent alors à expliquer les attributs visualisés. On suppose notamment qu il existe des corrélations intéressantes pour l analyse. Dans le cas contraire, le regroupement ne produit aucun agrégat homogène, limitant ainsi l intérêt des attributs sélectionnés pour définir la sémantique macroscopique du système. 6.2. Agréger selon d autres topologies Les représentations engendrées par l algorithme d agrégation sont cohérentes avec la structure hiérarchique de la plate-forme d exécution. Cependant, d autres organisations sont possibles : ressources distribuées selon un graphe, ressources associées en série, en parallèle, etc. Chacune de ces organisations induit des propriétés topologiques particulières affectant le comportement des ressources et permettant aux experts d expliquer leurs comportements (cf. sous-section 4.2). Cette sous-section montre comment l algorithme des représentations optimales peut être généralisé à d autres contraintes topologiques afin d être appliqué à d autres cadres d analyse. La généralisation de l algorithme s appuie sur les propriétés algébriques de l ensemble des partitions admissibles définies par une topologie donnée. En particulier,

Agrégation et visualisation de traces 489 il est possible de définir un ordre partiel sur cet ensemble : étant donnés deux agrégations admissibles A 1 et A 2 partitionnant l ensemble E des entités microscopiques, nous avons A 1 < A 2 si, et seulement si, chaque agrégat de A 1 est inclus dans un agrégat de A 2. On dit alors que A 1 «raffine» A 2. Formellement : A 1 < A 2 ssi A 1 A 1, A 2 A 2, A 1 A 2 Cette relation de raffinement définit un ordre partiel sur l ensemble des agrégations admissibles. Elle permet de parcourir cet ensemble depuis la représentation microscopique jusqu à l agrégation totale (cf. figure 8 dans le cas d ensembles d agrégations admissibles selon une hiérarchie et selon un ordre total). Si, de plus, aucune agrégation admissible ne vient «se placer entre» A 1 et A 2, on dit que A 1 est «couverte» par A 2 et on note A 1 < A 2. Formellement : A 1 < A 2 ssi A 1 < A 2 et A, A 1 < A < A 2 Les partitions couvertes par un agrégat donné représentent les «plus petites désagrégations possibles» de cet agrégat : dans le cas d une hiérarchie, il s agit de descendre d un niveau dans une branche de l arbre représentant la hiérarchie (figure 8 à gauche), dans le cas d un ensemble ordonné, il s agit de couper l ensemble en un endroit (figure 8 à droite). La généralisation de l algorithme consiste à utiliser cette relation de couverture, ainsi que la décomposabilité des mesures (cf. sous-section 4.3), pour décomposer la recherche des représentations optimales et appliquer récursivement l algorithme à des ensembles d entités plus petits. Voici un résumé de la procédure de type diviser pour régner détaillée et formalisée dans (Lamarche-Perrin et al., 2013) : 1. L algorithme débute avec l agrégation totale {E} ; 2. Décomposition : pour chaque agrégation couverte A < {E}, a) Récursivité : appliquer l algorithme sur les agrégats A A ; b) En déduire l agrégation optimale parmi celles qui raffinent A ; 3. Comparer les résultats pour chaque agrégation couverte A < {E}, ainsi que pour l agrégation totale {E} ; 4. Renvoyer celle qui maximise la mesure de qualité choisie. La complexité de cet algorithme générique dépend directement des contraintes topologiques définies par les experts : plus la topologie restreint l ensemble des agrégations admissibles, moins la recherche de l agrégation optimale est coûteuse en termes de calcul. Dans le cas d un ensemble d agrégations admissibles selon une hiérarchie, l exécution de l algorithme correspond à un simple parcours en profondeur de l arbre représentant la hiérarchie. Nous avons donc une complexité linéaire en temps et en espace (cf. section 4). Pour un ensemble d agrégations admissibles selon un ordre total défini sur l ensemble des entités E (c est-à-dire que les agrégats admissibles sont des intervalles d entités, cf. figure 8 à droite), l exécution est plus complexe (e.g., figure 9). L algorithme a alors une complexité polynomiale : O( E 3 ) en temps et O( E 2 ) en espace (Lamarche-Perrin et al., 2013).

490 TSI. Volume 33 n o 5-6/2014 a r b r e 1 2 3 4 a r b r e 1 2 3 4 1 2 3 4 1 2 3 4 a r b r e a r b r e 1 2 3 4 1 2 3 4 1 2 3 4 a r b r e 1 2 3 4 Figure 8. Relation de couverture (flèches) et de raffinement (séquences de flèches) définissant un ordre partiel structurant un ensemble d agrégations hiérarchiques (à gauche) et un ensemble d agrégations ordonnées (à droite) 1 2 3 4 1 6 8 1 2 3 4 1 2 3 4 1 2 3 4 2 3 4 1 2 3 2 4 9 10 2 3 4 2 3 4 1 2 3 1 2 3 3 4 2 3 1 2 3 4 2 3 1 2 3 5 7 3 4 2 3 1 2 3 4 2 3 1 2 Figure 9. Exécution de l algorithme dans le cas d un ensemble ordonné de taille 4. Les flèches épaisses correspondent aux décompositions par la relation de couverture (étape 2). Les numéros donnent l ordre de parcours de l algorithme. Les flèches en pointillés représentent les appels récursifs (étape 2.a). Les croix correspondent aux appels évités par l enregistrement des résultats intermédiaires

Agrégation et visualisation de traces 491 Cette généralisation de l algorithme invite à utiliser d autres contraintes lors de l agrégation de données. Ainsi, même s il ne s agit pas d une hiérarchie, la topologie du réseau peut être utilisée pour définir l ensemble des agrégations admissibles. Il faut alors préciser la complexité algorithmique correspondante, en gardant en tête que le relâchement des contraintes accroît cette complexité. Cette généralisation invite également à appliquer l agrégation à d autres dimensions du systèmes, notamment la dimension temporelle. Les entités microscopiques ne sont plus des processus hiérarchisés, mais des slots de temps ordonnés (Pagano et al., 2013). Une telle généralisation permet également d aborder l agrégation spatiotemporelle des traces d exécution (Dosimont et al., 2014). 6.3. Agréger selon plusieurs attributs Dans de nombreux cas, plusieurs attributs doivent être examinés simultanément pour expliquer le comportement du système. Supposons que nous disposons alors de k attributs et de k représentations microscopiques correspondantes. Nous distinguons trois approches pour réaliser une agrégation simultanée de ces données. Dans la première, l agrégation des k représentations microscopiques peut être réalisée séparément. Il en résulte plusieurs représentations agrégées, minimisant chacune la perte d information relative à un attribut. La visualisation de ces représentations nécessite soit de les superposer (à condition que la technique de visualisation le permette), soit de les présenter séparément. Dans tous les cas, la concordance entre les entités et les agrégats des différentes représentations doit être indiquée avec le plus grand soin, notamment en se servant de la topologie utilisée pour l agrégation. Deuxièmement, il est également possible de considérer un seul attribut associant à chaque entité un vecteur de taille k. Les mesures de qualité dépendent alors à de ces vecteurs. Comme les mesures présentées dans cet article sont additives (Csiszár, 2008), il est facile de construire une mesure de qualité en faisant la somme éventuellement pondérée des mesures de qualité pour chacune des k valeurs. L algorithme renvoie ainsi une seule agrégation, qui optimise la réduction de complexité et la perte d information en moyenne pour les k dimensions de l attribut. Une troisième approche consiste à considérer l ensemble des attributs comme une dimension du système, constituée de k entités microscopiques. Deux attributs sont alors agrégés lorsqu ils sont similaires pour chacun des processus. L algorithme d agrégation optimale peut ainsi être utilisé pour réduire le nombre des attributs visualisés. Cette approche est similaire aux techniques de statistique multivariée qui visent à réduire le nombre des variables explicatives (comme par exemple l analyse en composantes principales). 6.4. Application à d autres opérateurs d agrégation Les applications proposées dans cet article font intervenir des attributs additifs. La somme constitue donc un opérateur d agrégation adéquat : le temps passé dans un état

492 TSI. Volume 33 n o 5-6/2014 par une machine est défini comme la somme des temps passés par les processus de cette machine. Cependant, il est possible de généraliser l approche à des attributs non additifs 5. Par exemple, l efficacité d un processus e peut être définie comme le rapport entre le temps consacré au calcul T calc (e) et le temps d exécution total T exec (e). L attribut v(e) = T calc(e) T exec(e) n est pas additif. En effet, étant donné un agrégat de processus A = {e 1,..., e n }, l efficacité de cet agrégat n est pas la somme des efficacité des processus, mais le rapport de deux mesures agrégées : T calc (e) e A v(a) = T exec (e) e A La mesure d ajustement présentée en sous-section 3.3 peut être adaptée à cet opérateur d agrégation. Il suffit pour cela de définir une représentation hypothétique adéquate (cf. sous-section 3.2). On peut par exemple supposer que l efficacité de chaque processus est égale à l efficacité agrégée : e A, v (e) = v(a) La divergence de Kullback-Leibler est alors définie de la manière suivante : perte(a) = ( ( ) ) v(e) v(e) log 2 v (5) (e) A A e A Ainsi, la divergence est définie pour n importe quelle représentation hypothétique {v (e)} e E. Si l on souhaite utiliser d autres opérateurs d agrégation, il suffit alors de préciser l interprétation microscopique des données agrégées par cet opérateur. Par exemple, dans le cas où l agrégation ne conserve que la valeur maximale de l attribut (v(a) = max e A v(e)), on peut supposer que tous les autres valeurs sont nulles (v (e) = 0 et v (e max ) = v(e max )). La généralisation de l approche à d autres opérateurs d agrégation se résume donc à la question de l hypothèse de répartition des valeurs agrégées en fonction de la sémantique de l opérateur (moyenne, somme, extrema, etc.). 6.5. Application à d autres techniques de visualisations Dans cet article, nous avons utilisé les représentations treemaps parce qu elles sont adaptées à la visualisation de hiérarchies (Johnson, Shneiderman, 1991). Dans d autres 5. En physique, on parle de variables extensives pour désigner les quantités qui ne dépendent pas de la taille du système (attributs non additifs), par opposition aux variables intensives, qui sont proportionnelles à la taille du système et sont ainsi sommées lors de l agrégation.

Agrégation et visualisation de traces 493 travaux de recherche, nous avons utilisé des planisphères agrégées pour visualiser un système d information géographique (Lamarche-Perrin et al., 2014). Dans les deux cas, la taille des éléments représentés dépend essentiellement de leur niveau dans la hiérarchie. En particulier, peu d espace est alloué à la représentation des entités microscopiques, ce qui limite leur lisibilité dans le cas de grands systèmes (voir par exemple les 100 processus de la machine hétérogène dans notre troisième cas d étude, figure 7, zone B.d). Une alternative consiste à allouer autant d espace pour chacun des éléments de la visualisation, qu il s agisse d entités microscopiques ou d agrégats de haut-niveau. Il en résulte une anamorphose qui améliore la lisibilité des entités de bas-niveau. Cette technique participe à la conception de représentations de type fisheye, tentant de faire coexister une vision global du système et les détails utiles à l analyse (Furnas, 1981 ; Schaffer et al., 1996). 6.6. Agréger selon un ensemble d agrégats quelconques Les représentations agrégées engendrées par l approche présentée correspondent à des partitions de l ensemble E, c est-à-dire à des ensembles A = {A 1,..., A n } d agrégats deux-à-deux disjoints (A i A j = ) et recouvrants (A 1... A n = E). Cependant, nous pouvons généraliser en nous intéressant aux représentations engendrées selon des ensembles d agrégats quelconques. Dans le cas d agrégats non disjoints, certaines entités sont représentées au sein de plusieurs agrégats et, dans le cas d agrégats non recouvrants, certaines entités ne sont pas du tout représentées (cf. figure 10). L objectif de cette généralisation est ainsi d élargir l ensemble des représentations possibles. Par exemple, dans le cas d une agrégation spatiale, des sites partageant certaines de leurs ressources de calcul peuvent néanmoins coexister au sein de la même représentation (recouvrement de données). Au contraire, les ressources qui ne présentent aucun intérêt pour l analyse peuvent être simplement écartées de la représentation afin de simplifier celle-ci (sélection de données). Les mesures de qualité doivent être adaptées à ces nouveaux mécanisme. Notamment, la perte d information doit être redéfinie afin d exprimer (1) le croisement des informations relatives aux entités appartenant à plusieurs agrégats et (2) l absence d information concernant les entités qui n appartiennent à aucun agrégat. Afin de pouvoir utiliser la divergence de Kullback-Leibler telle que définie dans la sous-section 6.4 (équation 5), des hypothèses de répartition des données agrégées peuvent être définies en fonction des mécanismes de recouvrement et de sélection (cf. figure 10). Des contraintes topologiques peuvent également être exprimées pour définir l admissibilité de telles représentations. Cependant, dans la mesure où l on a généralisé la notion d agrégation, il existe beaucoup plus de représentations possibles (2 2n agrégations pour un ensemble non contraint de taille n). Il apparaît donc nécessaire de vérifier que la complexité de l algorithme des représentations optimales est toujours compatible avec le passage à l échelle.

494 TSI. Volume 33 n o 5-6/2014 27 37 51 55 25 2 89 143 25 39 52 52 25 0 Représentation microscopique Représentation agrégée Réprésentation hypothétique Figure 10. Exemple d agrégation selon un ensemble d agrégats non disjoints (une entité appartient à deux agrégats) et non recouvrants (une entité n appartient à aucun agrégat). L interprétation des données ainsi agrégées est indiquée par la représentation hypothétique (à droite) 7. Conclusion Cet article met en évidence un problème scientifique majeur : comment produire des représentations macroscopiques qui conservent un sens lors du passage à l échelle? Comme l espace disponible pour la visualisation ne peut servir à représenter toute l information contenue dans les traces à visualiser, l agrégation est inévitable (agrégation de données ou agrégation graphique). Premièrement, il est primordial pour l utilisateur de connaître, de comprendre et de contrôler le procédé d agrégation implémenté par les outils qu il utilise. Deuxièmement, toute agrégation n a pas nécessairement de sens pour l analyse. Il est notamment important d évaluer les représentations macroscopiques pour sélectionner celles qui sont le plus adaptées à un contexte d analyse particulier. Ainsi, l agrégation réalise un compromis entre le coût de l analyse et le niveau de détail, c est-à-dire entre la complexité et le contenu informationnel d une représentation. La théorie de l information apporte un cadre théorique adapté à la formalisation d un tel problème. De plus, le procédé d agrégation doit prendre en compte des contraintes sémantiques exogènes liées, par exemple, à la topologie du système analysé. Cela revient à restreindre la recherche des agrégations possibles à un ensemble d agrégations pertinentes pour l utilisateur. Nous avons montré que le maintien du contenu informationnel, du niveau de complexité et des contraintes sémantiques permet de construire des visualisations interprétables lors du passage à l échelle. Troisièmement, le calcul des agrégations pertinentes est un problème computationnel délicat dont la complexité est fonction des contraintes exogènes. Nous proposons un algorithme efficace (complexité linéaire dans le cas d une topologie hiérarchique) pour résoudre ce problème d optimisation sous contraintes en un temps raisonnable. Nous avons ainsi pu représenter un million de processus en garantissant certaines propriétés essentielles de la visualisation : agrégation de l information redondante, conservation de l information hétérogène, cohérence avec la topologie du système.

Agrégation et visualisation de traces 495 Nous pensons que l approche proposée dans cet article peut être généralisée à de nombreux cas d analyse, dès lors que les conditions suivantes sont vérifiées : 1. On dispose de traces d exécution détaillant l activité des processus. Ces traces définissent le niveau microscopique de référence selon différentes dimensions discrétisées du système (e.g., espace des ressources, périodes de temps atomiques). 2. On dispose d un opérateur d agrégation sur les attributs, permettant d agréger les données microscopiques, et d une hypothèse de répartition des valeurs, permettant d interpréter les données agrégées. 3. On est capable de qualifier et de quantifier les représentations à partir de mesures de qualité relatives au contexte de l analyse (ressources disponibles pour le passage à l échelle, niveau de détail requis pour l analyse). On suppose de plus que ces mesures sont décomposables. 4. On est capable de formaliser la topologie des dimensions analysées sous la forme de contraintes sur l ensemble des représentations admissibles par l utilisateur. On suppose que la complexité du problème des représentations optimales, réduit par l expression de ces contraintes, permet d appliquer la méthode sur des systèmes de très grande taille. Les mesures d information que nous utilisons rendent compte d un aspect particulier de l analyse, lié à la répartition des données. D autres mesures, plus fines ou plus spécifiques, peuvent être appliquées à d autres contextes d analyse (e.g. distance de Levenshtein, complexité de Kolmogorov, entropies généralisées). La méthode que nous proposons vise à être générique. Elle peut ainsi exploiter de telles mesures pour exprimer des aspects et des objectifs différents de l agrégation de données. D autres topologies et d autres contraintes exogènes peuvent également être prises en compte en fonction du système analysé (e.g., conservation d une relation d ordre, agrégation selon un graphe, agrégation de cycles). Notre approche peut ainsi être généralisée aux différentes dimensions de l analyse (e.g., agrégation temporelle et spatiotemporelle, agrégation d évènements, de relations). Enfin, les problématiques soulevées dans cet article, ainsi que les éléments de réponses que nous y apportons, ont une place essentielle dans le domaine transversal de la visualisation de grands systèmes de données. Nous avons déjà commencé à exploiter cette approche dans plusieurs domaines (systèmes distribués, systèmes d information géographique via les systèmes complexes (Lamarche-Perrin et al., 2012) et via les systèmes multi-agents (Lamarche-Perrin et al., 2014)). Nous pensons que de nombreuses autres applications peuvent, à l avenir, confirmer l intérêt de la démarche présentée dans cet article. Remerciements Ce travail a été partiellement financé par le projet ANR INFRA SONGS (ANR- 11-INFRA-13) et par le projet ANR CORPUS GEOMEDIA (ANR-12-CORP-0009). Certaines des expériences qui y sont présentées ont été conduites sur la plateforme Grid 5000, une initiative du ministère de l Enseignement supérieur et de la Recherche.

496 TSI. Volume 33 n o 5-6/2014 Bibliographie Akaike H. (1973). Information Theory and an Extension of the Maximum Likelihood Principle. In S. Kotz, N. L. Johnson (Eds.), Breakthroughs in Statistics. Volume 1: Foundations and Basic Theory [1992], p. 610-624. New York, Springer-Verlag. Akaike H. (1974). A New Look at the Statistical Model Identification. IEEE Transactions on Automatic Control, vol. 19, n o 6, p. 716-723. Bolze R., Cappello F., Caron E., Daydé M., Desprez F., Jeannot E. et al. (2006). Grid 5000: a large scale and highly reconfigurable experimental Grid testbed. International Journal of High Performance Computing Applications, vol. 20, n o 4, p. 481 494. Brunst H., Hackenberg D., Juckeland G., Rohling H. (2010). Comprehensive Performance Tracking with Vampir 7. In M. S. Müller, M. M. Resch, A. Schulz, W. E. Nagel (Eds.), Tools for High Performance Computing 2009, p. 17-29. Springer Berlin Heidelberg. Chan A., Gropp W., Lusk E. (2008). An Efficient Format for Nearly Constant-Time Access to Arbitrary Time Intervals in Large Trace Files. Scientific Programming, vol. 16, n o 2-3. Chassin de Kergommeaux J., de Oliveira Stein B., Bernard P. E. (2000). Pajé, an interactive visualization tool for tuning multi-threaded parallel applications. Parallel Computing, vol. 26, n o 10, p. 1253 1274. Coulomb K., Faverge M., Jazeix J., Lagrasse O., Marcoueille J., et al. (2009). Visual Trace Explorer (ViTE). Csiszár I. (2008). Axiomatic Characterizations of Information Measures. Entropy, vol. 10, n o 3, p. 261-273. Davidson I., Basu S. (2007). A Survey of Clustering with Instance Level Constraints. In ACM Transactions on Knowledge Discovery from Data, p. 1-41. ACM. Dosimont D., Lamarche-Perrin R., Schnorr L. M., Huard G., Vincent J.-M. (2014). A Spatiotemporal Data Aggregation Technique for Performance Analysis of Large-scale Execution Traces. In Proceedings of the 2014 IEEE International Conference on Cluster Computing (CLUSTER 14). IEEE. Edmonds B. (1999). What is Complexity? The philosophy of complexity per se with application to some examples in evolution. In F. Heylighen, D. Aerts (Eds.), The Evolution of Complexity, p. 1-18. Kluwer, Dordrecht. Elmqvist N., Fekete J.-D. (2010). Hierarchical Aggregation for Information Visualization: Overview, Techniques, and Design Guidelines. IEEE Transactions on Visualization and Computer Graphics, vol. 16, n o 3, p. 439-454. Furnas G. W. (1981). The FISHEYE View: A New Look at Structured Files. Rapport technique. Murray Hill, NJ, AT&T Bell Laboratories. Gautier T., Besseron X., Pigeon L. (2007). KAAPI: A thread scheduling runtime system for data flow computations on cluster of multi-processors. In Proceedings of the International Workshop on Parallel Symbolic Computation, p. 15 23. New York, NY, USA, ACM. Geller T. (2011). Supercomputing s Exaflop Target. Communications of the ACM, vol. 54, n o 8. Gonzalez R. C., Woods R. E. (2002). Digital Image Processing (2 e éd.). Upper Saddle River, New Jersey, Prentice Hall.

Agrégation et visualisation de traces 497 Grunwald P. D. (2007). The Minimum Description Length Principle. The MIT Press. GWT-TUD Gmbh. (2011). Vampir 7.5 user manual Manuel de logiciel. Blasewitzer Str. 43, 01307 Dresden, Germany. Halkidi M., Batistakis Y., Vazirgiannis M. (2001). On Clustering Validation Techniques. Journal of Intelligent Information Systems, vol. 17, n o 2-3, p. 107-145. Consulté sur http://dx.doi.org/10.1023/a:1012801612483 Johnson B., Shneiderman B. (1991). Tree-Maps: a space-filling approach to the visualization of hierarchical information structures. In Proceedings of the 1991 IEEE Conference on Visualization, p. 284 291. IEEE Computer Society Press. Keim D. (2000). Designing Pixel-oriented Visualization Techniques: Theory and Applications. IEEE Transactions on Visualization and Computer Graphics, vol. 6, n o 1, p. 59-78. Kullback S., Leibler R. A. (1951). On Information and Sufficiency. The Annals of Mathematical Statistics, vol. 22, n o 1, p. 79-86. Labarta J., Gimenez J., Martinez E., Gonzalez P., Servat H., et al. (2006). Scalability of Tracing and Visualization Tools. In Proceeding of the 2005 International Conference on Parallel Computing, vol. 33, p. 869-876. John von Neumann Institute for Computing. Lamarche-Perrin R., Demazeau Y., Vincent J.-M. (2013). The Best-partitions Problem: How to Build Meaningful Aggregations. In Y. Pan, V. Raghavan (Eds.), Proceedings of the 2013 IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT 13), p. 399-404. Atlanta, GA, USA, IEEE Computer Society Press. Lamarche-Perrin R., Demazeau Y., Vincent J.-M. (2014). Building Optimal Macroscopic Representations of Complex Multi-agent Systems. Application to the Spatial and Temporal Analysis of International Relations through News Aggregation. In J. M. Corchado, J. Bajo (Eds.), Transactions on Computational Collective Intelligence (TCCI). Springer- Verlag Berlin, Heidelberg. Lamarche-Perrin R., Vincent J.-M., Demazeau Y. (2012). Informational Measures of Aggregation for Complex Systems Analysis. Research Report n o RR-LIG-026. Grenoble, France, Laboratoire d Informatique de Grenoble. Lee C., Mendes C., Kalé L. (2008). Towards scalable performance analysis and visualization through data reduction. In Proceedings of the 2008 IEEE International Symposium on Parallel and Distributed Processing, p. 1-8. IEEE Computer Society Press. Manning C. D., Raghavan P., Schütze H. (2008). Hierarchical Clustering. In Introduction to Information Retrieval, p. 377-401. New York, NY, USA, Cambridge University Press. Pagano G., Dosimont D., Huard G., Marangozova-Martin V., Vincent J.-M. (2013). Trace Management and Analysis for Embedded Systems. In Proceedings of the 7 th International Symposium on Embedded Multicore SoCs (MCSoC 13). Tokyo, Japan, IEEE Computer Society Press. Pillet V., Labarta J., Cortes T., Girona S. (1995). Paraver: A tool to visualise and analyze parallel code. In Proceedings of Transputer and Occam Developments, vol. 44, p. 17 31. Amsterdam, IOS Press. Rota G.-C. (1964). The Number of Partitions of a Set. The American Mathematical Monthly, vol. 71, n o 5, p. 498-504.

498 TSI. Volume 33 n o 5-6/2014 Schaffer D., Zuo Z., Greenberg S., Bartram L., Dill J., Roseman M. (1996). Navigating Hierarchically Clustered Networks Through Fisheye and Full-Zoom Methods. ACM Transactions on Computer-Human Interaction (TOCHI), vol. 3, n o 2, p. 162-188. Schnorr L. M., Huard G., Navaux P. O. A. (2009). Towards Visualization Scalability through Time Intervals and Hierarchical Organization of Monitoring Data. In The 9th IEEE International Symposium on Cluster Computing and the Grid (CCGrid). IEEE Computer Society. Schnorr L. M., Huard G., Navaux P. O. A. (2012). A hierarchical aggregation model to achieve visualization scalability in the analysis of parallel applications. Parallel Computing, vol. 38, n o 3, p. 91-110. Schnorr L. M., Legrand A. (2012). Visualizing more performance data than what would fit on your screen. In Tools for High Performance Computing 2012. Springer. Schnorr L. M., Legrand A., Vincent J.-M. (2012). Detection and analysis of resource usage anomalies in large distributed systems through multi-scale visualization. Concurrency and Computation: Practice and Experience, vol. 24, n o 15. Shannon C. E. (1948). A mathematical theory of communication. Bell system technical journal, vol. 27, n o 3, p. 379-423,623-656. Shneiderman B. (1992). Tree visualization with tree-maps: 2-d space-filling approach. ACM Transactions on Graphics, vol. 11, n o 1, p. 92 99. Smith J. M., Smith D. C. P. (1977). Database Abstractions: Aggregation and Generalization. ACM Transactions Database Systems, vol. 2, n o 2, p. 105-133. Talavera L., Béjar J. (1999). Integrating Declarative Knowledge in Hierarchical Clustering Tasks. In D. J. Hand, J. N. Kok, M. R. Berthold (Eds.), Proceedings of the 3 rd International Symposium on Advances in Intelligent Data Analysis (IDA 99), vol. 1642, p. 211-222. Springer-Verlag Berlin, Heidelberg. Wagstaff K., Cardie C. (2000). Clustering with Instance-level Constraints. In Proceedings of the 7 th International Conference on Machine Learning, p. 1103-1110. Morgan Kaufmann Publishers, Inc. Ward M., Grinstein G., Keim D. (2010). Interactive data visualization: Foundations, techniques, and applications. A K Peters. Wille R. (2005). Formal Concept Analysis as Mathematical Theory of Concepts and Concept Hierarchies. In B. Ganter, G. Stumme, R. Wille (Eds.), Formal Concept Analysis, vol. 3626, p. 1-33. Springer Berlin Heidelberg. Wilson J. M. (2003). Gantt charts: A centenary appreciation. European Journal of Operational Research, vol. 149, n o 2, p. 430 437. Article reçu le 16/02/2013 Accepté le 25/11/2013