La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Gestion des pannes Algorithmes de reconfiguration danneaux virtuels Alexis CLERC.

Présentations similaires


Présentation au sujet: "Gestion des pannes Algorithmes de reconfiguration danneaux virtuels Alexis CLERC."— Transcription de la présentation:

1 Gestion des pannes Algorithmes de reconfiguration danneaux virtuels Alexis CLERC

2 Plan Généralités sur les anneaux virtuels Problématiques Algorithmes communs Modélisation par réseaux de Pétri

3 Anneaux virtuels : généralités Contexte : système réparti Définitions Jeton

4 Contexte : système réparti Tolérance aux pannes Anneau virtuel

5 Définitions Connexion logique Site Panne

6 Jeton Message de contrôle unique Droits démission Durée limitée A CB TRT THT(A)THT(B)THT(C) d(A,B)d(B,C)d(C,A)

7 Jeton Message de contrôle unique Droits démission Durée limitée Target TRT En avance En retard TRT THT (A) A AA

8 Problématiques Initialisation Insertion Fermeture de lanneau après rupture de liaison logique ou une panne de site Détection et traitement dun partitionnement

9 Initialisation Un site isolé pose sa candidature Négociation I JK L

10 Insertion Si le consensus aboutit à un accord Les anciennes liaisons sont fermées De nouvelles liaisons avec le site candidat sont ouvertes I JK L Oui, mais …..

11 … des problèmes Un inconvénient Une anomalie Autre proposition Raison fondamentale : lasynchronisme

12 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture

13 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : I JK L Etat initial

14 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : Rupture de J-K détectée par K I JK L

15 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : Rupture de K-L détectée par L I JK L

16 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : Rupture de J-K détectée par J I JK L

17 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : J et L sont disponibles J-L établie I JK L

18 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : Rupture de I-J détectée par I I JK L

19 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : I et K sont disponibles I-K établie I JK L

20 Fermeture de lanneau après rupture de liaison logique ou une panne de site Anneau brisé Détection Procédure de fermeture Un exemple : Etat final : Anneau partitionné I JK L

21 Détection et traitement dun partitionnement. Réévaluation des liaisons Voisins les plus proches Suppression de linitialisation

22 Algorithmes communs Pré-requis Exclusion mutuelle par estampilles Election Terminaison Contrôle des accès concurrents et traitements des interblocages

23 Pré-requis Précédence causale Ordonnancement par estampille Ordonnancement par horloges vectorielles

24 Précédence causale Précédence directe a précède b a < b et site(a) = site(b) ou a=site i.send(m) et b=site j.receive(m) Précédence a -> b fermeture transitive de a précède b Concurrence a // b non (a -> b) et non (b -> a).

25 Ordonnancement par estampille Horloge logique Hi de Si Quand e sur Si, Hi ++ Quand Si.send(m), Em estampille(m) = Hi Quand Sj.receive(m),Hj = max(Hj, E(m))+1 Ordre total => Soit a sur Si et b sur Sj a => b Hi(a) < Hj(b) ou (Hi(a) = Hj(b) et i

26 Ordonnancement par horloges vectorielles Problème de => : a => b a -> b ou a et b causalement indépendants Soit un anneau à n sites Chaque Si a un Vi[1…n] Quand e sur Si, Vi[i] ++ Quand Si.send(m), Vm Estampille(m) = Vi Quand Sj.receive(m), Vj[k] := max (Vj[k], Vm[k]) pour k = 1, …, n

27 Ordonnancement par horloges vectorielles (suite) Soit événement a daté par Va Passé(a) = {a, {e/e->a}} Va[i] = # {e / (e->a, et e sur Si) } +1 Ordre partiel V <= W V[k] <= W[k] pour k = 1, …, n V W V // W non (V <= W) et non (V <= W) Précédence causale a -> b Va < Vb a et b causalement indépendants Va // Vb

28 Exclusion mutuelle par estampilles Application directe de lordonnancement des événements par estampilles File dattente répartie, ordonnée Un seul processus en section critique Pi demande lautorisation, Pj la reçoit Pj nest en SC, et na pas fait de demande => accord Pj a fait un demande => accord ou accord différé Pj est en SC => accord différé 2(n-1) messages

29 Election Exemple : perte du jeton Un seul doit le régénérer Choix de lélu arbitraire : Si / i max(1 …n) Algorithme de filtrage Chaque Pi candidat transmet m(i) Quand Pj recoit m(i) Si i < j, m(i) détruit et Pj candidat Sinon, Pj retransmet m(i)

30 Terminaison Détection de la fin dun calcul réparti Comparaison avec linterblocage Similitude : absence dévolution Différence : non connu a priori Détection en 2 tours de jeton Marquage des sites suivant leur activité Terminaison quand tous les sites sont marqués inactifs

31 Contrôle des accès concurrents et traitements des interblocages Exécution séquentielle de processus concurrents Conflit : actions incompatibles sur un objet Relation de dépendance << sur un graphe Cycle sur le graphe = interblocage Contrôle de dépendance Contrôle continu Contrôle de terminaison

32 Contrôle des accès concurrents et traitements des interblocages (suite) Respect de lordre de verrouillage et méthode de détection-guérison des interblocages Graphe de dépendance = graphe dattente Lors dune détection de cycle p1-p2-…-pn Un pi en jeu doit être annulé puis repris Choix du pi : Auteur de linterblocage Celui qui a verrouillé le moins de ressources Le plus récent

33 Contrôle des accès concurrents et traitements des interblocages (suite et fin) Ordonnancement par estampille et méthodes de prévention des interblocages. Ordre établi par estampillage En cas de conflit : si ordre respecté, action acceptée sinon, action annulée, puis reprise Résultat : pas de cycles dans le graphe des attentes

34 Modélisation par réseaux de Pétri Analyse descendante Messages typiques Principe de suspicion Qualités de services des couches inférieures Routage Transport Pertes de messages détectées Messages non dupliqués Messages contrôlés, et donc supposés corrects Liaisons logiques surveillés par émission/acquittement de messages de contrôle, avec un mécanisme de time-out

35 Niveau 0 : Etat dun site Etats Inactif Actif Transitions Traitement de reprise Défaillance IN AC df tr [ IN ( tr > AC ; AC ( df > IN ] *

36 Niveau 1 : Etat dun site / système Etats Déconnecté Transitions Traitement de défaillance Traitement de connexion IN AC df D td tc IN (tr > AC devient IN (td > D ; D ( tc > AC [IN (td > D ; D ( tc > AC ; AC ( df > IN ] *

37 Niveau 2 : Etat dun site / anneau Etats Inactif coté successeur Inactif coté prédécesseur Actif coté successeur Actif coté prédécesseur Transitions Défaillance coté successeur Défaillance coté prédécesseur PI AC devient SA et PA IN devient SI et PI df devient sdf et pdf D SI PASA pdfsdf td tc [ PI et SI ( td > D ; D ( tc > PA et SA ; [ PA ( pdf > PI // SA ( sdf > SI ] ]*

38 Niveau 3 : Etat dun site / voisins Etats Liaisons ouvertes (PO, SO) Liaisons fermées (PF, SF) Transitions Déconnexion quand liaison ouverte (ppo, spo) Déconnexion quand liaison fermée (ppf, spf) Ouverture de liaison (plo, slo) Fermeture de liaison (plf, slf) Rupture de liaison (plr, slr) PI PA devient PF ou PO SA devient SF ou SO sdf devient spo et spf D SI PFSF ppfspf td tc [ PF ( plo > PO ; PO ( plf ou plr > PF] // [ SF ( slo > SO ; SO ( slf ou slr > SF] [ PF ( ppf > PI ou PO (ppo > PI ] // [ SF ( spf > SI ou SO (spo > SI ] POSO ppospo plfslfplrploslrslo

39 Et plus encore !! Messages de synchronisation Identité des sites émetteurs et destinataires -> Réseaux de Pétri à prédicats

40 Bibliographie Modeling of a virtual ring protocol by means of Petri nets Pascal Estraillier – Article présenté au 1er colloque de Génie logiciel The Totem Single-Ring ordering and membership protocol Amir, Moser, Melliar-Smith, Agarwal, Ciarfella – University of California Depth first traversal and virtual ring construction in distribued systems Helary, Raynal – Unité de recherche INRIA Rennes Eléments fondamentaux des systèmes répartis Michel RIVEILL - Projet IMAG-INRIA Sirac

41 Remerciements INRIA pour mavoir envoyé ses articles Mr Terrat pour mavoir prêté larticle sur les réseaux de Petri en français Vous, pour votre attention !


Télécharger ppt "Gestion des pannes Algorithmes de reconfiguration danneaux virtuels Alexis CLERC."

Présentations similaires


Annonces Google