Méthodes et outils de partage de charge pour la conception et la mise en oeuvre d'applications parallèles
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Le placement dynamique d'applications parallèles pour obtenir une répartition de la charge d'un ensemble de machines hétérogènes est un problème complexe, largement étudié de façon théorique, mais pour lequel peu de solutions sont proposées et réalisées pour des systèmes réels. Cette thèse présente une solution originale à ces problèmes d'une part par la définition des modèles d'application et d'environnement et d'autre part par la réalisation du système Gatos gérant ces deux modèles. Les problèmes résolus sont : la collecte efficace d'informations sur l'état des machines, l'acquisition d'états globaux, la gestion répartie d'applications et la gestion des erreurs des applications et des pannes de machines. Gatos assure la transparence de l'architecture vis-a-vis de l'utilisateur et offre de nombreux critères de placement aux programmeurs. Il peut être entièrement automatique ou contraint à des sous-ensembles de machines et tient compte de l'architecture matérielle, de la localisation des ressources utilisées et de la dépendance des différents composants de l'application. Des algorithmes multicritères prennent en compte le comportement des applications : en temps processeur, en capacité mémoire, en volume des communications et d'accès aux fichiers. Ces informations sont fournies par le programmeur, ou par un service de contrôle des exécutions. Gatos est composé d'un ensemble de serveurs, basés sur Unix et communicants par tcp/udp/ip. Des mesures de performances effectuées en environnement réel montrent l'intérêt d'un tel système. Une extension pour le placement sur un très grand nombre de machines est décrite. Ce mécanisme se base sur le regroupement des machines et sur le transfert des informations en suivant les arcs d'un graphe d'ordonnancement entre les groupes. Le prototype Gatostar est le successeur de Gatos pour inclure la gestion d'applications tolérantes aux pannes. Ce système regroupera les nombreuses fonctionnalités communes à la répartition de charge et à la tolérance aux pannes, tout en diminuant leurs couts d'utilisation.