agrégation de traces d’exécution pour la visualisation de...

34
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 visualisa- tion doivent garantir la compréhension et le contrôle par l’utilisateur du procédé d’agréga- tion. (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 re- cherche 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 pa- rallel applications. In the case of large-scale systems, the aggregation of data cannot be avoi- ded. This paper highlights a major scientific issue: How to provide aggregated representations Technique et science informatiques – n o 5-6/2014, 465-498

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation de traces d’exécution pour lavisualisation 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 GrenobleMaison Jean Kuntzmann110 avenue de la Chimie38400 Saint-Martin-d’Hères

{Robin.Lamarche-Perrin,Yves.Demazeau}@imag.fr

2. Laboratoire d’Informatique de GrenobleINRIA Rhône-Alpes655 avenue de l’Europe38330 Montbonnot

{Lucas.Schnorr,Jean-Marc.Vincent}@imag.fr

RÉSUMÉ. La visualisation de performance consiste à représenter graphiquement l’exécutiond’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èmescientifique majeur : comment produire des représentations agrégées qui ont un sens lors dupassage à l’échelle ? Quatre éléments de réponse sont discutés. (1) Les outils de visualisa-tion doivent garantir la compréhension et le contrôle par l’utilisateur du procédé d’agréga-tion. (2) Il est crucial d’estimer la qualité des représentations engendrées afin de distinguerles agrégations utiles (suppression d’informations redondantes) de celles qui sont dangereusespour l’analyse (perte d’informations importantes). Nous proposons des mesures issues de lathé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éeshétérogènes). (3) Les propriétés sémantiques et topologiques du système doivent également êtreprises en compte afin de garantir la juste interprétation des agrégats par l’utilisateur. La re-cherche des agrégations optimales est ainsi restreinte à un ensemble d’agrégations pertinentessur 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’à unmillion d’entités et garantissant l’interprétabilité des visualisations engendrées.

ABSTRACT. Performance visualisation consists in using graphical representations to analyse pa-rallel applications. In the case of large-scale systems, the aggregation of data cannot be avoi-ded. This paper highlights a major scientific issue: How to provide aggregated representations

Technique et science informatiques – no 5-6/2014, 465-498

Page 2: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

466 TSI. Volume 33 – no 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 pro-cess by the user. (2) They should estimate the quality of aggregated representations in orderto distinguish useful aggregations (suppressing redundant information) from those that may beharmful for the analysis (supressing essential information). We propose to use information-theoretic measures in order to quantify these two aspects and to generate multiresolution re-presentations 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 or-der to ensure the proper interpretation of aggregated data by the user. The search for optimalaggregations is thus restricted to a subset of semantically-relevant aggregations. (4) Advancedcomputation methods are necessary to select optimal aggregations in an efficient way. We pro-pose an algorithm with a linear complexity (in the case of hierarchical systems) in order toaggregate large-scale execution traces while preserving the interpretability of generated visua-lisations.

MOTS-CLÉS : agrégation de données, réduction de complexité, perte d’information, théorie del’information, visualisation de performance, systèmes distribués, représentations treemap.

KEYWORDS: data aggregation, complexity reduction, information loss, information theory, per-formance 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 millionsde cœurs. Le supercalculateur en tête de la liste Top500 de juin 2013 en possédaitpar exemple plus de 3 millions 1. L’exa-informatique vise à développer, au cours desprochaines années, des supercalculateurs atteignant l’exaflop (i.e., 1018 opérations parseconde) 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écu-tion, engendrant une concurrence extrême entre les tâches de calcul. Comprendre etexpliquer le comportement de ces applications constitue un défi majeur pour l’infor-matique. Nous distinguons les défis techniques, relatifs à l’observation, la centralisa-tion 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 pourl’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 gra-phiquement leur exécution pour y détecter des comportements anormaux. Les tech-niques 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/.

Page 3: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 467

des représentions classiques, telles que les diagrammes de Gantt (Wilson, 2003), et desrepré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 tech-niques de visualisation qu’ils implémentent. Ces outils doivent cependant être perfec-tionné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 estdifficile à analyser (Schnorr, Legrand, 2012). Plus grave, le désordre qui existe à ceniveau compromet l’interprétation des représentations. Il est alors nécessaire de re-courir à des techniques d’abstraction pour réduire la taille et la complexité des vi-sualisations proposées (Elmqvist, Fekete, 2010). Pour ce faire, des techniques de sé-lection, d’échantillonnage, de regroupement (clustering) ou d’agrégation permettentde 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 dusystème, interdisant ainsi tout point de vue global. L’échantillonnage ne permet pasde 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émantiquedu 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 cer-tains cas, de constituer des abstractions plus pertinentes pour interpréter de grandestraces 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 lastructure du système (Schnorr et al., 2009). L’agrégation vise ainsi à réduire la tailledes données pour produire une représentation macroscopique cohérente des états et dela dynamique du système. Notons que ce processus de réduction est inévitable dans lecas de grandes traces, qu’il s’agisse d’une agrégation graphique lors du rendu de lavisualisation (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 en-gendrer une perte d’information dangereuse pour l’interprétation des représentationsmacroscopiques, en particulier lorsque les données agrégées sont fortement hétéro-gènes. Si elle n’est pas contrôlée, une telle transformation peut n’apporter aucuneinformation pertinente et, pire, induire l’utilisateur en erreur. Par exemple, dans lafigure 1, parce qu’il n’y a pas assez de place sur l’écran pour représenter toute l’infor-mation contenue dans une trace d’exécution de 8 mois, une agrégation temporelle desdonnées est nécessaire. En examinant les détails sur une période de 12 jours, nous re-marquons que le comportement est bien plus complexe que celui visualisé à l’échellemacroscopique. 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éparti-tion », « diagrammes d’occupation », ou encore « arborescences ». Nous préférons dans la suite de l’articleconserver le terme original « treemaps » qui exprime mieux la représentation d’arbres ou de hiérarchies.

Page 4: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

468 TSI. Volume 33 – no 5-6/2014

EvinceAcroread 8 mois

12 jours

8 mois

12 jours

Figure 1. Visualisation de la disponibilité d’un client BOINC sur une période de8 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 del’agrégation est visualisé au format vectoriel par deux outils (Acroread à gauche etEvince à 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 visua-lisation (cf. les quatre frises de la figure 1, réalisées avec deux outils de visualisationsdiffé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 deméthodes formelles et pratiques pour son contrôle et son évaluation. À notre connais-sance, 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. Nousdéfendons l’idée que, dans la plupart des domaines d’applications, l’évaluation du pro-cé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 (sec-tion 2), cet article présente une approche originale, adaptée à la production de vi-sualisations macroscopiques pertinentes pour l’utilisateur. Cette approche consiste àévaluer la qualité des représentations proposées en exploitant des mesures issues dela théorie de l’information, dont les fondements mathématiques permettent de for-maliser les notions de « complexité » et de « perte d’information » pour engendrerdes représentations multirésolutions : agrégation de données redondantes et conserva-tion des données hétérogènes (section 3). Nous proposons un algorithme permettantd’optimiser ces mesures de qualité et d’ainsi sélectionner les « meilleures » visualisa-tions pour une trace donnée (section 4). Cette approche est appliquée à l’agrégationspatiale d’applications parallèles et à leur visualisation via des treemaps multirésolu-tions. Nous montrons que de telles représentations permettent de détecter à moindrecoût les comportements anormaux au sein de l’application. En outre, nous montronsque notre approche résout les défis techniques et sémantiques actuels en agrégeant latrace d’exécution d’un million de processus (section 5). Nous montrons que cette ap-

Page 5: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

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’ellesoulève ne se limitent pas au domaine du calcul haute performance (section 6). Nouspensons au contraire que l’évaluation et le contrôle des procédés d’agrégation consti-tue 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 dedonnées pour manipuler de grandes traces d’exécution. Dans cet état de l’art, nousutilisons 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 dis-tinguons quatre catégories de politiques d’agrégation de données proposées par cesoutils (Schnorr, Legrand, 2012). À ce titre, le procédé d’agrégation constitue une étapepréliminaire au procédé de visualisation.

Interdiction de l’agrégation. Politique généralement utilisée pour éviter les pertesd’information pouvant induire l’utilisateur en erreur.

Agrégation implicite. L’utilisateur ne peut distinguer, au sein de la visualisation, lesdonnées agrégées des données brutes. L’agrégation graphique, induite par lerendu de la visualisation, tombe dans cette catégorie.

Agrégation explicite. L’utilisateur supervise le procédé d’agrégation. Il peut notam-ment 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’utili-sateur dispose d’indicateurs concernant la qualité des représentations engen-dré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 mi-nimale 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 baspour examiner les autres entités, ce qui rend impossible toute vue d’ensemble. Trèspeu d’outils interdisent l’agrégation spatiale ou temporelle, sous peine de contraindrel’utilisateur à une analyse extrêmement laborieuse dans le cas de grandes traces. Laplupart des outils proposent donc un procédé d’agrégation implicite ou explicite del’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

Page 6: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

470 TSI. Volume 33 – no 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 lesprocessus (ellipse B) peuvent indistinctement représenter une ou plusieurs communi-cations. L’utilisateur peut néanmoins parcourir ces symboles pour obtenir plus d’in-formation à 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 couleurd’un pixel correspond à la fonction prédominante sur l’intervalle de temps correspon-dant (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 del’espace et du temps. L’outil tente d’afficher toutes les données fournies, indépendam-ment de l’espace disponible pour la visualisation. Jumpshot-4 (Chan et al., 2008) etslog2 (un format de fichier pour encoder de très grandes traces) permettent à l’utilisa-teur de configurer la granularité de la dimension temporelle pour réduire les coûts delecture et de visualisation. Cependant, une fois la granularité définie, rien ne permetd’identifier visuellement les intervalles qui ont effectivement été agrégés.

Temps

Processus

Flèches superposées :agrégation implicite des communications

Rectangles hachurés :agrégation explicite des états

A B

ag

rég

ati

on

in

terd

ite

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’axevertical (dimension spatiale) et le comportement de chaque processus est visualisé

selon l’axe horizontal (dimension temporelle) sous la forme de rectangles, indiquantles 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 uneagré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 desflèches représentant chacune plusieurs communications via une agrégation implicite

Page 7: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 471

Dans la mesure où les données agrégées ne sont pas clairement identifiées, cesoutils peuvent conduire à une mauvaise interprétation de la visualisation : certainesdonnées brutes peuvent être dissimulées, uniformisées, ou transformées sans que celane soit indiqué clairement à l’utilisateur. Il est par conséquent nécessaire d’utiliser cesoutils avec la plus grande prudence, ou alors préférer ceux qui distinguent explicite-ment 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 pardes rectangles hachurés lorsqu’il n’y a pas assez de place pour représenter en détailleur 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 dela visualisation est contrôlé afin de repérer les éventuelles agrégations au niveau despixels. L’utilisateur peut alors sélectionner un opérateur d’agrégation pour chacune desdimensions : 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 explici-tement 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 communica-tions agrégées, invitant l’utilisateur à zoomer pour obtenir plus de détails (GWT-TUDGmbh, 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 detechniques de visualisation moins classiques (treemaps et graphes des ressources).

Ces outils pour l’analyse de traces permettent de mieux interpréter les visualisa-tions qu’ils engendrent : soit en contrôlant la manière dont le procédé d’agrégationest réalisé, soit en indiquant explicitement lorsque les données brutes ont été transfor-mées. Cependant, ils ne permettent pas de distinguer les agrégations utiles (suppres-sion d’informations redondantes) des agrégations dangereuses pour l’analyse (perted’informations importantes). En plus du contrôle du procédé d’agrégation, ces outilsdevraient donc fournir à l’utilisateur les moyens d’évaluer la qualité des représenta-tions 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 outilsde visualisation cités dans cette section. Nous distinguons l’agrégation de la dimen-sion spatiale (ensemble des processus de l’application) et l’agrégation de la dimensiontemporelle (é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 spatialeet autorise l’agrégation temporelle, de manière implicite dans le cas des communica-tions et de manière explicite dans le cas des états. Ce tableau montre qu’aucun outil devisualisation 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

Page 8: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

472 TSI. Volume 33 – no 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 visualisationViva (cf. objectif dans le tableau 1.

Interdiction Implicite Explicite ÉvaluationJumpshot-4 Espace Temps

Pajé Espace Temps (comm.) Temps (états)

Paraver Espace/Temps

Triva 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 leurspolitiques 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 visuali-sation des méthodes d’évaluation permettant de contrôler la qualité des représenta-tions engendrées par l’agrégation de données. Cette section formalise la notion mêmed’agrégation (3.1). Nous y définissons la qualité d’une représentation comme un équi-libre entre une réduction de complexité, évaluant la suppression d’informations redon-dantes 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 auxdonnées microscopiques (3.2). Des mesures issues de la théorie de l’information sontproposé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 sys-tèmes distribués, il s’agit la plupart du temps des processus exécutés. La visualisa-tion de performance consiste à afficher certains attributs de ces entités (états, pro-priétés, évènements, communications, etc.) pour en analyser la répartition. Dans cetarticle, nous nous intéressons aux attributs quantitatifs à valeur positive. Nous notonsv(e) ∈ R+ la valeur prise par l’attribut du processus e ∈ E. L’ensemble des va-leurs {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

Page 9: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 473

12

109

811

10

20

228

140

33

10

1010

1010

10

10

1010

1010

1010

Agrégat

homogène

Agrégat

hétérogène

Représentationagrégée

Réprésentationhypothétique

60

70

Représentationmicroscopique

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ésentationhypothé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 unetelle représentation n’est pas nécessaire à l’analyse. Un ensemble restreint de valeurspeut 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 com-portements d’un ensemble d’entités sous-jacentes. Les valeurs agrégées peuvent êtredé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 sontla somme des valeurs des entités sous-jacentes. Nous notons donc v(E) la somme desvaleurs 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). Danscet article, nous nous limitons donc à l’étude des agrégations recouvrantes (chaqueentité appartient au moins à un agrégat) et non redondantes (chaque entité appartientau 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, surle plan computationnel et sur le plan cognitif, que la visualisation et l’analyse de lareprésentation microscopique correspondante. Cependant, la représentation agrégéeest plus ou moins similaire à la représentation initiale. On parle d’ajustement. Parexemple, 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ésentationspeuvent être comparées grâce à une hypothèse de répartition des valeurs au sein des

Page 10: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

474 TSI. Volume 33 – no 5-6/2014

agrégats. Il s’agit de la manière dont l’utilisateur est amené à interpréter les donnéesagrégées. Nous pouvons par exemple supposer que les sommes sont uniformémentréparties entre les entités sous-jacentes (cf. figure 3). On parle alors de représentationhypothétique. Il apparaît que certains agrégats sont plus adéquats que d’autres pourrésumer les données. Dans la figure 3, l’agrégat homogène semble pertinent dans lamesure où sa représentation hypothétique est proche de de sa représentation microsco-pique. 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înealors un faible ajustement. Il serait cependant intéressant de travailler à partir d’autreshypothèses de répartition en fonction de l’attribut visualisé (par exemple des réparti-tions Gaussiennes, géométriques, etc.). La notion de « bonne » agrégation réunit doncdeux aspects :

1. Ce que l’on gagne en agrégeant la représentation microscopique. Il s’agit dela simplification opérée par le processus d’agrégation pour passer à l’échelle. Nousparlons plus précisément de réduction de complexité, c’est-à-dire de la réduction desressources (ressources de calcul ou ressources cognitives) nécessaires à la visualisa-tion 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 me-surer la qualité des données visualisées par rapport aux données microscopiques. Leré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 ungain et une perte. Ce point de vue hérite notamment de travaux en sélection de mo-dèles statistiques. Par exemple, le critère informationnel d’Akaike (1974) permet decomparer le nombre de paramètres du modèle et sa vraisemblance, qui peuvent êtrerespectivement interprétés comme une mesure de complexité et une mesure d’ajuste-ment. À supposer que nous disposons de mesures pour quantifier le gain et la perted’une agrégation A, nous exprimons ce compromis de qualité par une mesure para-métrée :

mp(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érerles termes du compromis (rapport gain /perte). Maximiser m0 revient à minimiserla perte : l’agrégation la plus précise est optimale, on préfèrera donc la représenta-tion microscopique. Maximiser m1 revient à maximiser le gain : l’agrégation la plussimple est optimale, on choisira donc l’agrégation totale, résumant l’attribut à la seulevaleur v(E). Quand p varie de 0 à 1, un ensemble d’agrégations optimales émerge.Chacune d’elles optimise le compromis exprimé par mp en agrégeant seulement lesparties homogènes du système. Le choix du rapport gain /perte est volontairementlaissé à l’attention de l’utilisateur. Celui-ci peut ainsi adapter le niveau de représen-tation en fonction de la quantité de détails attendue et des ressources dont il disposepour le rendu et l’analyse de la visualisation.

Page 11: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

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’évaluerla réduction de complexité et l’ajustement d’une représentation donnée. La théorie del’information fournit pour cela un cadre intéressant dont l’apport essentiel consisteici 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 mani-pulées lors de l’agrégation. De ce fait, notre approche hérite de travaux réalisés dansdes 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 del’approche MDL (Grunwald, 2007). Dans notre travail, la complexité d’une représen-tation est évaluée comme la longueur d’un codage simple, basé sur la quantité d’in-formation 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 laclasse de modèles est structurée algébriquement et que la quantité d’information (ausens de Shannon ou de Kullback-Leibler) a de bonnes propriétés vis-à-vis de la struc-ture algébrique de cette classe (cf. décomposabilité additive, section 4.3). Des détailsconcernant la formalisation et la sémantique des mesures présentées ci-dessous sontdisponibles 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ésentationdé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 deuxquantités : gain(A) = Q(A0)−Q(A), où A0 est une partition de référence. Le gainmesure ainsi la quantité d’information que l’on économise en encodant la représenta-tionA plutôt que la représentationA0. Dans notre cas, nous prenons la représentationmicroscopique comme référence.

Nombre de valeurs encodées

Une manière simple de mesurer l’information contenue dans une représentationconsiste à compter le nombre de bits nécessaires pour encoder les valeurs qu’ellecontient. Nous pouvons alors supposer que chaque valeur nécessite un nombre constantde bits q dépendant du type de données utilisé (entier, flottant, booléen, etc.). Nousavons 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 contenuedans une représentation donnée (à une constante multiplicative près). Elle peut être

Page 12: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

476 TSI. Volume 33 – no 5-6/2014

assimilée au décompte des paramètres d’un modèle statistique (Akaike, 1974) : plusil y a de paramètres, plus le modèle est complexe. Il s’agit également d’une mesurecohé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ésentationstreemap). 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éduirele 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éecomme mesure de complexité (Edmonds, 1999). Elle est donnée par la formule de(Shannon, 1948) :

H(A) = −∑A∈A

(v(A)

v(E)log2

v(A)

v(E)

)

Nous prenons Q(A) = H(A)× v(E), ce qui donne :

gain(A) =∑A∈A

(v(A) log2 v(A)−

∑e∈A

v(e) log2 v(e)

)(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 sym-boles les plus fréquents ont un code binaire plus court, et inversement). Or, nous pou-vons interpréter un attribut comme une distribution de probabilité sur l’ensemble desprocessus E, par exemple lorsqu’il s’agit d’un dénombrement (évènements, change-ments d’état, communications au sein de chaque processus). L’entropie mesure alorsla quantité d’information nécessaire pour encoder chacun de ces évènements. Elle sedistingue 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 particu-lièrement adaptée à la visualisation de ces évènements (e.g., graphes et diagrammesd’interactions, nuages de points). Dans de précédents travaux de recherche, nous avonsutilisé la réduction d’entropie pour l’agrégation de systèmes d’information géogra-phique (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 nom-breuses analyses s’intéressent aux relations de causalité entre les évènements et lescommunications.

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’ajus-tement utilisée en théorie de l’information (Kullback, Leibler, 1951). Elle nous sert

Page 13: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

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)× log2

(v(e)

v(A)× |A|

))(4)

La divergence mesure la quantité d’information perdue lorsqu’on utilise un modèlestatistique – pour trouver le codage minimal d’un vocabulaire – au lieu de sa véritabledistribution 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’autrestermes, la divergence mesure la perte d’information liée à l’approximation de la re-présentation microscopique par la représentation agrégée. Notons que la réduction decomplexité n’induit pas nécessairement de perte d’information. En particulier, lorsquedes valeurs homogènes sont agrégées, le nombre d’agrégats visualisés diminue et lesvaleurs restent correctement interprétées par l’utilisateur.

D’autres mesures de similarité classiques, en statistique, pourraient servir à évaluerl’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 entermes de quantité d’information, assurant ainsi la compatibilité avec l’entropie deShannon (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èreopé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 para-métrée mp (sous-section 3.2), fournissent à l’utilisateur les indicateurs de qualité dontil a besoin pour interpréter les agrégats visualisés. De tels outils permettent égalementde comparer les représentations dans le but de sélectionner les « meilleures » d’entreelles. Cette section s’intéresse à ce problème d’optimisation. Il est nécessaire de four-nir 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 cettesection, 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 ceproblè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éfi-nissant 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 lesreprésentations optimales en un temps linéaire dans le cas de systèmes hiérarchiques.

Page 14: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

478 TSI. Volume 33 – no 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 quimaximisent 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 deBell (Rota, 1964) à croissance exponentielle :

B(n+ 1) =

n∑k=0

(n

k

)B(n) = O

((n

ln(n)

)n)où n est la taille de l’ensemble. En pratique, pour un système de grande taille (e.g., del’ordre du million de processus), il est impossible de trouver les agrégations optimalesen les évaluant une à une. Des heuristiques, telles que développées par les techniquesde clustering (Halkidi et al., 2001), pourraient être mises en œuvre pour trouver dessolutions non optimales. Cependant, de telles approches supposent que toute agréga-tion à un sens pour l’analyse. Nous soutenons au contraire que la plupart des systèmesont une sémantique propre qui interdit l’usage de certains agrégats. Par exemple, dansle cas des systèmes distribués, la topologie du réseau de communication et la positiondes processus au sein de ce réseau sont souvent essentielles à l’analyse (Schnorr etal., 2009). Cette topologie doit être préservée par lors de l’agrégation afin de produiredes visualisations pertinentes pour l’utilisateur. En outre, ces contraintes topologiquespermettent de réduire la complexité du problème en restreignant l’espace de rechercheau 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 processussont exécutés par des machines, celles-ci sont regroupées en clusters, puis en sites decalcul, etc. Dans ce cas, la hiérarchie est induite par la structure physique du réseau decommunication. Dans d’autres cas, une telle organisation est induite par l’applicationparallèle qui y est exécutée : e.g., distribution des tâches de calcul, réseau d’utilisa-teurs dans les systèmes pair-à-pair. Dans tous les cas, ces structures sont essentiellespour l’analyse dans la mesure où elles permettent d’expliquer le comportement desprocessus.

4.2.1. Exprimer les connaissances a priori lors de l’agrégation

Le partitionnement contraint (constrained clustering) est une technique d’appren-tissage semi-supervisé permettant de formaliser la structure du système analysé sousla forme de contraintes sur le regroupement des données. Cette technique consiste no-tamment à interdire ou à obliger certains regroupements en fonction de règles logiquesexprimé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 contraintesau niveau des entités microscopiques (instance-level constrained clustering) : à par-tir de contraintes de type must-link et cannot-link (Wagstaff, Cardie, 2000 ; Davidson,

Page 15: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 479

Basu, 2007) ou de règles de logique propositionnelle (Talavera, Béjar, 1999) obligeantou interdisant le regroupement de certaines entités. Ces techniques de contraintes mi-croscopiques ne permettent d’exprimer que des propriétés relativement simples auniveau des agrégats : e.g., diamètre minimal des agrégats, distance minimale entreagrégats (Davidson, Basu, 2007). Afin de formaliser des structures plus complexes,nous proposons de travailler directement au niveau des agrégations (partitions de l’en-semble des entités microscopiques). Les contraintes que nous définissons s’appliquentdonc à l’ensemble des agrégations possibles et permettent d’extraire le sous-ensembledes agrégations admissibles par les experts.

Le problème que nous abordons dans cet article doit donc être soigneusement dis-tingué 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 conceptsgénériques. Le processus d’agrégation n’est donc pas un processus de généralisa-tion (cf. la distinction proposée dans (Smith, Smith, 1977)). De plus, les techniquesde classification classiques visent parfois à l’édification de hiérarchies (e.g., analyseformelle de concepts sous forme de hiérarchies de concepts (Wille, 2005)). Dans cecas, 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 processusd’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 re-présentent les entités microscopiques ; les nœuds représentent les agrégats ; et la racinereprésente l’agrégation totale. Une hiérarchie définit donc un ensemble d’agrégats em-boîtés à partir desquels le système peut être agrégé. Les agrégations admissibles sontcelles qui font intervenir uniquement ces agrégats. En particulier, l’agrégation d’en-tité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’onsouhaite agréger les processus p1 et p4, alors il est également nécessaire d’agrégerl’intégralité les processus des machines m1 et m2. Une agrégation est caractérisée parune coupe dans l’arbre qui représente la hiérarchie, c’est-à-dire un ensemble de nœudstels que chaque feuille ne descend que d’un seul nœud de cet ensemble (cf. les troiscoupes présentées dans la figure 4).

Le nombre d’agrégations admissibles au sein d’un arbre T est donné par la formuleré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 estatteint lorsque l’arbre représentant la hiérarchie est un arbre binaire complet : à chaquenœud, le nombre d’agrégations admissibles est multiplié par deux. Supposons que|E| = 2k, où k est la hauteur de l’arbre, nous avons alors :

N(2k) = Uk = 1 + (Uk−1)2 avec U0 = 1

Page 16: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

480 TSI. Volume 33 – no 5-6/2014

c1

m1 m2 m3

p1 p2 p3 p4 p5 p6 p7

c1

m1 m2 m3

p1 p2 p3 p4 p5 p6 p7

c1

m1 m2 m3

p1 p2 p3 p4 p5 p6 p7

Figure 4. Trois agrégations admissibles au sein d’une hiérarchie définie sur7 processus, répartis en 3 machines et 1 cluster. Les surfaces grisées représentent descoupes 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 (Uk)k∈N est dominée par 3 :

N(T ) = O(cn) 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 bor-née des agrégats constituant la hiérarchie, la classe de complexité reste la même quedans le cas d’un arbre binaire (c’est-à-dire exponentielle).

L’espace de recherche déterminé par des contraintes hiérarchiques est donc bienplus petit que l’espace non contraint, dont le cardinal est donné par le n-ème nombrede Bell Bn. En particulier, N ne dépend pas directement du nombre de processus, maisessentiellement du nombre de branches dans la hiérarchie. Par exemple, N demeureconstant 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 del’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 tempspolynomial.

4.3. Un algorithme reposant sur la décomposabilité des mesures

Pour comparer les agrégations admissibles en un temps raisonnable, nous utilisonsune 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 mesurede 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 BenoitCloitre, 27 novembre 2002)4. Voir : http://oeis.org/A135361

Page 17: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 481

En d’autre termes, la qualité d’une agrégation peut être définie comme la somme desqualités de ses agrégats. La décomposabilité additive garantit ainsi que la qualité d’unagrégat ne dépend pas de la manière dont les autres entités sont agrégées. L’éva-luation d’un agrégat peut donc servir à l’évaluation de toutes les agrégations qui lecontiennent. En réalité, la décomposabilité additive est une hypothèse plus forte puis-qu’il suffit qu’une mesure soit décomposable pour garantir que l’on peut évaluer lesagrégats indépendamment les uns des autres. Il se trouve que la plupart des mesures enthéorie de l’information sont également additives (Csiszár, 2008). De plus, notons quel’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 additivementdé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éemp (équation 1). L’algorithme des représentations optimales présenté ci-dessous uti-lise cette propriété pour trouver les agrégations maximisant mp en réalisant le moinsde mesures possible. L’évaluation est divisée sur chaque branche de l’arbre par autantd’appels récursifs. L’algorithme est appliqué une fois à chaque nœud et corresponddonc à un simple parcours en profondeur de l’arbre. Sa complexité temporelle estdonc linéaire. Notons que les deux hypothèses doivent être vérifiées pour obtenir unecomplexité linéaire : la décomposabilité sans les contraintes topologiques, et récipro-quement, ne suffit pas.

– Soit T un arbre et m une mesure de qualité additivement décomposable.On note AT l’agrégation totale de T .

– Si T est une feuille, alors renvoyer AT , (cas de base)sinon :

1. Pour chaque sous-arbre direct S, trouver l’agrégation optimale AS .(un appel récursif pour chaque fils de la racine de T )

2. Si la somme des qualités des agrégations optimales∑

m(AS)

est supérieure à la qualité de l’agrégation totale m(AT ),alors : renvoyer

⋃AS , l’union des agrégations optimales,

sinon : renvoyer AT , l’agrégation totale.

Algorithme des représentations optimales. Cet algorithme calcule lesagrégations admissibles au sein d’une hiérarchie (représentée par un arbre T )

qui maximisent une mesure de qualité décomposable m

Page 18: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

482 TSI. Volume 33 – no 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’explica-tion d’anomalies apparaissant à différentes échelles spatiales dans les traces d’exécu-tion. Les applications et les outils utilisés, ainsi que les objectifs de l’analyse, sontdé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 troi-sième pour démontrer que l’approche proposée passe à l’échelle en agrégeant la tracesimulé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 detrès grandes quantités de données. Nous choisissons une technique de visualisationadaptée à la structure hiérarchique des systèmes qui nous intéressent. Les représenta-tions treemap (Shneiderman, 1992) constituent à ce titre une technique orientée-pixelsreprésentant les hiérarchies sous la forme de « boîtes imbriquées », chacune représen-tant une entitée ou un agrégat (processus, machine, cluster ou site dans le cas de sys-tèmes distribués). Les attributs de ces entités graphiques sont affichés à l’intérieur desboî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 dif-férents sont utilisés pour chaque état (cf. figures 5, 6 et 7). La complexité des treemapsest mesurée par le nombre de valeurs affichées, définissant ainsi la granularité de lavisualisation (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, Na-vaux, 2012), affichant les traces d’exécution sous la forme de treemaps, outils au seindesquels 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 visuali-sation. Ainsi, nous pensons que l’approche présentée dans cet article peut être appli-quée à de nombreuses autres techniques de visualisation classiques (comme aux dia-grammes de Gantt, discutés en section 2 ou à d’autres approches orientées-pixels (Wardet al., 2010)) à condition de définir une mesure de complexité adaptée, i.e., exprimantle 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éatoired’une application parallèle orienté par les tâches. L’application repose sur le midd-leware KAAPI (Gautier et al., 2007) qui tente d’équilibrer les charges de travail. Lestraces analysées contiennent, pour chaque processus, les intervalles de temps consa-crés à l’exécution des tâches (RUN), ainsi que les dates auxquelles le processus tentede voler des tâches aux autres processus (STEAL). L’application est exécutée sur laplateforme Grid’5000 (Bolze et al., 2006). Les processus y sont hiérarchiquementorganisés en machines, clusters et sites. Le troisième cas d’étude propose l’analysed’une trace engendrée de manière artificielle. Celle-ci contient l’exécution d’un mil-

Page 19: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 483

lion de processus, organisés selon 5 niveaux et pouvant être dans deux états : VS0et VS1. Pour souligner l’intérêt de notre approche, nous avons introduit des compor-tements hétérogènes à chaque niveau de la hiérarchie : des processus hétérogènes ausein 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 del’algorithme des représentations optimales pour régler le niveau de détail de la vi-sualisation spatiale de la trace. La trace analysée provient d’une application parallèleKAAPI 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 clairet l’état STEAL en gris foncé. La treemap A affiche le temps passé dans ces états pourchaque processus. Il s’agit d’une visualisation de la représentation microscopique. Lestreemaps 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 ad-ditionnés. La treemap A.3 représente l’agrégation totale. En affichant les différentsniveaux d’agrégation, ces quatre treemaps (A, A.1, A.2 et A.3) rendent compte del’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 siteset A.3 l’agrégation totale. Plus nous montons dans la hiérarchie, plus le nombre devaleurs 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, ellecontient 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 ano-malie peut être expliquée par une analyse technique plus approfondie : la latence duréseau est plus grande au niveau du site en question. Comme l’algorithme de réparti-tion des tâches ne prend pas en compte ce genre de propriétés locales, il résulte destemps de vol de travail plus longs. Cette anomalie ne peut pas être détectée à par-tir des treemaps A.1, A.2 et A.3 puisqu’elles agrègent les informations relatives ausite 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é dutravail. Il peut également penser que c’est le cas d’un seul processus. Dans les deuxcas, 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 beaucoupd’information redondante (sites homogènes). Cette visualisation microscopique peutdifficilement être appliquée à de très grands systèmes, tels que présentés dans le troi-sième cas d’étude.

L’algorithme des représentations optimales, appliqué à la mesure paramétrée mp

(cf. équation 1), permet de construire des visualisations multirésolutions pertinentespour pallier ces problèmes. Nous examinons les agrégations maximisant la mesuremp pour différentes valeurs du rapport gain /perte p : de 0 % (visualisation micro-

Page 20: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

484 TSI. Volume 33 – no 5-6/2014

A 188 processus

B Agrégation optimale pour p = 10% C Agrégation optimale pour p = 40%

9 clusters

5 sites

Agrégation totale

A.1

A.2

A.3

Figure 5. Treemaps d’une application exécutée sur 188 processus. La treemap Aprésente le niveau microscopique ; les treemaps A.1, A.2 et A.3 présentent les autresniveaux de la hiérarchie ; les treemaps B et C sont engendrées par l’algorithme desrepré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, pourp > 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 ho-mogènes dans chacun des agrégats. Ainsi, l’utilisateur peut faire les bonnes hypothèsesconcernant les processus sous-jacents, sans procéder à une analyse plus détaillée deces parties de la visualisation. Lorsque le rapport gain / perte arrive aux alentoursde 40 %, l’algorithme agrège chacun des sites (treemap C). Cette visualisation rendcompte 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, pourp > 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épartisen 50 machines et 3 clusters. L’objectif de l’analyse consiste à détecter des anomaliesdans la trace engendrée. On suppose ici que l’hétérogénéité est le symptôme d’uneexécution anormale : comme dans le cas précédent, on s’attend à ce que les proces-

Page 21: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 485

sus au sein d’un même cluster aient un comportement similaire. Les treemaps de lafigure 6 utilisent le même code couleur que précédemment. Les treemaps A, A.1, A.2et 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 unrapport gain / perte de 10 %. Les machines homogènes y sont agrégées avec une perted’information négligeable. Seules les machines avec au moins un processus différentdes autres sont détaillées. Pour p > 30 %, les machines hétérogènes sont finalementagrégées (treemap C). Il s’agit indubitablement d’une perte d’information, mais celapermet de repérer une machine « plus hétérogène » que les autres (entourée, dans la fi-gure 6). Elle contient en effet deux processus au comportement anormal. Cet exemplemontre comment, avec très peu d’effort, l’utilisateur peut détecter des anomalies dansl’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 évide-ment, d’autres critères peuvent être utilisés pour détecter d’autres anomalies : trop oupas assez de temps passé dans un état donné, comportements homogènes, etc. Notreapproche permet de produire des visualisations au sein desquelles de tels critères sontégalement détectables à moindre coût.

A 433 processus 50 machinesA.1

3 clustersA.2

Agrégation totaleA.3

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 Aprésente le niveau microscopique ; les treemaps A.1, A.2 et A.3 présentent les autresniveaux de la hiérarchie ; les treemaps B et C sont engendrées par l’algorithme desrepré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 plushétérogène est détaillée

Page 22: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

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’ils’agit de passer à l’échelle les méthodes de visualisation. Dans ce but, nous avonsartificiellement engendré la trace d’exécution d’une application contenant un millionde processus, chacun pouvant être dans un état parmi deux possibles. Ces processussont répartis en 10 000 machines, 1 000 clusters, 100 super-clusters et 10 sites. Tousces 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 etun site a des super-clusters hétérogènes.

A 10000 machines

B Agrégation optimale pour p = 10%

A.b

A.c

A.a

B.b

B.c

B.aB.d

Figure 7. Treemaps d’une trace artificielle contenant un million de processus. Latreemap A présente le niveau des machines ; la treemap B est engendrée parl’algorithme des représentations optimales. Avec un paramètre p à 10 %, latreemap 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

Page 23: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 487

La surface d’une feuille A4 ou celle d’un écran d’ordinateur ne permet pas d’affi-cher de façon lisible et compréhensible le niveau microscopique d’une telle applica-tion. Pour passer à l’échelle, l’augmentation de la surface de visualisation ne semblepas appropriée puisque le champ de vision de l’utilisateur est lui-même limité (si onimprime chaque processus sur une surface de 3× 3 millimètres, la visualisation auraitune surface de 3 × 3 mètres et le recul nécessaire à une vision globale ne permettraitpas de saisir les détails). Dans notre exemple, la treemap A de la figure 7 présentedonc la trace agrégée au niveau des machines. Nous pouvons déjà observer trois zoneshétérogènes de tailles différentes (entourées dans la figure). Pour le reste, pour chaquemachine, nous ne pouvons être sûrs que les processus sous-jacents ont des comporte-ments homogènes.

La treemap B est obtenue pour un rapport gain / perte de 10 %. L’information re-dondante 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 formatvectoriel (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 plusaisément dans la treemap B. Plus important encore, l’algorithme des représentationsoptimales force à désagréger une machine lors de la visualisation (zone B.d dans latreemap 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’in-formation en minimisant la complexité de la visualisation. L’analyse détaillée de latreemap microscopique, au niveau des processus, aurait en effet permis de détectercette hétérogénéité, mais elle aurait nécessité bien plus de calcul (en particulier, unetelle 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éali-sable en pratique. L’approche ici présentée permet donc de découvrir des phénomènesqui ne pourraient être visualisés autrement.

Notons que ce troisième cas d’étude montre que la méthode de détection des ano-malies passe à l’échelle. Cependant, la trace analysée ne correspond pas à un casd’exécution réelle. Elle ne permet donc pas d’évaluer le passage à l’échelle de laméthode d’explication des anomalies (abordée dans les cas d’étude précédents). Eneffet, l’hétérogénéité a été explicitement et artificiellement introduite en fonction dela structure (dans une machine, dans un cluster, dans un site). Par conséquent, les ano-malies sont trivialement expliquées par cette structure. Il apparaît donc nécessaire, enperspective de ce cas d’étude, de procéder à l’analyse d’une trace qui soit à la foisréelle et de grande taille, afin de montrer que la méthode de détection et la méthoded’explication des anomalies passent toutes les deux à l’échelle grâce à cette méthoded’agrégation.

Page 24: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

488 TSI. Volume 33 – no 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 fonctionde la répartition des valeurs d’un attribut. Cette section vise à montrer que l’algorithmedes 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 se-lon 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égatsnon 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’unehié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 nombreusesentités en très peu de niveaux). L’agrégation peut néanmoins reposer sur d’autres pro-priétés (non topologiques) des systèmes. La structure de la visualisation peut notam-ment reposer sur un procédé de regroupement hiérarchique (hierarchical clustering)(Schaffer et al., 1996 ; Manning et al., 2008 ; Elmqvist, Fekete, 2010). Les processussont itérativement groupés en fonction d’une mesure de similarité, jusqu’à l’obten-tion d’une hiérarchie généralement représentée sous la forme d’un dendrogramme. Lamesure de similarité dépend alors de certains attributs des processus. Les autres at-tributs sont visualisés et analysés comme précédemment, sur la base de la hiérarchieengendrée. Dans ce cas, nous supposons que la sémantique préservée par l’agrégationn’est pas d’ordre topologique, mais repose sur les attributs utilisés pour le regroupe-ment. Ceux-là servent alors à expliquer les attributs visualisés. On suppose notammentqu’il existe des corrélations intéressantes pour l’analyse. Dans le cas contraire, le re-groupement ne produit aucun agrégat homogène, limitant ainsi l’intérêt des attributssé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 avecla structure hiérarchique de la plate-forme d’exécution. Cependant, d’autres organisa-tions sont possibles : ressources distribuées selon un graphe, ressources associées ensérie, en parallèle, etc. Chacune de ces organisations induit des propriétés topologi-ques particulières affectant le comportement des ressources et permettant aux expertsd’expliquer leurs comportements (cf. sous-section 4.2). Cette sous-section montrecomment l’algorithme des représentations optimales peut être généralisé à d’autrescontraintes 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’en-semble des partitions admissibles définies par une topologie donnée. En particulier,

Page 25: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

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 A1 et A2 partitionnant l’ensemble E des entités microscopiques,nous avons A1 < A2 si, et seulement si, chaque agrégat de A1 est inclus dans unagrégat de A2. On dit alors que A1 « raffine » A2. Formellement :

A1 < A2 ssi ∀A1 ∈ A1, ∃A2 ∈ A2, A1 ⊆ A2

Cette relation de raffinement définit un ordre partiel sur l’ensemble des agrégationsadmissibles. Elle permet de parcourir cet ensemble depuis la représentation microsco-pique jusqu’à l’agrégation totale (cf. figure 8 dans le cas d’ensembles d’agrégationsadmissibles selon une hiérarchie et selon un ordre total). Si, de plus, aucune agréga-tion admissible ne vient « se placer entre » A1 et A2, on dit que A1 est « couverte »par A2 et on note A1−< A2. Formellement :

A1−< A2 ssi A1 < A2 et @A′, A1 < A′ < A2

Les partitions couvertes par un agrégat donné représentent les « plus petites désa-grégations possibles » de cet agrégat : dans le cas d’une hiérarchie, il s’agit de des-cendre 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 unendroit (figure 8 à droite). La généralisation de l’algorithme consiste à utiliser cette re-lation 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écursive-ment 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 quepour 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 to-pologiques définies par les experts : plus la topologie restreint l’ensemble des agréga-tions admissibles, moins la recherche de l’agrégation optimale est coûteuse en termesde 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’arbrereprésentant la hiérarchie. Nous avons donc une complexité linéaire en temps et enespace (cf. section 4). Pour un ensemble d’agrégations admissibles selon un ordre to-tal défini sur l’ensemble des entités E (c’est-à-dire que les agrégats admissibles sontdes 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 etO(|E|2) en espace (Lamarche-Perrin et al., 2013).

Page 26: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

490 TSI. Volume 33 – no 5-6/2014

a r b r e

a r b r ea r b r e

a r b r e

a r b r e

1 2 3 4

1 2 3 4 1 2 3 4 1 2 3 4

1 2 3 4 1 2 3 4 1 2 3 4

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)

3 4

3 4

2 3 4

2 3

2 3

2 3 4

2 3 4

1 2

1 2

3 4

3 4

2 3

2 3

1 2 3

1 2

1 2

1 2 3

1 2 3

1 2 3 4 1 2 3 4 1 2 3 4

1 2 3 4

1

2

3

4

5

6

7

8

9 10

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

Page 27: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 491

Cette généralisation de l’algorithme invite à utiliser d’autres contraintes lors del’agrégation de données. Ainsi, même s’il ne s’agit pas d’une hiérarchie, la topolo-gie 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êteque 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 ladimension temporelle. Les entités microscopiques ne sont plus des processus hiérar-chisés, mais des slots de temps ordonnés (Pagano et al., 2013). Une telle généralisa-tion 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émentpour expliquer le comportement du système. Supposons que nous disposons alors dek attributs et de k représentations microscopiques correspondantes. Nous distinguonstrois 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éa-lisée séparément. Il en résulte plusieurs représentations agrégées, minimisant chacunela perte d’information relative à un attribut. La visualisation de ces représentationsnécessite soit de les superposer (à condition que la technique de visualisation le per-mette), soit de les présenter séparément. Dans tous les cas, la concordance entre lesentités et les agrégats des différentes représentations doit être indiquée avec le plusgrand 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 à deces 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 – éventuel-lement pondérée – des mesures de qualité pour chacune des k valeurs. L’algorithmerenvoie ainsi une seule agrégation, qui optimise la réduction de complexité et la perted’information en moyenne pour les k dimensions de l’attribut.

Une troisième approche consiste à considérer l’ensemble des attributs commeune dimension du système, constituée de k entités microscopiques. Deux attributssont alors agrégés lorsqu’ils sont similaires pour chacun des processus. L’algorithmed’agrégation optimale peut ainsi être utilisé pour réduire le nombre des attributs visua-lisé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 com-posantes principales).

6.4. Application à d’autres opérateurs d’agrégation

Les applications proposées dans cet article font intervenir des attributs additifs. Lasomme constitue donc un opérateur d’agrégation adéquat : le temps passé dans un état

Page 28: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

492 TSI. Volume 33 – no 5-6/2014

par une machine est défini comme la somme des temps passés par les processus decette machine. Cependant, il est possible de généraliser l’approche à des attributs nonadditifs 5. Par exemple, l’efficacité d’un processus e peut être définie comme le rap-port entre le temps consacré au calcul Tcalc(e) et le temps d’exécution total Texec(e).L’attribut v(e) = Tcalc(e)

Texec(e)n’est pas additif. En effet, étant donné un agrégat de pro-

cessus A = {e1, . . . , en}, l’efficacité de cet agrégat n’est pas la somme des efficacitédes processus, mais le rapport de deux mesures agrégées :

v(A) =

∑e∈A

Tcalc(e)∑e∈A

Texec(e)

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 chaqueprocessus 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) =∑A∈A

(∑e∈A

v(e)× log2

(v(e)

v∗(e)

))(5)

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 alorsde préciser l’interprétation microscopique des données agrégées par cet opérateur. Parexemple, dans le cas où l’agrégation ne conserve que la valeur maximale de l’attri-but (v(A) = maxe∈A v(e)), on peut supposer que tous les autres valeurs sont nulles(v∗(e) = 0 et v∗(emax) = v(emax)). 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 desvaleurs agrégées en fonction de la sémantique de l’opérateur (moyenne, somme, ex-trema, etc.).

6.5. Application à d’autres techniques de visualisations

Dans cet article, nous avons utilisé les représentations treemaps parce qu’elles sontadapté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 tailledu système (attributs non additifs), par opposition aux variables intensives, qui sont proportionnelles à lataille du système et sont ainsi sommées lors de l’agrégation.

Page 29: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 493

travaux de recherche, nous avons utilisé des planisphères agrégées pour visualiser unsystème d’information géographique (Lamarche-Perrin et al., 2014). Dans les deuxcas, la taille des éléments représentés dépend essentiellement de leur niveau dans lahiérarchie. En particulier, peu d’espace est alloué à la représentation des entités micro-scopiques, ce qui limite leur lisibilité dans le cas de grands systèmes (voir par exempleles 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 lavisualisation, qu’il s’agisse d’entités microscopiques ou d’agrégats de haut-niveau. Ilen résulte une anamorphose qui améliore la lisibilité des entités de bas-niveau. Cettetechnique participe à la conception de représentations de type fisheye, tentant de fairecoexister 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 = {A1, . . . , An}d’agrégats deux-à-deux disjoints (Ai ∩Aj = ∅) et recouvrants (A1 ∪ . . . ∪An = E).Cependant, nous pouvons généraliser en nous intéressant aux représentations engen-drées selon des ensembles d’agrégats quelconques. Dans le cas d’agrégats non dis-joints, certaines entités sont représentées au sein de plusieurs agrégats et, dans le casd’agrégats non recouvrants, certaines entités ne sont pas du tout représentées (cf. fi-gure 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 par-tageant certaines de leurs ressources de calcul peuvent néanmoins coexister au seinde la même représentation (recouvrement de données). Au contraire, les ressourcesqui ne présentent aucun intérêt pour l’analyse peuvent être simplement écartées de lareprésentation afin de simplifier celle-ci (sélection de données).

Les mesures de qualité doivent être adaptées à ces nouveaux mécanisme. Notam-ment, la perte d’information doit être redéfinie afin d’exprimer (1) le croisement desinformations relatives aux entités appartenant à plusieurs agrégats et (2) l’absenced’information concernant les entités qui n’appartiennent à aucun agrégat. Afin de pou-voir 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éfi-nies en fonction des mécanismes de recouvrement et de sélection (cf. figure 10). Descontraintes topologiques peuvent également être exprimées pour définir l’admissibi-lité de telles représentations. Cependant, dans la mesure où l’on a généralisé la notiond’agrégation, il existe beaucoup plus de représentations possibles (22

n

agrégationspour un ensemble non contraint de taille n). Il apparaît donc nécessaire de vérifier quela complexité de l’algorithme des représentations optimales est toujours compatibleavec le passage à l’échelle.

Page 30: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

494 TSI. Volume 33 – no 5-6/2014

Représentationagrégée

Réprésentationhypothétique

Représentationmicroscopique

37 51

2725

2

5589

14339 52

2525

0

52

Figure 10. Exemple d’agrégation selon un ensemble d’agrégats non disjoints (uneentité 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 produiredes 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’in-formation contenue dans les traces à visualiser, l’agrégation est inévitable (agrégationde données ou agrégation graphique). Premièrement, il est primordial pour l’utilisa-teur 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écessairementde sens pour l’analyse. Il est notamment important d’évaluer les représentations ma-croscopiques pour sélectionner celles qui sont le plus adaptées à un contexte d’ana-lyse particulier. Ainsi, l’agrégation réalise un compromis entre le coût de l’analyseet le niveau de détail, c’est-à-dire entre la complexité et le contenu informationneld’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 prendreen compte des contraintes sémantiques exogènes liées, par exemple, à la topologiedu système analysé. Cela revient à restreindre la recherche des agrégations possiblesà un ensemble d’agrégations pertinentes pour l’utilisateur. Nous avons montré quele maintien du contenu informationnel, du niveau de complexité et des contraintessé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 com-putationnel délicat dont la complexité est fonction des contraintes exogènes. Nousproposons un algorithme efficace (complexité linéaire dans le cas d’une topologiehiérarchique) pour résoudre ce problème d’optimisation sous contraintes en un tempsraisonnable. Nous avons ainsi pu représenter un million de processus en garantissantcertaines propriétés essentielles de la visualisation : agrégation de l’information re-dondante, conservation de l’information hétérogène, cohérence avec la topologie dusystème.

Page 31: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

Agrégation et visualisation de traces 495

Nous pensons que l’approche proposée dans cet article peut être généralisée à denombreux 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 tracesdé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égerles données microscopiques, et d’une hypothèse de répartition des valeurs, permettantd’interpréter les données agrégées.

3. On est capable de qualifier et de quantifier les représentations à partir de me-sures de qualité relatives au contexte de l’analyse (ressources disponibles pour le pas-sage à l’échelle, niveau de détail requis pour l’analyse). On suppose de plus que cesmesures sont décomposables.

4. On est capable de formaliser la topologie des dimensions analysées sous laforme 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 parl’expression de ces contraintes, permet d’appliquer la méthode sur des systèmes detrès grande taille.

Les mesures d’information que nous utilisons rendent compte d’un aspect parti-culier de l’analyse, lié à la répartition des données. D’autres mesures, plus fines ouplus spécifiques, peuvent être appliquées à d’autres contextes d’analyse (e.g. distancede Levenshtein, complexité de Kolmogorov, entropies généralisées). La méthode quenous proposons vise à être générique. Elle peut ainsi exploiter de telles mesures pourexprimer des aspects et des objectifs différents de l’agrégation de données. D’autrestopologies et d’autres contraintes exogènes peuvent également être prises en compteen fonction du système analysé (e.g., conservation d’une relation d’ordre, agrégationselon un graphe, agrégation de cycles). Notre approche peut ainsi être généralisée auxdiffé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 cetarticle, ainsi que les éléments de réponses que nous y apportons, ont une place essen-tielle 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 (sys-tè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 etal., 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 plate-forme Grid’5000, une initiative du ministère de l’Enseignement supérieur et de laRecherche.

Page 32: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

496 TSI. Volume 33 – no 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 andBasic Theory [1992], p. 610-624. New York, Springer-Verlag.

Akaike H. (1974). A New Look at the Statistical Model Identification. IEEE Transactions onAutomatic Control, vol. 19, no 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 ofHigh Performance Computing Applications, vol. 20, no 4, p. 481–494.

Brunst H., Hackenberg D., Juckeland G., Rohling H. (2010). Comprehensive PerformanceTracking 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 toArbitrary Time Intervals in Large Trace Files. Scientific Programming, vol. 16, no 2-3.

Chassin de Kergommeaux J., de Oliveira Stein B., Bernard P. E. (2000). Pajé, an interactive vi-sualization tool for tuning multi-threaded parallel applications. Parallel Computing, vol. 26,no 10, p. 1253–1274.

Coulomb K., Faverge M., Jazeix J., Lagrasse O., Marcoueille J., et al. (2009). Visual TraceExplorer (ViTE).

Csiszár I. (2008). Axiomatic Characterizations of Information Measures. Entropy, vol. 10, no 3,p. 261-273.

Davidson I., Basu S. (2007). A Survey of Clustering with Instance Level Constraints. In ACMTransactions on Knowledge Discovery from Data, p. 1-41. ACM.

Dosimont D., Lamarche-Perrin R., Schnorr L. M., Huard G., Vincent J.-M. (2014). A Spatio-temporal Data Aggregation Technique for Performance Analysis of Large-scale ExecutionTraces. 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 appli-cation to some examples in evolution. In F. Heylighen, D. Aerts (Eds.), The Evolution ofComplexity, 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 andComputer Graphics, vol. 16, no 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 fordata flow computations on cluster of multi-processors. In Proceedings of the InternationalWorkshop 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,no 8.

Gonzalez R. C., Woods R. E. (2002). Digital Image Processing (2e éd.). Upper Saddle River,New Jersey, Prentice Hall.

Page 33: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

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, no 2-3, p. 107-145. Consulté surhttp://dx.doi.org/10.1023/A:1012801612483

Johnson B., Shneiderman B. (1991). Tree-Maps: a space-filling approach to the visualizationof hierarchical information structures. In Proceedings of the 1991 IEEE Conference onVisualization, 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, no 1, p. 59-78.

Kullback S., Leibler R. A. (1951). On Information and Sufficiency. The Annals of MathematicalStatistics, vol. 22, no 1, p. 79-86.

Labarta J., Gimenez J., Martinez E., Gonzalez P., Servat H., et al. (2006). Scalability of Tracingand Visualization Tools. In Proceeding of the 2005 International Conference on ParallelComputing, vol. 33, p. 869-876. John von Neumann Institute for Computing.

Lamarche-Perrin R., Demazeau Y., Vincent J.-M. (2013). The Best-partitions Problem: Howto Build Meaningful Aggregations. In Y. Pan, V. Raghavan (Eds.), Proceedings of the2013 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 MacroscopicRepresentations of Complex Multi-agent Systems. Application to the Spatial and Tempo-ral 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 Aggre-gation for Complex Systems Analysis. Research Report no RR-LIG-026. Grenoble, France,Laboratoire d’Informatique de Grenoble.

Lee C., Mendes C., Kalé L. (2008). Towards scalable performance analysis and visualizationthrough data reduction. In Proceedings of the 2008 IEEE International Symposium onParallel and Distributed Processing, p. 1-8. IEEE Computer Society Press.

Manning C. D., Raghavan P., Schütze H. (2008). Hierarchical Clustering. In Introduction toInformation Retrieval, p. 377-401. New York, NY, USA, Cambridge University Press.

Pagano G., Dosimont D., Huard G., Marangozova-Martin V., Vincent J.-M. (2013). TraceManagement and Analysis for Embedded Systems. In Proceedings of the 7th InternationalSymposium on Embedded Multicore SoCs (MCSoC’13). Tokyo, Japan, IEEE ComputerSociety Press.

Pillet V., Labarta J., Cortes T., Girona S. (1995). Paraver: A tool to visualise and analyzeparallel 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, no 5, p. 498-504.

Page 34: Agrégation de traces d’exécution pour la visualisation de ...schnorr/download/publication/TSI130019_lamarch… · La visualisation de performance consiste à représenter graphiquement

498 TSI. Volume 33 – no 5-6/2014

Schaffer D., Zuo Z., Greenberg S., Bartram L., Dill J., Roseman M. (1996). Navigating Hierar-chically Clustered Networks Through Fisheye and Full-Zoom Methods. ACM Transactionson Computer-Human Interaction (TOCHI), vol. 3, no 2, p. 162-188.

Schnorr L. M., Huard G., Navaux P. O. A. (2009). Towards Visualization Scalability throughTime Intervals and Hierarchical Organization of Monitoring Data. In The 9th IEEE Interna-tional 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 achievevisualization scalability in the analysis of parallel applications. Parallel Computing, vol. 38,no 3, p. 91 - 110.

Schnorr L. M., Legrand A. (2012). Visualizing more performance data than what would fit onyour screen. In Tools for High Performance Computing 2012. Springer.

Schnorr L. M., Legrand A., Vincent J.-M. (2012). Detection and analysis of resource usageanomalies in large distributed systems through multi-scale visualization. Concurrency andComputation: Practice and Experience, vol. 24, no 15.

Shannon C. E. (1948). A mathematical theory of communication. Bell system technical journal,vol. 27, no 3, p. 379-423,623-656.

Shneiderman B. (1992). Tree visualization with tree-maps: 2-d space-filling approach. ACMTransactions on Graphics, vol. 11, no 1, p. 92–99.

Smith J. M., Smith D. C. P. (1977). Database Abstractions: Aggregation and Generalization.ACM Transactions Database Systems, vol. 2, no 2, p. 105-133.

Talavera L., Béjar J. (1999). Integrating Declarative Knowledge in Hierarchical ClusteringTasks. In D. J. Hand, J. N. Kok, M. R. Berthold (Eds.), Proceedings of the 3rd Internatio-nal 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 ofthe 7th International Conference on Machine Learning, p. 1103-1110. Morgan KaufmannPublishers, Inc.

Ward M., Grinstein G., Keim D. (2010). Interactive data visualization: Foundations, tech-niques, and applications. A K Peters.

Wille R. (2005). Formal Concept Analysis as Mathematical Theory of Concepts and ConceptHierarchies. 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 OperationalResearch, vol. 149, no 2, p. 430–437.

Article reçu le 16/02/2013Accepté le 25/11/2013