Evaluation des performances de programmes parallèles haut niveau à base de squelettes



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

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

CORBA haute performance

Rapport d activité. Mathieu Souchaud Juin 2007

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Simplifier l intégration des systèmes RH et garantir une version unique des données de l employé. D

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Tests de performance du matériel

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

MRTG & RRD Tool. Multi Router Traffic Grapher

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Métriques de performance pour les algorithmes et programmes parallèles

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Prototype de canal caché dans le DNS

Parallélisme et Répartition

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Gestionnaire de réseaux Linux et Windows

Solutions de stockage réseau

Limitations of the Playstation 3 for High Performance Cluster Computing

Produits et grille tarifaire. (septembre 2011)

Le service FTP. M.BOUABID, Page 1 sur 5

POM Monitoring V4.0. Release Note fonctionnelle

Exécution des instructions machine

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Serveur FTP. 20 décembre. Windows Server 2008R2

Surveiller et contrôler vos applications à travers le Web

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Dimensionnement Introduction

Table des matières. Chapitre 1 Les architectures TSE en entreprise

L optimisation des performances, la simplification des montées de version G.O.L.D. et le suivi statistique des processus.

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Manuel d installation serveurs

Cours en ligne Développement Java pour le web

CRM PERFORMANCE CONTACT

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

Quantification d incertitude et Tendances en HPC

Séminaire Partenaires Esri France 7-8 juin Paris Cloud Computing Stratégie Esri

Monitoring THPE. Soutien au projet. Présentation du projet

Cisco Certified Network Associate

Présentation des éléments constitutifs d un plan de relève et de transmission d une entreprise

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Technologie de déduplication de Barracuda Backup. Livre blanc

SAS ENTERPRISE MINER POUR L'ACTUAIRE

Efficacité énergétique pour les particuliers : une solution pour le monitoring énergétique

Administration des ressources informatiques

Pré-requis techniques

Prise en compte des ressources dans les composants logiciels parallèles

Chapitre 5 : Flot maximal dans un graphe

Programmation parallèle et distribuée

<Insert Picture Here> Solaris pour la base de donnés Oracle

Communications performantes par passage de message entre machines virtuelles co-hébergées

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Configuration de SQL server 2005 pour la réplication

Introduction à la Programmation Parallèle: MPI

Initiation au HPC - Généralités

Grille tarifaire IloSoft 2013

Serveur virtuel infogéré

«clustering» et «load balancing» avec Zope et ZEO

Appliances et logiciels Security

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Fiche d identité produit

Comment optimiser votre. utilisation de POM? 23 avril 2015

Gestion de clusters de calcul avec Rocks

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Introduction aux systèmes temps réel. Iulian Ober IRIT

Le filtrage de niveau IP

FORMATION TALEND. Page 1 sur 9

Sécurité des réseaux Firewalls

Le e s tocka k ge g DAS,NAS,SAN

Mettez les évolutions technologiques au service de vos objectifs métier

Préparer la synchronisation d'annuaires

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Mettre en place un accès sécurisé à travers Internet

Spécifications de raccordement au service de Téléphonie sur IP (ToIP) de RENATER

Étendez les capacités de vos points de vente & sécurisez vos transactions.

1. Smart Energy Management System (SEMS)

Optimisation for Cloud Computing and Big Data

Druais Cédric École Polytechnique de Montréal. Résumé

SOLUTION DE GESTION COMMERCIALE POUR IMPRIMEURS

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Rétablissement d un réseau cellulaire après un désastre

MANUEL DE GESTION. Centre de réadaptation La Myriade DIRECTIVE 1. RAISON D'ÊTRE DSA-RH-DIR TYPE DE DOCUMENT : DIRECTIVE ET PROCÉDURE

DEPLOIEMENT MICROSOFT WINDOWS

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Une méthode formelle pour la vérification de la consistance temporelle et la gestion prédictive de la Qualité de service pour la présentation des

Transcription:

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