Thèse soutenue

Caractéristiques avancées pour la programmation avec des squelettes algorithmiques

FR  |  
EN
Auteur / Autrice : Mario Leyton
Direction : Denis Caromel
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2008
Etablissement(s) : Nice
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication (Sophia Antipolis, Alpes-Maritimes)

Résumé

FR  |  
EN

Cette thèse propose un modèle de programmation basé sur le concept de squelettes algorithmiques. Ce modèle se concentre sur les abstractions de programmation parallèle qui offrent une conception proche de celle des application non-parallèles permettant de simplifier leur développment. Ce modèle est destiné à être implémenté sous forme de librairie, et par conséquent se concentre sur les problèmes et les opportunités qu'offre cette approche plutôt qu'une approche orienté langage. En résumé, cette thèse présente un modèle de programmation basé sur les squelettes algorithmiques et son implémentation en Java, nommé Calcium. Calcium supporte entre autre l'utilisation de squelettes hiérarchiques, les squelettes exploitant le parallélisme de données ainsi que l'exécution de ces applications sur différentes infrastructures parallèles et distribuées. En d'autres termes, Calcium unifie la façon d'écrire les programmes basés sur les squelettes et permet le déploiement et l'exécution de ceux-ci sur différentes infrastructures parallèles et distribuées. Calcium apporte trois contributions principales dans le domaine de la programmation basé sur les squelettes. Premièrement, un modèle d'optimisation des performances qui permet aux programmeurs d'identifier les parties de codes responsables d'une dégradation des performances. Deuxièmement, un système de typage prouvé, pour squelettes hiérarchiques, qui garantie les propriétés de réduction et est implémenté a l'aide du typage générique de Java. Troisièmement, un modèle d'accès aux fichiers qui permet l'utilisation de squelettes dans les applications traitant des données de façon intense.