Académique Documents
Professionnel Documents
Culture Documents
Dure : 1 heure 30
Juin 2009
Consignes
Tous les documents (sur papier) sont autoriss.
Les calculatrices, tlphones, PSP et autres engins lectroniques ne le sont pas.
Rpondez sur le sujet dans les cadres prvus cet effet, ainsi que sur les figures.
Il y a 5 pages dnonc.
Rappelez votre nom en haut de chaque feuille au cas o elles se mlangeraient.
Le barme est indicatif et correspond une note sur 27.
P2
P3
P4
1
a
1
7
c
6
10
d
3
10
b
0
ac
ca
akc
bc
cb
bkc
1
ad
da
akd
On considre les deux coupures dsignes C1 et C2 dans la figure ci-dessous (qui reproduit les
communications de la figure prcdente) :
P1
P2
P3
P4
C1
C2
On considre maintenant un systme distribu constitu de trois sites nomms P1 , P2 et P3 , utilisant des
horloges matricielles pour dater les vnements de chaque processus.
0 0 0
Ltat initial du chaque processus est 0 0 0. On considre quaucun vnement (local ou envoi/rception
0 0 0
na eu lieu dans ltat initial.
Aprs quelques instants dexcution, les horloges des processus P1 , P2 et P3 indiquent les dates suivantes :
3 0 1
HM1 = 1 1 0
1 0 2
0 0 0
HM2 = 1 2 1
0 0 0
Page 2
2 0 1
HM3 = 1 2 1
1 0 3
Pour la suite on supposera que tous les messages envoys ont t dlivrs au plus tard aux dates
indiques. Cest--dire quaucun message nest en transit.
1. (1 point) Au total, combien de messages ont t changs ?
Rponse :
Il y a eu quatre message changs. Les horloges indiquent que P1 a envoy un message au
processus P3 (HM3 [1, 3]), P2 a envoy un message chaque autre processus (HM3 [2, 1]) et
(HM3 [2, 3]), et P3 a envoy un message au processus P1 (HM3 [3, 1]).
2. (1 point) Au total, combien dvnements ont eu lieu ?
Rponse :
Il y a eu 8 = HM1 [1, 1] + HM2 [2, 2] + HM3 [3, 3] vnements.
3. (1 point) Au total, combien dvnements locaux ont eu lieu ? (cest--dire sans compter les vnement correspondants des missions ou des rceptions de messages, ni ltat initial)
Rponse :
8 vnements permettent de faire 4 missions et 4 rceptions. Comme 4 messages ont ts
changs, il ny a eu aucun vnement local.
4. (2 points) Dans quel ordre ont t envoys les messages de P2 ? (Justifiez votre rponse.)
Rponse :
P2 a envoy deux messages : lun vers P1 et lun vers P3 . Dautre part HM2 [2, 2] nous dit quil
na excut que deux vnements. Sil avait envoy le message vers P1 en deuxime on aurait
(121) comme seconde ligne de HM1 .
Le message P1 a donc t envoy avant le message P2 .
5. (4 points) Compltez le schma suivant pour reconstruire lhistorique des vnements jusquaux
dates indiques. Vous indiquerez la date (matricielle) de chaque vnement.
P1
0 0 0
0 0 0
0 0 0
1 0 0
2 0 1
1 1 0 1 1 0
0 0 0
0 0 0
3 0 1
1 1 0
1 0 2
P2
P3
0 0 0
0 0 0
0 0 0
0 0 0
1 2 1
0 0 0
0 0 0
1 1 0
0 0 0
0 0 0 0 0 0
0 0 0
2 0 1
2 0 1
1 1 0 1 1 0
0 0 1
1 0 2
2 0 1
1 2 1
1 0 3
Un Parking (9 points)
Un parking possde p portes par lesquelles des voitures peuvent entrer ou sortir. Le parking ne doit
jamais contenir plus de N voitures. chaque porte se trouve un gardien ; les gardiens communiquent
Page 3
en senvoyant des messages (de faon asynchrone, par exemple laide de pigeons voyageurs supposs
fiables) ; ils doivent faire en sorte que la capacit du parking ne soit jamais dpasse. Il faut par ailleurs
que, sil y a rgulirement des sorties, toute voiture qui attend pour entrer par la porte de son choix y
parvienne en un temps fini.
Dcrire un algorithme rparti, qui sera appliqu par chacun des gardiens, afin rsoudre le problme.
Cet algorithme utilisera des principes prsents en cours. Le nombre de messages changs entre deux
entres de voitures devra tre born.
Mises en gardes :
Une ide (incorrecte) serait de partager initialement les N places du parking en p lots de N/p places,
la responsabilit de chaque gardien. Dans ce cas le gardien peut laisser rentrer N/p voitures, plus
autant de voitures quil a laiss sortir. Cependant, avec ce schma si toutes les voiture sortent par
la mme porte, cette dernire porte devient la seule entre possible et les voitures qui cherchent
rentrer par une autre porte y restent bloques (ce quon ne veut pas)
Une autre ide (tout aussi incorrecte) serait dimaginer que les gardiens tentent de garder le compte
des places libres en diffusant (aux autres gardiens) des messages entre ou sortie chaque fois
quune voiture entre ou sort par leur porte. Le problme est que ces diffusions ne sont pas dlivres
instantanment et quelles peuvent aussi se croiser. Cela devient critique lorsquil ny a plus beaucoup de places libres. Par exemple sil ne reste plus quune place libre, deux gardiens pourraient
simultanment laisser rentrer chacun une voiture.
Rponse :
On peut utiliser une variante des algorithmes dexclusion mutuelle jetons vus en cours. On
stocke sur le jeton le nombre de places disponibles (en plus des informations ncessaires au protocole de dexclusion). Un gardien ne peut laisser rentrer ou sortir une voiture que sil a le jeton et
quil peut mettre jour le nombre de places libres.
Dautre part si un gardien qui souhaite faire rentrer une voiture rcupre un jeton indiquant quaucune place nest libre, il ne fera pas rentrer la voiture et redemandera le jeton aussitt quil laura
cd un autre gardien.
Page 4