AccueilđŸ‡«đŸ‡·Chercher

Algorithme de Maekawa

L'algorithme de Maekawa est un algorithme d'exclusion mutuelle sur un systÚme distribué.

Dans l'algorithme de Maekawa, chaque composant appelé « site » ne peut donner de permission d'entrée dans une section critique qu'à un seul autre composant à la fois. Chaque site a la charge d'arbitrer les éventuels conflits qui apparaßtront entre différents autres sites. Cela impose au participant à qui cette permission a été donnée de rendre la main sur la section critique spontanément une fois qu'il a fini son travail, c'est-à-dire lorsqu'il sort de sa section critique[1].

Terminologie

  • Un « site » est l'endroit oĂč est exĂ©cutĂ© l'algorithme de Maekawa
  • Pour toute demande d'entrĂ©e en section critique :
    • Le « site demandeur » est le site qui demande d'entrer en section critique.
    • Le « site de rĂ©ception » est tout autre site qui reçoit la demande du site demandeur.
  • Tout site ayant donnĂ© sa permission en rĂ©ponse Ă  une demande est dit « verrouillĂ© »

Différents types de messages échangés

Les types de messages échangés lors de l'exécution de l'algorithme sont :

  • DEMANDE : un message de demande d'entrĂ©e en section critique
  • ACCORD : un message d'acceptation d'entrĂ©e en section critique
  • ÉCHEC : un message de refus d'entrĂ©e en section critique
  • SONDAGE : un message envoyĂ© pour rĂ©soudre les problĂšmes d’interblocage
  • RESTITUTION : une rĂ©ponse Ă  un message SONDAGE
  • LIBÉRATION : un message de sortie de section critique

Algorithme

Site demandeur

  • Un site demandant envoie un message de demande Ă  tous les sites dans son quorum Ri.

Site receveur

  • Lors de la rĂ©ception d'un message de demande , le site de rĂ©ception :
    • Si le site n'a pas un accord en cours (c'est-Ă -dire un message d'accord qui n'a pas Ă©tĂ© relĂąchĂ©), alors le site envoie un message d'accord (j) sur le site .
    • Si le site a un accord en cours pour un processus avec une prioritĂ© plus Ă©levĂ©e que la demande, alors le site envoie un message d'Ă©chec (j) sur le site et ajoute Ă  sa file d'attente la demande du site .
    • Si le site a un accord en cours pour un processus avec une prioritĂ© infĂ©rieure Ă  la demande, alors le site envoie un message de sondage (j) au processus qui est actuellement autorisĂ© Ă  accĂ©der Ă  la section critique par le site (c'est-Ă -dire le site avec le message d'accord en cours).
  • Lors de la rĂ©ception d'un message de sondage (j), le site :
    • Envoie un message de restitution (k) sur le site si et seulement si le site a reçu un message d'Ă©chec d'un autre site, ou si a envoyĂ© un message de restitution Ă  un autre site, mais n'a pas reçu un nouvel accord.
  • Lors de la rĂ©ception d'un message de restitution (k), le site :
    • Envoie un message d'accord Ă  la premiĂšre demande de sa file d'attente. Notez que les requĂȘtes au sommet sont celles de plus haute prioritĂ©.
    • Place dans sa file d'attente.
  • Lors de la rĂ©ception d'un message de libĂ©ration (i), le site :
    • Supprime de sa file d'attente.
    • Envoie un message d'accord Ă  la premiĂšre demande de sa file d'attente.

Section critique

  • Un site entre dans la section critique lorsqu'il reçoit un message d'accord de tous les sites du quorum Ri.
  • À la sortie de la section critique, envoie un message de libĂ©ration (i) Ă  tous les sites de Ri.

Quorum

Un quorum doit respecter les propriétés suivantes :

  1. Le site est contenu dans exactement K ensembles de requĂȘtes
Ce qui implique:

Performance

  • En nombre de messages sur le rĂ©seau : Ă 
  • DĂ©lai de synchronisation : dĂ©lai de 2 messages de propagation

Notes et références

  1. Oldehoeft,1987

Bibliographie

  • Maekawa, M., Oldehoeft, A., Oldehoeft, R.(1987). Operating Systems: Advanced Concept.Benjamin/Cummings Publishing Company, Inc.

Voir aussi

Lien externe

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.