• Nenhum resultado encontrado

entendimento de padrões de comunicação com a topologia da rede. Nós usamos uma simpli-ficação da topologia do Grid’5000 e o roubo de tarefas de aplicações KAAPI. Fomos capazes de mostrar que em diferentes fatias de tempo, o roubo de tarefas poderia se beneficiar mais da localidade, uma vez que a implementação atual de KAAPI não leva em conta dados da rede para realizar pedidos de roubo de tarefas. Por outro lado, os resultados obtidos com o modelo de agre-gação permitiram a visualização dos estados de 100 mil processadores, gerados sinteticamente.

As treemaps definidas pelo algoritmo de fatia de tempo foram também definidas usando rastros reais KAAPI e MPI. Fomos capazes de identificar nos rastros KAAPI diferentes característi-cas, como o comportamento diferente nos mecanismos de roubo apresentados por diferentes processos, a eficiência do balanceamento de carga considerando todo o tempo de execução das aplicações, e a análise em larga-escala de uma aplicação KAAPI composta por quase 3 mil processos.

Em resumo, os principais objetivos alcançados nesta tese são a proposta da abordagem 3D, o modelo de agregação visual combinado com o técnica de fatia de tempo e protótipo Triva.

Além disso, se incluem a interação entre o protótipo Triva e a biblioteca KAAPI, permitindo uma análise das atividades de roubo de tarefas desta biblioteca.

Como perspectivas de trabalhos futuros, prevê-se a evolução da visualização 3D para a rep-resentação de informações geradas pelo modelo de agregação; criação de representações de grafo com a técnica de fatia de tempo e agregação; o estudo de outras funções de agregação e outros tipos de dados para o algoritmo de fatia de tempo. Acreditamos que a implicação mais significativa deste trabalho seja o estudo de técnicas de visualização aplicadas para a análise de aplicações paralelas.

Appendix B

Extended Abstract in French

The French title for this thesis is “Quelques Modéles de Visualisation pour l’Analyse des Ap-plications Paralléles”. The extended french abstract is also presented here to fulfill the require-ments established in the co-tutelle agreement of the author. This abstract is a french translation of previous Portuguese extended abstract.

137

B.1 Introduction

Les systèmes distribués sont fondés sur du matériel et des logiciels contenant et gérant plus d’une unité d’exécution [19]. Dans ces systèmes, les processeurs sont interconnectés et commu-niquent via un réseau. Les programmes pour ces machines sont divisées en plusieurs catégories et doivent interagir à différents niveaux de parallélisme, tels que le passage de messages ou la mémoire partagée. Un exemple de système distribué est représenté par les grilles de calcul [30].

Ce type de système est structuré en organisations virtuelles [29], et peut-être composé de mil-liers de machines distribuées géographiquement. Deux exemples de grilles sont le projet français Grid’5000 [12] et le projet américain TeraGrid [16].

Les caractéristiques partagées par presque toutes les plates-formes de type grille sont le dy-namisme, l’hétérogénéité des ressources et des logiciels et la présence de multiples domaines ad-ministratifs. Le dynamisme signifie que les ressources d’une grille peuvent devenir indisponibles à tout moment, sans aucune notification préalable. Les applications parallèles doivent consid-érer ces conditions dynamiques typiquement pour faire face aux fluctuations de la quantité de ressources disponible. L’hétérogénéité signifie que différentes configurations de ressources sont présentes sur la même plate-forme de grille. Ceci est également valable pour les logiciels de bib-liothèques. Une grille peut être composée par les différents domaines administratifs, où chaque partie est maintenue indépendamment par leur administrateurs. Au-delà de ces caractéristiques, une grille peut également être connectée par un réseau complexe et être facilement étendue par l’ajout de nouvelles ressources.

L’interconnexion entre les ressources d’un réseau peut être composée de différents types de réseau : Ethernet, Myrinet, InfiniBand, ou fibre optique. Un exemple de grille contenant plusieurs types d’interconnexion est appelé Desktop Grids [48], comme les projets BOINC [1] et Seti@Home [2], où l’interconnexion se fait généralement par le biais d’Internet. Autre exemple qui montre la présence de plusieurs types d’interconnexions est une grille composée de clusters, où une forte hiérarchie d’interconnexion est utilisée pour connecter des clusters homogènes [12].

La présence de plusieurs types d’interconnexion est un reflet de l’hétérogénéité et la répartition géographique de grilles. Ces aspects imposent un réseau plus complexe, un nombre plus grand de directives de routage pour la communication entre les processus et une latence variable dans le temps.

Les plate-formes de type grille passent facilement à l’échelle car de nouvelles ressources peuvent y être ajoutées indéfiniment en les reliant aux participants existants. En règle générale, ces compléments apportent plus d’hétérogénéité et de complexité au niveau de réseau. Actuelle-ment, il existe des grilles globales composées de milliers d’ordinateurs, comme le montre l’ex-emple du projet BOINC. Un autre exl’ex-emple qui montre comme il est facile d’ajouter de nouvelles ressources à une grille est Grid’5000, où de nouveaux clusters sont ajoutés au backbone princi-pal de la plate-forme. Le passage à l’échelle de ces plate-formes est une bonne chose pour les applications parallèles, qui exigent de plus en plus de ressources informatiques.

Toutes ces caractéristiques de la grille influencent directement le comportement des appli-cations parallèles au cours de leur développement et leur mise en exécution. De ce fait, il est important que le développeur comprenne les impacts des systèmes distribués sur l’application.

L’analyse d’une application parallèle qui depend de la topologie du réseau est un exemple.

L’ap-B.1. INTRODUCTION 139 plication peut avoir un performance qui varie en fonction des ressources qui ont été sélectionnées et l’interconnexion entre elles. Cette influence est encore plus évidente lorsque les caractéris-tiques de réseau sont considérées, comme la latence et la bande passante, pour les applications qui sont limitées par celui-ci. Le passage à l’échelle d’une grille est un autre aspect qui influence directement le comportement des applications parallèles, la disponibilité de nouvelles ressources pour l’application ne signifie pas que l’exécution aura une meilleure performance.

Compte tenu de ces éléments, nous pouvons voir qu’il est important d’analyser le comporte-ment des applications parallèles en conjonction avec les informations de la grille. Cette analyse peut aider les développeurs à comprendre l’impact de la topologie du réseau sur l’application, par exemple. En visualisant la façon dont l’application communique et la topologie du réseau, il est possible de determiner comment l’adapter afin de mieux exploiter cette interconnexion. En outre, si le réseau est hiérarchiquement organisé, les applications peuvent suivre sa hiérarchie pour éviter les goulets d’étranglement. Une bonne analyse doit aussi conduire à des conclusions sur tous les processus qui sont mis en exécution, y compris sur les comportements locaux et globaux qui peuvent apparaître entre eux. Quand il y a une grande quantité de processus, l’anal-yse doit être en mesure de générer des résultats statistiques sur l’ensemble de ces processus.

La visualisation est une forme d’aide à l’analyse des applications parallèles. Elle a été large-ment utilisé au cours des 30 dernières années, pour comprendre et visualiser les applications qui sont axées sur différents niveaux de parallélisme. La façon la plus classique de construire une visualisation consiste à utiliser une adaptation des diagrammes de Gantt [79], également connue sous le nom de graphiques d’espace-temps. Ces visualisations disposent la liste des composants de l’application verticalement et metent la ligne du temps sur l’axe horizontal. Des exemples d’outils qui offrent ce type d’analyse sont l’outil de visualisation générique Pajé [22], Vam-pir [60] et d’autres [5, 46, 63]. Ces graphiques espace-temps sont déjà largement utilisés dans les plates-formes existantes, tels que les clusters, où les données sont simples et uniformes.

Beaucoup de ces outils de visualisation ont été adaptés afin d’observer le comportement des applications dans les systèmes distribués, comme les grilles. Habituellement, ils continuent à utiliser les même techniques de visualisation. Considérant les représentations espace-temps, le premier problème qui se pose est qu’elles ne peuvent pas représenter, avec les données de l’application, la complexité de la topologie du réseau d’une grille. Comme nous l’avons dit, l’impact de la la topologie ne peut pas être exclu de l’analyse quand l’interconnexion entre les ressources est complexe. Le deuxième problème est lié au passage à l’échelle de l’affichage graphique espace-temps. Avec l’utilisation de ces représentations, le nombre de composantes de l’application qui peuvent être visualisés dans un écran d’ordinateur est limité à la résolution verticale de l’écran.

Cette thèse tente de résoudre les problèmes des techniques traditionnelles dans la visuali-sation des applications parallèles. L’idée principale est d’exploiter le domaine de la visualisa-tion de l’informavisualisa-tion et essayer d’appliquer ses concepts dans le cadre de l’analyse des pro-grammes parallèles. Portant de cette idée, la thèse propose deux modèles de visualisation : les trois dimensions et le modèle d’agrégation visuelle. Le premier peut être utilisé pour analyser les programmes parallèles en tenant compte de la topologie du réseau. L’affichage lui-même se compose de trois dimensions, où deux sont utilisés pour indiquer la topologie et la troisième est utilisée pour représenter le temps. Le second modèle peut être utilisé pour analyser des

applica-tions parallèles comportant un très grand nombre de processsus. Ce deuxième modèle exploite une organisation hiérarchique des données utilisée par une technique appelée Treemap pour représenter visuellement la hiérarchie. Les deux modèles constituent une nouvelle façon d’anal-yser visuellement les applications parallèles , car ils ont été conçus pour les systèmes distribués grands et complexes, tels que les grilles.

Quelques concepts proposés dans cette thèse ont été publiés et un article est en cours d’éval-uation.

Ce résumé étendu est organisé en cinq sections, de la façon suivante : Section B.2 : Le Modèle Tridimensionnel

Cette section présente le premier modèle de cette thèse, constitué par l’approche en trois dimensions. Nous décrivons la conception visuelle et une organisation générale de com-posants pour la génération de visualisations 3D.

Section B.3 : Le Modèle d’agrégation des Données

La section présente l’algorithme de tranche de temps pour la description du comportement d’une application sous forme d’une hiérarchie, et le modèle d’agrégation utilisé pour at-teindre le passage à l’échelle dans la représentations Treemap.

Section B.4 : L’implementation du Prototype Triva

Cette section présente le prototype développé pour cette thèse. Sa description dans cette partie comprend l’organisation générale de ses composants.

Section B.5 : Résultats obtenus et Évaluation

Les résultats obtenus avec le prototype Triva sont présentés dans cette section. Deux études de cas y sont presentes : une par rapport au modèle tridimensionnel, l’autre liée au modèle d’agrégation visuelle.

Section B.6 : Conclusion

Les résultats et implications de la thèse sont présentés, ainsi que les perspectives pour les travaux futurs.