
3/4
Q7/ Pensez-vous qu'il y'a des messages inutiles après l'instant C ? Si oui Lesquels ? Que proposez-vous ?. Sinon
quelle conclusion peut-on tirer ?.
Réponse : S2 venait de quitter la SC, et pour son 2ème passage il doit
réitérer le message de Requête (aux sites 1
et 2) et doit attendre les Accusés de réception de ces 2 sites. Ces messages (Requete et ACK) peuvent
paraitre inutiles.
L'idée (Algorithme de Cavalho et Roucairol) est donc de permettre à un site qui vient de quitter la SC de la
réutiliser directement , autant de fois qu'il veut, s'il a déjà obtenu les ACK des autres sites et tant qu'il n'ya
aucun de ces sites qui ne souhaite entrer en SC. On revient à l'algorithme original lorsque l'un des sites
souhaite de nouveau l'utilisation de la SC.
(2 points)
Exercice 2 (7 points) :
Q1/ Parfois pour exécuter une certaine tâche, les processus d'un système réparti doivent avoir un consensus entre
eux. Donnez deux exemples d'applications nécessitant un consensus.
Réponse :
Validation d'une transaction répartie, élection d'un coordinateur, construction de groupes,
...etc.
(1 point)
Q2/ Expliquez brièvement pourquoi ce problème est réputé difficile.
Réponse :
L'obtention du consensus peut devenir complexe dans les cas suivants :
• Arrêt (défaillance) d'un site
• Omission : Un site omet d'envoyer ou de recevoir certains message indispensables au calcul
du consensus.
• Fonctionnement arbitraire (ou byzantin) : Un site peut avoir un comportement douteux et
envoie des messages arbitraires.
(2 points)
Q3/ Rappelez brièvement les propriétés admises pour un consensus.
Réponse :
• Accord : la valeur décidée est la même pour tous les processus corrects
• Intégrité : tout processus décide au plus une fois (sa décision est définitive)
• Validité : la valeur décidée est l'une des valeurs proposées
• Terminaison : tout processus correct décide au bout d'un temps fini.
(2 points)
Q4/ On utilise l'algorithme de consensus par messages symétriques : Chaque site diffuse sa valeur à tous les sites, y
compris à lui-même. Après avoir reçu toutes les valeurs, chaque site calcule le min des valeurs reçues. Quelles sont
les conditions d'application de l'algorithme ?.
Réponse :
• La communication doit être synchrone.
• Pas de défaillance de processus (sites)
(1 point)