Lieu de soutenance :
Grand Amphi INRIA
655 Avenue de l'Europe,
38330 Montbonnot-Saint-Martin
Dans le domaine des systèmes distribués et du calcul haute performance, la validation expérimentale est de plus en plus utilisée par rapport aux approches analytiques. En effet, celles-ci sont de moins en moins réalisables à cause de la complexité grandissante de ces systèmes à la fois au niveau logiciel et matériel. Les chercheurs doivent donc faire face à de nombreux challenges lors de la réalisation de leurs expériences rendant le processus coûteux en ressource et en temps. Bien que de larges plateformes parallèles et technologies de virtualisation existent, les expérimentations sont, pour la plupart du temps, limitées en taille. La difficulté de passer une expérimentation à l'échelle représente un des grands facteurs limitant. Le niveau technique nécessaire pour mettre en place un environnement expérimentale approprié ne cesse d'augmenter pour suivre les évolutions des outils logiciels et matériels de plus en plus complexes. Par conséquent, les chercheurs sont tentés d'utiliser des méthodes ad-hoc pour présenter des résultats plus rapidement et pouvoir publier. Il devient alors difficile d'obtenir des informations sur ces expérimentations et encore plus de les reproduire.
Une palette d'outils ont été proposés pour traiter cette complexité lors des expérimentations. Ces outils sont motivés par le besoin de fournir et d'encourager des méthodes expérimentales plus construites. Cependant, ces outils se concentrent principalement sur des scénarios très simple n'utilisant par exemple qu'un seul noeud ou client/serveur. Dans le contexte des systèmes distribués et du calcul haute performance, l'objectif de cette thèse est de faciliter la création d'expériences, de leur contrôle, répétition et archivage.Dans cette thèse nous proposons deux outils pour mener des expérimentations nécessitant une pile logicielle complexe ainsi qu'un grand nombre de ressources matérielles. Le premier outil est Expo. Il permet de contrôler efficacement la partie dynamique d'une expérimentation, c'est à dire l'enchaînement des tests expérimentaux, la surveillance des taches et la collecte des résultats. Expo dispose d'un langage de description qui permet de mettre en place une expérience dans un contexte distribué avec nettement moins de difficultés. Contrairement aux autres approches, des tests de passage à l'échelle et scénarios d'usage sont présentés afin de démontrer les avantages de notre approche. Le second outil est appelé Kameleon. Il traite les aspects statiques d'une expérience, c'est à dire la pile logicielle et sa configuration. Kameleon est un logiciel qui permet de décrire et contrôler toutes les étapes de construction d'un environnement logiciel destiné aux expérimentations. La principale contribution de Kamelon est de faciliter la construction d'environnements logiciels complexes ainsi que de garantir de futur reconstructions.