La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction aux architectures parallèles

Présentations similaires


Présentation au sujet: "Introduction aux architectures parallèles"— Transcription de la présentation:

1 Introduction aux architectures parallèles
Professeur: Nilo STOLTE Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI

2 Sommaire Parallélisme et programmation Machines Parallèles
Programmation parallèle Les algorithmes parallèles

3 Besoin de performance Les applications traditionnelles (calcul intensif): Prévision météo Simulation scientifique: mécanique, aérodynamique, électrique, biologique Nouvelles applications (données intensives): Traitement d’image, multimédia, infographie Les applications futures: CAO, RV, etc.

4 Besoin de performance Puissance de traitement et/ou la disponibilité
Puissance de traitement recouvre 2 notions: la latence de traitement et le débit de traitement La latence représente le temps nécessaire pour l’exécution d’un traitement. Le débit représente le nombre de traitement exécutable par unité de temps Disponibilité: résistance aux pannes, maintien de la performance

5 Besoin de performance Modélisation du climat:
1018 FLOP pour une simulation de 10 ans (10 1 Tflops) Génère 100 GB de données Graphisme 3D à temps réel: Résolution éléments 10242 x 30 fps x 300 ops/el = ops/sec ??? I/O doit correspondre à cet exigence

6 D’après « Techniques de l’Ingénieur », H 1088
Besoin de performance D’après « Techniques de l’Ingénieur », H 1088

7 Pourquoi le parallélisme?
Gain de performances Rentabilité du parallélisme Flexibilité et extensibilité Adéquation au traitement temps réel Tolérance aux pannes Disponibilité du matériel et logiciel

8 Gain de performances Performance est souvent prise au sens de vitesse
Limitation physique des performances des µP due à: Vitesse de la lumière Dégagement de la chaleur

9 Gain de performances

10 Gain de performances Exemple de prévision météo du globe:
Partitionnement: 1 * 1* 1 miles –> 5 * 108 subdivisions Simulation de 7 J avec un pas d'une minute 200 FLOP dans chaque pas de temps Total 1015 FLOP 10 ordinateur de 1 Gflops 5 ordinateur de 3.4 Tflops

11 Rentabilité du parallélisme
Loi de Grotsh (années 60): « Il est plus coûteux de fabriquer n processeurs plutôt qu’un seul n fois plus puissant » → aujourd’hui on prouve le contraire Exemple: (tiré du ‘Multithreaded programming with Pthreads’) MARC Solver (simulation des circuits) s’exécutent 80% plus vite sur une station SPARC biprocesseur que sur SPARC monoprocesseur Coût : SPARC 2 µp →18.000$, SPARC 1 µp → $, L’investissement d’une machine biprocesseur vaut il le coût ?

12 Adéquation au traitement temps réel
Applications à temps réel: Nécessitent du performance (vitesse d’exécution) Pas de tolérance à l’erreur Servent souvent à commander des systèmes critiques Le parallélisme est incontournable !

13 Tolérance aux pannes Les systèmes multiprocesseurs sont plus fiables
Même si un composant (matériel ou logiciel) tombe en panne les autres sont intacts

14 Disponibilité du matériel et logiciel
Disponibilité des architectures parallèles Disponibilité des bibliothèques de calcul parallèle Disponibilité des réseaux informatiques performants

15 Performance des supercalculateurs

16 Tendance de la période d’horloge des CPU (Fréquence)

17 Classification des architectures parallèles
Taxonomie de Flynn (1972): Flux de données Flux d’instruction Variations: SISD (Single Instruction, Single Data) SIMD (Single Instruction, Multiple Data) MISD (Multiple Instruction, Single Data) MIMD (Multiple Instruction, Multiple Data)

18 SISD (Single Instruction, Single Data)
Machine de Von Newman: Flux commun de donnée et d’instruction Machine de Harvard: Séparation du flux de donnée et d’instruction Supporte le parallélisme apparent

19 SIMD (Single Instruction, Multiple Data)
Plusieurs unités arithmétiques Même instruction à la fois S’adapte aux problèmes à forte régularité: Équation de chaleur Traitement d’image Infographie

20 SIMD – suite - SIMD parallèle

21 SIMD – suite - SIMD vectoriel

22 SIMD – exemple - Demo: Visualisation de surfaces implicites en utilisant P3/P4 float SIMD (code) Video: Pentium P3/P4 x AMD

23 MISD (Multiple Instruction, Single Data)
Même donnée traitée par plusieurs unités Peu d’implémentation S’adapte aux applications spécifiques: Filtrage numérique Décryptage avec plusieurs algorithmes

24 MIMD (Multiple Instruction, Multiple Data)
L’architecture parallèle la plus utilisée Plusieurs instructions, plusieurs données Chaque processeur exécute son flux d’instruction indépendamment des autres 2 variantes: Mémoire partagée Mémoire distribuée

25 MIMD à mémoire partagée
Accès à la mémoire comme un espace d’adressage global Tout changement dans une case mémoire est vu par les autres CPU La communication inter-CPU est faite via la mémoire globale

26 MIMD à mémoire distribuée
Chaque CPU a sa propre mémoire et système d’exploitation Communication inter-CPU via le réseau rapide Peut contenir des architectures hétérogènes Nécessité d’un middleware pour la synchronisation et la communication

27 MIMD Hybride à mémoire partagée-distribuée
Utilisée par les supercalculateurs Avantages: Extensibilité, performance, moindre coût

28 Modèles de programmation parallèle
Modèle: abstraction du matériel 2 modèles: Synchrone: concept de ``Rendez-vous`` Langage Ada Occam, CSP (Communication Sequential Processes) Asynchrone: concept de boite à lettres MPI, PVM ……

29 Modèles à mémoire partagée
Les tâches partagent un espace d’adressage Mécanismes disponibles: Sémaphore Mutex

30 Modèles par les fils d'exécution
Plusieurs fils d’exécution Dépends de: Architecture de mémoire Système d’exploitation Implémentations: POSIX Thread: norme IEEE Posix c OpenMP: multi plate-forme: UNIX, Linux, Win NT Microsoft à sa propre implémentation des fils d'exécution

31 Modèles par passage de message
Chaque tâche utilise sa propre mémoire L’échange se fait par : émission et réception de message Plusieurs variantes: MPI, P4, Linda, PVM, Express

32 Modèles par données parallèles
Exécution des opérations sur un ensemble de données organisées Mémoire partagée et distribuée Les implémentations: Fortran 90, HPF

33 Modèle hybride Combinaison de MPI avec Pthread ou OpenMP
Combinaison du modèle par données parallèles avec le modèle de passage de message: F90 ou HPF

34 Les algorithmes parallèles
Calcul parallèle: ensemble de tâches Chaque tâche a sa propre donnée, connectée par les autres par des canaux Une tâche peut: Calculer en utilisant sa donnée locale Envoyer et recevoir des autres tâches Créer d’autres tâches ou se terminer

35 Propriétés des algorithmes parallèles
Concurrence Modularité Dimensionabilité Portabilité: abstraction du matériel Déterministe: obtenir les mêmes résultats

36 Exemple d’algorithmes parallèles - Équation d’ondes -
Amplitude d’une corde vibrante Le calcul nécessite: L’amplitude (A) dans l’axe y i l’index de position dans l’axe x Les nœuds de position à travers la corde Mise à jour de l’amplitude à des pas de temps discrets

37 Équation d’ondes L’équation d’onde (discrétisée):
A(i,t+1) = (2.0 * A(i,t)) - A(i,t-1) + (c * (A(i-1,t) - (2.0 * A(i,t)) + A(i+1,t))) c est une constante

38 Équation d’ondes - Solution -
Équilibrage de charge Communication aux bord de la tâche


Télécharger ppt "Introduction aux architectures parallèles"

Présentations similaires


Annonces Google