#algorithmes #fr #distributedalgorithms #sorbonne #mutex
Ricart-Agrawala (1981)
C'est une amelioration de l'algorithme de Lamport 2b8b1-lamport-mutex
- File d'attente. chaque processus P_i ne conserve dans sa file d'attente FA_i que les requêtes dont l'acquittement a été différé.
RELEASEest remplacé par le messageREPLYqui possède le sens 'dune autorisation d'accès, délivrée de façon conditionnelle.
Hypothèse
- N processus connu de tous
- communication fiable mais pas FIFO
Messages
- types:
REQUEST. demande d'entrer en section critiqueREPLY. réponse à la reception d'un messageREQUESTRELEASE
- contenu:
(type, (H_i, S_i))
Variables locales du processus i
H_i. horloge logique scalaireFA_i. file d'attente de requêtes- dans l'ordre induit par la valeur de leurs estampilles
At_i. attente de permissionEtat_i.req,not_req,crit_sec
L'algorithme
Variables locales
FA_i = {}
H_i = 0
At_i = 0
R_i = {1, 2, ..., N} - {S_i}
Request_SC
H_i++;
Envoyer REQUEST à tous les autres sites (At_i = R_i - S_i)
Attendre l'accord de tous dles autres sites (REPLY);
Release_SC(S_j)
H_i++;
Diffuser un message REPLY à tous les autres sites differés dans la FA_i;
Reception(msg de S_j)
Mettre à jour H_i (H_i = max(H_i, H_j) + 1);
<...>
Evaluation
- \(2(N-1)\) messages par exécution de section critique
- sûreté. seul le site en tête de la file d'attente
FApourra rentrer en section critique. Les autres attendent que cette demande soit retirée avec un reception de RELEASE - vivacité. toute demande finira par avoir la plus petite estampille et donc se trouvera en tête de la file d'attente
- equitable. par l'ordre total
- avantages.
- hypothèse de canaux FIFO plus nécessaire
- taille de la file d'attente
FAplus petite - moins de messages envoyés par rapport Lamport
- inconvénients.
- pas extensible