Analyse et mesure de performances du calcul distribué



Documents pareils
Systèmes et traitement parallèles

Initiation au HPC - Généralités

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Programmation parallèle et distribuée

Parallélisme et Répartition

Multiprogrammation parallèle générique des méthodes de décomposition de domaine

4.2 Unités d enseignement du M1

Parcours en deuxième année

CH.3 SYSTÈMES D'EXPLOITATION

Limitations of the Playstation 3 for High Performance Cluster Computing

Chapitre 1 - Langages de description d architectures matérielles hybrides

Eric Bertrand 08/11/06 Maître de conférence 1

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

Description des UE s du M2

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Quantification d incertitude et Tendances en HPC

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

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

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

Annexe 6. Notions d ordonnancement.

Asynchronisme : Cadres continu et discret

Sanity Check. bgcolor mgcolor fgcolor

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

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Évaluation et implémentation des langages

UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par :

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

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Les environnements de calcul distribué

Architecture des ordinateurs

Eléments d architecture des machines parallèles et distribuées

Cours 13. RAID et SAN. 2004, Marc-André Léger

Introduction à la Programmation Parallèle: MPI

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Cahier des charges pour la mise en place de l infrastructure informatique

Cours d analyse numérique SMI-S4

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Chapitre 7. Récurrences

Etude d Algorithmes Parallèles de Data Mining

Rapport d activité. Mathieu Souchaud Juin 2007

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

MANAGEMENT DES SYSTEMES D INFORMATION ET DE PRODUCTION MSIP

Optimisation Discrète

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Résolution de systèmes linéaires par des méthodes directes

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Disponibilité et fiabilité des services et des systèmes

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Introduction à la Visualisation Scientifique

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

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

4. Les structures de données statiques

CORBA haute performance

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

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

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)

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

Processus d Informatisation

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

La Certification de la Sécurité des Automatismes de METEOR

VMWare Infrastructure 3

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Sauvegarde des données au LAAS

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

Architecture des calculateurs

Performances et optimisations

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Machines virtuelles Cours 1 : Introduction

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

Programme de la 1ère année

CESI Bases de données

Ordonnancement temps réel

Bases de données Cours 1 : Généralités sur les bases de données

Algorithmes pour la planification de mouvements en robotique non-holonome

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Caches web. Olivier Aubert 1/35

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Table des matières. I Mise à niveau 11. Préface

Portage d applications sur le Cloud IaaS Portage d application

GPC Computer Science

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

Migration NT4 vers Windows 2003 Server

NOTICE DOUBLE DIPLÔME

Étude de performance d'un cluster de calcul ; Parallélisation et Application s o u s GEANT4

1 Description générale de VISFIELD

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

Présentation Internet

Transcription:

Analyse et mesure de performances du calcul distribué Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma CruCID Workshop, EMI, Rabat, 5 au 7 juillet 1999

Motivation Types d applications : Ensemble immense de données : prévision météorologique, sismique, intelligence artificielle (traitement de l image, reconnaissance de forme, ) recherche médicale (réaction chimique), recherche militaire (simulation des armes), recherche spatiale Temps réel : réservation des billets d avion, pilotage automatique d un avion, gestion d une centrale nucléaire, Solution : traitement parallèle, concurrent, simultané, pipeline, réparti, distribué, 2

Plan Introduction Calcul distribué Mesures de performance Analyse des algorithmes Equilibre des charges Granularité Extensibilité Ordonnancement Sources d interblocage Conclusion 3

Niveaux de traitement parallèle Niveaux Travail ou programme (Job) : multitraitement Tâche ou procédure : décomposition du programme inter-instruction : analyse de la dépendance des données, vectorisation Intra-instruction : type de contrôle (micro-progammation ou câblage) Evolution : le matériel remplace le logiciel Coût du matériel diminue et logiciel augmente Augmentation de la vitesse (application temps réel) Tolérance aux pannes 4

Mécanismes de Traitement parallèle dans un monoprocesseur Multiplicité des unités fonctionnelles : additionneur, mutilpieur, virgule flottante Parallélisme et pipeline dans l UCT (processeur) Chevauchement des opérations de l UCT et des E/S : DMA, cannaux d E/S, E/S programmées Système de mémoire hiérarchique : mémoire virtuelle Equilibrage des tâches bornées par le calcul et celles bornées par les E/S Multiprogrammation (chevauchement entre le CPU et les E/S) et le temps partagé (efficace en interactif et application temps réel) 5

Classification architecturale Basée sur la multiplicité du flot d instructions et le flot de données (Flynn 1966) : SISD : Single Instruction Single Data stream (ordinateur conventionnel) SIMD : Single Instruction Mulitple Data stream (Cray 1:ordinateur vectoriel) MISD : Multiple Instruction Single Data stream MIMD : Multiple Instruction Multiple Data stream (Cray 2, MPP) Basée sur l utilisation de la mémoire Système à mémoire partagée (Cray 1) Système à mémoire distribuée (Cray 2) 6

Calcul distribué - Plate forme Réseau de communication P Cray J916 (6 processeurs) P P P P P P P Réseau local 1 Réseau local 2 P : est un poste de travail (PC, Station de travail, SIMD, MPP,...) sous un système d exploitation (Unix, Windows, SunOS, ) 7

Calcul distribué - Principe Décomposition du problème en plusieurs processus Répartition des processus sur les différents processeurs (selon le modèle maître/esclave, arborescent,...) Possibilité d échange de messages au cours du traitement Combinaison des résultats des processus afin de résoudre le problème de départ 8

Calcul distribué - Objectifs Objectifs : amélioration de la performance Performance P = 1/t où t est le temps d exécution Programme séquentiel + fonctions MPI? amélioration de la performance programme parallèle 9

Calcul distribué - Eléments de performance Taille de l exemplaire Algorithme (itératif, diviser-pour-régner, ) Equilibre des charges, Granularité, Extensibilité, Ordonnancement Paradigmes de parallélisation (maître/esclave, arborescent, ) Bibliothèques (MPI, PVM, ) Langage (Fortran, C, ), Compilateur (vectorisation, ) Système d exploitation (Linux, Windows NT, Windows 95/98, ) Protocole de communication (Ethernet, TCP/IP, ATM ) Architecture (mémoire partagée, distribuée) Processeurs (nombre, fréquence, ), Mémoire (temps d accès) 10

Mesures de performance - Accélération Accélération (Speed up) A = T(1,n)/T(m,n) où T(1,n) et T(m,n) sont les temps d exécution du programme avec 1 et m processeurs respectivement sur un exemplaire de taille n Efficacité E = A/m En général 1 A m et E 1 si A > m alors sur-accélération 11

Accélération - Exemple n n Supposons que T(1,n) = cn 2 où n : ordre de la matrice et c : constante En négligeant les temps de communication T(9,n) = T(1,n/3) = cn 2 /9 A = T(1,n)/T(9,n) = 9 et E = A/9 = 1 12

Mesures de performance - Parallélisme Degré de parallélisme D(t) = nombre de processeurs utilisés pendant l instant t avec m processeurs (D(t) m) Degré moyen de parallélisme 1 t 2 D = D( t) dt t 2 t1 t1 où t 1 et t 2 les temps de début et fin de l exécution D(t) est discrète D = t 2 t 2 1 t 1 t= t1 D( t) 13

Degré de parallélisme - Exemple processeurs 10 9 8 7 6 5 4 3 2 1 Degré de parallélisme 4 5 6 7 8 9 10 11 12 temps Exemple : D = (1 + 4 + 8 + 6 + 5 + 3 + 4 + 1) / 8 = 4 14

Analyse des algorithmes Notion d ordre O(f(n)) = {t:n > R*/ ( c R + )(n 0 N)( n> n 0 ) [t(n) < cf(n)]} t(n) est de l ordre de f(n) Soit t(n) le temps d exécution d un algorithme sur un exemplaire de taille n t(n) O(log n) algorithme est logarithmique t(n) O(n) linéaire t(n) O(n 2 ) quadratique t(n) O(p(n)), où p polynôme polynomial t(n) O(f(n)), où f exponentielle exponentiel Classes des problèmes : P, NP, NP-complet 15

Analyse des algorithmes - Exemple Calcul des sommes partielles S i (1 i n) n i= 1 j= 1 i Si = j n i= 1 j= 1 pour i=1 à n faire S(i) 0 pour j=1 à i faire S(i) S(i) + j Soient a et b les temps de la mise à zéro et de l addition t( n) = ( a + b) = t(n) O(n 2 ) i ( a + bi) = na + n( n + 1) b / 2 cn * n 16

Equilibre des charges - Exemple Calcul des sommes partielles S i (1 i 256) sur 8 processeurs pour i=1 à 256 faire S(i) 0 pour j=1 à i faire S(i) S(i) + j Si = j i j= 1 Supposons que le temps de communication est négligeable devant le calcul T(8) = Max(t(p1),t(p2),,t(p8)) 17

Equilibre des charges - Affectation 1 p 1 exécute les itérations i=1 à 32 p 2 i=33 à 64 p k i=(32k - 31) à 32k p 8 i=225 à 256 p1 p2 p3 p4 p5 p6 p7 p8 1 32 64 96 128 150 192 224 256 18

Equilibre des charges - Affectation 1 Par pour k=1 à 8 faire pour i=(32k - 31) à 32k faire S(i) 0 pour j=1 à i faire S(i) S(i) + j N(k) : nombre d additions effectuées par le processeur k N(k) = 16 x (64k 31) 19

Equilibre des charges - Affectation 1 8000 7000 6000 5000 4000 3000 2000 1000 0 p1 p2 p3 p4 p5 p6 p7 p8 Temps(Affectation 1) = t(p8) Affectation 1 20

Equilibre des charges - Affectation 2 p 1 exécute les itérations i=1 à 16 et i=241 à 256 p 2 i=17 à 32 et i=225 à 240 p k i=(16k-15) à 16k et i=(257-16k) à (272-16k) p 8 i=113 à 128 et i=129 à 144 p1 p2 p3 p4 p5 p6 p7 p8 p8 p7 p6 p5 p4 p3 p2 p1 1 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 21

Equilibre des charges - Affectation 2 Par pour k=1 à 8 faire pour i=(16k - 15) à 16k et i=(257-16k) à (272-16k) faire S(i) 0 pour j=1 à i faire S(i) S(i) + j N(k) = 8 x (32k 15) + 8 x (529 32k) = 8 x 514 = 4112 22

Equilibre des charges - Affectations 8000 7000 6000 5000 4000 3000 2000 1000 0 p1 p2 p3 p4 p5 p6 p7 p8 Affectation 1 Affectation 2 Temps(Affectation 2) = t(p1) =t(p2) =... = t(p8) 23

Equilibre de charges - Parallélisme processeurs 10 9 8 7 6 5 4 3 2 1 Affectation 1 Affectation 2 t0 t1 t2 t3 t4 t5 t6 t7 t8 temps D(Affectation 1) = 4 et D(Affectation 2) = 8 24

Granularité Granularité = taille de la tâche allouée à un processeur (ou processus) temps d exécution = temps de calcul + temps de communication temps de communiquer un message de taille n est a + bn Exemple : Produit matriciel C = AB où A et B deux matrices d ordre n. Version 1: pour i=1 à n faire C(i,j) 0 pour j=1 à n faire C(i,j) 0 pour k=1 à n faire C(i,j) C(i,j) + A(i,k) * B(k,j) 25

Granularité - Exemples version 2 : granularité grosse processus : vecteur x matrice Par pour i=1 à n faire pour j=1 à n faire C(i,j) 0 pour k=1 à n faire C(i,j) C(i,j) + A(i,k) * B(k,j) version 3 : granularité moyenne pour i=1 à n faire processus : vecteur x vecteur Par pour j=1 à n faire C(i,j) 0 pour k=1 à n faire C(i,j) C(i,j) + A(i,k) * B(k,j) version 4 : granularité fine processus : scalaire x scalaire pour i=1 à n faire pour j=1 à n faire C(i,j) 0 Par pour k=1 à n faire C(i,j) C(i,j) + A(i,k) * B(k,j) 26

Granularité - Exemples 30 25 20 15 10 Itérations Communication 5 0 Version 1 Version 2 Version 3 Version 4 Temps de calcul et de communication pour n=3 27

Ordonnancement Les processeurs alternent entre les phases de calcul et de communication congestion du réseau de communication réduit le débit ordonnancement des processus de telle sorte que lorsque certains calculent les autres communiquent p 1 p 2 Calcul Calcul Communication p 3 p 4 Communication Calcul Calcul 28

Extensibilité (scalability) 100 temps 80 60 40 20 0 1 2 3 4 5 6 7 8 processeurs Détermination du nombre optimal de processeurs 29

Sources d interblocage Envoi d un grand message du processus 0 au processus 1 communication bloquante «unsafe» (avec accusé de réception) p0 p1 Envoyer (1) Envoyer (0) Recevoir(1) Recevoir(0) Solution p0 p1 Envoyer (1) Recevoir(0) Recevoir(1) Envoyer (0) 30

Conclusion Contenu de l exposé Introduction au traitement parallèle Mesures de performances du calcul distribué Techniques générales de performance Objectifs Importance de la performance Prévoir la performance Améliorer la performance 31

Références Ivan Lavallée, «Algorithmique parallèle et distribuée» Traité des nouvelles technologies, Hermes, 1990. Kai Hwang, «Advanced computer architecture: Parallelism, Sqcalability, Programmability», McGraw Hill Series in Computer Science, 1993. http://www.unix.mcs.anl.gov/mpi/tutorial/perf/index.html http://www.unix.mcs.anl.gov/mpi «MPI : A message Passing Interface Standard», Message Passing Interface Forum, 1995 32