Parallélisme et Répartition



Documents pareils
Initiation au HPC - Généralités

Introduction à la Programmation Parallèle: MPI

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

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

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

Rapport d activité. Mathieu Souchaud Juin 2007

Fiche technique CPU 315SN/PN (315-4PN33)

Architecture des calculateurs

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

Ebauche Rapport finale

Conception de réseaux de télécommunications : optimisation et expérimentations

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

Architecture des ordinateurs

Systèmes et traitement parallèles

THÈSE. pour obtenir le grade de. Spécialité : "Informatique : Systèmes et Communications"

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Programmation parallèle et distribuée

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

Tests de performance du matériel

Architecture distribuée

Algorithmique et langages du Web

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

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

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

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

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 :

CORBA haute performance

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Conception des systèmes répartis

Programmation parallèle et distribuée

Introduction aux algorithmes répartis

Module : Virtualisation à l aide du rôle Hyper-V

Fiche technique CPU 314SC/DPM (314-6CG13)

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

Correction du baccalauréat ES/L Métropole 20 juin 2014

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

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Exécution des instructions machine

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

Réseaux grande distance

Groupe Eyrolles, 2000, 2004, ISBN :

NOTIONS DE RESEAUX INFORMATIQUES

Optimisation for Cloud Computing and Big Data

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

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

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

Réseau Global MIDI Note applicative

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

ACCESSNET -T IP Technique système TETRA d Hytera.

Introduction au maillage pour le calcul scientifique

Gestion répartie de données - 1

Présentation d HyperV

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Virtualisation & Sécurité

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

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Les nouveautés de Femap 11.1

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours des réseaux Informatiques ( )

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

Réplication des données

L annuaire et le Service DNS

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Programmation parallèle et distribuée

Architecture d un service de partage de données modifiables sur une infrastructure pair-à-pair

11 Février 2014 Paris nidays.fr

Network musical jammin

D2.2 Définition des mécanismes minimaux d un runtime tolérant aux pannes dans les infrastructures Petascale

Exécutif temps réel Pierre-Yves Duval (cppm)

ARBRES BINAIRES DE RECHERCHE

Pourquoi un SBC? Brique d interconnexion entre domaines IP. V. Durepaire - 6 mars

Architecture des Ordinateurs. Partie II:

Efficacité énergétique des réseaux de cœur et d accès

Passage à l échelle d applications java distribuées auto-adaptatives

Differential Synchronization

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

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

Machines virtuelles Cours 1 : Introduction

Les Difficultés Inhérentes aux Réseaux Sans Fil. Des Solutions aux Scénarios de Problèmes

TP Modulation Démodulation BPSK

Quantification d incertitude et Tendances en HPC

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

Les arbres binaires de recherche

PVM 1 PVM. Parallel Virtual Machine

Plan. Programmation Internet Cours 3. Organismes de standardisation

Systèmes d exploitation

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

COURS SYRRES RÉSEAUX SOCIAUX INTRODUCTION. Jean-Loup Guillaume

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Les technologies du Big Data

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Transcription:

Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre 5 : Des PRAMs à l Algorithmique répartie 1 Plan 1. Les Architectures à mémoire partagée répartie UMA (rappel) Simuler une PRAM sur ces machines 2. Les Architectures à mémoire locale uniquement Topologies de réseau 3. Modèle SPMD et programmation par échange explicite messages 4. Quelques algos 5. Première introduction à MPI 2 1

Machines // MIMD a mem. globale repartie Uniform Memory Access Modele logique = PRAM Peu extensible Temps traversée (latence) = O(1) De CPU a banc mem. demande accès L ou E @ mem Architecture interne: le réseau de comm. est cablé et reconfigurable Plus extensible Temps traversée = log n étages Très extensible Temps traversée = O(n) conflits Les N cpus demandent 1@ mem (idéalement différente)=> router cet ensemble d accès En // via le réseau (en évitant au maximum les conflits/hotspots) 3 4 2

Un réseau (ici butterfly) n est pas forcément un réseau de permutation 000->000 001->100 010->001 011->101 100->-010 101->-110 110->-011 111->-111 Permutation Bit reversal = décaler circulairement l écriture binaire de chaque entrée On «sent» bien que l ordre de routage par dimension fait partager une portion/arete commune aux nombres E et S qui vont conserver la meme valeur pour le bit central 5 Simuler optimalement une PRAM sur une MIMD (réseau direct ou indirect) Etape par étape (impliquant n proc pram & p bancs/proc ) Algo // de temps O(t) => exécution en O(t.log p) au mieux (diamètre réseau) 1. Si accès bien répartis sur les bancs et pas de conflit de routage en générant un placement aléatoire @mem ->permutation «parfaite» en «(re)hashant» les @mem. sur bancs Routage aléatoire en 2 phases vers destination intermédiaire choisie aléatoirement -> évite les «hot spots»/ conflits (avec forte probabilité) 2. Profiter des logn étages: pipeliner Chaque proc simule O(log n) des n procs de la PRAM Routage des accès mem. fait à une fréquence O(logn) Router en quantité de«travail» optimale, O(n) : p*log p accès mem. effectués en 2 phases coutant O(log p) 6 3

Modèle Bulk-synchronous PRAM Algorithmique PRAM moins synchrone, moins SIMD (synchronisation par étapes) Chaque proc est indépendant pendant O(log p) steps Les procs se «synchronisent» seulement pendant l exécution d une phase d accès en mem. On sait que cette grosse phase peut se réaliser en O(logp) O(log p) accès mem. de chaque proc. en temps O(log p) => 1 accès mémoire coute O(1) à chaque proc => «Force» chaque proc à préparer + d 1 demande d accès mem. mais, plutôt O(logp) 7 Machine // MIMD à mémoire locale : Topologies du réseau d interconnexion Connexion directe entre les proc Ces machines peuvent aussi émuler 1 PRAM! Mais ici, on va tenter de profiter du voisinage direct des processeurs 8 4

Modélisation sous forme de graphe Ensemble des nœuds: couples P(M) Arêtes relient les P Degré d un nœud: nombre de liens de comm Diamètre: distance max entre 2 nœuds quelconques Distance moyenne Graphes inclus (sous topologie) Algorithme de routage implicite (=>algo de choix chemins que l on peut câbler) Bisection Combien de liens faut il couper pour déconnecter le réseau (degré tol. Fautes) ou combien peut-on faire passer de chemins qui relient la moitie des nœuds avec l autre ½ (grandes possibilités de routage sans goulot étranglement dans le routage) 9 Ex: réseau hypercube avec N=16 proc, de dimension d = logn = 4 Diamètre: logn Degré: logn Inclus: Arbres Anneau Tores 2D et 3D Routage par dimensions croissantes Bisection = d-1 = N/2 - Peu extensible car pas faisable (usiner des nouveaux proc avec + de liens de comm) Obligatoirement par doublement de la taille + Topologie riche, la meilleure! Algorithmes repartis intéressants, ex. même en recherche d information structurée en un réseau logique hypercube, sur réseau p2p 10 5

Ex: réseau anneau Diamètre: N/2 Degré: 2 (souvent 1 sens entrée, 1 sens sortie, donc anneau unidirectionnel) Routage par voisins Bisection = 1 - extensible, mais mauvaises perfs de comm. + Mais sert souvent de topologie logique Aisée pour concevoir l algorithme Nombreux topologies physiques contiennent un anneau 11 Ex: réseau torique Un tore de dimension d contenant n nœuds =x1*x2* *xd, a 1 géométrie (x1,x2,,xd) Exemple tore 2D avec x1=x2= n Diamètre = n Degré=4 Largeur bisection=2* n Routage croissant selon les dimensions Exemple tore 3D avec x1=x2=x3=n^(1/3) Diamètre = n^(1/3) Degré=6 Largeur bisection=3*n^(1/3) n^(1/3) + Souvent l architecture physique réelle 12 6

Dim. 6 13 Programmer 1 machine // MIMD On a donc plusieurs flots d instruction indépendants Pour autant, le programmeur résout un problème a la fois! Il n écrit qu un seul programme parallèle Single Program, Multiple Data streams (SPMD) Processeurs exécutent simultanément le même programme sur des données différentes, mais sans être cadencés par une horloge commune (cas d 1 machine SIMD) Multiple Program Multiple Data Streams (MPMD) Certaines applications peuvent tout de même être constituées de (peu de) sous-programmes bien différents Ex : selon le schéma Maitre/Esclaves : au moins 2 pgms diff. ActiveEon Training March Ex: 08résolution numérique SPMD + Module de visualisation 14 7

Programmer la communication Doit être explicite dans le cas de mémoire répartie car aucune illusion de mem. Globale Espaces d adressage multiples Toutes les données sont privées La communication et la synchronisation sont explicites Toutes les taches peuvent communiquer (même si non «voisines»), dès lors qu elles identifient la tache réceptrice (?émettrice) Utiliser une librairie pour échanger (passer les messages) Opération point-a-point (send,recv) ou multipoint (bcast, reduce, ) ex,: MPI (Message Passing Interface), PVM (Parallel Virtual Machine), sur interfaces socket TCP ou UDP ou natif algorithmique Parallèle ET Distribuée (répartie) 15 16 8

17 18 9

19 O(n^3) 20 10

21 En MPI? 22 11

23 24 12