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



Documents pareils
La nouvelle planification de l échantillonnage

Initiation au HPC - Généralités

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche

Happy birthday ZSet High performance computing dans ZSet

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Limitations of the Playstation 3 for High Performance Cluster Computing

DHCP Failover for Windows Server 2012 By COCHET Anthony

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

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

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

GPA770 Microélectronique appliquée Exercices série A

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

Introduction aux algorithmes répartis

Introduction à la Visualisation Scientifique

Datawarehouse and OLAP

Tutoriel : Utiliser Time Machine pour sauvegarder ses données

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

Le passage à l échelle de serveur J2EE : le cas des EJB

Estimation: intervalle de fluctuation et de confiance. Mars IREM: groupe Proba-Stat. Fluctuation. Confiance. dans les programmes comparaison

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

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Gérer la répartition des charges avec le load balancer en GLSB

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Etude d Algorithmes Parallèles de Data Mining

Leçon 01 Exercices d'entraînement

Qualité du logiciel: Méthodes de test

T.P. FLUENT. Cours Mécanique des Fluides. 24 février 2006 NAZIH MARZOUQY

Bases de données documentaires et distribuées Cours NFE04

INEX. Informatique en Nuage : Expérimentations et Vérification. Livrable n M1 PARALLÉLISME ET ÉVALUATION

SQL Server 2012 et SQL Server 2014

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

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

Ebauche Rapport finale

Cours de Master Recherche

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I.

Le modèle de Black et Scholes

Introduction à LDAP et à Active Directory Étude de cas... 37

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Windows Internet Name Service (WINS)

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Architecture des Systèmes d Information Architecture des Systèmes d Information

Université de La Rochelle. Réseaux TD n 6

!" #$$%& Disque dur 2.5 pouces Firewire Apple MacOS FR V2.4 - Page 1/17

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

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

Tout ce que vous avez toujours voulu savoir sur SAP HANA. Sans avoir jamais osé le demander

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

Configuration de plusieurs serveurs en Load Balancing

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

TP2 ACTIVITE ITEC. Centre d intérêt : AUBE D UN MIRAGE 2000 COMPORTEMENT D UNE PIECE. Documents : Sujet Projet Dossier technique - Document réponse.

VI. Tests non paramétriques sur un échantillon

Formation à la C F D Computational Fluid Dynamics. Formation à la CFD, Ph Parnaudeau

La replication dans PostgreSQL

Cloud Computing et SaaS

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

ATELIERS DE FORMATION TECHNICIEN DE MAINTENANCE INFORMATIQUE

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Chapitre 2 Le problème de l unicité des solutions

Traitement des données avec Microsoft EXCEL 2010

Modélisation des interfaces matériel/logiciel

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Les nouveautés de Femap 11.1

INSTALLATION ET CONFIGURATION DE HYPER V3

Figure 3.1- Lancement du Gambit

Parallélisme et Répartition

Webinar ORACLE LE LICENSING ORACLE Quel type de licensing choisir?

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

UE Programmation Impérative Licence 2ème Année

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Système de stockage IBM XIV Storage System Description technique

Equilibrage de charge (Load

A. N(p) B + C p. + D p2

Technologie SDS (Software-Defined Storage) de DataCore

Localisation des fonctions

EMC Data Domain Boost for Oracle Recovery Manager (RMAN)

Mes documents Sauvegardés

Rapport de stage de première année de Master Optimisation de cache d instructions

Les Français et l économie Les journées de l économie Patrick Haas 13 novembre 2014

CCP PSI Mathématiques 1 : un corrigé

Programmation parallèle et distribuée

Resolution limit in community detection

Bases de données réparties: Fragmentation et allocation

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Comparaison du coût total de propriété de MongoDB et d Oracle. Un livre blanc 10gen

Application de K-means à la définition du nombre de VM optimal dans un cloud

Partie 7 : Gestion de la mémoire

Epargne et investissement

Version de novembre 2012, valable jusqu en avril 2013

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

Manuel de System Monitor

Cours 9. Régimes du transistor MOS

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Transcription:

Aspects théoriques et algorithmiques du calcul réparti L agglomération Patrick CIARLET Enseignant-Chercheur UMA patrick.ciarlet@ensta-paristech.fr Françoise LAMOUR franc.lamour@gmail.com Aspects théoriques et algorithmiques du calcul réparti 1 Références Load balancing for unstructured mesh applications. Y. F. Hu et R. J. Blake. Progress in Computer Research, 2001, Vol. 2, pages 117-148. Communication balancing in parallel sparse matrix-vector multiplication. R. H. Bisseling et W. Meesen. ETNA, 2005, Vol. 21, pages 47-65. Partitioning for complex objectives. A. Pinar et B. Hendrickson. Actes de la Conférence IRREGULAR'01, 2001. Calcul scientifique parallèle. F. Magoulès, F.-X. Roux, 2013, Dunod. Aspects théoriques et algorithmiques du calcul réparti 2

Plan du cours Contexte Motivation Principe Regroupement des tâches Équilibrage des tâches Regroupement des communications Effet surface / volume Duplication des calculs Check-list Aspects théoriques et algorithmiques du calcul réparti 3 Contexte Les calculs et les données sont découpés en un certain nombre de tâches. Les communications nécessaires pour échanger les données entre les tâches sont identifiées. Les paramètres de la machine cible ne sont pas encore pris en compte. Hypothèse implicite : un processeur par nœud. Analyse de performance en fonction du nombre de processeurs P : Accélération [Speed-up, Strong scaling] : évolution du rapport T 1 / T P, à taille globale fixée (cf. Cours «Communications»). Efficacité [Weak scaling] : évolution de T P, à taille fixée par processeur. Aspects théoriques et algorithmiques du calcul réparti 4

Motivation On souhaite prendre en compte l environnement d exécution du programme parallèle en intégrant les caractéristiques de cet environnement dans l algorithme. Ceci peut remettre en cause le partitionnement initial. Il peut s agir d une étape qui précède l exécution de l algorithme ou d une étape dynamique, c est-à-dire en cours d exécution du programme. Aspects théoriques et algorithmiques du calcul réparti 5 Principe Deux actions peuvent être menées : la remise en cause du partitionnement par regroupement des tâches entre elles ou par équilibrage de leur taille. Buts : réduire le nombre d opérations de communication ainsi que le volume total de communications ; équilibrer les temps de calculs entre processeurs. la remise en cause du schéma de communication par regroupement des communications ou bien par réplication des calculs ou des données. Buts : envoyer moins de données ; envoyer moins de messages pour la même quantité de données. Aspects théoriques et algorithmiques du calcul réparti 6

Regroupement des tâches (1/5) Il s agit de regrouper plusieurs tâches entre elles de sorte que : le nombre total de tâches résultantes est inférieur au nombre initial de tâches, les tailles des nouvelles tâches sont très proches entre elles et supérieures à la taille initiale des tâches. On dit que l on augmente la granularité de la partition. Aspects théoriques et algorithmiques du calcul réparti 7 Regroupement des tâches (2/5) (Pré-)partitionnement Regroupement 384 tâches 24 tâches 4 2 3 11 tâches 5 tâches Aspects théoriques et algorithmiques du calcul réparti 8

Regroupement des tâches (3/5) Rappels : Le temps d exécution se définit habituellement comme : T = max j [ (T cal ) j + (T attente ) j ] +! j (T comm ) j. Le temps de communication dans une architecture idéalisée dépend de la taille du message mais aussi d un coût fixe dû à l initialisation de la communication : T comm = S(T init + T mot L) On suppose ici que les communications sont toutes séquentielles (il n y a donc pas de «gestion des communications», cf. Cours «Communications») : Comment faire décroître! j (T comm ) j, sachant que le but final est que T décroisse? Aspects théoriques et algorithmiques du calcul réparti 9 Regroupement des tâches (4/5) Pour un calcul 2D type schéma à 5 points : Cas particulier : P = N calculs en // 4 communications par processeur T = T cal + 4 (P- "P) [ T init + T mot ] N = 12 X 12 ; P = N Cas général : P calculs en // 4 communications par processeur T = T cal N / P + 4( P- "P) [ T init + T mot (N/P) 1/2 ] N = 12 X 12 ; P = 9 Aspects théoriques et algorithmiques du calcul réparti 10

Regroupement des tâches (5/5) P = 144 T cal + 4 (P-!P) [ T init + T mot ] P = 9 T cal N / P + 4(P-!P) [ T init + T mot (N/P) 1/2 ] T cal = 1 T init = 10 T mot = 0,1 1 + 4 * 132 * [ 10 + 0,1] = 5333,8 1*16 + 4*6 * [ 10 + 0,1 * 4 ] = 265,6 T cal = 100 T init = 1 T mot = 0,1 100 + 4 * 132 * [ 1 + 0,1] = 680,8 100 * 16 + 4*6 * [ 1 + 0,1 * 4 ]=1633,6 N = 144 Aspects théoriques et algorithmiques du calcul réparti 11 Équilibrage des tâches (1/2) Propagation d une onde avec raffinement/dé-raffinement de mailles adaptatif : 16 mailles 16 mailles 16 mailles Aspects théoriques et algorithmiques du calcul réparti 12

Équilibrage des tâches (2/2) 2 tâches sur 2 processeurs [dynamic load balancing] : Aspects théoriques et algorithmiques du calcul réparti 13 Regroupement des communications (1/3) Les performances d un algorithme parallèle dépendent des communications mises en œuvre. Sur la plupart des machines parallèles il faut que les calculs s arrêtent pour pouvoir envoyer ou recevoir des messages. Pour améliorer les performances il est intéressant de diminuer le temps passé à communiquer en : envoyant moins de données, envoyant moins de messages pour la même quantité de données. Aspects théoriques et algorithmiques du calcul réparti 14

Regroupement des communications (2/3) grille 2D Schéma à 9 points d o o o d n n s s n s d e e e d 4 x 4 sous-domaine étendu, avec mailles fantôme [ghost layer] Aspects théoriques et algorithmiques du calcul réparti 15 Regroupement des communications (3/3) Les mailles fantôme permettent de conserver des communications parallèles : Aspects théoriques et algorithmiques du calcul réparti 16

Duplication des calculs (1/3) Une autre solution pour diminuer le temps d exécution total d un programme parallèle consiste à dupliquer les calculs en vue de supprimer des communications, qu elles soient séquentielles ou parallèles. Aspects théoriques et algorithmiques du calcul réparti 17 Duplication des calculs (2/3) Rappel : Produit scalaire S =! 1! i! 32 x i y i en 2 (log 2 p) communications parallèles : S 1,32 1 S 1,32 1 S 1 1,16 S 17,32 5 S 1 1,32 S 1,32 5 S 1 1,8 S 3 9,16 S 17,24 5 S 25,32 7 S 1 1,32 S 3 1,32 S 1,32 5 S 1,32 7 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 S 1,4 S 5,8 S 9,12 S 13,16 S 17,20 S 21,24 S 25,28 S 29,32 S 1,32 S 1,32 S 1, 32 S 1,32 S 1,32 S 1,32 S 1,32 S 1,32 Aspects théoriques et algorithmiques du calcul réparti 18

Duplication des calculs (3/3) En log 2 p communications parallèles : le schéma «papillon» S 1,32 S 1,32 S 1,32 S 1,32 S 1,32 S 1,32 S 1,32 S 1,32 S 1,16 S 1,16 S 1,16 S 1,16 S 17,32 S 17,32 S 17,32 S 17,32 S 1,8 S 1,8 S 9,16 S 9,16 S 17,24 S 17,24 S 25,32 S 25,32 S 1,4 S 5,8 S 9,12 S 13,16 S 17,20 S 21,24 S 25,28 S 29,32 Aspects théoriques et algorithmiques du calcul réparti 19 Effet surface / volume (1/4) Pour un calcul 3D, les besoins en communication d une tâche sont proportionnels à la surface du sous-domaine sur lequel elle opère, tandis que les besoins en calcul sont proportionnels au volume du sous-domaine. Pour finir, on étudie l impact du degré de la partition en sous-domaines (1D, 2D, 3D). NB. On peut bien sûr faire de même pour un calcul nd, n!2. Aspects théoriques et algorithmiques du calcul réparti 20

Effet surface / volume (2/4) Par exemple, pour notre calcul 2D, la quantité de communications effectuées par unité de calcul décroît lorsque la taille de la tâche augmente. grille 8 x 8 64 tâches 4 x (64-8) x 1 = 224 valeurs à transférer 224 / 64 = 3,5 valeurs par tâche Comm./Calcul =3,5 / 1 = 3,5 grille 8 x 8 4 tâches 4 x (4-2) x 4 = 32 valeurs à transférer 32 / 4 = 8 valeurs par tâche Comm./Calcul = 8 / 16 = 0,5 Aspects théoriques et algorithmiques du calcul réparti 21 Effet surface / volume (3/4) Une autre conséquence de l effet «surface / volume» est que les partitions de degré le plus élevé (par exemple partition 2D par rapport à partition 1D) sont les plus efficaces car elles réduisent la surface de communication par rapport au volume de calcul. N N N 1D p plaques 2 D p 2 barres 3D p 3 cubes p = N/d communication 2 N 2 4 N x d 6 d 2 calcul N 2 x d N x d 2 d 3 communication / calcul 2 / d 4 / d 6 / d Il est donc préférable d agglomérer les tâches suivant toutes les dimensions!? Aspects théoriques et algorithmiques du calcul réparti 22

Effet surface / volume (4/4) En effet, pour une taille de tâche T = N # avec # $ [0, 3], le rapport communication/calcul évolue comme ci-dessous (voir les exposants) : 1D 2D 3D Valeur de d T/N 2 (T/N) 1/2 T 1/3 Communication / Calcul 2 /( T/N 2 ) = 2 N 2-! 4 / (T/N) 1/2 = 4 N 1/2 -! /2 6 / T 1/3 = 6 N -! /3 2,5 2 1,5 1 0,5 0-0,5-1 -1,5 0 1 2 3 ß Aspects théoriques et algorithmiques du calcul réparti 23 1D 2D 3D Check-list Est-ce que l agglomération, en augmentant la «localité des données», réduit les coûts de communication? Si l agglomération conduit à dupliquer les données, avez-vous vérifié que cela ne vous contraint pas trop en terme de taille de problème à traiter? Plus prosaïquement, si vous parallélisez un programme existant, avezvous évalué le coût des modifications à apporter au programme séquentiel? Aspects théoriques et algorithmiques du calcul réparti 24