Thèse soutenue

Gestion de l’utilisation de ressources pour des applications distribuées à grande échelle

FR
Auteur / Autrice : Erik Putrycz
Direction : Guy Bernard
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2002
Etablissement(s) : Evry-Val d'Essonne

Mots clés

FR

Mots clés contrôlés

Résumé

FR

Le développement des applications client-serveur basées sur des middlewares tels que CORBA et. NET crée de nouveaux besoins en terme de mise à l’échelle. Dans ce contexte, malgré l’évolution des capacités du matériel (CPU, stockage et réseau), les capacités d’une seule unité d’exécution ne sont plus toujours suffisantes pour répondre aux demandes de temps réponse et de réactivité pour un utilisateur final. Une solution courante est de répliquer les serveurs sur plusieurs hôtes afin d’augmenter la capacité de traitement disponible. Nos travaux s’intéressent à proposer des mécanismes adaptatifs d’allocations de ces ressources et à les faire intervenir de façon transparente à l’utilisateur et au développeur d’une application. Il existe de nombreux travaux dans le domaine du partage de charge mais la plupart ne sont pas dédiés au middleware et ne prennent pas en compte ses spécificités. De plus, les solutions existantes pour des middlewares sont souvent des réponses "ad-hoc" à des contexte précis et ont des politiques de décisions aveugles. En considérant le partage de charge au niveau du middleware nous pouvons prendre en compte la structure de l’application et l’intégrer de façon transparente. Afin de baser les décisions de partage de charge en fonction de l’état des hôtes, nous avons besoin d’une infrastructure de monitoring mais les modèles existants ne sont pas adaptés à la grande échelle. Nous proposons une architecture de partage de charge appelée DLBS et intégrant trois composantes : une infrastructure de monitoring est responsable de collecter et distribuer la charge aux hôtes impliqués, une combinaison de stratégies de décision fait intervenir différents critères de charge et l’intégration de ces mécanismes est transparente pour le développeur et l’utilisateur. Dans un premier temps, notre infrastructure de monitoring est chargée de surveiller de façon non intrusive les hôtes et de distribuer les données de charge en minimisant les coûts réseau. Ensuite, un ensemble d’algorithmes de décisions appelés stratégies est appliqué sur plusieurs points d’exécution de l’application et guident le partage de charge. Le modèle de programmation des stratégies aide à faire intervenir aisément des critères de charge dans les décisions avec un coût d’exécution réduit. L’adaptabilité à une application est assurée par la configuration non-fonctionnelle des stratégies. La programmation par aspects est utilisée pour la portabilité et l’intégration dans un middleware existant. Nous avons réalisé un prototype de DLBS afin de valider notre conception. L’infrastructure de monitoring est développée pour Linux et DLBS a été intégré à ORBacus et à OpenORB.