Skip to Main content Skip to Navigation
Theses

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.
Complete list of metadatas

Cited literature [62 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01230876
Contributor : Abes Star :  Contact
Submitted on : Thursday, November 19, 2015 - 10:56:21 AM
Last modification on : Thursday, January 18, 2018 - 4:19:15 AM
Document(s) archivé(s) le : Friday, April 28, 2017 - 2:58:38 PM

File

ROSSIGNON_CORENTIN_2015.pdf
Version validated by the jury (STAR)

Identifiers

  • 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⟩

Share

Metrics

Record views

460

Files downloads

755