Calcul numérique sur données de grande taille - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2000

Computing on large data

Calcul numérique sur données de grande taille

Résumé

Computing on large data. This thesis study the performance for High Performance Computing using out-of-core technics. We propose some mechanisms to deal with large data. Two ways are developed in this thesis. First optimization based on operating system approach. Second optimization based on algorithmic approach. The third part of this thesis focus on the improvement of Scilab// with an out-of-core support.
La recherche en parallélisme s'est concentrée avec succès sur les aspects calcul et communication, on peut aujourd'hui prétendre à des puissances de calcul de l'ordre du Téra-flops (milliard d'opération par seconde). Les applications qui requièrent de telle puissance de calcul sont en générales celles qui ont à traiter des masses de données qui se mesurent en Giga-octects, voir en Téra-octets. Or, dans la pratique les capacités mémoire fixent la taille maximale du problème que l'utilisateur pourra traiter. L'utilisateur considérera qu'il est inconcevable de recourir au système de pagination ou aux disques du fait de l'importante chute des performances. Et pourtant, le paradoxe est là d'un côté des capacités mémoire rapide mais de petite taille et coûteuses, de l'autre des capacités mémoire à bon marché et de grande taille, plusieurs Téra-octets, mais très lente d'accès. Le concept du calcul out-of-core réponds à ces attentes en proposant d'utiliser au mieux les ressources des mémoires externes. Cette thèse développe une étude sur le calcul numérique hautes performances out-of-core et propose des mécanismes de traitement des données de très grande taille. Pour résoudre efficacement le problème de la gestion mémoire, deux approches différentes sont traitées. Une approche système dans laquelle nous étudions les mécanismes de pagination. Nous démontrons que ces systèmes ne sont pas adaptés au calcul numérique intensif, et qu'il est alors important de réordonnancer les flux d'exécution. Nous présentons une nouvelle bibliothèque de gestion de la mémoire virtuelle au niveau utilisateur. Une optimisation de la factorisation LU de très grandes matrices illustre l'utilisation de cette bibliothèque. La seconde approche est basée sur l'algorithmique out-of-core. En préambule, nous présentons la bibliothèque de calcul d'algèbre linéaire ScaLAPACK, en offrant une description de ses différentes composantes. Un soin particulier est porté sur la présentation du prototype out-of-core et les développements que nous avons effectué au sein de ce prototype. Nous proposons, ensuite, une étude détaillée de deux algorithmes out-of-core développés dans cette bibliothèque : - la factorisation LU : nous présentons un modèle analytique permettant d'évaluer les performances de la factorisation LU parallèle out-of-core left-looking. L'objectif de cette modélisation est de déceler des optimisations pour l'algorithme en question et de mettre en évidence les surcoûts out-of-core. Le modèle de prédiction des performances est validé de manière expérimentale. Nous prouverons ainsi qu'une distribution de la matrice correctement effectuée et la mise en place d'un système de recouvrement du surcoût des E/S par le calcul, il est possible d'obtenir des performances proches de l'algorithme en mémoire. De plus, nous déterminons la taille mémoire minimale nécessaire pour permettre ce recouvrement. - l'inversion matricielle : Nous proposons un algorithme d'inversion matricielle out-of-core par extension des travaux réalisés sur la factorisation LU out-of-core. Par extension du modèle de prédiction des performances de la factorisation LU, nous avons élaboré un modèle analytique pour l'inversion. Ce modèle permet de mettre en évidence les surcoûts dus au traitement out-of-core. Nous montrons comment réduire ces surcoûts afin d'obtenir une inversion out-of-core pouvant atteindre des performances proches d'une résolution en mémoire. Afin d'exploiter ces résultats nous avons réalisé pour ces deux algorithmes une version effectuant le recouvrement des accès disques par les temps de calcul. La technique utilisée pour effectuer les recouvrements est basée sur le clonage de processus, après avoir évoqué le principe de mise en oeuvre, nous exposons les difficultés rencontrées pour obtenir un réel recouvrement des entrées/sorties. Par extension, nous présentons alors la factorisation LU out-of-core et l'inversion matricielle out-of-core dans lesquelles nous avons mis en place le système de recouvrement ainsi que les résultats obtenus. Une dernière partie présente l'intégration de ces travaux dans Scilab//, un outil de calcul numérique. La participation à ce projet de l'INRIA, permet d'utiliser la bibliothèque out-of-core de ScaLAPACK avec une interface conviviale, et, d'accroître ainsi le champ d'application de Scilab//. Nous présentons Scilab et les techniques permettant d'interfacer des modules externes compilés. Nous présentons ensuite Scilab//, et exposons l'extension que nous avons réalisé afin de proposer une version out-of-core de Scilab. Nous menons ensuite une étude afin de proposer des optimisations pour les traitements out-of-core.
Fichier principal
Vignette du fichier
these_caron.pdf (70.74 Mo) Télécharger le fichier

Dates et versions

tel-01444591 , version 1 (24-01-2017)

Licence

Paternité - Pas d'utilisation commerciale - Pas de modification

Identifiants

  • HAL Id : tel-01444591 , version 1

Citer

Eddy Caron. Calcul numérique sur données de grande taille. Calcul parallèle, distribué et partagé [cs.DC]. Université de Picardie Jules Verne, 2000. Français. ⟨NNT : ⟩. ⟨tel-01444591⟩

Collections

CNRS U-PICARDIE
144 Consultations
27 Téléchargements

Partager

Gmail Facebook X LinkedIn More