Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com



Documents pareils
Parallélisme et Répartition

Initiation au HPC - Généralités

Introduction à la Programmation Parallèle: MPI

Rapport d activité. Mathieu Souchaud Juin 2007

CORBA haute performance

Programmation parallèle et distribuée

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

Quantification d incertitude et Tendances en HPC

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

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

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

Systèmes et traitement parallèles

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Architectures en couches pour applications web Rappel : Architecture en couches

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

Les environnements de calcul distribué

CH.3 SYSTÈMES D'EXPLOITATION

Programmation Web. Introduction

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 :

Évaluation et implémentation des langages

Architecture matérielle des systèmes informatiques

Le génie logiciel. maintenance de logiciels.

Détection d'intrusions en environnement haute performance

M Études et développement informatique

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

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

PLAN DE FORMATION TECHNICIEN(NE) D'ASSISTANCE EN INFORMATIQUE TAI

Cours Bases de données

Contribution à la conception à base de composants logiciels d applications scientifiques parallèles.

Architecture distribuée

Présentation du PL/SQL

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Conception des systèmes répartis

Université Libre de Tunis

M Études et développement informatique

Agents mobiles pour la recherche d'informations sur des réseaux hétérogènes. D.Picard & A.Revel

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Architecture des ordinateurs

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

LICENCE : INFORMATIQUE GENERALE

Introduction aux Bases de Données Relationnelles Conclusion - 1

DEPARTEMENT D'INFORMATIQUE MEMOIRE. Présenté par. K AR A M O S TE F A M o ha mme d Ilye s. Pour obtenir LE DIPLOME DE MAGISTER

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

I00 Éléments d architecture

WN/CMGC/08/98. Enjeu et problématique du portage d'arpege-nemo sur calculateurs super-scalaires. Eric Maisonnave

Bases de données cours 1

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Limitations of the Playstation 3 for High Performance Cluster Computing

Documentation d information technique spécifique Education. PGI Open Line PRO

Infrastructure de calcul du CRRI

Sage CRM SalesLogix. Gagnez en compétitivité. Sage CRM Solutions

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

Qu est-ce que le «cloud computing»?

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Introduction aux applications réparties

Introduction à l informatique apprentissage individuel

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

Chapitre 2 : Abstraction et Virtualisation

UN LOGICIEL DE CARTOGRAPHIE ASSISTEE PAR MICRO-ORDINATEUR

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

WEA Un Gérant d'objets Persistants pour des environnements distribués

Vulgarisation Java EE Java EE, c est quoi?

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

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

Présentation du M2 SIC : Systèmes Informatiques et Applications Marines

Éléments d'architecture des ordinateurs

Gestion répartie de données - 1

Journée Scientifique Onera

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

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

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

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

PVM 1 PVM. Parallel Virtual Machine

Les utilisations des clusters dans les entreprises

Portage du modèle climatique de surface continentale de l'ipsl. sur une grappe de serveurs XD1

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

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

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Journée Scientifique Onera

Annuaires LDAP et méta-annuaires

La fédération des infrastructures cloud

Cours Informatique Master STEP

10. Base de données et Web. OlivierCuré

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

SPECIFICATION ET DESCRIPTION DU MULTICAST FIABLE DANS ETOILE

Sauvegarde des données au LAAS

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

En savoir plus pour bâtir le Système d'information de votre Entreprise

Virtualisation de serveurs Solutions Open Source

DUT Informatique, orientation Imagerie Numérique

Architectures web/bases de données

Elasticité logicielle pour optimiser l empreinte énergétique

Drupal et les SSO Nicolas Bocquet < nbocquet@linalis.com >

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

Transcription:

Calculs parallèles et Distribués Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com

Calculs parallèles et Distribués Introduction Parallélisation sur mémoire distribuée. Parallélisation sur mémoire partagée 2

Introduction Architectures parallèles Pourquoi? Il est très naturel de partager un gros travail parmi plusieurs personnes. En informatique, le parallélisme a rapidement considéré comme une option naturelle pour calculer. répondre à une forte demande En puissance de calcul: simulation, modélisation En puissance de traitement: base de données, serveurs multimédia Problématique: Calculs trop gros, Calculs trop long 3

Architectures parallèles Pourquoi? Solutions : Approche classique: diminuer le temps de calcul Matériels plus rapides: évolution processeurs et mémoire En calcul parallèle: Exécution simultané de plusieurs opérations (Tâches). Meilleurs algorithmes Machines parallèles 4

Architectures parallèles Pourquoi? Avantages : Amélioration des performances de calcul Accroissement de la taille des problèmes à résoudre Résolution de nouveaux problèmes Problèmes La remise en question des concepts d'algorithmique classique basés sur le principe de la machine séquentielle. Diversité des modèles d'architectures parallèles Difficulté de la programmation des machines parallèles. 5

Algorithmique Parallèle Pourquoi? Approches de résolution de problèmes dans un contexte d exécution parallèle. Modèles algorithmiques : contextes d exécution parallèle simplifiés pour faciliter la conception. Analyse théorique de la performance 6

Historique 7

Historique 8

Historique 9

Historique 10

Historique 11

Historique 1990 2000 : faillite, disparition fort retrait des supercalculateurs entre 1990 et 1995 nombreuses faillites disparition des architectures originales Pourquoi? Manque de réalisme faible demande en supercalculateurs coût d achat et d exploitation trop élevés Une utilisation peu pratique systèmes d exploitation propriétaires difficulté d apprentissage Manque ou absence d outils difficulté d exploitation 12

Historique 2000 : l'apparition des grilles Améliorations apportées par la microinformatique micro-processeurs rapides réseaux haut débit/faible latence de plus en plus répandus facilité de mise à jour (changer un composant) Evolution du Logiciel bibliothèques standardisées (PVM, MPI,OpenMP) compilateurs parallèliseurs 13

Historique 14

Définitions Un programme séquentiel se caractérise par l exécution de plusieurs tâches l un après l autre avec un ordre prédéfini. Un programme parallèle se caractérise par l exécution de plusieurs tâches distinctes ou non en même temps. Un ordinateur parallèle : est une machine composée de plusieurs processeurs qui coopèrent à la solution de même problème. Un système distribué (ou réparti) est un système de plusieurs processeurs impliqués dans la résolution d un ou plusieurs problèmes. 15

Définitions Qu est-ce que le parallélisme? Exécution d un algorithme en utilisant plusieurs processeurs plutôt qu un seul. Division d un algorithme en tâches pouvant être exécutées en même temps sur des processeurs différents. Le but : réduire le temps de résolution d un problème un utilisant un ordinateur parallèle. 3 niveaux d abstraction Architectures Algorithmes Programmation 16

Définitions Le type de parallélisme: physique et logique Le parallélisme physique: Exécution de plusieurs tâches distincts ou égales. Le parallélisme logique (pseudo-parallélisme): Exécution de plusieurs tâches par un seul processeurs qui les traite alternativement. 17

Architectures parallèles Plusieurs types d architectures Distribuées Centralisées Modèles d architecture : simplification du fonctionnement des ordinateurs parallèles SIMD MIMD MIMD 18

Parallélisme : Mémoire partagé vs Mémoire Distribuée 19

Modèle de programmation parallèles 20

Programmation parallèle vs Programmation distribuée Programmation parallèle Programmation dans un langage permettant d exprimer le parallélisme dans une application réelle Différents niveaux d abstraction possibles La parallélisation automatique serait la solution idéale, mais difficile à mettre en œuvre La façon de programmer n est pas indépendante de la machine utilisée 21

Programmation parallèle vs Programmation distribuée La programmation distribuée : Chaque composant s'exécute sur un matériel interconnecté par un réseau local ou global. Les processus envoient entre eux des messages. Exemple : un serveur de fichiers dans un réseau ; une base de données es serveurs Web Le modèle de programmation est souvent celui du client/serveur. Souvent les composants distribués sont eux même multi programmés 22

Programmation parallèle vs Programmation distribuée Calcul parallèle & Calcul distribué Parallèle : homogénéité, haut niveau de couplage des tâches. Distribué : hétérogénéité, indépendance logique et physique des tâches, client-serveur. 23

Calcul parallèle & Calcul concurrent Calcul parallèle & Calcul concurrent Parallèle : coopération des processus dans la résolution d un problème. Concurrent : compétition entre processus, partage des ressources. 24

Parallélisation sur mémoire distribuée en utilisant MPI MPI : Message Passing Interface Standard développé en 1993-1994 pour le développement d'applications parallèles portables. En regroupant les meilleurs aspects des bibliothèques de communications existantes. Implémentation (gratuite) : www.lam-mpi.org 25

MPI : Modèle de programmation Le modèle de programmation est le passage de message, dés qu une machine (un processus) désir de communiquer avec un autre, il luit envoie un message en utilisant des fonctions en c, fortran et c++. 26

MPI : Objectifs Objectifs : Portabilité Performance Fiabilité Simplicité Spécification indépendante du langage. 27

MPI : Modèle de programmation Une application MPI est un ensemble de processus exécutant chacun son propre code (modèle SPMD) et communiquant via des appels à des sousprogrammes de la bibliothèque MPI. Le modèle d'exécution d'une application MPI est le SPMD (Single Program Multiple Data), soit l'exécution du même programme pour tous les processus. Les paramètres et les données sont privés à chaque processus, la synchronisation des processus MPI est de la responsabilité de l'utilisateur 28

MPI : Modèle de programmation groupes et communicateurs. communications point à point, communications collectives, types de données dérivées, 29

MPI : Communicateur Communicateur constitué : D un groupe de processus, d un contexte de communication, une propriété des communicateurs qui permet de partager l'espace de communication, gérer les communications point-à-point et collectives. 30

Communicateur 31

Mode de communication 32

Communication Point à point 33

Communication collective 34