Approches fonctionnelles de la programmation parallèle et des méta-ordinateurs. Sémantiques, implantations et certification. - TEL - Thèses en ligne
Thèse Année : 2005

Functional approaches of parallel programming and méta-computers. Semantics, implementations and certification.

Approches fonctionnelles de la programmation parallèle et des méta-ordinateurs. Sémantiques, implantations et certification.

Résumé

Some problems require performances that can only be provided by massively parallel machines
and meta-computers. Nevertheless, algorithm writing for this kind of machine remains more difficult
than for those strictly sequential and the conception of adapted languages is an active subject of research
notwithstanding the frequent use of the concurrent programming. Indeed, the conception of a programming
language is the result of a compromise which determines balance between various qualities of the language
such as expressivity, safety, effectiveness or the simplicity of the semantics.
In the prior works to this thesis, it was undertaken to study, with greater details, the intermediate position
that the paradigm of the skeletons occupies. However, this did not involve conceiving an a priori fixed sets
of operations and then to design performance models, but, to fix a structured parallelism model (with its
performancemodel) and then to design a universal number of operations making it possible to program any
algorithm of this model. The objective is therefore as follows : have an universal language in which the
programmer can have an idea of the cost from the source code.
This thesis comes under the project "CoordinAtion and Distribution of Multiprocessor Applications in
objective camL" (CARAML) of the ACI GRID. The objective was the development of libraries for highperformance
and globalised computations around the OCaml language. This project was organized in three
successive phases : safety and irregular data-parallel operations (mono-user) ; data-parallel multiprocessing
operations ; globalised operations for grid computing.
The thesis follows the organization in three phases of the CARAML project and presents the contributions
of the author in each phase in the three parts : a semantic study of a functional language for BSP programming
and the certification of the written programs in this language ; a presentation of a primitive of parallel
composition (and which also allows programming parallel "divide-and-conquer" algorithms), an example
of application using an implementation of parallel data structures and an extension for parallel input/outputs
in BSML ; the adaption of the language for meta-computing.
Certains problèmes nécessitent des performances que seules les machines massivement parallèles
ou les méta-ordinateurs peuvent offrir. L'écriture d'algorithmes pour ce type de machines demeure
plus difficile que pour celles strictement séquentielles et la conception de langages adaptés est un sujet de
recherche actif nonobstant la fréquente utilisation de la programmation concurrente. En effet, la conception
d'un langage de programmation est le résultat d'un compromis qui détermine l'équilibre entre les différentes
qualités du langage telles que l'expressivité, la sûreté, la prédiction des performances, l'efficacité ou
bien la simplicité de la sémantique.
Dans des travaux antérieurs à cette thèse, il a été entrepris d'approfondir la position intermédiaire que le
paradigme des patrons occupe. Toutefois il ne s'agissait pas de concevoir un ensemble a priori fixé d'opérations
puis de concevoir des méthodologies pour la prédiction des performances, mais de fixer un modèle
de parallélisme structuré (avec son modèle de coûts) puis de concevoir un ensemble universel d'opérations
permettant de programmer n'importe quel algorithme de ce modèle. L'objectif est donc le suivant : parvenir
à la conception de langages universels dans lesquels le programmeur peut se faire une idée du coût à partir
du code source.
Cette thèse s'inscrit dans le cadre du projet «CoordinAtion et Répartition des Applications Multiprocesseurs
en objective camL» (CARAML) de l'ACI GRID dont l'objectif était le développement de bibliothèques
pour le calcul haute-performance et globalisé autour du langage OCaml. Ce projet était organisé en trois
phases successives : sûreté et opérations data-parallèles irrégulières mono-utilisateur ; opérations de multitraitement
data-parallèle ; opérations globalisées pour la programmation de grilles de calcul.
Ce tapuscrit est organisé en 3 parties correspondant chacune aux contributions de l'auteur dans chacune
des phases du projet CARAML : une étude sémantique d'un langage fonctionnel pour la programmationBSP
et la certification des programmes écrits dans ce langage ; une présentation d'une primitive de composition
parallèle (et qui permet aussi la programmation d'algorithmes «diviser-pour-régner» parallèles), un exemple
d'application via l'utilisation et l'implantation de structures de données parallèles et une extension pour les
entrées/sorties parallèles en BSML ; l'adaption du langage pour le méta-calcul.
Fichier principal
Vignette du fichier
gava-these.pdf (2.37 Mo) Télécharger le fichier
these.ppt (708 Ko) Télécharger le fichier
Format Autre
Loading...

Dates et versions

tel-00110831 , version 1 (01-11-2006)

Identifiants

  • HAL Id : tel-00110831 , version 1

Citer

Frédéric Gava. Approches fonctionnelles de la programmation parallèle et des méta-ordinateurs. Sémantiques, implantations et certification.. Autre [cs.OH]. Université Paris XII Val de Marne, 2005. Français. ⟨NNT : ⟩. ⟨tel-00110831⟩

Collections

CNRS LACL UPEC
227 Consultations
1566 Téléchargements

Partager

More