• Aucun résultat trouvé

Ce document est organisé comme suit :

• Le Chapitre 2 positionne notre travail dans le contexte des Grilles de calcul. Tout d’abord, nous donnons une vue d’ensemble des systèmes existants de Grilles ; ce qui nous permet de faire ressortir ce qui doit être amélioré. Ensuite, nous définis- sons la notion de systèmes pair-à-pair et nous montrons que ces systèmes peuvent fournir des Grilles plus dynamiques et flexibles. Nous positionnons aussi notre tra- vail avec les systèmes pair-à-pair existants pour les Grilles. En plus, nous présen- tons les modèles existants de « branch-and-bound » pour les Grilles et nous relions

notre travail aux autres bibliothèques pour les Grilles. Pour finir, nous décrivons le modèle à objets actifs et le « middleware » ProActive sur lesquels notre travail repose.

• En Chapitre 3, nous proposons une infrastructure de Grille de bureau basée sur une architecture pair-à-pair avec laquelle nous avons été les premiers à résoudre le problème des n-reines avec 25 reines : ce calcul a pris 6 mois pour terminer. • Dans le Chapitre 4, nous décrivons notre bibliothèque pour les Grilles de « branch-

and-bound » pour la résolution de problèmes d’optimisation combinatoire. Nous y reportons aussi nos expérimentations avec le problème du « flow-shop » sur la Grille française de taille nationale, Grid’5000.

• Le Chapitre 5 décrit une extension de notre infrastructure pair-à-pair pour per- mettre de combiner les ordinateurs de bureau et les grappes de calcul. Avec cette Grille à grande échelle, nous rapportons nos expérimentations avec les problèmes des n-reines et du « flow-shop ».

• Le Chapitre 6 présente le système de déploiement fournit par ProActive. Nous y présentons aussi quelques améliorations : la localisation des nœuds sur une Grille (ce mécanisme est utilisé par l’implémentation de notre bibliothèque de « branch- and-bound » afin d’optimiser les communications), le déploiement de services non- fonctionnels (comme la tolérance aux pannes ou l’équilibrage de charges), et un système qui permet de décrire les besoins nécessaires d’une application à déployer. Ensuite, nous présentons un mécanisme d’équilibrage de charges reposant sur notre infrastructure pair-à-pair.

• En Chapitre 7, nous donnons une vue d’ensemble de nos travaux courants et des améliorations que nous envisageons dans un futur proche.

• Pour finir, le Chapitre 8 conclut et résume les contributions majeures de cette thèse.

Chapter 10

Résumé

10.1 État de l’art et Positionnement

Dans ce chapitre, nous justifions notre choix d’un système pair-à-pair pour l’acquisition de ressources de calcul sur les Grilles. Pour se faire, nous évaluons les systèmes de Grilles et pair-à-pair existants ainsi que les bibliothèques existantes de « branch-and- bound » pour les Grilles. Nous identifions les problèmes non traités par ces bibliothèques dans le but de justifier notre modèle pour notre bibliothèque de « branch-and-bound » pour les Grilles.

10.1.1 Grilles de calcul

L’un des objectifs fondamentaux des Grilles est de fournir un accès aisé voire transpar- ent à des ressources de calcul hétérogènes et réparties sur des domaines administratifs différents. Ceci est également dénommé « virtualisation des ressources ». Notre ob- jectif est d’offrir à la fois un environnement d’exécution réalisant la virtualisation et une bibliothèque de programmation permettant de résoudre de manière optimale des problèmes d’optimisation combinatoire dans un environnement d’exécution de Grilles.

La plupart des Grilles sont des infrastructures statiques et utilisent des grappes de calcul dédiées. L’inclusion d’ordinateurs supplémentaires à ces organisations virtuelles doit être le plus souvent prévue et budgetée longtemps à l’avance. Il n’est donc pas pos- sible de rajouter dynamiquement des ressources libres d’un site pour temporairement augmenter la puissance de calcul de la Grille. Pratiquement toutes les Grilles déployées actuellement sont des plates-formes expérimentales pour aider les chercheurs à dévelop- per la prochaine génération.

Bien que la plupart des projets de Grilles soient définies comme des Grilles, ces infrastructures manquent de dynamicité pour répondre à la définition de Grille donnée dans cette thèse. C’est pourquoi nous proposons d’utiliser une infrastructure pair-à-pair pour inclure dynamiquement des ressources dans une Grille.

10.1.2 Pair-à-Pair

Il existe différentes sortes de réseaux pair-à-pair telles que les architectures maître- travailleur, les réseaux pur pair-à-pair, les réseaux hybrides, ou encore les tables de « hashage » distribué. Dans cette section nous montrons que les réseaux dit pur pair-à- pair sont les plus adpatés pour la Grille. Un réseau pair-à-pair dit « pur » peut être défini comme suit :

Un système distribué est appelé Pair-à-Pair (P-to-P, P2P, etc.), si les nœuds de ce réseau partagent une partie de leurs ressources (temps de calcul, espace disque, interface réseau, imprimante, etc.). Ces ressources sont nécessaires pour fournir les services et les contenus offerts par le système (e.g. le partage de fichiers ou les espaces de travail collaboratifs). Ils sont accessibles directe- ment par les autres pairs sans passer par des entités intermédiaires. Les par- ticipants de ce genre de réseau sont à la fois des fournisseurs de ressources (services et contenus) et des utilisateurs de ces ressources. Ils sont ainsi clients et serveurs. Ces réseaux sont considérés comme « Pur Pair-à-Pair » si l’on peut enlever de façon arbitraire un nœud de ce réseau sans qu’il y ait aucune dégradation ou perte du service offert par ce réseau.

10.1.3 « Branch-and-Bound »

L’algorithme de « branch-and-bound » est une technique pour résoudre les problèmes de recherche, tel que le voyageur de commerce ou bien les problèmes d’ordonnancement. Cette technique permet de trouver la meilleure solution pour une instance de problèmes donnés et de prouver qu’aucune autre solution est meilleure.

Dans ce chapitre, nous avons positionné le travail de cette thèse dans le contexte des Grilles de calcul. Nous avons aussi montré que les communautés des Grilles et du pair- à-pair partagent le même objectif : la coordination et le partage de grands ensembles de ressources distribuées. De plus, nous avons démontré la validité d’utiliser une approche pair-à-pair comme infrastructure de Grille. Nous avons aussi justifié les besoins et les caractéristiques de notre bibliothèque de « branch-and-bound » pour les Grilles.

10.1.4 Conclusion

Cette thèse se concentre sur la couche « Grid middleware » avec l’infrastructure pair-à- pair et sur la couche « Grid programming » avec la bibliothèque de « branch-and-bound ». Cette thèse traite tous les défis des Grilles que nous avons introduits : la distri- bution, le déploiement, les multiples domaines d’administration, le passage à l’échelle, l’hétérogénéité, la haute-performance, la dynamicité et les modèles de programmation.

Nous affirmons ainsi que les infrastructure de Grilles doivent être dynamiques pour permettre l’inclusion de nouveaux sites. Nous proposons donc une infrastructure pair- à-pair pour le partage de ressources de calcul. Dans cette thèse, nous proposons aussi une bibliothèque de « branch-and-bound » adaptée aux Grilles.

Documents relatifs