Evaluation des performances de programmes parallèles haut niveau à base de squelettes Enhancing the Performance Predictability of Grid Applications with Patterns and Process Algebras A. Benoit, M. Cole, S. Gilmore, J. Hillston http://groups.inf.ed.ac.uk/enhance/ abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 1
Motivations Grilles de calcul: ensemble hétérogène d ordinateurs reliés par un réseau problèmes d allocation de ressources et de scheduling Programmation à base de squelettes: schémas de programmation couramment utilisés modèles à l aide d algèbres de processus Améliorer les performances d applications pour des grilles de calcul (résultats de perf. bonnes décisions de scheduling) abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 2
Plan de l exposé Introduction Le squelette Pipeline Principe du squelette Modèle (algèbre de processus) AMoGeT: The Automatic Model Generation Tool Présentation et fichiers d entrée Différentes fonctionnalités Résultats numériques Conclusions et perspectives abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 3
Introduction - Grilles et squelettes Grilles de calcul Disponibilité et perf. des ressources non prévisibles Problèmes de scheduling Des techniques de rescheduling peuvent être utiles Programmation à base de squelettes librairie de squelettes; chaque squelette peut être utilisé par de nombreuses applications modulaire, configurable Edinburgh Skeleton Library eskel (MPI) [Cole02] abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 4
Introduction - Evaluation des performances Utilisation d un squelette particulier: information sur les dépendances impliquées Modélisation à l aide d algèbres de processus stochastiques inclut les aspects d incertitude propre aux grilles prise en compte dynamique des performances des ressources, processus de modélisation auto. permet de meilleures décisions de scheduling, et un éventuel rescheduling des applications abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 5
Introduction - Travaux connexes The Network Weather Service [Wolski99] benchmarking et monitoring de grilles de calcul pas de squelettes ni de modèles de performances Projet ICENI [Furmento02] modèles de perf. : améliorer les décisions de scheduling pas de squelettes, modèles = graphes (approximation) Utilisation de squelettes [Alt02] chaque serveur fournit une fonction représentant, pour chaque squelette, le coût de son implémentation chaque squelette tourne sur un unique serveur scheduling = choisit les serveurs les plus appropriés abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 6
Introduction - Principales contributions Un squelette réparti sur différents serveurs Squelettes modélisés de façon générique à l aide d algèbres de processus stochastiques Résultats de performance: permettent un rescheduling dynamique de l application pour améliorer ses performances Résultats significatifs obtenus sur un premier cas d étude, le squelette Pipeline abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 7
Plan de l exposé Introduction Le squelette Pipeline Principe du squelette Modèle (algèbre de processus) AMoGeT: The Automatic Model Generation Tool Présentation et fichiers d entrée Différentes fonctionnalités Résultats numériques Conclusions et perspectives abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 8
Pipeline - Principe inputs... Stage 1 Stage 2 Stage N s outputs N s stages travaillent sur une séquence d entrées (inputs) pour créer une séquence de sorties (outputs) L activité interne d un stage peut être parallèle, mais ceci est transparent à notre modèle abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 9
Pipeline - Modèle Le modèle est exprimé à l aide de Performance Evaluation Process Algebra PEPA [Hillston96] Mapping de l application sur les ressources de la grille: le réseau et les processeurs abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 10
Pipeline - Modèle de l application Modèle de l application: indépendant des ressources 1 composant PEPA par stage du Pipeline (s = 1..N s ) Stage s def = (move s, ).(process s, ).(move s+1, ).Stage s Séquentiel: obtient une donnée (move s ), la traite (process s ), transmet le résultat au stage suivant (move s+1 ) Taux non spécifiés ( ): déterminés par les ressources Pipeline = coopération des différents stages P ipeline def = Stage 1 Stage 2... Stage Ns {move 2 } {move 3 } {move N s } move 1 : arrivée d une donnée dans l application move Ns +1: transfert d un résultat hors du Pipeline abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 11
Pipeline - Modèle du réseau Modèle du réseau: information sur l efficacité des connections réseau entre couples de processeurs Affecte les taux λ s aux activités move s (s = 1..N s + 1) Reseau def = (move 1, λ 1 ).Reseau +... +(move Ns +1, λ Ns +1).Reseau λ s représente la connection entre le proc. j s 1 hébergeant le stage s 1 et le proc. j s hébergeant le stage s Cas limites: j 0 est le processeur fournissant les données au Pipeline j Ns +1 est là où l on désire transmettre les résultats abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 12
Pipeline - Modèle des processeurs Modèle des processeurs: L application tourne sur un ensemble de N p processeurs Taux µ s de l activité process s (s = 1..N s ): charge du processeur, et autres indices de performance Un stage par processeur (N p = N s ; s = 1..N s ): P roc s def = (process s, µ s ).P roc s Plusieurs stages par processeur: P roc 1 def = (process 1, µ 1 ).P roc 1 + (process 2, µ 2 ).P roc 1 Ensemble de processeurs: composition parallèle P rocesseurs def = P roc 1 P roc 2... P roc Np abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 13
Pipeline - Modèle final Le modèle final est le mapping des stages sur les processeurs et le réseau, en utilisant l opérateur de coopération L p = {process s } s=1..ns synchronise P ipeline et P rocesseurs L m = {move s } s=1..ns +1 synchronise P ipeline et Reseau Mapping def = Reseau Lm P ipeline Lp P rocesseurs abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 14
Plan de l exposé Introduction Le squelette Pipeline Principe du squelette Modèle (algèbre de processus) AMoGeT: The Automatic Model Generation Tool Présentation et fichiers d entrée Différentes fonctionnalités Résultats numériques Conclusions et perspectives abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 15
AMoGeT - Vue générale AMoGeT Génération des modèles modèles PEPA Résolution des modèles résultats Comparaison des résultats fichiers d entrée informations de NWS indices de performance AMoGeT: Automatic Model Generation Tool Composant d analyse générique Role ultime: composant intégré à un scheduleur et rescheduleur temps réel abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 16
AMoGeT - Fichiers d entrée (1) Préciser les noms des processeurs fichier hosts.txt: liste des adresses IP rang i dans la liste processeur i le processeur 1 est le processeur de référence wellogy.inf.ed.ac.uk bw240n01.inf.ed.ac.uk bw240n02.inf.ed.ac.uk zuni.imag.fr abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 17
AMoGeT - Fichiers d entrée (2) Décrit l application exemple file exemple.des stages du Pipeline: nombre de stages N s et temps tr s (sec) requis pour produire une sortie pour chaque stage s = 1..N s sur le processeur de référence nbstage=n s ; tr1=10; tr2=2;... mappings des stages sur les processeurs: location des inputs, le processeur hébergeant chaque stage, et la location des outputs. mappings=[1,(1,2,3),1],[1,(1,1,1),1]; abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 18
AMoGeT - Utilisation du Network Weather Service The Network Weather Service (NWS) [Wolski99] Prédiction dynamique des performances du réseau et des ressources Quelques scripts à lancer sur les noeuds étudiés Information que l on utilise: av i - fraction de CPU disponible pour une tâche qui commence sur le processeur i la i,j - latence (en ms) d une communication du processeur i vers le processeur j cpu i - fréquence du processeur i en MHz (/proc/cpuinfo) abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 19
AMoGeT - Génération des modèles Un modèle de Pipeline par mapping Problème: calcul des taux Stage s (s = 1..N s ) sur le processeur j (et un total de nb j stages sur ce processeur): µ s = av j nb j cpu j cpu 1 1 tr s Taux λ s (s = 1..N s + 1): lien réseau entre le processeur j s 1 hébergeant le stage s 1 et le processeur j s (stage s): λ s = 10 3 /la js 1,j s (limites: stage 0 = input et stage N s + 1 = output) abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 20
AMoGeT - Résolution des modèles [Gilmore94] Résultats numériques obtenus avec PEPA Workbench Résultat de performance: débit des activités move s = débit de l application identique pour chaque s (Pipeline) cacul du débit de move 1 expression du résultat dans le modèle: T = λ 1 {** (Stage1 **) (** **)} : séparateur entre les composants du modèle **: composant indéterminé résultat obtenu par une simple ligne de commande abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 21
AMoGeT - Comparaison des résultats Tous les résultats sont sauvés dans un unique fichier Quel mapping produit le meilleur débit? Utiliser ce mapping pour faire tourner l application abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 22
Plan de l exposé Introduction Le squelette Pipeline Principe du squelette Modèle (algèbre de processus) AMoGeT: The Automatic Model Generation Tool Présentation et fichiers d entrée Différentes fonctionnalités Résultats numériques Conclusions et perspectives abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 23
Résultats numériques Exemple: 3 stages de Pipeline, jusqu à 3 processeurs 27 états, 51 transitions moins d une sec. pour résoudre (idem jusqu à 8 stages) Paramètres: la j,j = 0.1 ms pour j = 1..3 et la j1,j 2 = la j2,j 1 cpu j identique pour chaque processeur j = 1..3 tr s = tr identique pour chaque stage s = 1..3 Pour j = 1..3, t j = tr/av j, et donc µ s = 1 nb j 1 t j abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 24
Résultats numériques Pas besoin de transférer les inputs ou outputs Mappings comparés: tous les mappings avec le stage 1 sur le processeur 1 (mappings [1, (1,, ), ]) Expérience 1: Processeurs identiques et connection réseau rapide (la i,j = 0.1 pour chaque couple de processeurs i, j) t j = 0.1 (pour chaque processeur): meilleurs mappings: (1,2,3) et (1,3,2) avec un débit de 5.64 t j = 0.2: mêmes meilleurs mappings (un stage par processeur), mais le débit est divisé par 2 (2.82) abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 25
Résultats numériques Expérience 2: Processeur 3 plus lent que les autres (t 1 = t 2 = 0.1, et t 3 = 1) - Liens réseaux identiques la 1,2 = la 2,3 = la 1,3 = 0.1: (1,2,1) - 3.37 la 1,2 = la 2,3 = la 1,3 = 100: (1,1,2) et (1,2,2) - 2.60 la 1,2 = la 2,3 = la 1,3 = 1000: (1,1,1) - 1.88 éviter l utilisation du processeur 3, et éviter les transferts de données quand le réseau est lent abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 26
Résultats numériques Expérience 3: La connection réseau vers le processeur 3 est lente (la 1,2 = 100 ; la 1,3 = la 2,3 = 1000) t 1 = t 2 = t 3 = 0.1: (1,1,2) et (1,2,2) - 2.60 t 1 = t 2 = 1 ; t 3 = 0.1: (1,3,3) - 0.49 éviter l utilisation du processeur 3 quand tous les processeurs sont identiques utiliser le processeur 3 seulement quand les autres sont plus lent (même si plus de temps sera passé en communications) abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 27
Plan de l exposé Introduction Le squelette Pipeline Principe du squelette Modèle (algèbre de processus) AMoGeT: The Automatic Model Generation Tool Présentation et fichiers d entrée Différentes fonctionnalités Résultats numériques Conclusions et perspectives abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 28
Conclusions Utilisation de squelettes et de modèles de performance pour améliorer les performances d applications pour grilles squelette Pipeline Outil AMoGeT qui permet d obtenir des résultats facilement à l aide d un simple script Modèles: permettent de choisir le mapping qui produit le meilleur débit pour l application Utilisation du Network Weather Service pour obtenir des modèles réalistes abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 29
Perspectives Fournir des détails sur le temps requis par AMoGeT pour conforter son utilité Etendre le travail à d autres squelettes (Deal déjà traité de façon similaire) Expériences sur une application réelle sur une vraie grille de calcul hétérogène Premier cas d étude on a le potentiel pour améliorer les performances d applications pour grilles de calcul en utilisant des squelettes et des algèbres de processus abenoit1@inf.ed.ac.uk Séminaire ID 15 Avril 2004 30