Afficher la notice abrégée

dc.contributor.advisorNamyst, Raymond
dc.contributor.advisorHénon, Pascal
dc.contributor.advisorThibault, Samuel
dc.contributor.advisorAumage, Olivier
dc.contributor.authorROSSIGNON, Corentin
dc.contributor.otherBodin, François
dc.contributor.otherBosilca, George
dc.date2015-07-17
dc.identifier.urihttp://www.theses.fr/2015BORD0094/abes
dc.identifier.uri
dc.identifier.urihttps://tel.archives-ouvertes.fr/tel-01230876
dc.identifier.nnt2015BORD0094
dc.description.abstractLa 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.
dc.description.abstractEnSolving large sparse linear system is an essential part of numerical simulations. These resolve can takeup to 80% of the total of the simulation time.An efficient parallelization of sparse linear kernels leads to better performances. In distributed memory,parallelization of these kernels is often done by changing the numerical scheme. Contrariwise, in sharedmemory, a more efficient parallelism can be used. It’s necessary to use two levels of parallelism, a first onebetween nodes of a cluster and a second inside a node.When using iterative methods in shared memory, task-based programming enables the possibility tonaturally describe the parallelism by using as granularity one line of the matrix for one task. Unfortunately,this granularity is too fine and doesn’t allow to obtain good performance.In this thesis, we study the granularity problem of the task-based parallelization. We offer to increasegrain size of computational tasks by creating aggregates of tasks which will become tasks themself. Thenew coarser task graph is composed by the set of these aggregates and the new dependencies betweenaggregates. Then a task scheduler schedules this new graph to obtain better performance. We use as examplethe Incomplete LU factorization of a sparse matrix and we show some improvements made by this method.Then, we focus on NUMA architecture computer. When we use a memory bandwidth limited algorithm onthis architecture, it is interesting to reduce NUMA effects. We show how to take into account these effects ina task-based runtime in order to improve performance of a parallel program.
dc.language.isofr
dc.subjectParallélisme
dc.subjectGraphe de tâches
dc.subjectSupports d’exécution
dc.subjectNUMA
dc.subjectMulti-coeurs
dc.subjectAlgèbre linéaire creuse
dc.subject.enParallelism
dc.subject.enTask-based programming
dc.subject.enRuntime
dc.subject.enNUMA
dc.subject.enMulticore
dc.subject.enSparse linear algebra
dc.titleUn modèle de programmation à grain fin pour la parallélisation de solveurs linéaires creux
dc.title.enA fine grain model programming for parallelization of sparse linear solver
dc.typeThèses de doctorat
bordeaux.hal.laboratoriesLaboratoire bordelais de recherche en informatique
bordeaux.type.institutionBordeaux
bordeaux.thesis.disciplineInformatique
bordeaux.ecole.doctoraleÉcole doctorale de mathématiques et informatique (Talence, Gironde)
star.origin.linkhttps://www.theses.fr/2015BORD0094
dc.contributor.rapporteurMéhaut, Jean-François
dc.contributor.rapporteurL'Excellent, Jean-Yves
bordeaux.COinSctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.title=Un%20mod%C3%A8le%20de%20programmation%20%C3%A0%20grain%20fin%20pour%20la%20parall%C3%A9lisation%20de%20solveurs%20lin%C3%A9aires%20creux&rft.atitle=Un%20mod%C3%A8le%20de%20programmation%20%C3%A0%20grain%20fin%20pour%20la%20parall%C3%A9lisation%20de%20solveurs%20lin%C3%A9aires%20creux&rft.au=ROSSIGNON,%20Corentin&rft.genre=unknown


Fichier(s) constituant ce document

FichiersTailleFormatVue

Il n'y a pas de fichiers associés à ce document.

Ce document figure dans la(les) collection(s) suivante(s)

Afficher la notice abrégée