• Aucun résultat trouvé

Exemple d’application composée de plusieurs modèles d’application

Le service d’allocation de ressources 73

FIG. 4.7 – Exemple d’application composée de plusieurs modèles d’application

74 Le système d’information et l’allocation des ressources dans le système Vigne ressources afin d’évaluer la latence réseau pour chacune de ces paires. Si la latence peut être considérée comme identique dans les deux sens des canaux de communication, il suffit de faire∑n−1i=1 imesures avecnle nombre de ressources (ce qui correspond au nombre d’éléments au-dessus ou en dessous de la diagonale d’une matrice). Si la latence ne peut pas être consi-dérée comme identique dans les deux sens des canaux de communication, alors il faut faire 2×∑n−1i=1imesures. Dans ce dernier cas, le co-allocateur de ressources ne retiendra que la va-leur la plus élevée entre chaque paire de ressources. Dans certains schémas applicatifs, il serait également intéressant de prendre en compte le débit possible entre deux nœuds pour des tâches qui échangent de grandes quantités de données. Toutefois, cette métrique est complexe à éva-luer car l’occupation d’un lien réseau peut évoéva-luer dans le temps. Il est donc nécessaire de disposer d’une infrastructure permettant la réservation de liens réseaux avec des mécanismes de qualité de service comme RSVP/IntServ [171].

Une seconde heuristique consiste à utiliser les noms DNS (Domain Name System) des ressources. Dans le cas simple, nous supposons que plus le suffixe DNS partagé entre deux ressources est grand, plus il est probable que ces ressources soient proches. Par exemple, parasol22.rennes.grid5000.frsera probablement plus proche de paravent51-.rennes.grid5000.frque degrillon16.nancy.grid5000.frpuisqu’elles ont le suffixe .rennes.grid5000.fren commun alors que dans l’autre cas, seul le suffixe .grid5000.frest commun. Dans certains cas, le schéma de désignation des ressources ne suit pas la convention DNS. Par exemple,paravent51.rennes.grid5000.frpourrait s’appelerrennes-paravent51.grid5000.fr. Dans ce cas, il est impossible de déter-miner la proximité de ressources en utilisant le plus grand suffixe commun. Une solution est de demander au fournisseur des ressources de donner le schéma de désignation des ressources qu’il propose et de l’inclure dans la description locale des ressources. Dans l’exemple, le four-nisseur de ressources pourrait fournir le motif%3-%4.%2.%1où%1décrit le domaine le plus large et%ndécrit la dernière sub-division. Muni de ce motif, le co-allocateur de ressources peut établir un ordre parmi les ressources qui possèdent le même motif. Si les motifs entre deux res-sources sont différents, il suffit de ne prendre en compte que le plus grand suffixe commun dans le nom DNS car cela veut dire que les ressources ne sont pas gérées par le même domaine d’administration.

Nous avons vu dans la figure 3.6 que les communications dans le système Vigne reposent sur des réseaux logiques pair-à-pair. Cette approche occulte le nom réel d’une ressources puis-qu’un nom logique est utilisé. Par conséquent, pour appliquer la seconde méthode, le système d’information doit comporter le nom DNS des ressources. De la même façon que pour les in-formations de charge, le nom DNS peut être multiplexé dans une réponse à une requête de découverte de ressources.

Conclusion 75 Ensuite, nous avons détaillé le fonctionnement du système d’information de Vigne. Ce der-nier est fondé sur l’utilisation d’un réseau pair-à-pair non structuré et du concept de marches aléatoires. Nous avons présenté une extension du concept de marches aléatoires permettant d’augmenter la pertinence des informations obtenues à l’issue d’une découverte de ressources pour une utilisation dans le cadre de l’allocation des ressources d’une grille. Cette proposi-tion repose sur l’utilisaproposi-tion de caches gérés avec une politique favorisant les nœuds possédant des ressources non allouées et sur un mécanisme de dissémination d’informations permettant d’améliorer de façon significative le remplissage des caches. De plus, nous proposons un mé-canisme permettant de combler une lacune inhérente à l’utilisation d’un réseau pair-à-pair non structuré qui est la découverte de ressources rares. Dans l’état de l’art, les projets Vishwa [168]

et Zorilla [73] fondent leur système d’information sur un réseau non-structuré et sur le concept d’inondation basique. Toutefois, ils ne proposent aucune optimisation pour limiter le coût de l’inondation et pour améliorer la découverte de nœuds possédant des ressources libres. Ils ne proposent pas non plus de solution pour découvrir plus facilement les ressources rares.

Nous avons détaillé le fonctionnement du service d’allocation de ressources de Vigne. Nous avons étudié les interactions nécessaires avec le système d’information et l’architecture du ser-vice d’allocation pour mettre en œuvre différentes politiques d’allocation de ressources. Puis, nous avons proposé un formalisme permettant de décrire le couplage entre les tâches d’une application afin que le module de co-allocation puisse allouer des ressources ayant une connec-tivité réseau efficace pour une application composée de tâches qui sont fortement communi-cantes. Nous avons aussi proposé deux méthodes pour permettre au module de co-allocation d’évaluer la connectivité réseau entre les nœuds de la grille.

Nous avons présenté deux services possédant individuellement d’excellentes propriétés pour une utilisation dans le cadre d’une grille de grande taille. Tout d’abord, nous avons proposé un système d’information distribué, tolérant aux défaillances multiples et adapté à la grande échelle d’une grille. Ensuite, nous avons proposé un service d’allocation de ressources permettant de mettre en œuvre les politiques d’allocation de ressources les plus communes et permettant de co-allouer des ressources de façon efficace en minimisant la distance réseau des ressources allouées à des tâches communicantes. Grâce à la coopération entre ces deux services, le système Vigne possède des fondations solides pour l’exécution fiable et efficace d’applications sur une grille de calcul. L’évaluation du système d’information et du service d’allocations de ressources est présentée dans le chapitre 6.

Comme le système d’information et le service d’allocation de ressources, le service de gestion d’application de Vigne est complètement distribué.

77

78 Exécution simple, efficace et fiable d’applications sur la grille