Cohérence et volatilité dans un service de partage de données dans les grilles de calcul...
-
Upload
sandrine-lebrun -
Category
Documents
-
view
104 -
download
1
Transcript of Cohérence et volatilité dans un service de partage de données dans les grilles de calcul...
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
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
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
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 ?
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
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
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
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
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
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.
11
Résumé
HomeHome
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
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
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
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
16
Coût de l’allocation
1 grape 2 grapes 3 grapes 4 grapes 5 grapes
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)
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)
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)
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