Athapascan-1 : vers un modèle de programmation parallèle adapté au calcul scientifique - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 1999

Athapascan-1 : towards a parallel programming model adapted to the scientific computation

Athapascan-1 : vers un modèle de programmation parallèle adapté au calcul scientifique

Résumé

Parallel computers offer an interesting alternative for the applications of scientific computation, which need large resources of calculation and memory. However, the effective programming of these machines is often difficult and the obtained implementations are generally not easily portable. We propose in this thesis a parallel programming model allowing simple, portable and efficient programming of parallel applications. This model is based on an explicit decomposition of the application into tasks which communicate through objects in a shared memory. The semantics of the access to the shared data is quasi sequential and precedences between the tasks are implicitly defined to respect this semantic. We present in a first part the implementation of this parallel programming model in the C++ Athapascan-1 interface. An analysis at run-time execution of the dependences of data among tasks makes it possible to extract the data flow and thus the precedences between the tasks to be run. Scheduling algorithms suitable to the application and to the target machine are then used. We also show how, on a distributed architecture, the knowledge of the data flow between the tasks can be used by the system to reduce the communications and to effectively manage the distributed shared memory. This parallel programming model and its implementation in the Athapascan-1 interface are then validated on various architectures and various applications of linear algebra, in particular the two-dimensional Cholesky factorization. The simple programming of these applications in this interface, and the obtained results (for example, we outperform ScaLapack for dense Cholesky factorization on a machine with 60 processors) confirm the validity of our approach.
Les ordinateurs parallèles offrent une alternative intéressante pour les applications de calcul scientifique, grandes consommatrices de ressources de calcul et de mémoire. Cependant, la programmation efficace de ces machines est souvent difficile et les implantations obtenues sont généralement peu portables. Nous proposons dans cette thèse un modèle de programmation parallèle permettant une programmation simple, portable et efficace des applications parallèles. Ce modèle est basé sur une décomposition explicite de l'application en tâches de calculs qui communiquent entre elles par l'intermédiaire d'objets en mémoire partagée. La sémantique des accès aux données partagées est quasi séquentielle et les précédences entre les tâches sont implicitement définies pour respecter cette sémantique. Nous présentons dans une première partie la mise en oeuvre de ce modèle de programmation dans l'interface applicative C++ Athapascan-1. Une analyse à l'exécution des dépendances de données entre tâches permet d'extraire le flot de données et donc les précédences entre les tâches à exécuter. Des algorithmes d'ordonnancement adaptables à l'application et à la machine cible sont également utilisés. Nous montrons comment, sur architecture distribuée, la connaissance du flot de données entre les tâches peut être utilisée par le système pour réduire les communications et gérer efficacement la mémoire partagée distribuée. Ce modèle de programmation et sa mise en oeuvre dans l'interface applicative Athapascan-1 sont ensuite validés expérimentalement sur différentes architectures et différentes applications d'algèbre linéaire, notamment la factorisation creuse de Cholesky avec partitionnement bidimensionnel. La facilité de programmation de ces applications grâce à cette interface et les résultats obtenus (amélioration des performances par rapport au code de factorisation dense de Cholesky de la bibliothèque ScaLapak sur une machine à 60 processeurs par exemple) confirment l'intérêt du modèle de programmation proposé.
Fichier principal
Vignette du fichier
tel-00004825.pdf (1.01 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00004825 , version 1 (18-02-2004)

Identifiants

  • HAL Id : tel-00004825 , version 1

Citer

Mathias Doreille. Athapascan-1 : vers un modèle de programmation parallèle adapté au calcul scientifique. Modélisation et simulation. Institut National Polytechnique de Grenoble - INPG, 1999. Français. ⟨NNT : ⟩. ⟨tel-00004825⟩
260 Consultations
799 Téléchargements

Partager

Gmail Facebook X LinkedIn More