Thèse soutenue

Méthodologie de conception pour la virtualisation et le déploiement d'applications parallèles sur plateforme reconfigurable matériellement

FR  |  
EN
Auteur / Autrice : Clément Foucher
Direction : Alain GiulieriFabrice Muller
Type : Thèse de doctorat
Discipline(s) : Électronique
Date : Soutenance en 2012
Etablissement(s) : Nice
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication (Nice ; 1992-....)

Résumé

FR  |  
EN

Les applications auto-adaptatives, dont le comportement évolue en fonction de l’environnement, sont un élément clé des systèmes de demain. L’utilisation de matériel reconfigurable, combiné à la parallélisation des unités de calcul, permettent d’envisager de nouveaux niveaux de performances pour ces mêmes applications. L’objectif de cette thèse est de mettre en place un ensemble d’outils permettant la description et le déploiement d’applications parallèles auto-adaptatives. Nous proposons à la fois un modèle d’application parallèle et une architecture de plateforme reconfigurable destinée au déploiement des applications conçues en utilisant ce modèle. Notre modèle d’applications sépare le contrôle du calcul en isolant ce dernier en différents noyaux virtuels. Associés à une représentation du contrôle indépendante de la plateforme, la structure de l’application est donc totalement portable. Indépendamment de celle-ci, les noyaux de calcul peuvent être distribués selon plusieurs implémentations, selon la plateforme, mais également pour proposer différents niveaux de performances. Une couche de virtualisation permet de faire le lien entre la partie contrôle et les noyaux, en traduisant les ordres génériques en actions adaptées à l’implémentation. Concernant la plateforme, nous proposons une architecture permettant l’intégration de ressources de calcul logicielles et matérielles, pouvant être implémentées tant statistiquement qu’en utilisant du matériel reconfigurable. Cette architecture parallèle, inspirée du modèle des supercalculateurs, doit permettre d’utiliser tout type d’unités d’exécution et de matériel reconfigurable comme base matérielle pour la plateforme.