scispace - formally typeset
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

Julien Tesson
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

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

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

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

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.