Une implantation de la juxtaposition parallle Frdric Gava
- Slides: 24
Une implantation de la juxtaposition parallèle Frédéric Gava JFLA’ 2006
Contexte Programmation parallèle Implicite Parallélisation Automatique Explicite Patrons Data-parallélisme Extensions parallèles Programmation Concurrente 2
Projets 2002 -2004 ACI Grid Conception de bibliothèques parallèles et Grid pour OCaml avec des applications pour les SGBD et le calcul numérique. 2004 -2007 ACI « jeunes chercheurs » Produire un environnement de programmation parallèle où les programmes pourront être certifiés et exécutés de manière sûre. 3
Plan I. II. Le modèle BSP et BSML « plat » Compositions parallèles a. b. La superposition La juxtaposition III. Implantation de la juxtaposition et performances IV. Conclusion et futurs travaux 4
Le modèle BSP et BSML « plat » 5
Le modèle BSP Architecture BSP: P/M Unité de synchronisation P/M P/M Réseau Characterisée par : –p nombre de processeurs –r vitesse des processeurs –L synchronisation globale –g phase de communication (1 mot au plus envoyé ou reçu par chaque processeur) 6
Modèle d’exécution T(s) = (max 0 i<p wi) + h g + L 7
Le langage BSML Extension data-parallèle explicite de ML basée sur le modèle BSP Parallélisme structuré, langage fonctionnel et prédictions des coûts BSP Permet l’implantation de patrons Bibliothèque pour le langage OCaml 4 primitives pour manipuler une structure distribuée de données appelée « vecteur parallèle » : 1. Création d’un vecteur (suivant le PID du processeur) 2. Application parallèle point-à-point (asynchrone) 3. Communication synchrone entre les composantes d’un vecteur 4. Projection synchrone de valeurs (d’un vecteur) 8
Un programme BSML Partie répliquée f 0 f 1 … fp-1 g 0 g 1 … gp-1 Partie parallèle Parties séquentielles 9
Compositions parallèles 10
Multi-programmation Plusieurs programmes sur une même machine 2 nouvelles primitives de compositions : 1. Superposition 2. Juxtaposition – Algorithmes BSP « diviser-pour-régner » 11
Superposition parallèle super : (unit ) (unit b) b super E 1 E 2 = (E 1 (), E 2()) Fusion des communications/synchronisations par l’utilisation de super-threads Préserve le modèle d’exécution BSP Purement fonctionnelle 12
Superposition parallèle 13
Juxtaposition parallèle Création de 2 « sous-machines » juxta : int (unit par) par Fusion des communications/synchronizations pour chaque « sous-machine » ; préserve le modèle d’exécution BSP Effet de bord sur le nombre de processeurs 14
Juxtaposition parallèle Communications Synchronisation E 2 Communications Synchronisation E 1 Communications Synchronisation E 3 = (juxta 3 E 1 E 2) Communications Synchronisation 15
Implantation et performances 16
Implantation 2 références contenant le nombre de processeurs d’une « sous machine » et le PID du processeur « réel » qui est le processeur 0 de la sous-machine Créations de vecteurs « non complets » Applications point-à-point « partielles » Communications en simulant le nombre de processeur (restauration à chaque super-étape du nombre de processeur de la « sous-machine » ) Chaque « sous-machine » de la juxtaposition dans un super-thread 17
Exemple calcul parallèle des préfixes scan: ( ) par scan (+) <v 0, …, vp-1> = <v 0, v 0+v 1, …, v 0+v 1+…+ vp-1> scan (+) <v 0, …, vm> = < w 0 , … , w m > scan (+) <vm+1, …, vp-1> =<wm+1 , … , wp+1> < w 0 , … , w m , wm+wm+1, … , wm+wp+1> = <v 0, v 0+v 1, v 0+…+vm+1, …, v 0+…+vp-1> 18
Juxta versus Super Code avec juxtaposition : 8 lignes Code avec superposition : 12 lignes Code directe : 6 lignes 19
Performances Version direct (BSML+MPI) Version avec superposition Version avec juxtaposition Temps(s) Taille des polynômes 20
Conclusion et travaux futurs 21
Conclusion BSML = ML + BSP Superposition = primitive de composition parallèle Juxtaposition = fonction utile pour les algorithmes « diviser-pourrégner » parallèles La superposition + traits impératifs simule la juxtaposition Performances similaires 22
Futurs travaux Pour ce travail : La juxtaposition peut-elle simuler la superposition ? La superposition sans les traits impératifs peut-elle simuler la juxtaposition ? Preuve ? Avec les mêmes coûts BSP ? Implantation de plus gros algorithmes diviser-pour-régner BSP En général : Outils pour la preuve de programmes impératifs BSP Outils d’analyses statiques pour la prédiction des performances Application pour la conception d’un « modèle checker » BSP pour les réseaux de Petri de haut-niveau 23
Merci de votre attention
- Parallle
- Antivirus mcf
- Aieser gava
- Csmij gava
- Septic implantation syndrome
- The perverse implantation summary
- Ion implantation
- Ion implantation
- Implantation
- Function of testes
- Implantation
- 3 week embryo
- Implantation
- Implantation verticale et horizontale
- Menstruation during pregnancy symptoms
- Zygote
- Lesson 15.4 ovulation fertilization and implantation
- Implantation batiment methode
- Meryem berrak
- Subcutaneous pellet implantation
- Grand rendez-vous sst
- Si une porte se ferme une autre s'ouvre
- Pralable
- Coupe transversale racine monocotylédone
- Poésie ponctuation de renée jeanne mignard