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

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Caches adaptables et applications aux systèmes de gestion de données

répartis à grande échelle

D’ORAZIO Laurent

Sous la direction deClaudia RONCANCIOCyril 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 grillesUtilisation 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 GedeonSystème de fichiers pour grilles avec capacités d’interrogation par requêtes déclaratives

Donnée

Méta-donnéesIdentifiant

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

Cache

année=2006

{enr-P15711,enr-Q43495}

Sourcede données

année = 2006

année = 2006

Défaut

Motivations– Optimisation des

performances• Accès rapide

– Support physique– Placement

• Réduction de la charge– Sur les serveurs– Sur les réseaux

– Disponibilité

12

Notion de cache

Cache

année=2006

{enr-P15711,enr-Q43495}

année = 2006

Succès

Motivations– Optimisation des

performances• Accès rapide

– Support physique– Placement

• Réduction de la charge– Sur les serveurs– Sur les réseaux

– Disponibilité

Sourcede 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)

Cacheadaptable

ServeursServeurs

14

Limites des caches adaptablespour la gestion de données sur grille

• Non adaptables aux variations de l’environnement

ServeursServeurs

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

Sourcede données

Cache

Cache

Cache

Cache Cache

CacheCaches

coopératifs

Cachescoopératifs

?

17

État de l’art des caches coopératifsCaches répartis [Braun95]

• Principe généralDistribution des requêtes

• Aléatoire• Tourniquet• En fonction des demandes• En fonctions des clients• Etc.

• InconvénientCaches proches physiquement

Sourcede données

Cacheréparti

Cacheréparti

Cacheréparti

Cacheréparti

18

État de l’art des caches coopératifsRésolution verticale [Chankhunthod96]

• Principe généralRésolution par des parents

• Inconvénients– Charge sur les parents– Sensibilité

Sourcede données

CacheCache Cache

Cache

Cacheparent

Cache

19

État de l’art des caches coopératifsRésolution horizontale

• Principe généralRésolution par des frères

• Protocoles– Inondation

[Chankhunthod96]– Catalogue [Fan98]

• InconvénientGestion dans un environnement grande échelle

Sourcede données

Cachefrère

Cache

Cachefrère

Cachefrère

Cachefrère

Cachefrère

Cachefrère

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

Cache sémantique

DT>2005 {enr-P15711,enr-Q43495}

ConsultationDT>2005

DT>2005

Sourcede données

Restante :DT>2000DT<2005

22

É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

Équivalence succès étenduE : année = 2006Q : année < 2007 année > 2005

Entrée

Requête

Requête

Entrée

Requête dans entrée succès étendu

E : année = 2006Q : année=2006 auteur= «Blanchet»

Entrée

Requête

Entrée dans requête succès partiel

E : année = 2006Q : année > 2005

Requête Entrée

Recouvrement partiel succès partielE : auteur = « Blanchet » année = 2006Q : auteur = « Blanchet » espèce = virus

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

année=2006 {enr-P15711, enr-Q43495}

année=2010 {}

espèce=virus {enr-P15711, enr-P13813}

auteur=Blanchet

{enr-P13813, enr-P19084}

Cache de prédicats et d’objets

année=2006 {P15711, Q43495}

année=2010 {}

espèce=virus {P15711, P13813}

auteur=Blanchet

{P13813, P19084}

P15711 enr-P15711

Q43495 enr-Q43495

P13813 enr-P13813

P19084 enr-P19084

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

ACS (Adaptable Cache Service)

• ObjectifConstruction 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é

Gestionnairede

remplacement

Gestionnairede

cache

Gestionnairede

contenu

Gestionnairede

résolution

Gestionnaired’analyse

Gestionnaired’évaluation

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

RésolutionSource 1

Contenuhachage

Cacheélémentaire

RemplacementLRU

RésolutionSource 2

RemplacementSIZE

28

Prototype d’ACS

• Architecture du canevas– Java + Fractal

– Interfaces + patrons d’interactions

– Bibliothèque de composants

29

Construction à l’aide d’ACS d’un cache pour l’application bio-informatique

RemplacementLRU

Cacheélémentaire

Contenuhachage

Résolutiongrille

Admissiontaille

Composants réutilisés

Composants spécifiques

Réutilisation de code = 88 %

Cache

année=2006

{enr-P15711,enr-Q43495}

30

ACS et gestion de la sémantique

Gestionnairede

remplacement

Gestionnairede

cache

Gestionnairede

contenu

Gestionnairede

résolution

Gestionnaired’analyse

Gestionnaired’évaluation

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

Cache sémantique

Gestionnaired’évaluation, , TRIS,

etc.

Évaluation, , TRIS,

etc.

Gestionnaired’analyse, ,

Analyse, ,

Gestionnairecache

sémantique

31

Construction à l’aide d’ACS d’un cachede résultats de requêtes pourl’application bio-informatique

Gestionnaired’analyse

,

Gestionnaired’évaluation

Cache de résultats de requêtes

année=2006 {enr-P15711, enr-Q43495}

année=2010 {}

espèce=virus {enr-P15711, enr-P13813}

auteur=Blanchet

{enr-P13813, enr-P19084}

Gestionnairede

remplacement

Gestionnairede

contenu

Gestionnairede

résolution

Gestionnaired’analyse

Gestionnaired’évaluation

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

ÉvaluateurGedeon

Analysevecteurs,

Gestionnairecache

sémantique

Réutilisation de code = 81 %

32

Construction à l’aide d’ACS d’un cachede prédicats et d’objets pourl’application bio-informatique

Gestionnaired’analyse

,

Gestionnaired’évaluation

Cache sémantique

Cache de prédicats et d’objets

année=2006 {P15711, Q43495}

année=2010 {}

espèce=virus {P15711, P13813}

auteur=Blanchet

{P13813, P19084}

P15711 enr-P15711

Q43495 enr-Q43495

P13813 enr-P13813

P19084 enr-P19084Gestionnaire

deremplacement

Contenuprédicats/ objets

Gestionnairede

résolution

Gestionnaired’analyse

Gestionnaired’évaluation

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

ÉvaluateurGedeon

Analysevecteurs,

Gestionnairecache

sémantique

Réutilisation de code = 100 %

33

ACS et caches répartis

Gestionnairede

remplacement

Gestionnairede

cache

Gestionnairede

contenu

Gestionnairede

résolution

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

Cache réparti

Sourcede données

Cacheréparti

Cacheréparti

Cacheréparti

Cacheréparti

34

ACS et caches avecrésolution verticale

Gestionnairede

remplacement

Gestionnairede

cache

Gestionnairede

contenu

Résolutioncacheparent

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

Sourcede données

CacheCache Cache

Cache

Cacheparent

Cache

35

ACS et caches avecrésolution horizontale

Gestionnairede

remplacement

Gestionnairede

cache

Gestionnairede

contenu

RésolutionInondation/ catalogue

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

Sourcede données

Cachefrère

Cache

Cachefrère

Cachefrère

Cachefrère

Cachefrère

Cachefrère

36

ACS et caches sémantiques coopératifs

Gestionnairede

remplacement

Gestionnairede

cache

Gestionnairede

contenu

Résolutionhorizontaleinondation

Gestionnaired’analyse

Gestionnaired’évaluation

Gestionnaired’admission

Fonctionnalités élémentaires

Fonctionnalités optionnelles

Évaluation, , etc.

Analyse, ,

Gestionnairecache

sémantique

Sourcede données

Cachefrère

Cachesémantique coopératif

Cachefrère

Cachefrère

Cachefrère

Cachefrère

Cachefrère

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

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êtesannée=2006 {P15711,

Q43495}

année=2010 {}

espèce=virus {P15711, P13813}

auteur=Blanchet

{P13813, P19084}

Cache d’objetsP15711 enr-P15711

Q43495 enr-Q43495

P18646 enr-P18646

Q9XHP0 enr-Q9XHP0

ServeursServeurs

Requête

{identifiant}

39

Cache dual sémantique

Cache dual

Cache de requêtesannée=2006 {P15711,

Q43495}

année=2010 {}

espèce=virus {P15711, P13813}

auteur=Blanchet

{P13813, P19084}

Cache d’objetsP15711 enr-P15711

Q43495 enr-Q43495

P18646 enr-P18646

Q9XHP0 enr-Q9XHP0

Ge

stion

na

ired

’an

alyse

Ge

stion

na

ired

’éva

lua

tion

Gestion de la sémantique– Analyse et cache de

requêtes• Équivalence• Inclusions• Recouvrements partiels

– Évaluation et cache d’objets• Sélection• Projection• Tri

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é

ObjectifMesurer 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é physiqueProximité sémantique

44

Cache dual coopératif pour lagestion de données à grande échelle

Cachedual

Cache derequêtes

Cached’objets

Proximité physiqueProximité sémantique

• Protocoles de résolution pour cache dual– Sans coopération– Physique– Sémantique– Physique

etsémantique

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

Contexte expérimental

Rennes

Sophia-Antipolis

Nancy

SP1

SP2SP3

Architecture à union de serveurs

47

Proximité au sein d’ACS

• Protocole de résolutionInondation utilisation d’un gestionnaire de topologie

• Proximité pour les caches de requêtesprox(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’objetsprox(a,b) = prox(b,a) = 1 si a G et b G

• Attention :Proximité établie statiquement au moment du déploiement

48

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)

Bacteria

Archaea VirusesEukaryota

Apicomplexa

Euryarchaeota PositiveFirmicutes Fungi Alveota

Ciliophora …

… …

…… ……

…… …

Q1 exemple Eukaryota OCRaffinement

Q2 Q1 exemple Eukaryota OC Alveota OCNouvellerequête 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

CacheSémantique

Tempsde réponse

Succèsexacts

Succèsétendus

Charge surles serveurs

Évaluations sur les serveurs

Volumetransféré

Cache de résultats de requêtes

73.52 s 19.16 %

56.38 %

24,46 % 24,46 % 187.526 Go

Cache de prédicats et d’objets

71.01 s 26.46 %

49.70 %

23.84 % 23.84 % 185.464 Go

Cache dual 47.26 s 52.94 %

39.02 %

23,34 % 8.04 % 132.197 Go

51

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 %

52

• 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

Temps de

réponse

Évaluationssur les serveurs

Données transférées

Données transférées(serveurs - caches)

Sans coopérations

103.3 s 34 % 30.4 Go 30.4 Go

Physique 102.1 s 34 % 30,4 Go 25.9 Go

Sémantique 32.1 s 9 % 29.5 Go 29.5 Go

Physique sémantique

24.4 s 9 % 25.1 Go 11.5 Go

Analyse des protocoles de résolution

53

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

54

Résumé

• Objectif de la thèseOptimiser la gestion de données sur grilles

• Contributions– État de l’art des caches sémantiques et des caches coopératifs– Canevas pour la construction de caches adaptables

[MGC2005] [BDA2006]

– Cache sémantique pour la gestion de données sur grille[BDA2006] [CFSE2006] [CLCAR2007]

– Gestion des coopérations entre caches à grande échelle[BDA2007] [DEXA2007]

• Expérimentations sur grille de données

55

Perspectives

• Caches et hétérogénéité de données• Analyses et évaluations dans les caches sémantiques• Accès efficace à des volumes importants de données• Gestion de la cohérence à grande échelle

Considérer les mises à jours

• Adaptation contextuelle de caches

56

Adaptation contextuelle de caches

Gestionnaire de contexte- Modélisation- Capture- Gestion des situations pertinentes

Cache ACS

Gestionnaire d’adaptation

Résolution

Cache élémentaire

Contexte

Règles activesECA

Paramétrisation

57

Adaptation contextuelle de caches

Gestionnaire de contexte- Modélisation- Capture- Gestion des situations pertinentes

Cache ACS

Gestionnaire d’adaptation

Résolution

Cache élémentaire

Contexte

Règles activesECA

Analyse Évaluation

Cache sémantique

58

Vers des caches autonomes

59

Merci

Questions

60

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.

61

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.

Recommended