440 likes | 556 Views
ACS - Un canevas pour la construction de caches adaptables. Laurent d’Orazio LIMOS – Equipe Base de Données. Vendredi 13 mars 2009. Grilles informatiques. Besoins en puissance de calcul et de stockage Physique Météorologie Biologie : décryptage de génome Imagerie médicale Etc.
E N D
ACS - Un canevas pour la construction de caches adaptables Laurent d’Orazio LIMOS – Equipe Base de Données Vendredi 13 mars 2009
Grilles informatiques Besoins en puissance de calcul et de stockage • Physique • Météorologie • Biologie : décryptage de génome • Imagerie médicale • Etc.
Problèmes liés à la gestionde données sur grilles Dispersion géographique, volumes importants de données, ? ? ? ? ?
Problèmes liés à la gestionde données sur grilles Dispersion géographique, volumes importants de données, nombreux clients
Problèmes liés à la gestionde données sur grilles Dispersion géographique, volumes importants de données, nombreux clients, variabilité
Objectif • Optimiser la gestion de données sur grilles • Utilisation de caches au niveau intergiciel • Réduire les temps d’attente • Augmenter la disponibilité
Notion de cache Motivations • Optimisation des performances • Accès rapide • Support physique • Placement • Réduction de la charge • Sur les serveurs • Sur les réseaux • Disponibilité année = 2006 Cache Défaut année = 2006 Source de données
Notion de cache Motivations • Optimisation des performances • Accès rapide • Support physique • Placement • Réduction de la charge • Sur les serveurs • Sur les réseaux • Disponibilité année = 2006 Cache Succès Source de données
Grilles et caches adaptables Besoin de nombreux caches + conception complexe coût de développement élevé • Efficacité dépendante de la configuration par rapport au contexte • Hétérogénéité des grilles (Données, Matériels, Clients) Cache adaptable Serveurs
Plan • Introduction • ACS (Adaptable Cache Service) • Architecture globale • Construction à l’aide d’ACS d’un cache pour l’application bio-informatique • ACS et caches sémantiques • ACS et caches coopératifs • Prototype et validation • Conclusion et perspectives
Gestionnaire de cache Cache élémentaire Gestionnaire d’évaluation Gestionnaire de contenu Gestionnaire de résolution Contenu hachage Résolution Source 1 Gestionnaire d’analyse Gestionnaire de remplacement Remplacement LRU Gestionnaire d’admission Fonctionnalités élémentaires Fonctionnalités optionnelles Architecture globale • Objectif • Construction de caches • Adaptés • Reconfigurables dynamiquement • Choix d’architecture • Canevas logiciel • Capture des fonctionnalités • (cohérence non considérée) • Capture des interactions entre les fonctionnalités • Composants logiciels • Paramétrisation • Modularité Résolution Source 2 Remplacement SIZE
Composants réutilisés Composants spécifiques Construction à l’aide d’ACS d’un cache pour l’application bio-informatique Réutilisation de code = 88 % Cache élémentaire Cache Contenu hachage Résolution grille Remplacement LRU Admission taille
Plan • Introduction • ACS • ACS et caches sémantiques • Gestion du contenu • Gestion de la sémantique • ACS et caches coopératifs • Prototype et validation • Conclusion et perspectives
Cache sémantique [Dar96] [Keller96] • Profiter des capacités locales d’évaluation • Réduction de la charge sur les serveurs • Réduction des transferts de données • Augmentation de la disponibilité • Principes • Gestion de résultats de requêtes • Décomposition des requêtes posées • Requête de consultation • Requête restante DT>2000 Cache sémantique Consultation DT>2005 Restante : DT>2000 DT<2005 Source de données
Requête Entrée Requête Entrée Entrée • Requête dans entrée succès étendu • E : année = 2006 • Q : année=2006 auteur= «Blanchet» Requête Entrée Requête • Recouvrement partiel succès partiel • E : auteur = « Blanchet » année = 2006 • Q : auteur = « Blanchet » espèce = virus • Équivalence succès étendu • E : année = 2006 • Q : année < 2007 année > 2005 • Entrée dans requête succès partiel • E : année = 2006 • Q : année > 2005 État de l’art des caches sémantiquesGestion de la sémantique • Évaluation • Sélection [Dar96] • Projection [Ren03] • Jointure [Keller96] • Requête de localisation [Zheng01] • Analyse [Godfrey97] • Équivalence • Inclusions • Recouvrement partiel
État de l’art des caches sémantiquesGestion du contenu • Résultats de requêtes [Dar96] • Agrégation des objets • Duplication dans le cache • Mélange calculs et données • Prédicats et objets [Keller96] • Pas de duplication dans le cache • Pas d’agrégation des objets • Synchronisation forte prédicats / objets Mélange calculs et données Cache de résultats de requêtes Cache de prédicats et d’objets
Gestionnaire d’analyse , , Évaluation , , TRIS, etc. Gestionnaire d’évaluation , , TRIS, etc. Analyse , , Fonctionnalités élémentaires Fonctionnalités optionnelles ACS et gestion de la sémantique Gestionnaire de cache Cache sémantique Gestionnaire cache sémantique Gestionnaire d’évaluation Gestionnaire de contenu Gestionnaire de résolution Gestionnaire d’analyse Gestionnaire de remplacement Gestionnaire d’admission
Fonctionnalités élémentaires Fonctionnalités optionnelles Construction à l’aide d’ACS d’un cachede résultats de requêtes pourl’application bio-informatique Réutilisation de code = 81 % Gestionnaire d’analyse , Cache de résultats de requêtes Gestionnaire cache sémantique Gestionnaire d’évaluation Évaluateur Gedeon Gestionnaire de contenu Gestionnaire de résolution Gestionnaire d’évaluation Gestionnaire d’analyse Analyse vecteurs , Gestionnaire de remplacement Gestionnaire d’admission
Fonctionnalités élémentaires Fonctionnalités optionnelles Construction à l’aide d’ACS d’un cachede prédicats et d’objets pourl’application bio-informatique Réutilisation de code = 100 % Gestionnaire d’analyse , Cache de prédicats et d’objets Cache sémantique Gestionnaire cache sémantique Gestionnaire d’évaluation Évaluateur Gedeon Contenu prédicats / objets Gestionnaire de résolution Gestionnaire d’évaluation Gestionnaire d’analyse Analyse vecteurs , Gestionnaire de remplacement Gestionnaire d’admission
Plan • Introduction • ACS • ACS et caches sémantiques • ACS et caches coopératifs • Cache coopératif • Caches répartis • Résolution verticale • Résolution horizontale • Prototype et validation • Conclusion et perspectives
Cache Cache Cache Cache Cache Cache Cache coopératif [Dahlin94] [Chankhunthod96] • Profiter des ressources d’autres caches • Avantages • Répartition des transferts de données • Réduction de la charge sur les serveurs • Augmentation de la disponibilité ? Caches coopératifs Source de données
État de l’art des caches coopératifsCaches répartis [Braun95] • Principe général Distribution des requêtes • Aléatoire • Tourniquet • En fonction des demandes • En fonctions des clients • Etc. • Inconvénient Caches proches physiquement Cache réparti Cache réparti Cache réparti Cache réparti Source de données
Fonctionnalités élémentaires Fonctionnalités optionnelles ACS et caches répartis Cache réparti Gestionnaire de cache Cache réparti Cache réparti Cache réparti Cache réparti Gestionnaire de contenu Gestionnaire de résolution Gestionnaire de remplacement Gestionnaire d’admission Source de données
État de l’art des caches coopératifsRésolution verticale [Chankhunthod96] • Principe général Résolution par des parents • Inconvénients • Charge sur les parents • Sensibilité Cache Cache Cache Cache Cache Cache parent Source de données
ACS et caches avecrésolution verticale Gestionnaire de cache Cache Cache Cache Cache Cache Gestionnaire de contenu Résolution cache parent Cache parent Gestionnaire de remplacement Gestionnaire d’admission Source de données Fonctionnalités élémentaires Fonctionnalités optionnelles
État de l’art des caches coopératifsRésolution horizontale Cache frère • Principe général Résolution par des frères • Protocoles • Inondation [Chankhunthod96] • Catalogue [Fan98] • Inconvénient Gestion dans un environnement grande échelle Cache frère Cache Cache frère Cache frère Cache frère Cache frère Source de données
ACS et caches avecrésolution horizontale Cache frère Cache frère Gestionnaire de cache Cache Cache frère Cache frère Cache frère Cache frère Gestionnaire de contenu Résolution Inondation / catalogue Gestionnaire de remplacement Gestionnaire d’admission Source de données Fonctionnalités élémentaires Fonctionnalités optionnelles
Plan • Introduction • ACS • ACS et caches sémantiques • ACS et caches sémantiques • Prototype et validation • Prototype • Expérimentations sur grille • Conclusion et perspectives
Prototype d’ACS(disponible sur ligforge.imag.fr) Architecture du canevas • Java + Fractal • Interfaces + patrons d’interactions • Bibliothèque de composants
SP2 SP3 SP1 Expérimentations sur Grid’5000 Architecture à union de serveurs Nancy Rennes Sophia-Antipolis
Expérimentations Validation du cache dual • Union de 3 serveurs (Sophia-Antipolis, Rennes, Lille) • 50 clients avec des caches de 500Mo (Sophia-Antipolis, Rennes, Lille, Toulouse) Cache dual : 10 Mo pour cache de requêtes • 100 requêtes par client • Localité sémantique R60 • Pas d’appartenance à une communauté
Validation du cache dual Cache dual plus performant • Taux de succès de cache plus élevés • Charge d’évaluation sur les serveurs plus faible • Volume de données transférées moins important Temps de réponse plus courts
Expérimentations Analyse des protocoles de résolution pour cache dual • Union de 3 serveurs (Nancy, Rennes, Sophia-Antipolis) • 50 clients avec des caches de 325Mo (Sophia-Antipolis, Rennes, Lille, Toulouse) Cache dual : 10 Mo pour cache de requêtes • 50 requêtes par client • Localité sémantique R40 • Communauté 70 %
Analyse des protocoles de résolution • Les coopérations entre caches améliorent les performances • La proximité sémantique réduit • Les évaluations sur les serveurs • La consommation de bande passante (le rapatriement par données évite la récupération d’objets déjà stockés) • La proximité physique répartit la consommation de bande passante • La proximité physique et sémantique améliorent grandement les performances
Plan • Introduction • ACS • ACS et caches sémantiques • ACS et caches coopératifs • Prototype et validation • Conclusion et perspectives
Résumé • Objectif Optimiser la gestion de données sur grilles • Contribution Canevas pour la construction de caches adaptables • Expérimentations sur grille de données
Perspectives • Diffusion d’ACS ACS sous licence GNU LGPL http://ligforge.imag.fr/projects/acs/ • Problématiques de recherche • Gestion de données sur grilles pervasives • Gestion de données hétérogènes • Gestion de données sur grilles • Gestion de cohérence à grande échelle (transactions sur grilles ?)
Paramétrisation Optimisation dans les environnements variables : adaptation contextuelle (1) Contexte • Gestionnaire de contexte • Modélisation • Capture • Gestion des situations pertinentes Règles actives ECA Cache ACS Gestionnaire d’adaptation Cache élémentaire Résolution
Cache sémantique Analyse Évaluation Optimisation dans les environnements variables : adaptation contextuelle (2) Contexte • Gestionnaire de contexte • Modélisation • Capture • Gestion des situations pertinentes Règles actives ECA Cache ACS Gestionnaire d’adaptation Cache élémentaire Résolution
Merci Questions ?
Bibliographie (1) • [Braun95] Hans-Werner Braun and Kimberly C. Claffy. Web traffic characterization : an assessment of the impact of caching documents from ncsa’s web server. Computer Networks and ISDN Systems, 28(1-2) :37–51, 1995. • [Chankhunthod96] Anawat Chankhunthod, Peter B. Danzig, Chuck Neerdaels, Michael F. Schwartz, and Kurt J. Worrell. A hierarchical internet object cache. In USENIX Annual Technical Conference, pages 153–164, 1996. • [Dahlin94] Michael D. Dahlin, Clifford J. Mather, Randolph Y. Wang, Thomas E. Anderson, and David A. Patterson. A quantitative analysis of cache policies for scalable network file systems. In The ACM SIGMETRICS conference on Measurement and modeling of computer systems, pages 150–160, 1994. • [Dar96] Shaul Dar, Michael J. Franklin, Bj¨orn T. Jonsson, Divesh Srivastava, and Michael Tan. Semantic data caching and replacement. In Proceedings of the international conference on Very Large Data Bases, pages 330–341, 1996.
Bibliographie (2) • [Fan98] Li Fan, Pei Cao, Jussara Almeida, and Andrei Z. Broder. Summary cache : a scalable wide-area web cache sharing protocol. In The ACM SIGCOMM Conference on Applications, technologies, architectures, and protocols for computer communication, pages 254–265, 1998. • [Godfrey97] Parke Godfrey and Jarek Gryz. Semantic query caching for hetereogeneous databases. In The international Workshop on Knowledge Representation meets Databases, pages 6.1–6.6, 1997. • [Keller96] Arthur M. Keller and Julie Basu. A predicate-based caching scheme for clientserver database architectures. The VLDB Journal, 5(1) :35–47, 1996. • [Ren03] Qun Ren, Margaret H. Dunham, and Vijay Kumar. Semantic caching and query processing. IEEE Transactions on Knowledge and Data Engineering, 15(1) :192–210, 2003. • [Zheng01] Baihua Zheng and Dik Lun Lee. Semantic caching in location-dependent query processing. In The International Symposium on Advances in Spatial and Temporal Databases, pages 97–116, 2001.