Thèse de Julien Gossa
Sujet :
Date de soutenance : 01/10/2007
Encadrant : Lionel Brunie
Co-encadrant : Hélène Paugam-Moisy
Résumé :
Depuis plusieurs années, les intergiciels de grille n'ont eu de cesse de gagner en complexité. Grâce à l'adoption des SOA (architectures orientées services), ils permettent aujourd'hui de concevoir des architectures logicielles complexes, de très haut niveau et naturellement distribuées. Les acteurs (administrateurs, développeurs et utilisateurs) sont ainsi quotidiennement confrontés à de nombreux problèmes liés à la nature répartie des ressources : Comment sélectionner une ou plusieurs ressources pour s'acquitter d'une tâche donnée ? Comment déployer une ou plusieurs ressources, voire toute une architecture logicielle ? Comment composer plusieurs ressources ? etc.
La résolution de ces problèmes est difficile car les acteurs travaillent à un niveau très élevé, depuis lequel l'infrastructure matérielle est complètement abstraite. Or cette résolution est cruciale car elle conditionne les performances des plateformes aussi bien que la quantité de travail des acteurs. Elle s'avère également particulièrement complexe du fait de la diversité des ressources (du simple fichier à un service web impliquant communications et calculs), de la diversité des objectifs (performances, équilibrage de charge, qualité des réponses, aspects financiers...), de la prise en compte des performances de l'infrastructure et également de la diversité des problèmes (sélection, composition, déploiement...)
Notre approche propose un service web globus appelé le Network Distance Service. NDS permet de déclarer intuitivement une vaste étendue des problèmes sous forme de graphe grâce à une notion de distance adaptable aux ressources et objectifs et adaptative aux performances de l'infrastructure matérielle. Des algorithmes classiques de la théorie des graphes sont ensuite utilisés pour calculer les solutions : les plus courts chemins sont utilisés pour résoudre les problèmes de sélection et de composition ; un algorithme de clustering est utilisé pour résoudre les problèmes de déploiement. Nous présenterons également deux algorithmes originaux de placement de ressources capables de piloter dynamiquement des réplicas et de prendre les décisions inhérentes au déploiement d'une architecture logicielle complète.
Notre présentation sera illustrée par l'architecture logicielle GGM (http://liris.cnrs.fr/PROJETS/ggm), ses différentes infrastructures matérielles cibles et les différents problèmes de distribution rencontrés. Nous présenterons également le résultat d'expérimentations grande échelle menées sur la platforme Grid5000 qui montrent l'obtention des solutions optimales pour des temps de calcul très court et un travail utilisateur limité.