Contributions au partitionnement de graphes parallèle multi-niveaux
PELLEGRINI, François
Laboratoire Bordelais de Recherche en Informatique [LaBRI]
Parallel tools for Numerical Algorithms and Resolution of essentially Hyperbolic problems [BACCHUS]
Laboratoire Bordelais de Recherche en Informatique [LaBRI]
Parallel tools for Numerical Algorithms and Resolution of essentially Hyperbolic problems [BACCHUS]
PELLEGRINI, François
Laboratoire Bordelais de Recherche en Informatique [LaBRI]
Parallel tools for Numerical Algorithms and Resolution of essentially Hyperbolic problems [BACCHUS]
< Réduire
Laboratoire Bordelais de Recherche en Informatique [LaBRI]
Parallel tools for Numerical Algorithms and Resolution of essentially Hyperbolic problems [BACCHUS]
Langue
en
HDR
Résumé
Le partitionnement de graphes est une technique employée dans de nombreux domaines scientifiques. Il est utilisé pour résoudre des problèmes d'optimisation, modélisés sous la forme de graphes valués ou non, et pour lesquels ...Lire la suite >
Le partitionnement de graphes est une technique employée dans de nombreux domaines scientifiques. Il est utilisé pour résoudre des problèmes d'optimisation, modélisés sous la forme de graphes valués ou non, et pour lesquels la recherche de bonnes solutions équivaut au calcul, éventuellement récursivement, de coupes sommet ou arête les plus petites possible et qui équilibrent les tailles des sous-parties séparées. La plupart des méthodes actuelles de partitionnement de graphes mettent en oeuvre un schéma multi-niveaux, dans lequel le graphe à partitionner est successivement contracté pour former une famille de graphes de plus en plus petits, mais de structure topologique similaire, de sorte qu'une partition initiale calculée sur le plus petit graphe puisse être propagée de proche en proche, par prolongations et raffinements successifs, jusqu'à obtenir un partitionnement du graphe initial. Du fait de l'augmentation croissante de la taille des problèmes à résoudre, ceux-ci ne peuvent plus être traités de façon séquentielle sur un unique ordinateur. Il est donc nécessaire de concevoir des algorithmes parallèles de partitionnement de graphes, aptes à traiter des graphes à plusieurs milliards de sommets distribués sur plusieurs milliers de processeurs. Plusieurs auteurs s'étaient déjà attelés à cette tâche, mais la performance des algorithmes proposés, ou la qualité des solutions produites, se dégradent lorsque le nombre de processeurs augmente. Ce mémoire présente les travaux réalisées au sein du projet PT-Scotch sur la conception d'algorithmes efficaces et robustes pour la parallélisation du schéma multi-niveaux. Il se concentre en particulier sur les phases de contraction et de raffinement, qui sont les plus critiques en termes de performance et de qualité des solutions produites. Il propose un algorithme parallèle probabiliste d'appariement, ainsi qu'un ensemble de méthodes permettant de réduire l'espace des solutions au cours la phase de raffinement et facilitant l'usage de méthodes globales, qui passent mieux à l'échelle mais sont en général bien plus coûteuses que les algorithmes d'optimisation locale habituellement mis en oeuvre dans le cas séquentiel.< Réduire
Résumé en anglais
Graph partitioning is a technique which has applications in many fields of science. It is used to solve domain-dependent optimization problems, modeled in terms of weighted or unweighted graphs, where finding good solutions ...Lire la suite >
Graph partitioning is a technique which has applications in many fields of science. It is used to solve domain-dependent optimization problems, modeled in terms of weighted or unweighted graphs, where finding good solutions amounts to computing, eventually recursively, smallest possible vertex or edge cuts which balance evenly the weights of the separated parts. Most of current graph partitioning methods implement a multilevel framework, in which the graph to partition is successively coarsened to create a family of smaller graphs, of similar topological structure, so that an initial partition computed on the coarsest graph can be propagated, from coarser to finer graphs, by prolongation and refinement of the prolonged partitions, up to obtain a partition of the original graph. Because of the ever increasing size of the problems to solve, these can no longer be handled sequentially on a single computer. It is therefore necessary to devise parallel graph partitioning algorithms, suitable for the handling of graphs with several billion vertices distributed over several thousands of processing elements. Several authors already tackled this task, but either the performance of the proposed algorithms, or the quality of the solutions produced, decrease when the number of processing elements increases. This dissertation presents the works carried out, within the PT-Scotch project, on the design and implementation of efficient and robust algorithms for the parallelization of the multilevel framework. It focuses particularly on the coarsening and refinement phases, which are the most critical in terms of performance and of quality of the produced solutions. It presents a probabilistic parallel matching algorithm, as well as a set of methods allowing to reduce the the solution space during the refinement phase, allowing for the use of global methods, which are more scalable but are generally much more expensive than the local optimization algorithms which are commonly used in the sequential case.< Réduire
Mots clés
graphe
partitionnement
renumérotation
matrice creuse
parallélisme
calcul scientifique
multi-niveaux
Mots clés en anglais
graph
partitioning
ordering
sparse matrix
parallel computing
scientific computing
multilevel
Origine
Importé de halUnités de recherche