October 6, 2010
HDR Defense at ENS Lyon.

La gestion de données à grande échelle est certainement une des applications les plus importantes des systèmes distribués du futur. Le modèle de programmation MapReduce introduit par Google est un des modèles les plus prometteurs pour déployer des services applicatifs sur des plates-formes de traitement de données à grande échelle,notamment sur les Grilles et les Clouds. Ce modèle de programmation hautement parallèle permet la programmation d’une grande variété d’applications, depuis le traitement de données classiques à des applications de génomique. Par ailleurs, les plates-formes de calcul virtualisées ou Clouds entrent maintenant de plein pied dans le monde de la recherche et de l’industrie, notamment grâce aux offres d’Amazon, IBM et Google. Des logiciels du domaine publique existent également comme Eucalyptus et Nimbus. Ces derniers permettent aux chercheurs de travailler sur différents aspects et niveaux de ces plates-formes.
Hadoop implémente MapReduce en utilisant le Hadoop Distributed File System (HDFS) qui est la version open-source du Google File System. Alors qu’Hadoop a été validé sur des grappes de 2000 noeuds, il doit passer à des dizaines de milliers de noeuds à travers le monde. L’extensibilité et la tolérance aux pannes sont donc des sujets de recherche importants pour obtenir suffisamment de performances à cette échelle. Le modèle actuel est fortement centralisé et utilise des modèles de réplication de données rudimentaires.
La thèse aura donc pour but d’étudier des algorithmes pour la réplication des données, la distribution de l’ordonnancement des tâches et le placement de ces tâches sur les processeurs virtuels pour des applications écrites selon le modèle MapReduce. Les fonctions objectives pourront être multiples et conjointes, des performances brutes au coût de location des ressources côté applications, aux débit de la plate-forme et à l’équité entre les applications côté gestionnaire de ressources.
Des expériences à grande échelle sur les plates-formes Grid’5000 et IBM/Google seront effectuées en plus d’une validation théorique des travaux.
This thesis deal with the execution of applications on heterogeneous and distributed environments: computing grids. We study, from end-to-end, the process allowing users to execute complex scientific applications. The contributions of this work are thus manifold.
Date de début : septembre 2007
Soutenue le 6 octobre 2010
Co-encadrement avec Frédéric Desprez
Abstract:
Cette thèse étudie la découverte de services (composants logiciels, exécutables, librairies scientifiques) sur des plates-formes distribuées à grande échelle. Les approches traditionnelles, proposées pour des environnements stables et relativement petits, s’appuient sur des techniques centralisées impropres au passage à l’échelle dans des environnements géographiquement distribués et instables. Notre contribution s’articule autour de trois axes. 1. Nous proposons une nouvelle approche appelée DLPT (Distributed Lexicographic Placement Table), qui s’inspire des systèmes pair-à-pair et s’appuie sur un réseau de recouvrement structuré en arbre de préfixes. Cette structure permet des recherches multi-attributs sur des plages de valeurs. 2. Nous étudions la distribution des noeuds de l’arbre sur les processeurs de la plate-forme sous-jacente, distribuée, dynamique et hétérogène. Nous proposons et adaptons des heuristiques de répartition de la charge pour ce type d’architectures. 3. Notre plate-forme cible, par nature instable, nécessite des mécanismes robustes pour la tolérance aux pannes. La réplication traditionnellement utilisée s’y avère coûteuse et incapable de gérer des fautes transitoires. Nous proposons des techniques de tolérance aux pannes best-effort fondées sur la théorie de l’auto-stabilisation pour la construction d’arbres de préfixes dans des environnements pair-à-pair. Nous présentons deux approches. La première, écrite dans un modèle théorique à gros grain, permet de maintenir des arbres de préfixes instantanément stabilisants, c’est-à-dire reconstruits en un temps optimal après un nombre arbitraire de fautes. La deuxième, écrite dans le modèle à passage de messages, permet l’implantation d’une telle architecture dans des réseaux très dynamiques. Enfin, nous présentons un prototype logiciel mettant en oeuvre cette architecture et présentons ses premières expérimentations sur la plate-forme Grid’5000.
Date de début : Septembre 2005
Soutenue le 2 octobre 2008
Co-encadrement avec Frédéric Desprez
Abstract:
The main objective of the thesis is to improve the performance of a NES environments so as to use these environments efficiently. Here efficiency means the maximum number of completed requests that can be treated in a time step by these environments. The very first problem which comes to picture is related to the applications scheduling on the selected servers. We have presented algorithms for the scheduling of the sequential tasks on a NES environment. Experimentally we proved that the deadline scheduling with priority along with fallback mechanism can increase the overall number of tasks executed by the NES. Another important factor that influence the efficiency of the NES environments is the mapping style of the environment’s components on the available resources. The questions such as “which resources should be used?”, “how many resources should be used?” and “should the fastest and connected resource be used for middleware or as a computational resource?” remained unanswered. In this thesis we gave the solutions to these questions. We have shown theoretically that the optimal deployment on cluster is a Complete Spanning d-ary (CSD) tree complete spanning d-ary tree. Considering heterogeneous resources we presented a deployment heuristic, as finding the best deployment among heterogeneous resources is amounts to find the best broadcast tree on a general graph, which is known to be NP-complete. Finally, we gave a mathematical model that can analyze an existing deployment and can improve the performance of the deployment by finding and then removing the bottlenecks. This is an heuristic approach for improving deployments of NES environments that has been defined by other means. Deployment planning algorithms and heuristics presented in the thesis are validated by implementing them to deploy a hierarchical middleware DIET, on different sites of Grid’5000, a set of distributed computational resources in France.
Date de début : Octobre 2003
Soutenue le 28 septembre 2006
Co-tutelle CPPM/LIP ENS-Lyon.
Co-encadrement avec Regnaud Legnac et Andreï Tsaregorodtsev
Abstract:
La physique des particules traite un grand nombre de données qui nécessitent des ressources de calculs particulièrement importantes. C’est pourquoi, les applications de simulation et d’analyse d’une expérience de physique des particules se retrouvent dans un environnement de calculs distribués à grande échelle. Souvent dénommés grilles, ces environnements se différencient des machines parallèles les ayant précédés par leurs natures intrinsèquement hétérogènes, partagées et fortement dynamiques. Ils se déclinent en deux types de système : les grilles institutionnelles qui mutualisent les ressources d’organismes par accord mutuel et les systèmes communautaires de calcul global dont le pair-à-pair est un exemple.
Dans cette thèse, nous étudions ces systèmes et soulignons l’intérêt d’un système hybride conjuguant les deux approches. Nous proposons une implémentation d’un système unifié DIRAC (Distributed Infrastructure With Remote Agent Control). Cette solution est un système léger, extensible et robuste, qui offre une plate-forme transparente et uniforme pour une seule communauté ou organisation virtuelle. Le but est d’agréger le plus grand nombre de ressources de tout type avec une simplicité de déploiement, de maintenance et d’administration. Nous détaillons les technologies et mécanismes mis en oeuvre pour un tel environnement. DIRAC repose sur une architecture orientée service Agents/services régulant notamment la charge et les accès aux données dans le contexte de régime permanent et saturé (“High Throughput Computing”) générés par des simulations de Monte-carlo et des analyses de données. Ainsi, DIRAC a connecté plus de 6.000 processeurs répartis sur une soixantaine de sites dans le monde, a supporté plus de 5.500 tâches simultanées et a stocké, transféré et dupliqué plus de 100 téra-octets de données.
Pour l’évaluation de l’ordonnancement de DIRAC dans un tel contexte, nous avons proposé une modélisation et développé un simulateur autorisant la comparaison de stratégies et d’architectures pour l’ordonnancement et le méta-ordonnancement. Avec cet outil, dont nous soulignons la validité, nous avons justifié l’approche de DIRAC “pull” face à d’autres approches centralisées et architectures de types “push”.
Date de début : Octobre 2002
Soutenue le 14 décembre 2005
Co-encadrement avec Frédéric Desprez
Abstract:
Afin de répondre aux besoins de puissance de calcul sans cesse croissants, le metacomputing est une extension du parallélisme consistant à fédérer des ressources hétérogènes de calcul et de stockage distribuées pour en agréger la puissance. Une machine virtuelle ainsi formée par un large ensemble d’organisations distantes partageant leurs ressources locales est souvent dénommée grille (ou Grid).
Contrairement aux machines parallèles l’ayant précédée, cette plate-forme présente des caractéristiques intrinsèquement hétérogènes. De plus, les ressources ne sont que rarement réservées à un seul utilisateur, ce qui implique une forte dynamicité des disponibilités.
Pour relever les défis posés par cette plate-forme, une approche classique consiste à utiliser une extension des RPC (Remote Procedure Call – invocations de procédures distantes). Des clients soumettent des requêtes de calculs à des agents chargés de les ordonnancer interactivement sur des serveurs de calculs (utilisant des bibliothèques de calcul parallèles ou séquentielles) en fonction des capacités des serveurs et de leur charge de travail actuelle. L’appréciation de l’adéquation d’un serveur pour un calcul donné est donc l’un des problèmes majeurs à résoudre pour permettre la conception ainsi que la mise en oeuvre d’algorithmes et de politiques d’ordonnancement adaptés à la grille.
Cette thèse est une contribution à la résolution des problèmes posés par l’obtention d’informations actuelles et pertinentes à propos de la grille.
Date de début : Septembre 2000
Soutenue le 11 décembre 2003

Efficient Grid Resource Selection for a CEM Application. Co-encadrement avec Christian Pérez. Durée 4 mois. Stage de M2 ENS-Lyon. Février 2009
Cloud Computing Resource Management through a Grid Middleware: A Case Study with DIET and Eucalyptus. Co-encadrement avec Frédéric Desprez. Durée 3 mois. Niveau équivalent M2. Stage de 5ème année d’Université Technique. Technical University of Cluj Napoca. Roumanie. Mars 2009
Experimental validation for DIET’s plug-in scheduler. Co-encadrement avec Yves Caniou. Durée 3 mois. Niveau équivalent M2. Stage de 5ème année d’Université Technique. Technical University of Cluj Napoca. Roumanie. Mars 2006
Gridification d’une application de cosmologie. Co-encadrement avec le CRAL. Durée 5 mois. 4ème année au département informatique à l’INSA. Mai 2005.
Intégration et expérimentation d’algorithmes pair-à-pair pour la localisation de services au sein d’un intergiciel de grille. Co-encadrement avec Frédéric Desprez. Durée 4 mois. 4ème année au département informatique à l’INSA. Mai 2004.
Prédiction de performances pour l’ordonnancement dans DIET. Durée 4 mois. Niveau équivalent M2. FUNDP (Facultés Universitaires Notre-Dame de la Paix / Belgique). Septembre 2005

Simulation d’algorithmes d’acheminement de messages auto-stabilisants pour la d’ecouverte de services à grande échelle. Co-encadrement avec Cédric Tedeschi (IRISA). Durée 3 mois. Niveau équivalent L3. Stage de 3ème année d’Université Technique. Technical University of Cluj Napoca. Roumanie. Juin 2009
Mise en place d’une architecture distibuée parallèle au service de l’imagerie fonctionnelle par résonance magnétique. Co-encadrement avec Eric Boix. Durée 4 mois. Niveau équivalent M2. FUNDP ( Facultés Universitaires Notre-Dame de la Paix / Belgique). Septembre 2005
Outils de visualisation de la plate-forme DIET. En collaboration avec Cyrille Pontvieux. Co-encadrement avec Frédéric Desprez. Durée 6 mois. TU Muenchen Informatik. Décembre 2003.
An Alternative Architecture for Network Computation Servers. Co-encadrement avec Frédéric Desprez. Durée 3 mois. IIT (Indian Institut of Technology) de Kanpur (Inde). 2002.

Déploiement de DIET au CEA et analyse des besoins. Co-encadrement CEA/LIP. Durée 2 mois (2 semaines au LIP/ 6 semaines au CEA). INSA Lyon. Juin 2009
Étude préliminaire de l’ordonnancement dans Hadoop. Co-encadrement avec Frédéric Despez. Durée 3 mois. Stage en entreprise LIFSTI. Avril 2008.
Extensions à VizDIET plate-forme de visualisation dédiée à DIET. Co-encadrement avec Raphaël Bolze. Durée 2 mois. BTS IRIS (Informatique et Réseaux pour l'Industrie et les Services techniques) LTP la providence (Amiens). Mai 2004.
Outils de visualisation de la plate-forme DIET. En collaboration avec Georg Hoesch. Co-encadrement avec Frédéric Desprez. Durée 6 mois. IUP Info de l’Université de Franche Comté (3ème année. Maîtrise). Décembre 2003.
Extension d’un outil de prédiction de performances pour le Grid Computing. Co-encadrement avec Martin Quinson.Durée du stage 1 mois. 2003
Extension JXTA pour DIET. Multi-encadrement avec Philippe Combes et Frédéric Desprez. INSA Lyon. Durée du stage 3 mois. Juin 2003.
Administration d’une plateforme de Grid Computing. Co-encadrement avec Martin Quinson. IUT2 Grenoble. Durée du stage 2 mois. Avril 2002