Cohérence et volatilité dans un service de partage de données dans les grilles de calcul...

20
Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA, Rennes RenPar - Avril 2005

Transcript of Cohérence et volatilité dans un service de partage de données dans les grilles de calcul...

Page 1: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

Cohérence et volatilité dans un service de partage de données

dans les grilles de calcul

Jean-François Deverge, Sébastien MonnetProjet PARIS - IRISA/INRIA, Rennes

RenPar - Avril 2005

Page 2: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

2

Contexte : grille de calcul

Architecture visée : fédérations de grappes (ex. GRID 5000) Applications visées : simulations numériques distribuées (ex.

couplage de code) Problème : quelle est la bonne approche pour le partage de

données ?

Solid mechanics

Thermodynamics

Optics

Dynamics

Satellite design

Page 3: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

3

Approches existantes : gestion explicite

Localisation et transfert explicite GridFTP [ANL], MPICH-G2 [ANL]

Sécurité, transfert parallèle

Internet Backplane Protocol [UTK]

Limites Complexité des applications à grande

échelle Aucune garantie de cohérence pour les

données répliquées

Page 4: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

4

Gestion de la cohérence :Sytèmes à Mémoire Virtuellement Partagée

Propriétés : Accès uniforme à la donnée via un identifiant global Localisation et transfert transparents Modèles et protocoles de cohérence

Mais : Petite échelle, architecture statique

Challenge dans les grilles : Intégrer de nouvelles hypothèses !

Passage à l’échelle Nature dynamique Tolérance aux fautes

Nœud 0 Nœud 1

Migration ?Réplication ?

Page 5: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

5

Etude de cas :Protocol de cohérence tolérant aux fautes

Point de départ : protocole « home-based » non tolérant aux fautes

Modèle de cohérence relâchée, cohérence d’entrée Association explicite données / verrous Ecrivain unique / lecteurs multiples

acquire(L) acquireRead(L)

Implémenté par un protocole « home-based »

Home

Client

HomeHome

Page 6: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

6

Idée : groupes tolérants aux fautes

Répliquer les entités critiques sur un groupe de nœuds

Gestion des groupes de nœuds : protocoles de composition de groupe

Diffusion atomique Exemple d’architecture:

A. Schiper[EPFL]

CommunicationsDétecteur de défaillance

Consensus

Composition et communication de groupe

Diffusion atomiqueA

dapte

ur

Tolérance aux fautes

Page 7: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

7

Approche : gestion découplée

Couches de tolérance aux faute et de cohérence séparées

Interactions définies par une couche de jonction

Tolérance aux fautes

Cohérence

Couche de jonction

Page 8: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

8

Interaction cohérence/tolérance aux fautes

Entités critiques implémentées par des groupes de noeuds

Gestion des groupes : protocoles de composition et de communication de groupes

Couche de jonction : Groupe auto-organisant Configuration des nouveaux

membres

Protocole de cohérence (PC)

Configuration dynamique du CP

Tolérance aux fautes

Groupe auto-organisant

A B

C A B

D

A B

D

A B

D

Page 9: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

9

Passage à l’échelle

Client A Client BHome

acquire

lock

acquire

lock

read xdonnée x

release

read xdonnée x

releasew(x)

w(x)

lock

acquire

read xdonnée x

release

Grappe A Grappe B

Page 10: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

10

GG

GL

GL

GL

GG : groupe globalGL : groupe local

Idée : groupes hiérarchiques

Client

Repose sur des mécanismes de réplication et des protocoles de communication de groupe utilisés dans les

systèmes distribués.

Page 11: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

11

Résumé

HomeHome

Page 12: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

12

Cadre d’application : Le service de partage de données JuxMem

Systèmes MVP : cohérence et accès transparent Systèmes pair-à-pair : grande échelle et dynamicité Basé sur JXTA, plateforme pair-à-pair [Sun Microsystems]

Architecture physiqueArchitecture logique

Groupe JuxMem

Groupe cluster A

Groupe cluster B

Groupe cluster C

Groupe data

Page 13: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

13

Implémentation au sein de JuxMem

Groupe data ≈ GL + GG

Architecture physiqueArchitecture logique

Groupe JuxMem

Groupe cluster A

Groupe cluster B

Groupe cluster C

GG GLGL

GG : groupe globalGL : groupe local

Page 14: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

14

Evaluation préliminaire

Expérimentations Coût de l’allocation en fonction du degré de réplication Coût des opérations de base

read/update Environnement de test : grappe paraci (IRISA)

Bi Pentium IV 2,4 Ghz, 1 Go de RAM, Ethernet 100 Emulation de 6 grappes de 8 nœuds

GroupJuxMem

Groupe cluster A Groupe cluster B Groupe cluster C

Groupe cluster FGroupe cluster D Groupe Cluster E

Page 15: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

15

Processus d’allocation

1. Découverte de n fournisseurs selon le degré de réplication spécifié

2. Envoie d’une requête d’allocation aux n fournisseurs trouvés

3. Chaque fournisseur recevant une telle requête :

Instancie les couches de cohérence et de tolérance aux fautes

Page 16: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

16

Coût de l’allocation

1 grape 2 grapes 3 grapes 4 grapes 5 grapes

Page 17: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

17

0

10

20

30

40

50

60

70

1 3 5 7

Degr de rplication

La

ten

ce

(m

s)

Read 16 KOUpdate 16 KO

Coût des opérations de base (16KO)

Page 18: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

18

0

500

1000

1500

2000

2500

3000

1 3 5 7

Degr de rplication

La

ten

ce

(m

s)

Read 4 MOUpdate 4 MO

Coût des opérations de base (4MO)

Page 19: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

19

Conclusion

Gestion de la cohérence de données modifiables répliquées dans un environnement dynamique

Plateforme expérimentale pour étudier les interactions

tolérance aux fautes <-> protocoles de cohérence

Tolérance aux fautes

Cohérence

Groupes auto-organisants

Noyau JuxMem(Mathieu Jan)

Page 20: Cohérence et volatilité dans un service de partage de données dans les grilles de calcul Jean-François Deverge, Sébastien Monnet Projet PARIS - IRISA/INRIA,

20

Travaux en cours

Conception De nouveaux protocoles de cohérence, stage de DEA de Loïc

Cudennec De multiples algorithmes de composition de groupe, réplication

Collaboration avec Indranil Gupta (UIUC, IL) Etude des interactions cohérence / tolérance aux fautes

Expérimentations (avec des fautes ;-)) Multiples scénarios de fautes Multiples protocoles de cohérence / blocks tolérants aux fautes Etude des compromis garanties offertes / efficacité

Introspection et politiques d’adaptation (cohérence, tolérance aux fautes)

Degré de risques Besoins des applications