Un modèle de programmation à grain fin pour la parallélisation de solveurs linéaires creux

Résumé : La résolution de grands systèmes linéaires creux est un élément essentiel des simulations numériques.Ces résolutions peuvent représenter jusqu’à 80% du temps de calcul des simulations.Une parallélisation efficace des noyaux d’algèbre linéaire creuse conduira donc à obtenir de meilleures performances. En mémoire distribuée, la parallélisation de ces noyaux se fait le plus souvent en modifiant leschéma numérique. Par contre, en mémoire partagée, un parallélisme plus efficace peut être utilisé. Il est doncimportant d’utiliser deux niveaux de parallélisme, un premier niveau entre les noeuds d’une grappe de serveuret un deuxième niveau à l’intérieur du noeud. Lors de l’utilisation de méthodes itératives en mémoire partagée,les graphes de tâches permettent de décrire naturellement le parallélisme en prenant comme granularité letravail sur une ligne de la matrice. Malheureusement, cette granularité est trop fine et ne permet pas d’obtenirde bonnes performances à cause du surcoût de l’ordonnanceur de tâches.Dans cette thèse, nous étudions le problème de la granularité pour la parallélisation par graphe detâches. Nous proposons d’augmenter la granularité des tâches de calcul en créant des agrégats de tâchesqui deviendront eux-mêmes des tâches. L’ensemble de ces agrégats et des nouvelles dépendances entre lesagrégats forme un graphe de granularité plus grossière. Ce graphe est ensuite utilisé par un ordonnanceur detâches pour obtenir de meilleurs résultats. Nous utilisons comme exemple la factorisation LU incomplète d’unematrice creuse et nous montrons les améliorations apportées par cette méthode. Puis, dans un second temps,nous nous concentrons sur les machines à architecture NUMA. Dans le cas de l’utilisation d’algorithmeslimités par la bande passante mémoire, il est intéressant de réduire les effets NUMA liés à cette architectureen plaçant soi-même les données. Nous montrons comment prendre en compte ces effets dans un intergiciel àbase de tâches pour ainsi améliorer les performances d’un programme parallèle.
Type de document :
Thèse
Calcul parallèle, distribué et partagé [cs.DC]. Université de Bordeaux, 2015. Français. <NNT : 2015BORD0094>
Liste complète des métadonnées

https://tel.archives-ouvertes.fr/tel-01230876
Contributeur : Abes Star <>
Soumis le : jeudi 19 novembre 2015 - 10:56:21
Dernière modification le : jeudi 24 novembre 2016 - 03:27:52

Fichier

ROSSIGNON_CORENTIN_2015.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-01230876, version 1

Collections

Citation

Corentin Rossignon. Un modèle de programmation à grain fin pour la parallélisation de solveurs linéaires creux. Calcul parallèle, distribué et partagé [cs.DC]. Université de Bordeaux, 2015. Français. <NNT : 2015BORD0094>. <tel-01230876>

Partager

Métriques

Consultations de
la notice

141

Téléchargements du document

147