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. / In the field of Distributed Systems and High Performance Computing experimental validation is heavily used against an analytic approach which is not feasible any more due to the complexity of those systems in terms of software and hardware.Therefore, researchers have to face many challenges when conducting their experiments, making the process costly and time consuming. Although world scale platforms exist and virtualization technologies enable to multiplex hardware, experiments are most of the time limited in size given the difficulty to perform them at large scale.The level of technical skills required for setting up an appropriate experimental environment is risen with the always increasing complexity of software stacks and hardware nowadays. This in turn provokes that researchers in the pressure to publish and present their results use ad hoc methodologies.Hence, experiments are difficult to track and preserve, preventing future reproduction. A variety of tools have been proposed to address this complexity at experimenting. They were motivated by the need to provide and encourage a sounder experimental process, however, those tools primary addressed much simpler scenarios such as single machine or client/server. In the context of Distributed Systems and High Performance Computing, the objective of this thesis is to make complex experiments, easier to perform, to control, to repeat and to archive. In this thesis we propose two tools for conducting experiments that demand a complex software stack and large scale. The first tool is Expo that enable to efficiently control the dynamic part of an experiment which means all the experiment workflow, monitoring of tasks, and collection of results.Expo features a description language that makes the set up of an experiment withdistributed systems less painful. Comparison against other approaches, scalability tests anduse cases are shown in this thesis which demonstrate the advantage of our approach.The second tool is called Kamelon which addresses the static part of an experiment,meaning the software stack and its configuration.Kameleon is a software appliance builderthat enables to describe and control all the process ofconstruction of a software stack for experimentation.The main contribution of Kameleon is to make easy the setup of complex software stacks andguarantee its post reconstruction.
Identifer | oai:union.ndltd.org:theses.fr/2014GRENM056 |
Date | 15 December 2014 |
Creators | Ruiz, Cristian |
Contributors | Grenoble, Richard, Olivier, Monteil, Thierry |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | English |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0022 seconds