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

Post on 03-Apr-2015

104 views 1 download

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