1 / 43

ACS - Un canevas pour la construction de caches adaptables

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.

Download Presentation

ACS - Un canevas pour la construction de caches adaptables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACS - Un canevas pour la construction de caches adaptables Laurent d’Orazio LIMOS – Equipe Base de Données Vendredi 13 mars 2009

  2. Grilles informatiques Besoins en puissance de calcul et de stockage • Physique • Météorologie • Biologie : décryptage de génome • Imagerie médicale • Etc.

  3. Problèmes liés à la gestionde données sur grilles Dispersion géographique, volumes importants de données, ? ? ? ? ?

  4. Problèmes liés à la gestionde données sur grilles Dispersion géographique, volumes importants de données, nombreux clients

  5. Problèmes liés à la gestionde données sur grilles Dispersion géographique, volumes importants de données, nombreux clients, variabilité

  6. Objectif • Optimiser la gestion de données sur grilles • Utilisation de caches au niveau intergiciel • Réduire les temps d’attente • Augmenter la disponibilité

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. É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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. É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

  23. 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

  24. É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

  25. 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

  26. É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

  27. 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

  28. Plan • Introduction • ACS • ACS et caches sémantiques • ACS et caches sémantiques • Prototype et validation • Prototype • Expérimentations sur grille • Conclusion et perspectives

  29. Prototype d’ACS(disponible sur ligforge.imag.fr) Architecture du canevas • Java + Fractal • Interfaces + patrons d’interactions • Bibliothèque de composants

  30. SP2 SP3 SP1 Expérimentations sur Grid’5000 Architecture à union de serveurs Nancy Rennes Sophia-Antipolis

  31. 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é

  32. 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

  33. 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 %

  34. 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

  35. Plan • Introduction • ACS • ACS et caches sémantiques • ACS et caches coopératifs • Prototype et validation • Conclusion et perspectives

  36. 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

  37. 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 ?)

  38. 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

  39. 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

  40. Adaptation contextuelle...Vers des caches autonomes

  41. Merci Questions ?

  42. 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.

  43. 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.

More Related