Problèmes du chapitre 3 « Modélisation d`un système réparti »

publicité
9
Problèmes du chapitre 3 « Modélisation d’un système réparti »
Les deux premiers problèmes portent sur les relations entre invariants et propriétés de sûreté.
Le problème 7 illustre le lien entre topologie et complexité. Le problème 8 permet de comprendre
l’importance des hypothèses d’atomicité et de synchronisation dans un système réparti. Enfin, le
problème 9 introduit quelques techniques de preuves.
Problème 5 :
Question 5.1 :
Montrer que si P est un invariant, alors P est un invariant restreint.
Question 5.2 :
Exhiber un système de transitions quelconque (sans se préoccuper d’un contexte réel)
dans lequel la réciproque est fausse en général. On explicitera les configurations initiales,
terminales, et atteignables de ce système, et on définira l’ensemble des exécutions.
Problème 6 :
Question 6.1 :
Montrer par l’absurde qu’un invariant restreint définit une propriété de sûreté.
Question 6.2 :
Montrer par l’absurde qu’une propriété de sûreté définit un invariant restreint.
Question 6.3 :
Pourquoi le raisonnement précédent n’est pas correct avec un invariant ?
Problème 7 : Jules-César ordonne aux messagers de ne voyager que la nuit, et aux centurions
de ne travailler que le jour. Il dispose de n camps retranchés placés de telle sorte que si deux d’entre
eux sont reliés par une voie romaine, alors il faut moins d’une nuit à un messager pour aller de l’un à
l’autre. Jules César se trouve dans l’un des camps.
Question 7.1 :
Comment qualifier le système réparti que constitue l’armée de Jules-César ?
Question 7.2 :
Jules César envoie un ordre aux centurions via des messagers en quantité suffisante, mais
sans connaître la topologie du réseau. Quel est le délai d’attente minimal et maximal
pour que son ordre atteigne tous les camps ? Quelle propriété remarquable la topologie
du réseau de voies romaines doit admettre pour que la borne minimale soit atteinte ?
Question 7.3 :
Jules César utilise maintenant un unique messager pour diffuser son ordre, et il demande
à ce messager de revenir l’avertir lorsque tous les camps ont été visités. Que devient le
délai d’attente minimum ? Quelle propriété remarquable la topologie du réseau de voies
romaines doit admettre pour que cette borne soit atteinte ?
[email protected]
2012 TD. Merci de signaler les erreurs.
10
Question 7.4 :
Jules César organise maintenant ses camps en une grille G(V, E) avec V = {1, . . . , p} ×
{1, . . . , q} et E = {((i, j), (i + 1, j)) , 1 ≤ i < p, 1 ≤ j ≤ q} ∪ {((i, j), (i, j + 1)) , 1 ≤
i ≤ p, 1 ≤ j < q}. Construisez un chemin optimal pour le messager de Jules-César. A
quel endroit doit se situer le camp de Jules-César ?
Question 7.5 :
Dans une grille de p × q sommets, quel est le nombre minimal d’étapes (en fonction de
p et q) ?
Question 7.6 :
Jules César change de stratégie et organise son armée en un arbre binaire complet ; son
camp étant à la racine de l’arbre. Quel est le temps minimum de diffusion de l’ordre avec
un nombre de messagers quelconque (sans qu’ils reviennent au camp de Jules-César à la
fin) ? Combien faut-il de messagers pour atteindre cette borne ? Exprimer les résultats en
fonction du nombre n de camps.
Question 7.7 :
Jules-César utilise maintenant un seul messager pour diffuser son ordre dans l’arbre binaire complet. Il ne lui demande pas de revenir le voir lorsque tous les camps ont été
visité. Combien faut-il d’étapes pour que le messager prévienne tous les camps ?
Problème 8 : On considère un système réparti composé de deux processus P1 et P2 , communiquant via deux registres R1 et R2 : le processus P1 écrit dans le registre R1 et lit dans le registre R2
tandis que le processus P2 écrit dans le registre R2 et lit dans le registre R1 (figure 3.2). Les registres
peuvent prendre deux états possibles : 0 ou 1.
R2
P2
P1
R1
F IGURE 3.2 – Système du problème 8.
Le code des processus est donné par l’algorithme suivant :
Algorithme 2 : Algorithme pour le processus Pi
1
2
3
4
5
Initialisation :
xi ← 0 ou 1
Vrai :
xi ← lire(R3−i ))
écrire(Ri , xi )
[email protected]
2012 TD. Merci de signaler les erreurs.
11
Question 8.1 :
Décrire l’ensemble des configurations.
Question 8.2 :
Soit I = {0000, 1001, 0110} l’ensemble des configurations initiales donnée sous le format x1 R1 , x2 , R2 . Donner les exécutions de EI dans le cas d’un démon synchrone. Le
système atteint-il une configuration terminale ?
Question 8.3 :
Donner les exécutions pour le démon réparti en partant de la configuration initiale 0000
(i.e., E0000 ). On représentera ces exécutions sous la forme d’un graphe orienté, dont les
sommets sont les configurations, et dont les arcs représentent les transitions entre ces
configurations (automate). Étiqueter les arcs avec le ou les processus responsables de la
transition.
Question 8.4 :
Même question que précédement avec le démon lecture/écriture, et en partant de la configuration initiale 0000. Étiqueter les arcs avec les actions responsables de la transition.
Quelles sont les configurations non atteignables ?
Problème 9 : On considère un système réparti anonyme composé de N sites Si reliés selon un
anneau orienté symétrique, dont l’un des sites est distingué par le fait qu’il possède un jeton. Les sites
communiquent par registres ; ils ne peuvent reconnaître les émetteurs des messages qu’ils reçoivent
(cf. figure 3.3). On s’intéresse au parcours de l’anneau par un unique jeton.
F IGURE 3.3 – Anneau (problème 9).
Question 9.1 :
Expliquer pourquoi le parcours de l’anneau par un jeton n’est pas immédiat.
Question 9.2 :
On suppose que les sites nomment localement leurs voisins par predi et succi . On étudie
l’algorithme consistant à envoyer le jeton à succi , puis à inverser la valeur de predi et
succi . Écrire le code de l’algorithme avec trois actions gardées, de gardes «Initialisation»,
«Jeton_présent» et «Réception jeton».
Question 9.3 :
Simuler l’algorithme sur un anneau à 6 sommets (cf. figure 3.3), après avoir donné :
(i) la même orientation aux sites, puis
(ii) des orientations quelconques (via les variables pred et succ).
Que constate-t-on ?
Question 9.4 :
L’algorithme est-il uniforme ? Quelle est la complexité mémoire de l’algorithme ? Peutelle être inférieure en écrivant l’algorithme différemment ? Quelle serait alors la complexité minimale ?
[email protected]
2012 TD. Merci de signaler les erreurs.
12
Question 9.5 :
Quelles sont les informations contenues dans une configuration ?
On utilise l’orientation du site distingué (i.e., qui possède le jeton initialement) comme repère : le
sens droit est défini par l’orientation de pred vers succ sur le site distingué à l’initialisation. Le sens
gauche est défini comme le sens inverse du sens droit.
On numérote les sites en donnant le numéro 0 au site distingué dans la configuration initiale, et
en parcourant l’anneau selon le sens droit défini précédemment.
Dans une configuration, un site ayant le sens droit sera noté d et un site ayant le sens gauche sera
noté g. La présence du jeton entre deux sites sera noté _, tandis que la présence du jeton sur un site
sera noté d ou g selon le sens du site.
Question 9.6 :
Donner la séquence de configurations de la simulation de la question 9.3(ii).
On note ck la k ième configuration dans laquelle le jeton revient sur le site S0 .
Question 9.7 :
Montrer par l’absurde que pour toute configuration ck , il existe une configuration atteignable ck+1 .
Question 9.8 :
Montrer que le site S0 est dans le sens droit dans les configurations c2k et dans le sens
gauche dans les configurations c2k+1 pour tout entier k.
On note Cd = {c2k , k ∈ N} l’ensemble des configurations c2k d’une exécution. On définit la
projection p de l’ensemble Cd vers N tel que les sites S0 , S1 , . . . , Sp(c2k )−1 aient tous le sens droit, et
le site Sp(c2k ) ait le sens gauche.
Question 9.9 :
Donner les valeurs successives de la projection p dans la simulation de la question 9.3(ii).
Question 9.10 :
Montrer que tant que tous les sites n’ont pas été visité, alors p(c2k ) < p(c2k+2 ).
Question 9.11 :
En utilisant les questions précédentes, montrer la propriété de vivacité suivante : « dans
toute exécution, le jeton finit par parcourir tous les sites ».
[email protected]
2012 TD. Merci de signaler les erreurs.
Téléchargement