72
Contexte et motivations Contributions Mise en œuvre et évaluation Conclusions et perspectives Gestion de données dans les grilles de calcul: Support pour la tolérance aux fautes et la cohérence des données Sébastien Monnet Projet PARIS/IRISA Université de Rennes 1 France 30 novembre 2006 Directeurs de thèse : Luc Bougé et Gabriel Antoniu

Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Gestion de données dans les grilles de calcul:Support pour la tolérance aux fautes

et la cohérence des données

Sébastien Monnet

Projet PARIS/IRISAUniversité de Rennes 1

France

30 novembre 2006

Directeurs de thèse :Luc Bougé et Gabriel Antoniu

Page 2: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

De nouveaux besoins

Simulations numériquesGrande précisionPhénomènes physiquescomplexes

Importants besoinsEfficacité d’interactionExploitation des résultatsPuissance de calculEspace de stockage

Thermodynamique Optique

Mécanique

X

1 / 43

Page 3: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Une solution : les grilles de calcul

Une puissance de calcul virtuellement infinieMutualisation de ressources (calcul, transport, stockage)Ressources distribuées dans différentes organisationsOrganisation virtuelle

Un cas particulier : lesfédérations de grappes

À grande échelle103 − 104 nœudsHétérogènesDynamiquesHiérarchiques

2 / 43

Page 4: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Problème : la gestion des données

BesoinsApplications distribuées sur plusieursnœudsDonnées partagées

Propriétés attenduesTransparence

Localisation, transfert, etc.Persistance

Dépendance de données entreplusieurs calculs

3 / 43

Page 5: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Systèmes existants

Limites : gestion explicite des données par les applicationsLocalisationCohérence des copies

Défi : gestion transparente du partage des données

4 / 43

Page 6: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Les systèmes à mémoire virtuellement partagée(MVP)

PropriétésAccès aux données uniforme via des identifiants globauxLocalisation et transfert transparentsModèles et protocoles de cohérence

5 / 43

Page 7: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Exemple de protocole de cohérence

Cohérence à l’entréeModèle relâchéAssociation explicite de verrous aux donnéesLectures parallèles

acquireacquire_read

Utilisation d’une copie de référence

acquire(data)write (data)release(data)

Client 1 Client 2Responsable

acqui_read

ack

acquire

ack

release

acquire_read(data)read(data)

6 / 43

Page 8: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Défis dans les grilles

Protocoles de cohérence conçus pour des architecturesStatiquesDe petite taille

Défi : intégrer de nouvelles hypothèses !Grande échelleNature dynamique

7 / 43

Page 9: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Grilles de calcul et partage de donnéesGestion de la cohérence et de la tolérance aux fautes

Premier défi : grande échelle

Rennes Orsay

NiceNoeud responsableClient (application)Copie de référence

Différence de latence d’un facteur 1000

8 / 43

Page 10: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Solution : une approche hiérarchique

Rennes Orsay

NiceNoeud responsableClient (application)Copie de référence

Basé sur CLRC [LIP6] et H2BRC [IRISA]

9 / 43

Page 11: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Deuxième défi : nature dynamique

Hypothèses : fautes (crashs) et déconnexionsProblème : disponibilité des donnéesSolution : réplication

10 / 43

Page 12: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Deuxième défi : nature dynamique

Hypothèses : fautes (crashs) et déconnexionsProblème : disponibilité des donnéesSolution : réplication

10 / 43

Page 13: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Deuxième défi : nature dynamique

Hypothèses : fautes (crashs) et déconnexionsProblème : disponibilité des donnéesSolution : réplication

?

10 / 43

Page 14: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Solution : réplication des entités critiques

Solution utilisée pour fiabiliser de nombreux systèmesDARX [LIP6], HORUS [Cornell], LegionFS [U.Va], etc.

BesoinsNotion de groupe : composition de groupesCommunications de groupes : diffusion atomique

11 / 43

Page 15: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Solution : réplication des entités critiques

Solution utilisée pour fiabiliser de nombreux systèmesDARX [LIP6], HORUS [Cornell], LegionFS [U.Va], etc.

BesoinsNotion de groupe : composition de groupesCommunications de groupes : diffusion atomique

11 / 43

Page 16: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Solution : réplication des entités critiques

Solution utilisée pour fiabiliser de nombreux systèmesDARX [LIP6], HORUS [Cornell], LegionFS [U.Va], etc.

BesoinsNotion de groupe : composition de groupesCommunications de groupes : diffusion atomique

11 / 43

Page 17: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Notre approche : réplication hiérarchique

LDG LDG

LDG

LDG : Local Data Group

12 / 43

Page 18: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Notre approche : réplication hiérarchique

LDG LDG

LDG

LDG : Local Data Group

12 / 43

Page 19: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Notre approche : réplication hiérarchique

LDG LDG

LDG

LDG : Local Data GroupGDG : Global Data Group

12 / 43

Page 20: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Double intérêt de la réplication

Localité des accès aux donnéesCopies créées par le protocole de cohérence pouraméliorer les performances des accès

Disponibilité des donnéesCopies créées par les mécanismes de tolérance aux fautes

Deux types de copiesGestion intégrée

Faible nombre de copiesGrande complexité

Gestion disjointeGrand nombre de copiesTolérance aux fautes et cohérence gérées séparément

13 / 43

Page 21: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Une approche intermédiaire : gestion conjointe

Gestion découpléeCohérence des donnéesTolérance aux fautes

Avantages :Conception séparéeMultiples mises en œuvrepossiblesArchitecture multi-protocole

Gestion fine des interactionsCouche de jonction

Gestion de la tolérance aux fautes

Gestion de la cohérence des données

Couche de jonction

14 / 43

Page 22: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Gestion de la tolérance aux fautes

But : mise en place desgroupes de réplication

Mécanismes :Détection de fautesDiffusion atomiqueComposition de groupeAuto-organisation

Conservation dudegré de réplication

Détection de fautes

Diffusion atomique

Composition de groupe

Auto-organisation

15 / 43

Page 23: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Gestion de la cohérence des données

But : gestion de lacohérence des donnéesPropriétés :

Selon le modèle decohérence

Mise en œuvre d’unprotocole de cohérence

16 / 43

Page 24: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Couche de jonction

RôleOffrir des interfacesgénériquesConcentrer lesinteractions entre lescouches

Couche de jonction

Auto-organisation

Composition de groupe

Diffusion atomique

Détection de fautes

17 / 43

Page 25: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Une architecture logicielle multi-protocole

Couche de jonction

Auto-organisation

Composition de groupe

Diffusion atomique

Détection de fautes

18 / 43

Page 26: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Une architecture logicielle multi-protocole

Couche de jonction

Auto-organisation

Composition de groupe

Diffusion atomique

Détection de fautes

18 / 43

Page 27: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

Approche hiérarchiqueGestion conjointe

Une architecture logicielle multi-protocole

Couche de jonction

Auto-organisation

Composition de groupe

Diffusion atomique

Détection de fautes

18 / 43

Page 28: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Cadre de mise en œuvre : JUXMEM

Un service de partage de données pour la grilleDéveloppé au sein du projet PARIS à l’IRISA

Cadre : projet GDS de l’ACI Masse de DonnéesObjectifs

Partage de données transparentLocalisation, transfert, cohérence

Persistance de donnéesTolérance aux fautes

Une approche hybrideSystèmes pair-à-pairSystèmes à mémoire virtuellement partagéeSystèmes distribués tolérants aux fautes

19 / 43

Page 29: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

JXTA - Sun Microsystems

Notion de pairNotion de groupe de pairsMécanismes de communication

Point-à-pointDiffusion

Notion d’annonceMécanismes depublication/recherche

Groupes JXTA différents des groupes de réplication

20 / 43

Page 30: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Architecture générale

Architecture physiqueArchitecture virtuelleGroupe JuxMem

Groupe cluster 1

Groupe cluster 2

Groupe cluster 3

Groupe data

21 / 43

Page 31: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Le noyau JUXMEM : jukRéalisé au cours de la thèse de Mathieu Jan

Permet de s’abstraire de JXTAFonctionnalités

CommunicationPublication/Recherche

LocaleGlobale

Stockage

Interface avec les applications

Noyau JuxMem

CommunicationPublicationrecherche

Stockage

22 / 43

Page 32: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

data_id = juxmem_malloc(size, 2, 2)

23 / 43

Page 33: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

data_id = juxmem_malloc(size, 2, 2)

23 / 43

Page 34: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

data_id = juxmem_malloc(size, 2, 2)

23 / 43

Page 35: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

data_id = juxmem_malloc(size, 2, 2)

23 / 43

Page 36: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

data_id = juxmem_malloc(size, 2, 2)

23 / 43

Page 37: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

juxmem acquire(data_id)juxmem write(data_id)juxmem release(data_id)

23 / 43

Page 38: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Exemple de scénario

juxmem acquire(data_id)juxmem write(data_id)juxmem release(data_id)

juxmem acquire_read(data_id)juxmem read(data_id)juxmem release(data_id)

23 / 43

Page 39: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Mise en œuvre des couches

Mise en œuvre d’unprotocole de cohérence

Module clientModule localModule global

Mise en œuvre d’un groupeauto-organisant

Module clientModule fournisseur

Protocole de cohérence

Groupe auto-organisant

24 / 43

Page 40: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Mise en œuvre des groupes auto-organisants

Approches pour la diffusion atomiqueProtocole d’accordNœud séquenceur

25 / 43

Page 41: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Mise en œuvre des groupes auto-organisants

Approches pour la diffusion atomiqueProtocole d’accordNœud séquenceur

25 / 43

Page 42: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Mise en œuvre des groupes auto-organisants

Approches pour la diffusion atomiqueProtocole d’accordNœud séquenceur

25 / 43

Page 43: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Auto-organisation des groupes

Détection de fautesPolitique

conservation du degré deréplication

Faute d’un fournisseurnon-séquenceur

Recherche d’un remplaçantGel du protocoleMise à jour du remplaçantMise à jour du groupe

Faute du fournisseurséquenceur

Choix du séquenceursuivant (élection)

26 / 43

Page 44: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Auto-organisation des groupes

Détection de fautesPolitique

conservation du degré deréplication

Faute d’un fournisseurnon-séquenceur

Recherche d’un remplaçantGel du protocoleMise à jour du remplaçantMise à jour du groupe

Faute du fournisseurséquenceur

Choix du séquenceursuivant (élection)

26 / 43

Page 45: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Auto-organisation des groupes

Détection de fautesPolitique

conservation du degré deréplication

Faute d’un fournisseurnon-séquenceur

Recherche d’un remplaçantGel du protocoleMise à jour du remplaçantMise à jour du groupe

Faute du fournisseurséquenceur

Choix du séquenceursuivant (élection)

?

26 / 43

Page 46: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Auto-organisation des groupes

Détection de fautesPolitique

conservation du degré deréplication

Faute d’un fournisseurnon-séquenceur

Recherche d’un remplaçantGel du protocoleMise à jour du remplaçantMise à jour du groupe

Faute du fournisseurséquenceur

Choix du séquenceursuivant (élection)

26 / 43

Page 47: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Auto-organisation des groupes

Détection de fautesPolitique

conservation du degré deréplication

Faute d’un fournisseurnon-séquenceur

Recherche d’un remplaçantGel du protocoleMise à jour du remplaçantMise à jour du groupe

Faute du fournisseurséquenceur

Choix du séquenceursuivant (élection)

26 / 43

Page 48: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Auto-organisation des groupes

Détection de fautesPolitique

conservation du degré deréplication

Faute d’un fournisseurnon-séquenceur

Recherche d’un remplaçantGel du protocoleMise à jour du remplaçantMise à jour du groupe

Faute du fournisseurséquenceur

Choix du séquenceursuivant (élection)

26 / 43

Page 49: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 50: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 51: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 52: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 53: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 54: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 55: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 56: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Fonctionnement général

juxmem_acquire(data_id)

27 / 43

Page 57: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

MéthodologieExpérimentation sur des architectures réelles

Multiples types d’évaluationPreuves formellesSimulationsExpérimentations

Expérimentations sur grillesGrid’5000Réservation :OAR/OARGrid [IMAG]Déploiement : ADAGE [IRISA]Récupération des résultats

28 / 43

Page 58: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

Évaluations

1 Coût des mécanismes de réplication2 Bénéfice de l’approche hiérarchique3 Impact des fautes

29 / 43

Page 59: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

1 : Coût de la réplicationDescription des tests

Rennes

Orsay

Nancy

3 grappes géographiquementréparties3×7 fournisseurs1 client

30 / 43

Page 60: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

1 : Coût de la réplicationDans une grappe - coût des opérations de lecture

1

10

100

1000

64 Mo16 Mo4 Mo1 Mo256 ko64 ko16 ko4 ko1 ko

Late

nce

des

opér

atio

ns (

en m

s)

Taille de la donnée

1x11x21x31x51x7

Lecture = acquire_read + read + release31 / 43

Page 61: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

1 : Coût de la réplicationDans une grappe - coût des opérations d’écriture

1

10

100

1000

64 Mo16 Mo4 Mo1 Mo256 ko64 ko16 ko4 ko1 ko

Late

nce

des

opér

atio

ns (

en m

s)

Taille de la donnée

1x11x21x31x51x7

Ecriture = acquire + write + release32 / 43

Page 62: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

1 : Coût de la réplicationDans deux grappes - coût des opérations de lecture

10

20

30

40

50

60

1 Mo256 ko64 ko16 ko4 ko1 ko

Late

nce

des

opér

atio

ns (

en m

s)

Taille de la donnée

2x12x22x32x5

Lecture = acquire_read + read + release33 / 43

Page 63: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

1 : Coût de la réplicationDans deux grappes - coût des opérations d’écriture

10

20

30

40

50

60

70

80

90

100

1 Mo256 ko64 ko16 ko4 ko1 ko

Late

nce

des

opér

atio

ns (

en m

s)

Taille de la donnée

2x12x22x32x5

1x5 (pour comparaison)

Ecriture = acquire + write + release34 / 43

Page 64: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

2 : Bénéfice de l’approche hiérarchiqueConfiguration des expérimentations

Rennes Nancy

LDG unique

Rennes Nancy

GDG

35 / 43

Page 65: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

2 : Bénéfice de l’approche hiérarchique

20

40

60

80

100

120

140

1 Mo256 ko64 ko16 ko4 ko1 ko

Late

nce

des

opér

atio

ns (

en m

s)

Taille de la donnée

Lectures (cas hiérarchique)Écritures (cas hiérarchique)

Lectures (cas non-hiérarchique)Écritures (cas non-hiérarchique)

36 / 43

Page 66: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

MéthodologieInjection de fautes

Expérimentations sans fautesCoût de la tolérance aux fautes ?

Expérimentations avec fautesRésistance aux fautes ?Impact des fautes sur les performances ?

Outil d’injection de fautesBesoin de reproductibilité, de précision et de passage àl’échelleGénération d’un calendrier de fautesIntégré à un outil de déploiement (JDF)

37 / 43

Page 67: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

CadreExempleMise en œuvreÉvaluation

3 : Impact des fautes sur les performances

TempsFaute

Temps de détection Temps de recherche Temps d'auto-organisation

(4.6ms)

200

400

600

800

1000

1200

1400

1600

500 1000 1500 2000 2500 3000

Tem

ps d

e dé

tect

ion

(en

ms)

Intervalle entre les messages de vie (ms)

Temps de détection d'une faute

0 5

10 15 20 25 30 35 40 45 50

4 Mo1 Mo256 ko64 ko16 ko4 ko1 koTem

ps d

e d'

auto

-org

anis

atio

n (m

s)

Taille de la donnée hébergée par le groupe

Temps d'auto-organisation

38 / 43

Page 68: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

ContributionsPerspectivesPerspectives

Contribution : architecture découplée générique

Gestion conjointeProtocoles de cohérence de donnéesMécanismes de tolérance aux fautesArchitecture logicielle multi-protocole

Mise en œuvre et évaluation expérimentaleJUXMEM-c 13 500 lignes de code

dont 6 100 pour la cohérence des données et la tolérance aux fautes

JUXMEM-java 16 700 lignes de codedont 7 300 pour la cohérence des données et la tolérance aux fautes

Expérimentations multi-sites sur Grid’5000Publications : CCGrid 2006, HPDGrid 2006

39 / 43

Page 69: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

ContributionsPerspectivesPerspectives

Contribution : une approche hiérarchiquepour la tolérance aux fautes et la cohérence des données

Intégration dans une architecture hiérarchique commune

Dans le cadre du projet GDS de l’ACI Masse de DonnéesService de partage de données pour la grille

Mise en œuvre et évaluation expérimentaleIntégration de GFD [LIP6]Expérimentations multi-sites sur Grid’5000Publications

WCGC 2006le journal international Concurrency and Computation :Practice and Experience (2006)le chapitre de livre Future Generation Grids (CoreGRIDseries 2006)

40 / 43

Page 70: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

ContributionsPerspectivesPerspectives

Contribution annexe

Réseau logique malléable

Cadre : Collaboration avec l’UIUCUniversity of Illinois at Urbana-ChampaignRéseau logique pair-à-pairBut : offrir des communications de groupe efficaces

Mise en œuvre et évaluationConception d’un simutateur à évènements discretsPublications : SRDS 2006

41 / 43

Page 71: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

ContributionsPerspectivesPerspectives

Perspectives

Données fragmentéesDécoupage des données en blocsBlocs répartis sur un ensemble de fournisseurs

Support d’autres types d’applicationsApplication collaborativesProjet RESPIRE de l’ANR MDMSA débuté en 2006

Intégration à une plate-forme pour applications de fouillede données sur la grille

Collaboration avec l’université de Calabre débutée en 2006

42 / 43

Page 72: Gestion de données dans les grilles de calcul · 2014. 10. 4. · Grilles de calcul et partage de données Gestion de la cohérence et de la tolérance aux fautes Problème : la

Contexte et motivationsContributions

Mise en œuvre et évaluationConclusions et perspectives

ContributionsPerspectivesPerspectives

Perspectives

Mécanismes adaptatifsProtocoles de cohérenceMécanismes de tolérance aux fautes

Fautes des clientsApplications tolérantes aux fautesCouplage points de reprise/réplication

43 / 43