1 / 61

Caches adaptables et applications aux systèmes de gestion de données répartis à grande échelle

Caches adaptables et applications aux systèmes de gestion de données répartis à grande échelle. D’ORAZIO Laurent Sous la direction de Claudia RONCANCIO Cyril LABBÉ. Grenoble, lundi 17 décembre 2007. Grille informatique. Besoins en puissance de calcul et de stockage Physique

owena
Download Presentation

Caches adaptables et applications aux systèmes de gestion de données répartis à grande échelle

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. Caches adaptables et applications aux systèmes de gestion de données répartis à grande échelle D’ORAZIO Laurent Sous la direction de Claudia RONCANCIO Cyril LABBÉ Grenoble, lundi 17 décembre 2007

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

  3. Caractéristiques de la gestionde données sur grille Partage de ressources • Grappe (cluster) : ensemble de nœuds • Grille : grappe de grappes

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

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

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

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

  8. Exemple de données dans une application bio-informatique ID 104K_THEPA STANDARD; PRT; 924 AA. AC P15711; DT 01-APR-1990 (Rel. 14, Created) DT 01-APR-1990 (Rel. 14, Last sequence update) DT 10-MAY-2005 (Rel. 47, Last annotation update) DE 104 kDa microneme-rhoptry antigen. OS Theileria parva. OC Eukaryota; Alveolata; Apicomplexa; Piroplasmida; OC Theileria. ... SQ MKFLILLFNILCLFPVLAADNHG...HICKMVYHKNV • Swiss-Prot • 210 000 entrées • 750 Mb • Intergiciel Gedeon Système de fichiers pour grilles avec capacités d’interrogation par requêtes déclaratives Méta-données Identifiant Donnée

  9. Plan de la présentation • Caches et interrogation de données • Service de caches adaptables et caches pour l’interrogation de données • Applications à la gestion de données bio-informatiques sur grille • Conclusions et perspectives

  10. Plan de la présentation • Caches et interrogation de données • Notion de cache • Caches coopératifs • Caches sémantiques • Service de caches adaptables et caches pour l’interrogation de données • Applications à la gestion de données bio-informatiques sur grille • Conclusions et perspectives

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

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

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

  14. Limites des caches adaptablespour la gestion de données sur grille • Non adaptables aux variations de l’environnement Serveurs

  15. Limites des caches adaptablespour la gestion de données sur grille • Non adaptables aux variations de l’environnement • Non utilisation des capacités locales pour l’évaluation • Non utilisation des ressources des autres caches

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

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

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

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

  20. Limites des caches coopératifspour la gestion de données sur grilles • Configuration complexe dans un environnement grande échelle • Gestion des coopérations à grande échelle • Non utilisation des capacités locales pour l’évaluation

  21. 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>2005 Cache sémantique Consultation DT>2005 Restante : DT>2000  DT<2005 Source de données

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

  23. État de l’art des caches sémantiquesGestion des régions • 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

  24. Limites des caches sémantiquespour la gestion de données sur grilles • Configuration complexe dans un environnement grande échelle • Mélange calculs et données • Non utilisation des ressources des autres caches

  25. Caches pour la gestionde données sur grille • Caches adaptables • Gestion de la sémantique • Gestion de la coopération • Adaptabilité dynamique • Caches sémantiques • Séparation contenu et sémantique • Séparation données et évaluations • Caches coopératifs • Utilisation des capacités d’évaluation • Gestion de la coopération à grande échelle

  26. Plan de la présentation • Caches et interrogation de données • Service de caches adaptables et caches pour l’interrogation de données • ACS (Adaptable Cache Service) • Cache sémantique pour grille • Réseaux de caches dans des environnements grande échelle • Applications à la gestion de données bio-informatiques sur grille • Conclusions et perspectives

  27. 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 ACS (Adaptable Cache Service) • 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

  28. Prototype d’ACS • Architecture du canevas • Java + Fractal • Interfaces + patrons d’interactions • Bibliothèque de composants

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

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

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

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

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

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

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

  36. ACS et caches sémantiques coopératifs Cache frère Cache frère Gestionnaire de cache Gestionnaire cache sémantique Cache sémantique coopératif Cache frère Cache frère Cache frère Cache frère Gestionnaire d’évaluation Évaluation , , etc. Gestionnaire de contenu Résolution horizontale inondation Gestionnaire d’analyse Analyse , ,  Gestionnaire de remplacement Gestionnaire d’admission Source de données Fonctionnalités élémentaires Fonctionnalités optionnelles

  37. Caches pour la gestionde données sur grille • Caches adaptables • Gestion de la sémantique  • Gestion de la coopération  • Adaptabilité dynamique  • Caches sémantiques • Séparation contenu et sémantique  • Séparation données et évaluations • Caches coopératifs • Utilisation des capacités d’évaluation  • Gestion de la coopération à grande échelle

  38. Cache dual Requête {identifiant} Serveurs Cache dual • Caches indépendants • Cache de requêtes  évaluations • Cache d’objets  données • Avantages • Conservation d’évaluations sans les objets • Pas de duplication d’objets • Configuration fine du cache dual (stratégie des caches) • Limites • Pas d’agrégation • Accès par requête et par identifiants Cache de requêtes Cache d’objets

  39. Cache dual sémantique Gestion de la sémantique • Analyse et cache de requêtes • Équivalence • Inclusions • Recouvrements partiels • Évaluation et cache d’objets • Sélection • Projection • Tri Cache dual Cache de requêtes Gestionnaire d’analyse Cache d’objets Gestionnaire d’évaluation

  40. Caches pour la gestionde données sur grille • Caches adaptables • Gestion de la sémantique  • Gestion de la coopération  • Adaptabilité dynamique  • Caches sémantiques • Séparation contenu et sémantique  • Séparation données et évaluations  • Caches coopératifs • Utilisation des capacités d’évaluation  • Gestion de la coopération à grande échelle

  41. Réseaux de caches pour les environnements grande échelle

  42. Notion de proximité Objectif Mesurer de la pertinence d’une coopération entre caches • Paramètres physiques • Caractéristiques des hôtes • Capacité de calcul • Charge • Caractéristiques des réseaux • Débit • Latence • Paramètres sémantiques • Homogénéité des données • Similarité des demandes

  43. Exemples de proximité Proximité physique Proximité sémantique

  44. Proximité physique Proximité sémantique Cache dual coopératif pour lagestion de données à grande échelle • Protocoles de résolution pour cache dual • Sans coopération • Physique • Sémantique • Physique et sémantique Cache dual Cache de requêtes Cache d’objets

  45. Plan de la présentation • Caches et interrogation de données • Service de caches adaptables et caches pour l’interrogation de données • Applications à la gestion de données bio-informatiques sur grille • Contexte expérimental • Outils pour l’évaluation de performances • Validation du cache dual • Validation des réseaux de caches à grande échelle • Conclusions et perspectives

  46. SP2 SP3 SP1 Contexte expérimental Architecture à union de serveurs Nancy Rennes Sophia-Antipolis

  47. Proximité au sein d’ACS • Protocole de résolution Inondation  utilisation d’un gestionnaire de topologie • Proximité pour les caches de requêtes prox(a,b) = prox(b,a) = 1 si a et b ont au moins x % de prédicats sur un même ensemble de données • Proximité pour les caches d’objets prox(a,b) = prox(b,a) = 1 si a  G et b  G • Attention : Proximité établie statiquement au moment du déploiement

  48. Raffinement Nouvelle requête Génération de requêtes Charge de travail • Termes appartenant à l’Arbre de vie • Localité sémantique Rx[Luo01] • Communauté (bacteria, eucaryota, archaea, viruses)  Archaea Bacteria Viruses Eukaryota Euryarchaeota … Positive … Firmicutes … Fungi Alveota … … … … … Apicomplexa Ciliophora … … … Q1 exemple Eukaryota  OC Q2  Q1 exemple Eukaryota  OC  Alveota  OC Q3 exemple Archaea  OC

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

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

More Related