Programmation
Parallèle et
laboratoires Télé-
opérables
Pr GAMOM NGOUNOU EWO Roland Christian
Plan du cours
Motivation pour le parallélisme
Introduction aux architectures parallèles
Modèles de programmation parallèle
Mesure de performances
Linux et programmation concourante
Introduction au MPI
Objectif du cours architectures
parallèles
Familiariser avec les différents courants et pensées
d’architectures parallèles;
Analyse des concepts des nouvelles architectures de
machines parallèles;
Evaluer les performances d’une architecture de
traitement parallèle
Objectifs de cours
Pourquoi le parallélisme?
Exemples de grands challenges
Historique des machines parallèles
L’approche Taxonomique du parallélisme
Pourquoi le parallélisme
Les limites de l'approche microprocesseur;
L'existence de la propriété du parallélisme dans les
applications.
Amélioration des performances de calcul
Accroissement de la taille des problèmes à résoudre
Le Coût: 2048 proc à 64 Mo de mémoire sont moins chers
qu’une machine séquentielle à 130 Go
Résistance aux pannes et tolérance aux fautes
Répartition géographique de l’application
Exemple: logiciel de gestion de banque, problème de la
cohérence des données partagées sur les différents sites
Les limites de l'approche
microprocesseur(1)
• Les machines séquentielles (un seul processeur) sont
construites autour des microprocesseurs (standardisés).
• L'inadéquation du format de données, et des
opérations des microprocesseurs aux caractéristiques de
certaines applications (traitement d'images, analyse
numériques, ...)
Les limites de l'approche
microprocesseur (2)
les limites de l'exécution séquentielle découlent donc
des limites des microprocesseurs:
– capacités d'accès à la mémoire,
– performance,
– tolérance aux pannes, etc...
La limite de capacités d'accès à
la mémoire (résolution)
• Multiplier les bancs mémoire ;
• Rajouter des mécanismes matériels d'extension
d'adressage.
La limite de performance
• Ne peut être résolue par un microprocesseur même si
l'évolution des performances des microprocesseurs suit
une courbe exponentielle dans le temps depuis 1985.
• Exemple
Les besoins des applications
en puissance de traitement
La latence du traitement: temps nécessaire pour l'exécution
d'un traitement;
le débit du traitement : nombre de traitement exécutable
par unité de temps.
Motivation pour la haute
performance
« Grand Challenge »:
– problème fondamental
– grands impacts sur l’industrie, la science ou la société
– solution par l’utilisation du calcul haute performance
– utilisation/ définition des prochaines générations de machines/ langages
pour le calcul haute performance
Besoins importants
– en puissance de calcul
– en mémoire
Ordres de grandeur : (G : Giga, T : Téra, P : Péta)
– 1 TeraFLOPs = 220 @ [Link].000 (un billion) opérations flottantes par
seconde
– 1 PetaByte : vidéo de 2300 ans, 1 milliard de livres...
Parallélisme, pourquoi ?
Puissance de calcul
vitesse des processeurs augmente
limitations, principalement technologiques
applications encore plus demandeuses en puissance de calcul
solution : exécuter plusieurs opérations en même temps
au sein d’un processeur
par duplication des éléments de calcul
Coût
• excellent rapport coût/performance nécessaire
• accroissement de la puissance d’un élément de calcul → explosion
des coûts : coût marginal prohibitif
• grande puissance de calcul : faire coopérer de nombreux éléments
de calculs de « faible » puissance et de moindre coût
Exemples de « Grand
Challenges -1
» Science • Contrôle des procédés,
Trafic aérien, Commande de
Physique des plasmas, processus
Mécanique quantique
Prédiction
Réactions chimiques,
Météorologie, Tremblements
Dynamique moléculaire de terre
Croissance des cristaux Exploration
Ingénierie Modélisation socioéconomique
Téléphonie, Réseaux • Océanographie,
• CAO, CFAO, VLSI, Astrophysique, Recherche de
Architecture 2D3D gisements
• Dynamique des fluides, Militaire
Aérodynamique Imagerie satellite
Exemples de « Grand
Challenges -2
Imagerie satellite • Scanographie, Imagerie
médicale
• Contrôle balistique de
missiles multitêtes • Synthèse de protéines
• Antibalistique, Suivi de Machine Intelligente
traces, Sonar
Robotique, Véhicules
• Initiative de Défense autonomes, Vision,
Stratégique
Planification
Médecine • Reconnaissance de la parole
Cartographie, Bases de • Sémantique, Calcul formel,
données stratégiques Démonstration automatique
• Diagnostic médical • Systèmes experts,
Apprentissage
Objectif du cours architectures
parallèles
Familiariser avec les différents courants et pensées
d’architectures parallèles;
Analyser des concepts des nouvelles architectures de
machines parallèles;
Identifier les métriques pour l’évaluation de telles
architectures;
Réaliser l’adéquation algorithme-architecture pour une
meilleur efficacité des architectures parallèle.