Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.

Slides:



Advertisements
Présentations similaires
L’INFORMATIQUE Mihalcea Cezar.
Advertisements

Placement de Motifs Architecture Application Contraintes: - Charge
Introduction au Langage C,C++
Architecture de machines Le microprocesseur
Frédéric Gava JFLA2006 Une implantation de la juxtaposition parallèle.
1 HPC et Windows 2003 CCS pour les développeurs Visual Studio 2005.
Systèmes, algorithmes et applications: Efficacité du parallélisme. Gaétan Hains LIFO, Université d'Orléans Janvier 2001.
Sous-projet IV Communications Placement/Ordonnancement.
Serveur jeu Le serveur fait partie d'un logiciel de jeu en ligne multi joueur en architecture client serveur. Il répond à des demandes.
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
Les jeux persistants massivement Multijoueurs : problèmes techniques Vincent Roudaut MASTER M2 ESTC/CAM
Journées franciliennes 2006 Moussa ELKIHEL (LAAS-CNRS;UPS Toulouse )
Le Concept du programme enregistré
2.Les différentes architectures (Louis)
13 – 16 Décembre 2005 Laurence Viry Introduction à MPI MPI_2.
Introduction à MPI 13 – 16 Décembre 2005 Laurence Viry.
Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002.
Séminaire IMS 10/01/2008 Distribution large échelle d’un algorithme financier de contrôle stochastique CIGC05 - GCPMF Xavier WARIN (EDF R&D - OSIRIS) Stéphane.
Parallélisation d’un Algorithme CNFT
Architecture de machines Principes généraux
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Parallel Programming in C with MPI and OpenMP
MPI et programmation par passage de messages
ARCHITECTURE DES ORDINATEURS
Aspects quantitatifs de la conception
MPI (Message Passing Interface)
Guérin Julien Mézerette Marius GTR FI 2A
Architecture des Ordinateurs
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Pr. Alain Greiner (LIP6 - ASIM) Daniel Millot, Philippe Lalevee (INT)
Franck Cappello CNRS, LRI, Université Paris-sud
Programmation concurrente
Do List Organize Everything with list. INTRODUCTION applications dont deux tiers gratuites activations par jour 50,8% des ventes de Smartphones.
Architecture et technologie des ordinateurs II
IFT 6800 Atelier en Technologies d’information
Parallel Programming in C with MPI and OpenMP
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
L’adaptativité pour un solveur de l’équation de Vlasov
Analyse d’algorithmes
La librairie assert.h.
Qu’est-ce qu’un système d’exploitation ?
Informatique 1. Les applications de l’informatique
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Cours Architecture des Systèmes Informatiques
Algorithmes Parallèles et Systèmes Réparties
Présentation rapide d’
8INF856 Programmation sur architectures parallèles
Algorithmes Parallèles et Systèmes Réparties
OSI et TCP/IP CNAM
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Programmation parallèle
PARALLÉLISATION AUTOMATIQUE D’ALGORITHMES
Les Machines RAM.
Programmation Système et Réseau
Construction d'une hiérarchie mémoire faible consommation
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
UE MAREP Cours 12 : Révisions
Module calcul parallèle
Réunion ANR - GCPMF 15/01/2008 Xavier WARIN (EDF R&D - OSIRIS)‏ Stéphane VIALLE (SUPELEC - IMS)‏ Constantinos MAKASSIKIS (SUPELEC - IMS, LORIA - AlGorille)‏
Interface de communication pour les réseaux InfiniBand
Introduction aux architectures parallèles
L’arrivée des versions parallèles des modèles de l’IPSL Adapter les codes aux architectures multiprocesseurs des futures machines afin d’améliorer les.
Architecture et technologie des ordinateurs II
Algorithmes parallèles
Architecture d’un ordinateur
Plateforme de Calcul Intensif “HPC” de l’lnstitut Pytheas M. Libes UMS 3470 Pytheas C. Pinazo UMR 7294 MIO Juin 2015.
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Transcription de la présentation:

Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau d’interconnections des processeurs. Le coût d ’un tel transfert : où d est le nombre de connections directes nécessaire pour passer du processeur i au processeur j.

Granularité des applications : C ’est le rapport entre le temps passé par l ’application à effectuer des opérations de calcul et le temps passé dans les communications entre les processeurs : Si ce rapport est élevé l ’application se prête bien au parallèle, au contraire s ’il est faible l ’application sera difficilement parallélisable.

Exemples de programmations parallèles : - réactualisation des données : X=X+  X … - produit scalaire : ps=(X,Y)...

Accélération (Speed-up) Sp = Temps d ’exécution (wall clock) : où N est la taille du problème à traiter et p le nombre de processeurs utilisés Efficacité = La scalabilité est l ’évolution de l’efficacité en fonction du nombre de processeurs. Critères d’évaluation d’applications parallèles

Les modèles de programmation parallèle - par des données parallèles [HPF] [Open MP] : introduction de nouveaux types de données (vecteur parallèle) et de nouvelles instructions (FORALL). Principalement utilisé sur des machines à mémoire partagée et à adressage unique. Synchronisation importante après chaque instruction scalaire ou parallèle mais implémentation relativement simple. - par échanges de messages [pvm] [mpi] : utilisation de librairies contenant des instructions d ’envois, de réceptions de messages plus des instructions de synchronisation. Le programmeur doit gérer le parallélisme, mais les synchronisations sont moins fréquentes.

Exemple de programmation avec MPI : #include... MPI_Init(...) int a=6,b; MPI_Send(1,&a,1,MPI_INT,...) MPI_Recv(1,&b,1,MPI_INT,...) cout << b << endl; MPI_Finalize() #include MPI_Init(...) int a=12,b; MPI_Recv(0,&b,1,MPI_INT;...) MPI_Send(1,&a,1,MPI_INT,...) cout << b << endl; MPI_Finalize() Proc 0Proc 1 126

Principales fonctions de la librairie MPI : MPI_Init(...) MPI_Finalize() MPI_Comm_rank(...) MPI_Comm_size(...) double MPI_Wtime() MPI_Send(…) MPI_Recv(…) MPI_Allreduce(...) MPI_Bcast(..) MPI_Isend(…) MPI_Irecv(...) MPI_Waitall(..) MPI_Barrier(...) MPI_COMM_WORLD

Exemple de programmation parallèle (bis) : La résolution système linéaire