610 likes | 712 Views
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
E N D
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 • Météorologie • Biologie : décryptage de génome • Imagerie médicale • Etc.
Caractéristiques de la gestionde données sur grille Partage de ressources • Grappe (cluster) : ensemble de nœuds • Grille : grappe de grappes
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 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é
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
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
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
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
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
Limites des caches adaptablespour la gestion de données sur grille • Non adaptables aux variations de l’environnement Serveurs
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
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
É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
É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
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
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
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 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
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
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
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
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
Prototype d’ACS • Architecture du canevas • Java + Fractal • Interfaces + patrons d’interactions • Bibliothèque de composants
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
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
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
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
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
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
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
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
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
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
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
Exemples de proximité Proximité physique Proximité sémantique
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
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
SP2 SP3 SP1 Contexte expérimental Architecture à union de serveurs Nancy Rennes Sophia-Antipolis
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
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
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