calcul intensif n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Calcul intensif PowerPoint Presentation
Download Presentation
Calcul intensif

Loading in 2 Seconds...

play fullscreen
1 / 22

Calcul intensif - PowerPoint PPT Presentation


  • 257 Views
  • Uploaded on

Calcul intensif. Jean-Pierre Gallou Centre Interuniversitaire de Calcul de Toulouse Stage de formation au calcul parallèle dans le domaine scientifique. Programme. Introduction Programme Puissance Puissance (2) Calcul vectoriel Calcul // Calcul // (2) Calcul // (3) Types de //isme

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Calcul intensif' - emory


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
calcul intensif

Calcul intensif

Jean-Pierre Gallou

Centre Interuniversitaire de Calcul de Toulouse

Stage de formation au calcul parallèle dans le domaine scientifique

programme
Programme
  • Introduction
  • Programme
  • Puissance
  • Puissance (2)
  • Calcul vectoriel
  • Calcul //
  • Calcul // (2)
  • Calcul // (3)
  • Types de //isme
  • Types de //isme: SIMD
programme suite
Programme (suite)
  • Types de //isme: MIMD
  • MIMD Mémoire partagée (SMP)
  • MIMD Mémoire partagée (2)
  • MIMD Mémoire distribuée
  • MIMD Mémoire distribuée (2)
  • MIMD Mémoire distribuée (3)
  • Le point de vue du programmeur
  • Envoi de messages
  • Pour obtenir plus d’informations
introduction
Introduction
  • Cadre et rapide historique du calcul intensif
  • Pourquoi du calcul intensif ?
    • algorithmes de + en + complexes, de + en + gourmands
    • problèmes de + grande taille, avec une résolution + fine
  • Domaine scientifique, autres domaines
  • Considérations générales : puissance
  • Calcul vectoriel
  • Calcul //, divers types de //isme
  • Matériel et logiciels
puissance
Puissance
  • Puissance théorique (celle annoncée), pratique (peut être très inférieure)
  • MFlops, millions d'instructions en calcul flottant par seconde, 32 ou 64 b.
  • Problèmes requérant une grande puissance : prévision du climat, météo, circulation océanique, dynamique des fluides, vision, simulation de phénomènes physiques complexes, etc.
puissance 2
Puissance (2)
  • Nombreuses techniques : pipeline, vectorisation, chaînage, multiplication des unités fonctionnelles, accès mémoire rapides (caches), processeurs RISC,...
  • Puissance des calculateurs mono-processeurs limitée
  • Parallélisme par obligation
calcul vectoriel
Calcul vectoriel
  • Idée : concevoir des UC agissant sur des vecteurs (tableaux linéaires de nombres) et non sur des scalaires
  • Programmation dans langage standard, vectorisation automatique (boucle DO <--> op. vectorielle)
  • op. vectorielle élimine test, boucle, …
  • Type : CRAY
calcul
Calcul //
  • Idée : utiliser plusieurs UC, éventuellement en grand nombre
  • Grosses difficultés :
    • nombreux codes séquentiels, inadaptés au calcul //
    • Dépendance des données (plusieurs types)
    • Calcul // ==> programmes adaptés à la structure de la machine
calcul 2
Calcul // (2)
  • Granularité
    • Rapport entre temps calcul et temps communication
    • Gros grains : chaque processeur peut effectuer beaucoup de calculs avant de communiquer avec les autres
    • Grain fin : communication fréquente
calcul 3
Calcul // (3)
  • Surcharge (overhead)
  • Accélération (speedup)
  • Loi d’Amdahl
      • Si un code comporte des parties non parallélisables importantes, le gain est vite limité.
      • 10% séquentiel ==> speedup max de 10
  • Extensibilité (scalability)
types de isme
Types de //isme
  • SIMD
  • MIMD
    • mémoire partagée
    • mémoire distribuée
  • SPMD équivalent à MIMD
types de isme simd

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

P

Types de //isme: SIMD
  • Une instruction s’exécute sur n processeurs traitant chacun un élément d’un vecteur(Single Instruction, Multiple Data)
  • Connection machine, Maspar (DEC)
  • Très spécifique

P

types de isme mimd
Types de //isme: MIMD
  • Chaque processeur exécute son programme sur ses donnéesMultiple Instruction, Multiple Data
  • Synchronisation
  • Echanges de données
mimd m moire partag e smp

P

P

P

P

MIMD Mémoire partagée (SMP)
  • Limité en nb de processeurs (16, 64)
  • Problèmes d’architecture et construction de la mémoire critiques
  • CRAY-2, Y-MP, C90, IBM ES/9000, …

Mémoire

Communication

P

mimd m moire partag e 2
MIMD Mémoire partagée (2)
  • Plus simple pour le programmeur : chaque programme a accès à l’ensemble des données
  • Réalisation logicielle : threads
  • Librairie C, directives fortran
  • Il existe des paralléliseurs automatiques de code fortran
mimd m moire distribu e

P

P

P

P

P

M

M

M

M

M

MIMD Mémoire distribuée
  • Non limité en nombre de processeurs (MPP).
  • Topologie de communication : hypercube, etc.
  • CRAY T3E, IBM SP/2 …

Communication

mimd m moire distribu e 2
MIMD Mémoire distribuée (2)
  • S’adapte à des machines différentes
    • processeurs, standard ou non, reliés par architecture de communication spéciale
    • grappes (clusters)
    • machines distantes sur réseau
  • Problèmes de communication entre processeurs critiques
mimd m moire distribu e 3
MIMD Mémoire distribuée (3)
  • Moins simple pour le programmeur : programmer l’accès aux données distantes
  • Réalisation logicielle : message passing
  • Peu de progiciels, peu de librairies mathématiques.
  • Au niveau élémentaire : PVM, P4, MPI, Express, etc.
  • Problèmes non traités, à prendre en compte : répartition de charge, …
le point de vue du programmeur
Le point de vue du programmeur
  • Difficulté : pas de standard
    • plusieurs modèles de programmation (mémoire partagée ou non, répartir les données ou les traitements, ...)
  • // implicite
    • automatique (boucles DO)
    • OpenMP
  • // explicite (messages, …)
  • Certaines architectures bonnes pour certains problèmes
  • Pas de bonne solution universelle
envoi de messages
Envoi de messages
  • PVM, puis MPI
  • bibliothèques de fonctions C, Fortran77 (C++, F90)
  • Indépendant de la plate-forme
  • MPI-2
  • domaine public
pour obtenir plus d informations
Pour obtenir plus d’informations
  • news:comp.parallel, news:comp.parallel.pvm
  • news:comp.parallel.mpi
  • http://www.irisa.fr/orap/
  • http://www.hensa.ac.uk/parallel/environments/pvm3/