Open AccessDissertation
Approches fonctionnelles de la programmation parallèle et des méta-ordinateurs : sémantiques, implantations et certification
TLDR
La conception d'un langage de programmation est le resultat d' un compromis qui determine l'equilibre entre les differentes qualites du langage telles que l'expressivite, the surete, the prediction des performances, l'efficacite ou bien the simplicite de the semantique.Abstract:
Certains problemes necessitent des performances que seules les machines massivement paralleles ou les meta-ordinateurs peuvent offrir. L'ecriture d'algorithmes pour ce type de machines demeure plus difficile que pour celles strictement sequentielles et la conception de langages adaptes est un sujet de recherche actif nonobstant la frequente utilisation de la programmation concurrente. En effet, la conception d'un langage de programmation est le resultat d'un compromis qui determine l'equilibre entre les differentes qualites du langage telles que l'expressivite, la surete, la prediction des performances, l'efficacite ou bien la simplicite de la semantique. Dans des travaux anterieurs a cette these, il a ete entrepris d'approfondir la position intermediaire que le paradigme des patrons occupe. Toutefois il ne s'agissait pas de concevoir un ensemble a priori fixe d'operations puis de concevoir des methodologies pour la prediction des performances, mais de fixer un modele de parallelisme structure (avec son modele de couts) puis de concevoir un ensemble universel d'operations permettant de programmer n'importe quel algorithme de ce modele. L'objectif est donc le suivant : parvenir a la conception de langages universels dans lesquels le programmeur peut se faire une idee du cout a partir du code source. Cette these s'inscrit dans le cadre du projet «CoordinAtion et Repartition des Applications Multiprocesseurs en objective camL» (CARAML) de l'ACI GRID dont l'objectif etait le developpement de bibliotheques pour le calcul haute-performance et globalise autour du langage OCaml. Ce projet etait organise en trois phases successives : surete et operations data-paralleles irregulieres mono-utilisateur ; operations de multitraitement data-parallele ; operations globalisees pour la programmation de grilles de calcul. Ce tapuscrit est organise en 3 parties correspondant chacune aux contributions de l'auteur dans chacune des phases du projet CARAML : une etude semantique d'un langage fonctionnel pour la programmationBSP et la certification des programmes ecrits dans ce langage ; une presentation d'une primitive de composition parallele (et qui permet aussi la programmation d'algorithmes «diviser-pour-regner» paralleles), un exemple d'application via l'utilisation et l'implantation de structures de donnees paralleles et une extension pour les entrees/sorties paralleles en BSML ; l'adaption du langage pour le meta-calcul.read more
Citations
More filters
Proceedings ArticleDOI
Systematic Development of Correct Bulk Synchronous Parallel Programs
TL;DR: BH is defined, a new homomorphic skeleton, which captures the essence of BSP computation in an algorithmic level, and also serves as a bridge in mapping from high level specification to low level BSP parallel programs.
Dissertation
Environnement pour le développement et la preuve de correction systèmatiques de programmes parallèles fonctionnels
TL;DR: Pour permettre le developpement et the preuve de correction de programmes paralleles, nous proposons de combiner le langage parallele fonctionnel quasi-synchrone BSML, les squelettes algorithmiques - qui sont des fonctions d’ordre superieur sur des structures de donnees reparties offrant une abstraction du parallelisme – and l’assistant de preuve Coq.
New syntax of a High-level BSP language
Louis Gesbert,Frédéric Gava +1 more
TL;DR: The problem of the past syntax, the new one, matching of parallel values and exceptions, and a smart and uniform syntax for parallel patterns and exceptions handlers in BSML are presented.
Journal ArticleDOI
CPS implementation of a BSP composition primitive with application to the implementation of algorithmic skeletons
Ilias Garnier,Frédéric Gava +1 more
TL;DR: In this article, a continuation-passing-style transformation guided by a flow analysis is presented for the OCamlP3L's algorithmic skeletons and compared with the original ones.
References
More filters
Journal ArticleDOI
A bridging model for parallel computation
TL;DR: The bulk-synchronous parallel (BSP) model is introduced as a candidate for this role, and results quantifying its efficiency both in implementing high-level language features and algorithms, as well as in being implemented in hardware.
Book
MPI: The Complete Reference
TL;DR: MPI: The Complete Reference is an annotated manual for the latest 1.1 version of the standard that illuminates the more advanced and subtle features of MPI and covers such advanced issues in parallel computing and programming as true portability, deadlock, high-performance message passing, and libraries for distributed and parallel computing.
Book
An introduction to parallel algorithms
TL;DR: This book provides an introduction to the design and analysis of parallel algorithms, with the emphasis on the application of the PRAM model of parallel computation, with all its variants, to algorithm analysis.
Proceedings ArticleDOI
LogP: towards a realistic model of parallel computation
David E. Culler,Richard M. Karp,David A. Patterson,Abhijit Sahay,Klaus Erik Schauser,Eunice E. Santos,Ramesh Subramonian,Thorsten von Eicken +7 more
TL;DR: A new parallel machine model, called LogP, is offered that reflects the critical technology trends underlying parallel computers and is intended to serve as a basis for developing fast, portable parallel algorithms and to offer guidelines to machine designers.
Journal ArticleDOI
The calculus of constructions
Thierry Coquand,Gérard Huet +1 more
TL;DR: In this article, the authors propose a method to solve the problem of homonymity in homonymization, i.e., homonym-of-subjects-with-objectivity.