DCS : Distance Computation Service un outil de calcul de distances
Transcription
DCS : Distance Computation Service un outil de calcul de distances
DCS : Distance Computation Service un outil de calcul de distances réseau nœud à nœud - Résumé Julien Gossa, Jean-Marc Pierson, Lionel Brunie LIRIS - INSA Lyon Bât. Blaise Pascal 69 621 Villeurbanne, France [email protected] 5 décembre 2005 1 Introduction Il s’agit de mettre en place un système permettant d’évaluer les distances machine à machine sur un réseau étendu tel qu’une grille et ce de façon flexible (i.e. : adaptée à la tâche envisagée et au contexte d’utilisation). Nous appelons distance une valeur réelle attribuée à un couple de ressources de calcul ou de stockage pouvant communiquer. Cette valeur représente l’efficacité de ce couple lors d’une interaction particulière. Nous verrons dans le developpement que de telles distances ne sont pas soumises aux propriétés classiques des distances mathématiques. Ce terme doit donc être compris de façon intuitive. A l’heure actuelle, les infrastructures de grilles sont en passe de devenir efficaces d’un point de vue fonctionnel. En effet des intergiciels tel que globus[1], profitant des efforts récents de standardisations relatifs aux services web, permettent la mise ne place d’une grille comportant (plus ou moins bien) toutes les caractéristiques requises : référencement des ressources, distribution de tâches, gestion des données disponibles et répliquées, etc... Les efforts actuels sont encore concentrés sous le point de vue fonctionnel avec le développement des architectures et des protocoles nécessaires. Ainsi, d’un point de vue donnée, une grille peut aujourd’hui supporter un très grand nombre de données distribuées. Ces dernières peuvent être de tailles très variées, et souvent conséquentes, et peuvent être répliquées à échelles très variées, et potentiellement très grandes. A ce jour, les grilles permettent de stocker et référencer ces données et leurs copies [3], mais aucun outil ne permet encore d’effectuer une sélection de façon uniforme, simple et flexible parmi toutes ces copies. Ce choix est pour l’instant laissé à la discrétion de l’utilisateur qui est contraint, la plupart du temps, à se limiter à une sélection hasardeuse ou à développer lui même un système spécifique. Or, la réplication des données est une réponse à de nombreuses problématiques : disponibilité, persistance, performance... Et la phase de sélection parmi plusieurs copies d’une même donnée est une phase critique. Non seulement pour son consommateur puisqu’elle conditionne le temps de rapatriement et le taux d’échec (copie supprimée, ressource indisponible,...). Mais aussi pour le fonctionnement du réseau en lui-même puisqu’elle conditionne la saturation ou la non utilisation de toutes ses ressources (de stockage et communication). 2 Court Etat de l’Art De tels choix sont intimement liés à l’aspect monitoring, qui est actuellement en pleine exploration. En effet, de nombreux travaux sont en cours sur le sujet vaste des métriques. Cette notion peut être assez difficile à appréhender, comme l’indique [6], mais nous pouvons la résumer intuitivement comme “des façons d’évaluer l’état courant des différentes ressources d’un réseau”. 1 Alors que certains travaux [6][10] s’intéressent au problème plus fondamental de l’identification des métriques appropriées à certains environnements et leur différents moyens d’observations, d’autres [9][5] s’intéressent au problème plus architectural de la collecte des différentes observations pour les intégrer dans des catalogues et les rendre disponibles aux applications. Le fait est que les catalogues de grille actuels [2] intègrent assez bien les métriques relatives aux machines, mais très mal les métriques relatives aux communications. En effet, les services de monitoring s’intéressant aux machines et aux communications, tels que [5] et [7], sont peu ou pas intégrés à l’intergiciel proprement dit, et restent donc au stade d’outil additionnel. Or, cette intégration est d’une réelle importance puisqu’elle est indispensable à l’utilisation des métriques pour optimiser le fonctionnement de la grille dans son activité quotidienne et à tous les niveaux de son fonctionnement. Une autre observation est que nous n’avons pu trouver qu’un seul travail [4] proposant une méthode de combinaison de différentes métriques afin de comparer différentes ressources. Les auteurs exposent une fonction dite de “proximité” combinant le Round Trip Time (RTT) maximum et actuel avec le débit (throughput) maximum et actuel d’un lien pour évaluer la distance entre deux nœuds. Nous pouvons faire trois observations : – La mise en œuvre de cette combinaison reste à définir. – Une méthode générique permettant de déclarer de nouvelles combinaisons est nécessaire. – Les caractéristiques de la tâche envisagée ne sont pas pris en compte dans le calcul de cette “proximité” : elle sera la même que l’on veuille rapatrier un fichier de 10 Go, ou bien stocker un fichier de 1 ko ou encore soumettre une tâche. 3 Présentation résumée de notre proposition Notre proposition concerne précisément ces trois derniers points. Nous proposons un outil générique permettant à son utilisateur d’accéder aux observations des différentes métriques disponibles (sur les machines, mais aussi sur les liens réseaux), de définir les caractéristiques d’une tâche et enfin de définir la fonction permettant la combinaison de toutes ces dernières informations. Cet outil permet de calculer une distance entre des ressources clientes potentielles et chacune des ressources fournisseuses potentielles, relativement au service attendu. Plus cette distance est faible, meilleures sont les conditions dans lesquelles la ressource fournisseuse concernée est propice à rendre ce servir à la ressource client concernée. Cet outil a donc pour but d’aider un utilisateur dans le processus de sélection de la (ou les) meilleure(s) ressources parmi les nombreuses possibilités qui s’offre à lui. Par exemple, il permettra de sélectionner la copie d’une donnée la plus appropriée au rapatriement sur une certaine machine en fonction des capacités et de l’état actuel des différentes ressources impliquées et des caractéristiques de cette donnée (sa taille, si elle supporte l’accès par flux, etc...). Sous un point de vue logique, notre outil permet de rajouter aux catalogues de grilles (de machines[2], de réplicas[3] ou autre...) les informations de pertinence relatives au contexte et à la tâche envisagée. Notre optique n’est pas de nous arrêter à la sélection d’une copie de donnée pour le rapatriement, mais de l’étendre à toutes les tâches possibles où cette notion de distance peut s’averer utile : sélection d’un lieu de stockage, soumission de tâche, ordonnancement... notre but final étant de mettre en place un service de “cartographie” des ressources d’un système distribué grande échelle flexible, c.a.d. adaptable aux intentions de son utilisateurs. Dans la version étendue de notre article, nous abordons les points suivants. Nous présentons une formalisation de notre concept de distance et des concepts connexes. Nous présentons les interfaces de cet outil qui, conformément au standard actuel, est implémenté sous forme de web service fortement corrélé à [2],[3] et [7]. Son évaluation sera faite dans le cadre de la sélection des copies de données avec des caractéristiques différentes dans le but de les rapatrier et de les stocker. Un tel outil peut entrer en conflit avec le concept fondamental de “transparence” cher aux grilles, nous discutons cet aspect ainsi que le cadre applicatif dans lequel son utilisation est 2 préconisée. Nous présentons également un cadre réel d’application d’extraction de connaissances [8] dans lequel il intervient à plusieurs niveaux. Références [1] Globus Alliance. Globus. http ://www.globus.org/. [2] Globus Alliance. Monitoring and discovery service. http ://www.globus.org/mds/. [3] Globus Alliance. Replica location service. http ://www.globus.org/rls/. [4] Tiziana Ferrari and Francesco Giacomini. Network monitoring for grid performance optimization. Computer Communications, 27(14) :1357–1363, 2004. [5] Mark Leese, Rik Tyer, and Robin Tasker. Network performance monitoring for the grid. UK e-Science, 2005. [6] Bruce Lowekamp, Brian Tierney, Les Cottrell, Richard Hughes-Jones, Thilo Kielmann, and Martin Swany. A hierarchy of network performance characteristics for grid applications and services. Global grid Forum, june 2004. [7] Graziano Obertelli and Rich Wolski. Network weather service. http ://nws.cs.ucsb.edu/. [8] Jean-Marc Pierson, Lionel Brunie, Maryvonne Miquel, Anne Tchounikine, Clarisse Dhaenens, Nouredine Melab, Talbi El ghazali, Abdelkader Hameurlain, and Franck Morvan. Grid for geno-medicine : A glimpse on the project. BioGrid’05. [9] Junfeng Wang and Mingtian Zhou. Provinding network monitoring service for grid computing. FTDCS’04. [10] Artur Ziviani and Bruno Schulze. Combining grid computing and internet measurements. WCGA’05. 3