Académique Documents
Professionnel Documents
Culture Documents
Détection de la terminaison
Détection de l’interblocage
La diffusion fiable
10 octobre 2017
plan
1 Exclusion mutuelle
Le problème
Jeton circulant
Algorithme de Ricart-Agrawala
Algorithme à base d’arbitres
2 Détection de la terminaison
Le problème
Terminaison sur un anneau
Algorithme des quatre compteurs
Algorithme des crédits
3 Détection de l’interblocage
Le problème
Caractérisation de l’interblocage
Algorithme de Chandy, Misra, Haas
4 La diffusion fiable
Systèmes et algorithmes répartis – IV 2 / 39
Exclusion mutuelle Le problème
Détection de la terminaison Jeton circulant
Détection de l’interblocage Algorithme de Ricart-Agrawala
La diffusion fiable Algorithme à base d’arbitres
Plan
1 Exclusion mutuelle
Le problème
Jeton circulant
Algorithme de Ricart-Agrawala
Algorithme à base d’arbitres
2 Détection de la terminaison
Le problème
Terminaison sur un anneau
Algorithme des quatre compteurs
Algorithme des crédits
3 Détection de l’interblocage
Le problème
Caractérisation de l’interblocage
Algorithme de Chandy, Misra, Haas
4 La diffusion fiable
Systèmes et algorithmes répartis – IV 3 / 39
Exclusion mutuelle Le problème
Détection de la terminaison Jeton circulant
Détection de l’interblocage Algorithme de Ricart-Agrawala
La diffusion fiable Algorithme à base d’arbitres
Spécification du problème
A
process P(int i) : B
. . . ; Entrer(i) ; <SC> ; Sortir(i) ; . . .
Diagramme d’état
Sortir(i) hors Entrer(i) D
C
exclusion candidat
Fin de Entrer
D est en exclusion
A est candidat
Sûreté : Un processus au plus en exclusion
∀i, j :: Pi .exclusion ∧ Pj .exclusion ⇒ i = j
Vivacité faible : pas d’interblocage (certains candidats
finissent par entrer)
Vivacité forte : Tout candidat finit par entrer
Protocole : Tout processus en exclusion finit par sortir
Systèmes et algorithmes répartis – IV 4 / 39
Exclusion mutuelle Le problème
Détection de la terminaison Jeton circulant
Détection de l’interblocage Algorithme de Ricart-Agrawala
La diffusion fiable Algorithme à base d’arbitres
Problèmes similaires. . .
Isoler un processus parmi tous : introduire une asymétrie
Solution
Utilisation de permissions individuelles avec :
∀i : Di = Tous − {i}
Ordonnancement des requêtes par datation
Messages
Message de requête : le site i demande l’autorisation à j
Message d’autorisation : le site j donne son autorisation à i
Pas de message de refus : le refus est temporaire
Systèmes et algorithmes répartis – IV 9 / 39
Exclusion mutuelle Le problème
Détection de la terminaison Jeton circulant
Détection de l’interblocage Algorithme de Ricart-Agrawala
La diffusion fiable Algorithme à base d’arbitres
Principes
Requêtes d’entrée totalement ordonnées :
⇒ Utilisation d’horloges de Lamport
Chaque processus Pi candidat ou en exclusion connaı̂t la date
de sa requête courante Date(Ri )
Un candidat entre en exclusion s’il a obtenu les permissions de
tous les autres
⇒ il possède alors la requête la plus ancienne
Revient à vérifier que la requête Ri d’un processus Pi est la
plus vieille requête des processus candidats ou en exclusion :
∀k : Pk .Etat 6= hors ⇒ Date(Ri ) ≤ Date(Rk )
Permissions d’arbitres
Principe
Obtenir la permission de tous les arbitres contactés.
Condition nécessaire : ∃ arbitre commun : ∀i, j : Di ∩ Dj 6= ∅
Exemple
i prend pour arbitre : 1 2 3 4 5
1 • •
2 • •
3 • •
4 • •
5 • •
Note : 1 et 5 ne sont pas arbitres
Quorums
Définition
Un système de quorum est un ensemble d’ensembles, tel que tout
couple d’ensemble a une intersection non vide :
Q = {Q1 , . . . , Qn }, ∀i, j : Qi ∩ Qj 6= ∅
Un quorum Qi est responsable pour l’ensemble total.
Idéalement :
Effort identique : Tous les quorums ont la même taille :
∀i : |Qi | = K
Responsabilité identique : Tous les sites appartiennent au
même nombre de quorums : ∀i : |{j : i ∈ Qj }| = D
√
Minimalité : K = D = le plus petit possible (théorie : ≈ n)
Permissions d’arbitres
Construction facile d’un système de quorum quasi optimal :
Construire une matrice arbitraire, éventuellement en
dupliquant certains sites :
1 2 3
4 5 6
7 8 9
Permissions d’arbitres
ATTENTION : pas de miracle. . .
Plan
1 Exclusion mutuelle
Le problème
Jeton circulant
Algorithme de Ricart-Agrawala
Algorithme à base d’arbitres
2 Détection de la terminaison
Le problème
Terminaison sur un anneau
Algorithme des quatre compteurs
Algorithme des crédits
3 Détection de l’interblocage
Le problème
Caractérisation de l’interblocage
Algorithme de Chandy, Misra, Haas
4 La diffusion fiable
Systèmes et algorithmes répartis – IV 16 / 39
Exclusion mutuelle Le problème
Détection de la terminaison Terminaison sur un anneau
Détection de l’interblocage Algorithme des quatre compteurs
La diffusion fiable Algorithme des crédits
en cours Fini
Obs
C
⇒ Les phases actives peuvent être vues comme atomiques
Principe
Les sites sont organisés en anneau (communication FIFO depuis le
précédent / vers le suivant mais à destinataire arbitraire).
Parcourir l’anneau et vérifier que tous les sites sont passifs.
Difficulté
Un message émis avant le passage du visiteur sur le site émetteur
peut être reçu après le passage du visiteur sur le site récepteur et
réactiver un site trouvé passif
Terminaison – Misra
A A A
1 m
2 3
B B B
m
m'
A A A
6 5 m' 4
B B B
M
B
(4,3)
m (2,3)
C
S1
S2
Faire_suivrei
Visiteri Faire_suivre(i+1)
S3
Visiter(i+1)
S4
Visiter(i+1)
Visiteri
Observateur
Détection de la terminaison
nécessite deux vagues successives
Terminaison si : Ri = Ei+1 (car ⇒ ∃t < di+1 : E (t) = R(t))
Détection avec un retard d’au plus la durée de la dernière
vague
C
di fi di+1 fi+1
observateur
(E1, R1) (E2, R2)
(E, R)
(1) E ≥R calcul réparti
(2) E1 ≤ E ≤ E2 compteurs croissants (E , R) valeurs réelles
(3) R1 ≤ R ≤ R2 idem (et inconnues) des
(4) E 2 = R1 détection annoncée compteurs entre deux
(5) E ≤R d’après 2,3,4 vagues successives.
E =R d’après 1,5
Exclusion mutuelle Le problème
Détection de la terminaison Terminaison sur un anneau
Détection de l’interblocage Algorithme des quatre compteurs
La diffusion fiable Algorithme des crédits
Principe
Le processus initial possède un crédit de 1
Le crédit courant est partagé entre les messages émis
Un processus rend son crédit s’il n’envoie pas de message
Terminaison lorsque la somme collectée égale 1
Collecteur 0 ½ ¾ 1
½
¼ ¼
1
A
¼
½ ½ ¼
½ ½
B
½ ¼
C
Plan
1 Exclusion mutuelle
Le problème
Jeton circulant
Algorithme de Ricart-Agrawala
Algorithme à base d’arbitres
2 Détection de la terminaison
Le problème
Terminaison sur un anneau
Algorithme des quatre compteurs
Algorithme des crédits
3 Détection de l’interblocage
Le problème
Caractérisation de l’interblocage
Algorithme de Chandy, Misra, Haas
4 La diffusion fiable
Systèmes et algorithmes répartis – IV 29 / 39
Exclusion mutuelle Le problème
Détection de la terminaison Caractérisation de l’interblocage
Détection de l’interblocage Algorithme de Chandy, Misra, Haas
La diffusion fiable
Spécification du problème
Graphe d’attente
Graphe d’attente
Graphe dont les nœuds sont les processus, et un arc entre pi et pj
si pi est bloqué / en attente de pj
p4 p2 p5 p4 p2 p5
p1 p3 p1 p3
Modèles de communication
Modèle ET : un processus est bloqué tant qu’il n’a pas reçu
un message depuis tous ceux qu’il attend
Modèle OU : un processus est bloqué tant qu’il n’a pas reçu
un message depuis l’un de ceux qu’il attend
Modèle ET
Existence d’un cycle dans le graphe d’attente
Modèle OU
Existence d’une composante fortement connexe terminale dans le
graphe d’attente
P3 P5 P3
P5
P4
P1 P4
1e visite 2e visite
P4 P2 P4
P3
P3
cycle
P2
P2 2e visite (jonction)
P5 P4 P5
3e visite
P1 P2 P1
cycle
Enquête Réponse
Propriétés
Terminaison de la construction de l’arbre ⇒ P2 est interbloqué
Pas de terminaison : Il faudra recommencer. . .
Plan
1 Exclusion mutuelle
Le problème
Jeton circulant
Algorithme de Ricart-Agrawala
Algorithme à base d’arbitres
2 Détection de la terminaison
Le problème
Terminaison sur un anneau
Algorithme des quatre compteurs
Algorithme des crédits
3 Détection de l’interblocage
Le problème
Caractérisation de l’interblocage
Algorithme de Chandy, Misra, Haas
4 La diffusion fiable
Systèmes et algorithmes répartis – IV 35 / 39
Exclusion mutuelle
Détection de la terminaison
Détection de l’interblocage
La diffusion fiable
La diffusion fiable
Hypothèses
Réseau point-à-point fiable (tout
P2
message finit par arriver, intact, s’il
existe un lien entre l’émetteur et le P1
destinataire) P5
Réception(hp,mi), sur q
si q n’a pas déjà délivré m alors
si p 6= q alors -- propagation
∀ s ∈ voisins(q) faire
envoyer(hp,mi) à s
fin pour
fin si
délivrer(m)
fin si
Systèmes et algorithmes répartis – IV 37 / 39
Exclusion mutuelle
Détection de la terminaison
Détection de l’interblocage
La diffusion fiable
Propriétés
Conclusion