Title: Fr
1Une implantation de la juxtaposition parallèle
Frédéric Gava JFLA2006
2Contexte
Programmation parallèle
3Projets
- 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.
4Plan
- Le modèle BSP et BSML plat
- Compositions parallèles
- La superposition
- La juxtaposition
- Implantation de la juxtaposition et performances
- Conclusion et futurs travaux
5Le modèle BSP et BSML plat
6Le modèle BSP
Architecture BSP
- 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)
7Modèle dexécution
T(s) (max0?iltp wi) h?g L
8Le 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 limplantation de patrons
- Bibliothèque pour le langage OCaml
- 4 primitives pour manipuler une structure
distribuée de données appelée vecteur
parallèle - Création dun vecteur (suivant le PID du
processeur) - Application parallèle point-à-point (asynchrone)
- Communication synchrone entre les composantes
dun vecteur - Projection synchrone de valeurs (dun vecteur)
9Un programme BSML
Partie répliquée
Parties séquentielles
10Compositions parallèles
11Multi-programmation
- Plusieurs programmes sur une même machine
- 2 nouvelles primitives de compositions
- Superposition
- Juxtaposition
- Algorithmes BSP diviser-pour-régner
12Superposition parallèle
- super (unit ? ?) ? (unit ? b) ? ? ? b
- super E1 E2 (E1 (), E2())
- Fusion des communications/synchronisations par
lutilisation de super-threads - Préserve le modèle dexécution BSP
- Purement fonctionnelle
13Superposition parallèle
14Juxtaposition parallèle
- Création de 2 sous-machines
- juxta int?(unit?? par)?(unit?? par)?? par
- Fusion des communications/synchronizations pour
chaque sous-machine préserve le modèle
dexécution BSP - Effet de bord sur le nombre de processeurs
15Juxtaposition parallèle
16Implantation et performances
17Implantation
- 2 références contenant le nombre de processeurs
dune 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
18Exemplecalcul parallèle des préfixes
scan (?????) ? ? par ? ? par scan () ltv0, ,
vp-1gt ltv0, v0v1, , v0v1 vp-1gt
scan () ltv0, , vmgt lt w0 , , wm gt
scan () ltvm1, , vp-1gt ltwm1 , , wp1gt
19Juxta versus Super
- Code avec juxtaposition 8 lignes
- Code avec superposition 12 lignes
- Code directe 6 lignes
20Performances
Temps(s)
Taille des polynômes
21Conclusion et travaux futurs
22Conclusion
- BSML ML BSP
- Superposition primitive de composition
parallèle - Juxtaposition fonction utile pour les
algorithmes diviser-pour-régner parallèles - La superposition traits impératifs simule la
juxtaposition - Performances similaires
23Futurs 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 danalyses statiques pour la prédiction
des performances - Application pour la conception dun modèle
checker BSP pour les réseaux de Petri de
haut-niveau
24Merci de votre attention