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

Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002.

Présentations similaires


Présentation au sujet: "Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002."— Transcription de la présentation:

1 Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002

2 Présentation Tanguy Risset CR INRIA Projet ReMaP/CompSys B. 311, Tel , Plan Introduction à la parallélisation automatique Modèle polyédrique: fondements Ordonnancement de boucles Parallélisation de programmes réguliers Application: compilation pour FPGA

3 Plan Introduction à la parallélisation automatique –Historique Types de machines parallèles Modèles pour les machines parallèles Langage de programmation parallèle –Un modèle simple: les architectures systoliques

4 Historique Classification des machines parallèles (Flynn) –En fonction du contrôle de séquences dinstrutions –Single Instruction Multiple Data : SIMD –Multiple Instruction Multiple Data : MIMD –En fonction de lorganisation de la mémoire –Shared Memory: SM –Distributed Memory: DM

5 Historique Classification des machines parallèles –En fonction du réseau dinterconnexion –réseaux dinterconnexion dynamique pour SM (crossbar switch, réseaux à base de bus, interconnection multi-étage) –réseaux dinterconnexion statique pour DM (grille, arbre, hypercube) En fonction de lorganisation de la mémoire Autres types: réseaux de neuronnes,processor in memory (circuits reconfigurables)

6 Tendances

7 Tendances, suite Grappes de machines SMP –PCs multiprocesseurs (Pentium,Alpha) –Nœuds de machines parallèles (SP-3) –Connexions de gros serveurs (Origin2K,SUN E10K). Processeurs du commerce. Logiciels standards performants. Linux, NT.

8 Ecart Processeur/Mémoire µProc 60%/an. (2X/1.5an)

9 Hiérarchies mémoires profondes Contrôle Bus données Stockage second. (Disque) Processeur Registres Mémoire principale (DRAM) Cache Niveau 2 (SRAM) Cache Interne 1s 10,000,000s (10s ms) 100,000 s (.1s ms) Vitesse (ns):10s100s Gs Taille (octets): KsMs Stockage tertiaire (Disque/ bande) Ts Mémoire distribuée Mémoire Distante Grappe 10,000,000,000s (10s sec) 10,000,000 s (10s ms)

10 Plan Introduction à la parallélisation automatique –Historique Types de machines parallèles Modèles pour les machines parallèles Langage de programmation parallèle –Un modèle simple: les architectures systoliques

11 Modèle P-RAM P processeurs, une mémoire partagée (modèle SIMD-SM) Les processeurs communiquent à travers la mémoire partagée Chaque opération prend une unité de temps

12 Modèle BSP BSP: bulk synchronous parallelism (modèle MIMD-DM) Un ensemble de paires processeurs- mémoires L exécution consite en succession de super-step séparés par des phases de communications (synchronisation)

13 Modèle plus précis Modélisation des coûts de communication –coût-envoi(L)= +L Modélisation de la hiérarchie mémoire Modélisation du matériel spécifique de la machine –ALU spécifique –registres

14 Limites de la modélisation En général, un modèle est soit peu réaliste, soit trop spécifique La modélisation ne permet pas de se passer d expérimentation pour évaluer un programme parallèle. Mais… elle aide à comprendre la structure du calcul parallèle elle permet de formaliser la notion de parallélisation

15 Plan Introduction à la parallélisation automatique –Historique Types de machines parallèles Modèles pour les machines parallèles Langage de programmation parallèle –Un modèle simple: les architectures systoliques

16 Langage de programmation parallèle Les langages sont à la charnière des modèles et des machines Le langage idéal serait: –simple à programmer (et debugger!) –efficace –portable …….. Il n existe pas

17 Exprimer le parallélisme –Parallélisme de données il exploite la régularité des données et applique en parallèle un même calcul à des données différentes –Parallélisme de contrôle il consiste à faire des tâches différentes simultanément –Parallélisme de flux technique du travail à la chaine chaque donnée subit une séquence de traitement réalisés en mode pipeline.

18 Programmer les machines Mémoire partagées –espace d adressage commun –mécanisme dexclusion mutuelle Mémoire distibuée –communication par passage de message –librairie de communication

19 Les langages data-parallèles Fortran 77/90/95 + directives Lutilisateur spécifie une partie du parallélisme et la répartition des données Présenté comme la boite noire pour la parallélisation dapplications Bonnes performances pour les codes réguliers Quelques vraies applications parallélisées Beaucoup de ré-écriture de codes Outil important pour lavenir du calcul numérique parallèle

20 Programmation data-parallèle Style de programmation caractérisé par: –un flot de contrôle unique: un seul programme définit les opérations data- parallèles, –un espace de nommage global: le programmeur voit une seule mémoire, –des opérations parallèles: le parallélisme découle des opérations appliquées aux données distribuées sur les processeurs, –des directives de compilation. Les détails de bas niveau (distribution effective des données, communications) sont transférés du programmeur au compilateur. But : sécarter des spécificités de la machine et encourager une diffusion plus large du parallélisme.

21 Parallélisation dapplications numériques Algorithme séquentielDistribution de données Algorithme parallèle HPF/OpenMP Bibliothèques de calcul séquentielles parallèles Bibliothèques de communication programme HPF/OpenMP programme F77 + MP F77/90 Etude perfs + monitoring

22 High Performance Fortran Issu dun forum réunissant chercheurs, constructeurs et développeurs d applications. Basé sur Fortran 90 et destiné aux machines MIMD DM. Directives de placement des données sur les processeurs. Constructions data-parallèles (FORALL) et spécification du parallélisme (INDEPENDENT et PURE). Fonctions intrinsèques et bibliothèque standard. HPF-2 pour les applications irrégulières. Nombreux compilateurs et outils. Performances moyennes en général.

23 Alignement et distribution

24 Parallélisme implicite Langage fonctionnels Langages déclaratifs Parallélisation de programmes séquentiels

25 Parallélisation automatique: difficultés Analyse de dépendences Do i=1,N a=0 Do j=1,N a=a+B[i,j] C[i]=a DoAll i=1,N a[i]=0 Do j=1,N a[i]=a[i]+B[i,j] C[i]=a[i]

26 Parallélisation automatique: difficultés Pointeurs Contrôle dynamique Do i=1,N A[i]=… B[i]=A[C[i]] While C>0 Do ……….

27 Parallélisation automatique: difficultés Granularité –Partitionnement des calculs en fonctions du rapport de coût calcul/communication Génération de code –Compilation descommunications

28 Outils utilisant le modèle polyédrique Pico (HP Palo Alto) Compaan (U. Leiden, Berkeley) MMAlpha (INRIA Rennes)

29 Compaan

30 MMAlpha FPGA ASIC Uniformisation Dérivation RTL Ordonnancement Alpha VHDL

31 Références cours 1 Transparent et Exos sur –Www.ens-lyon.fr/trissetWww.ens-lyon.fr/ P. Quinton et Y. Robert, Algorithmes et architectures systoliques, Masson, commence à dater, mais la partie algorithmique et les chapitres 11 et 12 sont toujours d'actualité. V. Kumar, A. Grama, A. Gupta et G. Karypis, Introduction to Parallel Computing, Benjamin Cummings, Bonne introduction générale

32 Plan Introduction à la parallélisation automatique –Historique Types de machines parallèles Modèles pour les machines parallèles Langage de programmation parallèle –Un modèle simple: les architectures systoliques


Télécharger ppt "Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002."

Présentations similaires


Annonces Google