1 / 41

Gestion des pannes Algorithmes de reconfiguration d’anneaux virtuels Alexis CLERC

Gestion des pannes Algorithmes de reconfiguration d’anneaux virtuels Alexis CLERC. Plan. Généralités sur les anneaux virtuels Problématiques Algorithmes communs Modélisation par réseaux de Pétri. Anneaux virtuels : généralités. Contexte : système réparti Définitions Jeton.

kerem
Download Presentation

Gestion des pannes Algorithmes de reconfiguration d’anneaux virtuels Alexis CLERC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gestion des pannes Algorithmes de reconfiguration d’anneaux 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. A C B Jeton • Message de contrôle unique • Droits d’émission • Durée limitée TRT THT(A) THT(B) THT(C) d(A,B) d(B,C) d(C,A)

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

  8. Problématiques • Initialisation • Insertion • Fermeture de l’anneau après rupture de liaison logique ou une panne de site • Détection et traitement d’un partitionnement

  9. I J K L Initialisation • Un site isolé pose sa candidature • Négociation

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

  11. … des problèmes • Un inconvénient • Une anomalie • Autre proposition • Raison fondamentale : l’asynchronisme

  12. Fermeture de l’anneau après rupture de liaison logique ou une panne de site • Anneau brisé • Détection • Procédure de fermeture

  13. I J K L Fermeture de l’anneau après rupture de liaison logique ou une panne de site • Anneau brisé • Détection • Procédure de fermeture • Un exemple : • Etat initial

  14. I J K L Fermeture de l’anneau 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

  15. I J K L Fermeture de l’anneau 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

  16. I J K L Fermeture de l’anneau 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

  17. I J K L Fermeture de l’anneau 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

  18. I J K L Fermeture de l’anneau 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

  19. I J K L Fermeture de l’anneau 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

  20. I J K L Fermeture de l’anneau 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é

  21. Détection et traitement d’un partitionnement. • Réévaluation des liaisons • Voisins les plus proches • Suppression de l’initialisation

  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<j). • e(numéro de site, estampille)

  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 et 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 l’ordonnancement des événements par estampilles • File d’attente répartie, ordonnée • Un seul processus en section critique • Pi demande l’autorisation, Pj la reçoit • Pj n’est en SC, et n’a 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 d’un calcul réparti • Comparaison avec l’interblocage • 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 l’ordre de verrouillage et méthode de détection-guérison des interblocages • Graphe de dépendance = graphe d’attente • Lors d’une détection de cycle p1-p2-…-pn • Un pi en jeu doit être annulé puis repris • Choix du pi : • Auteur de l’interblocage • 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 d’un site • Etats • Inactif • Actif • Transitions • Traitement de reprise • Défaillance IN tr df AC [ IN ( tr > AC ; AC ( df > IN ] *

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

  37. Niveau 2 : Etat d’un 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 SI PI td D pdf sdf tc PA SA AC devient SA et PA IN devient SI et PI df devient sdf et pdf [ PI et SI ( td > D ; D ( tc > PA et SA ; [ PA ( pdf > PI // SA ( sdf > SI ] ]*

  38. Niveau 3 : Etat d’un site / voisins SI PI • 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) td D ppo ppf spf spo tc PF SF plf plr plo slf slr slo PO SO PA devient PF ou PO SA devient SF ou SO sdf devient spo et spf sdf devient spo et spf [ 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 ]

  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 m’avoir envoyé ses articles • Mr Terrat pour m’avoir prêté l’article sur les réseaux de Petri en français • Vous, pour votre attention !

More Related