Modle polydrique: fondements et application la paralllisation de programmes rguliers - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Modle polydrique: fondements et application la paralllisation de programmes rguliers

Description:

En fonction du contr le de s quences d'instrutions. Single Instruction ... Alignement et distribution. Parall lisme implicite. Langage fonctionnels. Langages ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 33
Provided by: tris65
Category:

less

Transcript and Presenter's Notes

Title: Modle polydrique: fondements et application la paralllisation de programmes rguliers


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. 85 48, Tanguy.Risset_at_ens-lyon.fr
  • 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)
  • Nuds 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
Processeur
Stockage tertiaire (Disque/ bande)
Stockage second. (Disque)
Contrôle
Mémoire principale (DRAM)
Cache Niveau 2 (SRAM)
Mémoire Distante Grappe
Mémoire distribuée
Cache Interne
Bus données
Registres
10,000,000s (10s ms) 100,000 s (.1s ms)
10,000,000,000s (10s sec) 10,000,000 s (10s
ms)
1s
Vitesse (ns)
10s
100s
100s
Taille (octets)
Ks
Ms
Gs
Ts
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équentiel
Distribution de données
Algorithme parallèle
programme HPF/OpenMP
programme F77 MP
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 i1,N a0 Do j1,N aaBi,j Cia
DoAll i1,N ai0 Do j1,N aiaiBi,j
Ciai
26
Parallélisation automatique difficultés
  • Pointeurs
  • Contrôle dynamique

Do i1,N Ai BiACi
While Cgt0 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
Uniformisation
Ordonnancement
Dérivation RTL
31
Références cours 1
  • Transparent et Exos sur
  • Www.ens-lyon.fr/trisset
  • P. Quinton et Y. Robert, Algorithmes et
    architectures systoliques, Masson, 1989.
  • 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, 1994.
  • 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
Write a Comment
User Comments (0)
About PowerShow.com