Olfa HAMDI-LARBI
description
Transcript of Olfa HAMDI-LARBI
Détection du meilleur format de compression pour une matrice creuse dans un environnement
parallèle hétérogène
Olfa HAMDI-LARBI
Objectif
• Améliorer les performances de l’exécution en parallèle des méthodes itératives de résolution de systèmes linéaires et/ou de calcul de valeurs propres où la matrice est creuse et l’environnement parallèle est hétérogène
Quelques définitions
• Matrice creuse
Matrice de très grande taille contenant beaucoup d’éléments nuls et peu d’éléments non nuls
Applications : mécanique des fluides, traitement d’image satellite, télé médecine, …
Compression de la matrice : gain en espace mémoire + en temps de traitement
Plusieurs formats de compression pour matrice creuse : CSR, COO, BND, …
Quelques définitions
1. 2. 4. 5. 8. 27. 3. 6. 25. 21. 16. 15. 13. 7. 9. 10. 11. 12. 14. 22. 23.
1 2 4 5 4 3 3 6 5 1 1 2 5 3 2 5 6 4 6 4 3
1 2 4 5 2 5 3 6 6 2 3 4 3 1 1 10 5 2 4 5 2
A
IA
JA
6.11.14.
25.5.10.13.
12.22.4.8.
27.3.23.7.
15.2.9.
16.21.1.
Exemple : Format COO
Quelques définitions
Rmq : A une matrice donnée on peut associer un ensemble de formats de compression
Environnement parallèle hétérogène
• Réseau de machines ayant des caractéristiques matérielles et logicielles différentes et reliées par des liens hétérogènes.
Méthode itérative de résolution de système linéaire• Déf :
A * x = b
• Exple : Méthode de Jacobi, Gauss-Jordan, Gradient Conjugué, …
des itérations de Produit Matrice-Vecteur
Problématique
Étude des performances du PMVC dans un milieu hétérogène
Étude des performances du PMVC dans un milieu hétérogène
La distribution de la matrice en blocs
L’exécution en « séquentiel » du PMVC sur chaque bloc
Cas séquentielCas parallèle
Étude du PMVC : Cas séquentiel
Performances d’un Algorithme Séquentiel Creux
Performances d’un Algorithme Séquentiel Creux
Machine(caractéristiques matérielles & logicielles)
Matrice(densité, structure,…)
Format de compression
Détecter le meilleur format de compression pour une matrice creuse et une machine données
• Tester le PMVC pour :– Un ensemble de formats : CSR, COO, DNS,
BND– Une structure particulière de matrice : Bande– Un ensemble de machines : PC Intel, un
processeur d’une machine SP2, une station HP9000, …
Étude du PMVC : Cas séquentiel
• Générer aléatoirement des matrices creuses bande• Stocker une matrice donnée dans chacun des
formats de compression (COO, CSR, …) différentes versions du PMVC
• Exécuter le PMVC pour chaque format• Comparer les performances pour les différents
formats déterminer le format qui a donné les meilleures performances
Étude du PMVC : Cas séquentiel
Optimisation du PMVC séquentiel pour chaque format de compression
Optimisation du PMVC séquentiel pour chaque format de compression
Étude du PMVC : Cas séquentiel
Optimisations manuelles(par le programmeur)
Optimisations automatiques(par le compilateur)
Remplacement scalaire,Sortir les invariants d’une boucle,Technique de unrolling, …
Options de compilation : funroll, O1, O2, …,
• Sur le PC et le mainframe HP9000 : • Toutes les options du compilateur fournissent les mêmes
performances • Les optimisations du compilateur donnent des performances
meilleures que celles données par les optimisations manuelles
• Sur un processeur de la machine SP2 :• Pour certaines matrices (ayant un nombre de NNZ inférieur à un
certain seuil), il faut combiner les optimisations manuelles et automatiques pour avoir les meilleurs performances
Poursuivre les tests pour les formats COO, BND et DNS
Optimisation du PMVC CSR
• Étude des performances du calcul du polynôme de degré 2 :
A(A*x+x)+x
pour différents formats de compression dans un système pair-à-pair
» Réseau dans lequel toutes les stations de travail possèdent des capacités ainsi que des responsabilités équivalentes
Étude du PMVC : Cas parallèle
Fragmentation des données
Envoi des fragments compressés de A vers les
pairs
Calcul en parallèle du produit fragment-vecteur
Communication des fragments de Y+
réduction du vecteur Y à partir de ses fragments
Diffusion du vecteur aux pairs
Étude du PMVC : Cas parallèle
Fragmentation des données
Approches différentesApproches différentes
Fragments contenant le même nbre de lignes
(FMNL)
Fragments contenant le même nbre de NNZ
(FMNENN)
lignes contiguës
lignes noncontiguës
FMNL• Approche facile• peut engendrer un déséquilibre des charges prohibitif
pour les pairs FMNENN• Problème d’affectation de N tâches indépendantes de
coûts c1, c2, …, cN à p processeurs homogènes, avec une contrainte sur la charge maximale par processeur
Expérimentations sur le système ExtremWeb
Fragmentation des données
Conclusion et Perspectives
• Cas séquentiel– Optimisation du PMVC pour les formats CSR, COO,
DNS et BND– Comparaison des formats du PMVC pour chaque format
• Cas parallèle – Étude de la parallélisation du PMVC pour chaque format
de compression– Pour un format donné, proposer plusieurs version
parallèles à comparer– Déterminer le format qui donne la meilleure version
parallèle du PMVC