Informatique parallle hautes performances - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Informatique parallle hautes performances

Description:

SPMD (Single Program Multiple Data) est un cas courant (cf. ... La plupart des projets ont un budget militaire ou scientifique. Ils sont riches. A quoi bon ... – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 40
Provided by: Bru6200
Category:

less

Transcript and Presenter's Notes

Title: Informatique parallle hautes performances


1
Informatique parallèle hautes performances
  • Présentation à luniversité de Franche-Comté
  • 19 novembre 2003

2
Plan de la présentation
  • Introduction
  • Le matériel
  • Programmation parallèle
  • Expérience TOP500
  • Larchitecture I-Cluster

3
Les segments de marché
  • Conception mécanique
  • Science des matériaux
  • Défense et sécurité
  • Conception microélectronique
  • Géo-sciences
  • Sciences de la vie
  • Visualisation

4
Besoins du calcul parallèle
  • Calcul hautes performances
  • Trop gros
  • En mémoire
  • Sur disque
  • Trop long
  • Météo
  • Mais de durée rarement infinie
  • Les limites
  • Les processeurs/mémoires sont limités
  • Les objectifs
  • Efficacité
  • Optimisation du coût Matériel
  • Héritage de vieux codes
  • Les solutions
  • Work Faster
  • Matériel plus rapide
  • Work Smarter
  • Meilleur algorithme
  • Work Harder
  • Parallélisme

5
Différents domaines applicatifs
  • Algèbre linéaire
  • Mécanique des fluides (Navier-Stockes)
  • Manipulations spectrales
  • Transformées de Fourier, DCT
  • Simulations
  • Monte-Carlo
  • Extraction
  • Repliement de protéines (recherche de
    sous-chaînes)
  • Autres
  • Le reste ne représente que 10 à 20 du marché

6
Plan de la présentation
  • Introduction
  • Le matériel
  • Programmation parallèle
  • Expérience TOP500
  • Larchitecture I-Cluster

7
Composants
  • Matériel
  • RAM
  • CPU
  • ALU
  • Registres
  • Pipeline, VLIW, out-of-order
  • Cache
  • IO
  • Réseau
  • Cartes faible latence
  • Routage
  • Stockage
  • Temps daccès différents
  • registre ltlt cache ltlt ram ltlt réseau ltlt disque
  • Coût inversement proportionnel au temps daccès
  • Logiciel
  • Middleware
  • Système dexploitation
  • Coordination
  • Ordonnancement de travaux
  • Librairies
  • Passage de messages
  • Algèbre linéaire
  • Compilateurs
  • Hints

8
Architectures
  • Vectoriel
  • SMP
  • Cluster de calcul
  • Constellation
  • Grille
  • Métaordinateurs
  • Retour vers le futur
  • Les infrastructures du passé reviennent
  • Ex. Web, LDAP

9
Types darchitectures selon Flynn
  • Classification de Flynn
  • Un peu désuète (sixties)
  • Ne reflète pas larchitecture mémoire
  • MIMD-SM (Shared Memory)
  • MIMD-DM (Distributed Memory)
  • SPMD (Single Program Multiple Data) est un cas
    courant (cf. MPI)

10
Symmetric Multiprocessing (SMP)
  • Cas le plus courant (bipros)
  • Mémoire partagée
  • Le cache est essentiel
  • Assure la cohérence
  • Relation  happens-before 
  • Accès par lignes de cache
  • 4096 bits par exemple
  • 0x00cf2351 accède la ligne 0x00cf2000 0x00cf2fff
  • Une écriture rend la ligne invalide (dirty)
  • Différentes politiques possibles
  • Write-back
  • Write-through

11
SMP avec Crossbar
  • Accès cohérent
  • p processeurs
  • n mémoires
  • Chaque processeur peut être mis en relation avec
    chaque mémoire
  • Exemple du réseau butterfly (où np)
  • Composé de multiplexeurs 2x2

12
Cluster
  • Définition Mémoire distribuée
  • Coût faible
  • Il faut gérer le passage de messages
  • Cohérence
  • Transmission des messages  lente 
  • Code spécifique et complexe

13
Réseaux faible latence
  • Souvent présents dans les clusters de calcul
  • Plusieurs implémentations disponibles
  • SCI, Myrinet, Quadrics
  • Débit élevé
  • Latence en ns
  • Routage à la source
  • Chaque machine va router le message
  • Les cartes réseau sont intelligentes
  • Routage Wormhole
  • Topologie virtuelle en tores 2D ou 3D
  • Possibilités de remote DMA, Scatter/Gather
  • Solutions très chères
  • Exemple
  • Tore 2D
  • Routage de 1,2 (en rouge) à 2,4 (orange)
  • Sud, Est, Est est le chemin pré calculé

4
1
2
3
1
2
3
4
14
Technologies dinterconnexion
15
Grilles (GRID)
  • Vision Disposer de puissance de calcul de la
    même manière que de puissance électrique
  • Power outlet / Power grid
  • Cluster Machines homogènes locales
  • Grille Machines hétérogènes globales
  • Fédération de ressources Répartition souvent
    mondiale
  • Liaison entre plusieurs grappes par liens rapides
  • Mais
  • Aspects humains (tu peux me donner ton mot de
    passe ?)
  • Les administrateurs sont sur chacun des
    différents sites
  • Passage à léchelle difficile
  • Copie dun fichier vers 5000 machines gros
    problèmes en vue
  • Problèmes algorithmiques
  • Couplage de Composants

16
Stockage hautes performances
  • Problème Accès simultané aux fichiers
  • Nombreuses machines en parallèle
  • Visibilité homogène des données
  • Solutions
  • Caches coopératifs
  • NFS
  • Réplication des données
  • Pré chargement (prefetch)
  • RAID logiciel et matériel
  • Problème de cohérence
  • PVFS
  • NFSp

17
Parlons dargent
  • La vitesse des processeurs dépend du carré de
    leur coût
  • Speed Cost2
  • Laccélération est généralement liée
    logarithmiquement au nombre de processeurs
  • Speedup log2(processors)
  • Le logiciel coûte très cher
  • Il faut donc faire attention a ses choix
    dinfrastructure
  • La tentation des clusters est grande
  • Le choix nest pas facile
  • Mais
  • La plupart des projets ont un budget militaire ou
    scientifique
  • Ils sont riches
  • A quoi bon changer de modèle et passer aux
    clusters ?
  • Résultat On en reste aux machines
    sur-performantes, par facilité

18
Plan de la présentation
  • Introduction
  • Le matériel
  • Programmation parallèle
  • Expérience TOP500
  • Larchitecture I-Cluster

19
Complexité
  • Il faut caractériser les algorithmes
  • Complexité
  • En nombre dinstructions
  • En nombre demplacements mémoire
  • En nombre de messages à échanger
  • Ordre des algorithmes
  • Fonctions O (coût réel), O (min), ? (max)
  • Caractérise le coût relativement a une fonction
    simple
  • Ex. O(n3), O(n log2n)
  • Un ordre non polynomial interdit le passage à
    léchelle
  • Un ordre (poly-)logarithmique est souhaitable

20
Taille de grain
  • Grain Gros
  • (niveau dune tâche)
  • Programme
  • Grain moyen
  • (niveau contrôle)
  • Fonction
  • Grain fin
  • (niveau données)
  • Boucle
  • Grain très fin
  • (multiples niveaux)
  • Hardware

Tâche i-l
Tâche i
Tâche il
func2 ( ) .... ....
func3 ( ) .... ....
func1 ( ) .... ....
a (0) .. b (0) ..
a (1) .. b (1) ..
a (2) .. b (2) ..

x
Load
21
Exemple Multiplication de matrices carrées
(séquentielle)
  • Soient Aaij, Bbij, Ccij , 1in, 1jn
  • On veut calculer C A x B
  • cikSj1..naij.bjk, 1in, 1kn
  • Complexité de calcul
  • Ceci nécessite, pour chaque cik
  • n multiplications
  • n additions
  • n.n cik , donc n2 éléments, doù 2n3 opérations
  • Lordre de la multiplication de matrices par un
    programme séquentiel est donc O(n3)
  • Place mémoire
  • 3 matrices de taille n2
  • Le besoin en mémoire est donc de O(n2)

22
Multiplication plus efficace
  • Si on a un cache trop petit, la performance
    sécroule
  • 3n2 valeurs ne tiennent plus en cache
  • Le cache ne sert plus !
  • On va faire des calculs par blocs
  • Même ordre, mais plus efficace (gains de 2000 en
    Pentium-class)
  • Pour chaque sous-bloc
  • I bandes verticales
  • J bandes horizontales
  • Pour chaque sous-bloc Cmp de C
  • cikSj1..naij.bjk mimI, pkpJ
  • Mémoire nécessaire par bloc
  • I.n J.n I.J
  • Au lieu de 3.162768, on a
  • 2.16 2.16 2.2 68 seulement
  • Problème identique Out of core

B
A
C
Ex. n16, IJ2
23
Multiplication parallèle
  • p processeurs pour calculer
  • Calcul par sous-blocs
  • n/p sous-blocs calculés par processeur
  • Mais
  • Chacun doit dabord disposer des données de
    départ (Matrices A et B)
  • Mémoire partagée (SMP) gratuit
  • Les données sont accessibles à chaque processeur
  • Cluster Envoi des 2n2 données (A et B) vers p
    processeurs, retour de n2 données (C)
  • Donc coût de communication O(2p.n2) acceptable
  • Question Quel est le grain de calcul de
    matmut() ?

24
OpenMP
  • Open Multi Processing
  • Standard industriel de 1997
  • Clauses de compilation explicites (hints)
  • Modèle master-worker, fork join
  • Description des structures parallélisables
  • Matrices décomposées en sous blocs
  • Le code contient des hints de gestion des
    sous-blocs
  • Le compilateur est intelligent
  • Parallélise automatiquement le code
  • Gère les communications inter-nuds
  • Parallélisme de données ou de processus

25
Le passage de messages
  • MPI (Message Passing Interface)
  • Abstraction de la topologie de proc/RAM
  • Routines de communication
  • MPI_Send(), MPI_Recv()
  • Gestion par numéro de machine
  • Primitives de groupes (communicators)
  • Synchrones ou asynchrones
  • Simple a appréhender
  • Mais
  • mise au point douloureuse
  • Portage pas si trivial que ça

26
Recouvrement calcul-communication
  • Objectif efficacité
  • Lors dune attente de communication, un processus
    va continuer à calculer
  • Difficile à formaliser
  • Très difficile à programmer
  • Extrèmement difficile à débugger
  • Décomposition des communications
  • Emballage du message (par lémetteur)
  • Temps de transport
  • Déballage (par le récepteur)

27
Problèmes liés au parallélisme
  • Horloges logiques
  • Synchronisation
  • Systèmes asynchrones Comment alerter un
    processus distant ?
  • Accès sérialisé aux ressources partagées
  • Exclusion mutuelle
  • False sharing
  • Deadlocks
  • Fautes Terminaison
  • Détection de fautes
  • Tolérance
  • Communication de groupe
  • Élection dun coordinateur (leader)
  • Réplication
  • Cohérence
  • Mise au point répartie
  • Bugs
  • Performance
  • Connaissance du métier de lapplication

28
Précédence causale
  • Relation happens-before (précède)
  • Élément essentiel en informatique distribuée
  • Asynchronisme du monde réel gt race conditions
  • Illustre bien quen informatique distribuée, les
    choses simples deviennent plus complexes
  • ei précède ej (ei lt ej) ssi une de ces 3
    conditions est vraie
  • ei et ej se produisent sur le même processus et
    ei se produit physiquement avant ej
  • ei et ej se produisent sur deux processus
    distincts et ei est lémission dun message
    tandis que ej est la réception de ce même message
  • Il existe k tel que ei lt ek et ek lt ej
  • Exemples

29
Horloges logiques
  • Horloge logique e lt e gt LC(e) lt LC (e)
    quels que soient e et e
  • Horloge logique de Lamport
  • Chaque nud Pi détient un compteur Ti
  • Lors dun évènement local Ti est incrémenté
  • Lors dun envoi par Pi, Ti est incrémenté et
    transmis avec le message
  • Lors dune réception par Pj, Tj est mis à jour
  • Tj max(Tj, Ti ) 1
  • Solution simple et élégante, très utilisée en
    pratique
  • Une version vectorielle existe, qui vérifie aussi
    LC(e) lt LC (e) gt e lt e
  • Exemple

P1
P2
P3
P4
30
Ordonnancement
  • Objectif Optimisation des ressources
  • Lancer n tâches sur p processeurs
  • Notion de graphe de flot dexécution (ex.
    POVray)
  • Comment utiliser les processeurs inactifs ?
  • Différentes politiques
  • Temps global dexécution (makespan)
  • Charge de calcul
  • Tâches prioritaires
  • Allocation dynamique (online) ou statique
    (off-line)
  • Lallocation statique nécessite un graphe de flot
    connu
  • Problème NP-complet
  • On a recours à des heuristiques
  • Beaucoup de recherche

31
Plan de la présentation
  • Introduction
  • Le matériel
  • Programmation parallèle
  • Expérience TOP500
  • Larchitecture I-Cluster

32
Les 500 ordinateurs les plus puissants
  • Classement ouvert à tous
  • Publication tous les 6 mois
  • Objectif le plus grand nombre possible
    dinstructions par seconde
  • Inversion dune matrice dense
  • Calcul itératif par décomposition de Cholesky
  • Une implémentation de base HPL (Linpack)
  • Notre objectif
  • entrer au TOP500 avec du matériel de grande
    consommation

33
Infrastructure dévaluation
  • Partenariat HP Labs, IMAG-ID, INRIA
  • 225 HP e-Vectra
  • Pentium III
  • 733 MHz
  • 256 MB
  • Standard Ethernet (100 MBps)

34
Mise en place du programme
  • Coordination entre 225 machines
  • Pas facile
  • Il ne faut pas ralentir par excès de
    communication
  • Chaque élément nest plus un réel
  • On passe à des petites matrices (sous-blocs)
  • Calcul de la taille de sous-bloc optimale
  • Division en 15x15 machines
  • Problématique du broadcast

35
Résultats
  • Premier cluster de grande consommation au TOP500
  • 385ème Superordinateur au monde, 15ème en France
  • 81,6 Gflop/s en mai 2001

36
Leçons clés
  • La latence réseau est critique
  • On attend autant quon calcule
  • Homogénéité des machines
  • Sinon lalgorithmique est trop difficile

37
Questions ?
38
Exemple didactique
  • Un incendie
  • Un robinet
  • Des robots-pompiers Ri, i 1, 2, 3
  • Chacun possédant un seau et un seul
  • Actions possibles
  • Remplir pour remplir le seau au robinet
  • Echanger(j) pour échanger son seau avec Rj
  • Déverser pour verser le seau sur lincendie
  • Marcher pour aller au robinet ou au foyer
  • Contraintes
  • 1 seul robot peut remplir son seau à la fois
  • Échange possible uniquement si les 2 robots sont
    prêts
  • Pas de collisions pendant la marche, ni le
    déversage de seaux
  • Problème Comment programmer le fonctionnement
    des pompiers ?

39
Quel algorithme
  • Solution 1 Robots autonomes (SIMD)
  • Chacun va remplir son seau, le déverse etc
  • Solution 2 La chaîne (pipeline)
  • Un robot remplit les seaux, un autre les déverse
    et tous les autres échangent seaux vides contre
    seaux pleins
  • Ces deux approches sont très différentes
  • Goulot détranglements différents
Write a Comment
User Comments (0)
About PowerShow.com