Study of the distribution on a large scale system of numerical computing processing compressed sparse matrices
Étude de la Distribution, sur Système à Grande Échelle, de Calcul Numérique Traitant des Matrices Creuses Compressées
Abstract
The treatment of sparse numerical problems on large scale systems is often reduced to that of their kernels. For reasons of efficiency in time and space, specific compressing formats are used for storing the matrices of these problems. Most of sparse scientific computations are led to linear algebra problems. Here two fundamental problems are often considered: linear systems resolution and eigenvalue computation. In this thesis, we address the study of distribution of computations performed in iterative methods to solve such problems. The sparse matrix-vector product (SMVP) constitutes a basic kernel in such iterative methods. Thus, our problem reduces to the study of SMVP distribution on large scale distributed systems. Three phases are required for achieving our objectives (i)- pre-processing, (ii)- processing and (iii)- postprocessing. In phase 1, we first process the optimization of four versions of the SMVP algorithm corresponding to four specific matrix compressing formats; we study then their performances on sequential target machines. In addition, we focus on the study of load balancing in the procedure of data distribution (i.e. the sparse matrix rows) on a large scale distributed system. Concerning the processing phase, it consists in validating our study by a series of experimentations achieved on a volunteer distributed system that we installed through using XtremWeb-CH middleware. As to the post-processing phase, it consists in interpreting the experimental results previously obtained in order to deduce adequate conclusions
Plusieurs applications scientifiques effectuent des calculs sur des matrices creuses de grandes tailles. Pour des raisons d'efficacité en temps et en espace lors du traitement de ces matrices, elles sont stockées selon des formats compressés adéquats. D'un autre coté, la plupart des calculs scientifiques creux se ramènent aux deux problèmes fondamentaux d'algèbre linéaire i.e. la résolution de systèmes linéaires et le calcul d'éléments (valeurs/vecteurs) propres de matrices. Nous étudions dans ce mémoire la distribution, au sein d'un Système Distribué à Grande Echelle (SDGE), des calculs dans des méthodes itératives de résolution de systèmes linéaires et de calcul d'éléments propres et ce, dans le cas creux. Le produit matricevecteur creux (PMVC) constitue le noyau de base pour la plupart de ces méthodes. Notre problématique se ramène en fait à l'étude de la distribution du PMVC sur un SDGE. Généralement, trois étapes sont nécessaires pour accomplir cette tâche, à savoir, (i) le prétraitement, (ii) le traitement et (iii) le post-traitement. Dans la première étape, nous procédons d'abord à l'optimisation de quatre versions de l'algorithme du PMVC correspondant à quatre formats de compression spécifiques de la matrice, puis étudions leurs performances sur des machines cibles séquentielles. Nous nous focalisons de plus sur l'étude de l'équilibrage des charges pour la distribution des données traitées (se ramenant en fait aux lignes de la matrice creuse) sur un SDGE. Concernant l'étape de traitement, elle a consisté à valider l'étude précédente par une série d'expérimentations réalisées sur une plate-forme gérée par l'intergiciel XtremWeb-CH. L'étape de post-traitement, quant à elle, a consisté à analyser et interpréter les résultats expérimentaux obtenus au niveau de l'étape précédente et ce, afin d'en tirer des conclusions adéquates.