• Aucun résultat trouvé

Prin ipes et des ription Le omposant roue du haut  (Figure 3.8) se dé om-

poseen

4

tâ hesexé utées enparallèle.L'algorithme fon tionneselon lemême prin ipe que le omposant roue du bas. Il utilise une suite notée

L

qui ontient tous les sous-ensembles de

Π

de ardinal

z = (t + 2) − (x + y)

.La suite

L

estsupposée onnue initialement de tous les pro essus. Nousnotons

nb

_

L =

n

(t+2)−(x+y)



le nombred'élé-

mentsdanslasuite

L

et

L[k]

son

k

ième élément.Lafon tion

Next(L[k])

renvoie

L[k + 1]

si

k < nb

_

L

et

L[1]

si

k = nb

_

L

. Init:

Li← L[1]

Task

T 3

: (1) repeatforever (2) Broad astInquiry

()

; (3) waituntil

`

orrespondingResponse

(id)

re eivedfrom

≥ n −

nb_

i

pro esses

´

%nb_

i

andynami ally hange (4) let

rec

_

fromi

= {idj

re eivedpreviouslyatline3

}

;

(5) if

(rec

_

fromi∩ Li= ∅)

thenR_Broad astL_move

(Li)

endif

(6) enddo

Task

T 4

:whenL_move

(Li)

isR_delivered:

Li←

Next

(Li)

Task

T 5

:whenInquiry

()

isre eivedfrom

pj

:sendResponse

(

repr

i)

to

pj

Task

T 6

:whenleader

i

isreadbytheupperlayer:return

(Li)

Fig. 3.8 De

y+ 3S

x

vers

z

:roue duhaut ( ode pour

pi

)

Le but de et algorithme est d'implémenter un déte teur

z

ave

z = (t + 2) −

(x + y)

. Pour ela, haque pro essus

pi

béné ie de (1) la sortie du omposant roue du bas (variable repr

i

dont les valeurs su essives respe tent la dénition 3.8) et (2) l'information fourniepar ledéte teur

y

sous-ja ent (variablenb_

i

,dénition3.7). Lavariable

Li

,régulièrement miseàjourparl'algorithmeémulelasortied'undéte teur

Ωz

(tâ he

T 6

).Elle ontientà haqueinstantunensemblede

z

identitésetl'onsouhaite qu'à partir d'un ertain temps, et ensemble ne hange plus et in lue l'identité d'un

pro essus orre t.

Lespro essuspar ourentdanslemêmeordrelasuiteinnie

L[1]

,

L[2]

,

. . .

,

L[nb

_

L]

,

L[1]

,

. . .

.La variablelo ale

Li

,initialiséeà

L[1]

ontientà haqueinstantl'ensembleen oursd'examen par

pi

.L'examen d'unensemble

Li

par

pi

sedéroule ainsi:

1.

pi

essaiede déterminersil'ensemble

Li

ontient l'identité d'unpro essus orre t. Pour ela,ildiuserégulièrementdesmessagesInquiry(ligne2,tâ he

T 3

).Lorsque

qu'un pro essus

pj

reçoitun telmessage, ilrépond par unmessage Responsequi transportel'identité de sonreprésentant ourant (tâ he

T 5

).

2.

pi

passe ensuite en mode attente. Cette attente se termine lorsque

pi

a reçu des

messages Response en provenan e de

n −

nb_

i

pro essus. Par dénition de

3ψy

(def. 3.7),nous savons qu'à partir d'un ertain temps, nous avons toujours

n−

nb_

i= n−max(t−y, f ) ≤ n−f

.Or

pi

reçoitaumoinsunmessageResponse de ha un des

(n − f )

pro essus orre ts. Cette phase d'attente n'est don pas bloquante.

3. Enn, après avoir reçu susamment de messages Response,

pi

olle te les iden- tités

idj

transportées par esmessagesdans l'ensemble

reci

(ligne 3).Sil'une de esidentitésest ontenue dans

Li

,

pi

onsidèreque

Li

a passél'examen. Eneet, le omposant rouedu basassurequ'à partir d'un ertain haquepro essusrepré-

sentantest orre t. Dansle as ontraire, dupoint devuede

pi

touslespro essus de

Li

sontdéfaillants.Ildiusedon defaçonable unmessageL_ move

(Li)

pour informer lesautres pro essus(ligne 5) qu'ilsdoivent tester l'ensemble quisuit

Li

dansl'anneau

L

.

L'idée d'un engrenage entre les deux omposants se retrouve par exemple dans le

s énario suivant. Supposons que les deux roues essent de tourner, 'est à dire que

le ontenu des variable

Li

et repr

i

soit stable. Plus tard, le représentant

x

- ommun

tombe en panne. La roue du bas se remet alors à tourner etson mouvement entraîne

éventuellement le redémarrage de la roue du haut. Le démarrage de la roue du haut

dépend de la ombinaison de plusieurs paramètres tels que les délais de transmissions

desmessagesResponse,l'ensemble

L

surlequellaroueduhauts'estarrêtéeetlenombre de ouples

(X, ℓ)

à tester par les pro essus avant d'identier une onguration stable. Néanmoins, il existe des as où la rotation de la roue du haut est dire tement liée au

mouvement de l'autreroue.

Démonstration de l'algorithme Les deux algorithmes sont fondés sur le même

prin ipe:lespro essuspar ourentl'ensembledes ongurationspossiblesquisontorga-

niséesenanneau jusqu'àidentierune ongurationquisatisfaitunepropriétédonnée.

Lorsqu'une onguration ne satisfait pasla propriété re her hée (i iune onguration

est un ensemble

L

de pro essus de ardinal z; la propriété re her hée l'existen e d'un pro essus orre t dans et ensemble), un pro essus orre t le déte te et diuse de fa-

çonable etteinformation(messages*_Move(Cong.)).Laré eptiond'untelmessage

entraîne l'examen de la onguration suivante dans l'anneau. La démonstration de la

orre tion de l'algorithmeestdon largement inspirée deladémonstration pré édente.

Commed'habitude,nous onsidéronsunexé utioninniearbitraire.

Correct

désigne l'ensemble des identités des pro essus orre ts dans ette exé ution et

var

τ

i

dénote la valeurde lavariablelo ale

vari

dupro essus

pi

à l'instant

τ

.

Lemme 3.8

∀i ∈ Correct

, il existe un ensemble

Λi

et un instant

τi

tels que

∀τ ≥ τi

:

i

= Λi

.

Compositiondes lasses

3Sx

et

y

111

Démonstration La démonstration repose sur le fait suivant, qui est démontré un peu

plusloin :

Fait 3.2 Il existeun ensembled'identités

L

tel que lenombre demessagesL_move

(L)

diusésest ni.

Soit

pi

unpro essus orre t. Supposonspar ontradi tion qu'il n'existepasd'ensemble

Λi

tel que, après un ertain instant,

Li

= Λi

est toujours vrai. Les ensembles

L

sont logiquement organisés en anneau. Lorsque la valeur de

Li

hange, elle est rempla ée par l'ensemble quiluisu ède dansl'anneau logique.Lesvaleurssu essivesde

Li

sont don

L[1], L[2], . . . , L[nb

_

L], L[1], . . .

.Par onséquent,

Li

ontient ha undesensembles

L[β], 1 ≤ β ≤ nb

_

L

inniment souvent.Enparti ulier,

pi

exé ute

Li

Next

(L)

inni- mentsouvent.Ce i ontreditlefait3.2 arl'exé utionde etteinstru tionestdé len hée

par la ré eption du message L_ move

(L)

. Or, dans l'exé ution onsidérée, un nombre nide es messagesest diusé. Il existe don un ensemble

Λi

etun instant

τi

tels que

∀τ ≥ τi

:

L

τ

i

= Λi

.

Fait 3.2 Ilexisteunensembled'identités

L

telquelenombredemessagesL_ move

(L)

diusésest ni.

Démonstration La rouedu basee tue un nombreni de tours.Nous onsidérons un

instant

τ0

àpartirduquel larouedubasnebougeplus.Apartir de etinstant,ilexiste unensemble

X ⊆ Π, |X| = x

etune identité

λ

tels que(proposition3.4) :

1.

∀i ∈ Π − X, ∀τ ≥ τ0

: repr

τ

i

= i

et,

2. (a)

X ∩ Correct 6= ∅ ⇒ (λ ∈ Correct ∩ X) ∧ (∀i ∈ X, ∀τ ≥ τ0

: repr

τ

i

= λ)

ou, (b)

X ∩ Correct = ∅ ⇒

tousles pro essusdont l'identité estdansl'ensemble

X

sonttombés enpanne avant

τ0

.

Choisissons un ensemble

L ⊆ Π

qui satisfait les onditions suivantes (voir aussi la Figure3.9).



|L| = (t + 2) − (x + y)

; 

|X ∩ L| = 1

;



(X ∩ Correct 6= ∅) ⇒ X ∩ L = {λ}

; 

L ∩ Correct 6= ∅

.

Observons que, danstoute exé ution innie, il est possible de hoisir un tel ensemble.

Deplusilyadans

L

aumoinsuneidentité

telque

pℓ

estunpro essus orre tquiest, aubout d'un ertaintemps, toujourssonpropre représentant (repr

ℓ= ℓ

).

Pourmontrerqu'unnombrenidemessagesL_ move

(L)

estdiusé,nousexaminons deux asselon lenombre depro essusfautifs

f

.



f ≥ t − y + 1

.

Il existe un instant

τ1

à partir duquel la valeur fournie par le déte teur

y

est

toujours

f

. Plus pré isément :

∀τ ≥ τ1, ∀i ∈ Correct :

nb_

τ

i

= f

(propriété

de onvergen e inélu table de la lasse

y

Li

x− 1

|Li| = z = t + 2 − (x + y)

1

X

|X| = x

ℓx

ℓx

t− y + 1

Fig.3.9 Arrêt de laroueduhaut

message Inquiry ou Response envoyé par un pro essus fautif à destination d'un

pro essus orre ta étéreçuettraitépar sondestinataire avant

τ2

.

Soit

τs

= max(τ0, τ1, τ2)

.Après

τs

,l'étatdu systèmeest stable:au un pro essus netombeenpanne,lessortiesdudéte teur

y

etdelarouedubasne hangent

plus.Soit

i ∈ Correct

.Après

τs

,lorsde haqueexé utiondelabou lerepeat,

pi

reçoit exa tement unmessage Responsede haque pro essus orre t.

Par hoix de

L

, il existe un pro essus orre t

pℓ

,

ℓ ∈ L

tel que repr

= ℓ

est toujours vrai à partir de

τ0

. Don , à partir d'un ertain instant, tous les mes- sages Response

(idℓ)

envoyés par

pℓ

sont tels que

idℓ

= ℓ

. Puisque que

pi

reçoit toujours après

τs

un message de

pℓ

, on a toujours à partir d'un ertain temps

ℓ ∈ rec

_

f romi

.Don ,leprédi at

rec

_

f romi∩ L

est,àpartird'un ertaintemps, toujoursvrai.Par onséquent,àpartirde etinstant

pi

nediuseplusdemessage L_ move

(L)

(ligne5). Nousen déduisonsquelenombredemessagesL_ move

(L)

générés dansl'exé ution onsidéréeest ni.



f < t − y + 1

.

Dans e as,ilexisteuninstant

τ1

telque

∀τ ≥ τ1, ∀i ∈ Correct :

nb_

τ

i

= t − y

. Delamêmemanièrequedansl'analysedu aspré édent,on onsidèrel'instant

τ2

après lequelil n'y a plusde défaillan es nide ré eption de message de pro essus

fautifs parles pro essus orre ts,ainsique l'instant

τs= max(τ0, τ1, τ2)

.

Soit

i ∈ Correct

. Nous montrons d'abord qu'à partir de l'instant

τs

,

pi

reçoit toujours au moinsun message Response

()

d'un pro essus

pj

tel que

j ∈ L ∪ X

.

pi

attend la ré eption de messages Response

()

en provenan e de

n −

nb_

i

=

n − (t − y)

pro essusdistin ts.Parailleurs, par hoixde

L

,nousavons

|L ∪ X| =

|L| + |X| − |L ∩ X| = (t + 2) − (x + y) + x − 1 = 1 + (t − y)

.Par onséquent,

pi

reçoitettraiteun messaged'unpro essus

pj

telque

j ∈ L ∪ X

.

La sortie du omposant roue du bas se stabilise (à l'instant

τ0

). A partir d'un ertain instant, les messages Response

(idj)

envoyés par un pro essus orre t

pj

,

j ∈ L∪X

sontdon toujourstelsque

idj

= j

si

j ∈ L−X

ou

idj

= λ

si

j ∈ X

.Dans lesdeux as,

idj

∈ L

.A haque tourde labou lerepeat,

rec

_

f romi

estmis àjourave lesidentités

id

re oltées lors delaré eptiondesmessagesResponse

()

. Onendéduitqu'ilexisteuninstantàpartirduquelleprédi at

rec

_

f romi∩L 6= ∅

esttoujours vrai.Le nombredemessageL_move

(L)

diusépar haquepro essus orre t

pi

est don ni. Comme un pro essus fautif ne diuse qu'un nombre ni

Compositiondes lasses

3Sx

et

y

113

demessages,onendéduitquelenombredemessagesL_ move

(L)

générés estni.

2f ait3.2

2Lemme3.8

Corollaire 3.2 Il existe un instant à partir duquel les pro essus ne diusent plus de

messages L_move

()

.

Démonstration Supposons qu'il existe un pro essus orre t

pi

qui diuse toujours de nouveauxmessagesL_ move.Nousétablissonsune ontradi tion. Ilexisteun instant

τi

àpartirduquel

Li

ontienttoujoursl'ensemble

Λi

(lemma3.8). Après

τi

,

pi

diusedon uniquement desmessagesL_ move

(Λi)

.Par onséquent, puisque ladiusion est able, ilexisteuninstant

τ > τi

auquel

pi

reçoitunmessageL_ move

(Λi)

.D'aprèsletextede l'algorithme, il hange alors la valeur de

Li

en exé utant

Li

Next

(Λi)

: ontradi tion

ave leLemme 3.8.

2Corollaire3.2

Lemme 3.9

∀i, j ∈ Correct : Λi

= Λj

. (Dans la suite, et ensembleest noté

Λ

.) Démonstration Soient deux pro essus orre ts

pi

et

pj

.Puisque les messagesL_ move sont diusés de façon able,

pi

et

pj

reçoivent le même multi-ensemble de messages (propriétés de la diusion able, def. 1.1). Ce multi-ensemble est ni ( orollaire 3.2).

Enn, es messagessont onsomméspar

pi

et

pj

dansle même ordredéni par l'orga-

nisation en anneau des ensembles

L

.La onsommation du message L_ move

(L)

par

pi

(ou

pj

) entraîne lamiseàjour de

Li

(respe tivement

Lj

) ave lavaleurNext

(L)

(tâ he

T 4

).Onen déduitque

Λi

= Λj

.

2Lemme3.9

Proposition 3.5 Soit

x, y

et

t

tels que

1 ≤ x ≤ t + 1

,

0 ≤ y ≤ t

et

x + y < t + 2

. Dans lemodèle

MPn,t[3Sx, 3ψ

y]

, l'algorithmedela Figure 3.8simule undéte teur de

défaillan es dela lasse

z

tel que

z = (t + 2) − (x + y)

.

Démonstration Lasortiedel'algorithmeestl'ensembledesvaleursdesvariables

Li, i ∈

Π

(tâ he

T 6

). Nous établissons que es valeurs satisfont lapropriété leaders multiples

(dénition 3.3). Il existe un ensemble

Λ

et un instant

τ

tels que

|Λ| = z

et

∀i ∈

Correct, ∀τ′

≥ τ : Lτ′

i

= Λ

(Lemmes3.8et3.9).Ilresteàmontrerque

Λ ∩ Correct 6= ∅

. Supposonsque

Λ ∩ Correct = ∅

.Soit

pi

unpro essus orre t.D'après lespropriétés assurées par la rouedu bas(proposition 3.4), il existe un instant à partir duquel

∀j ∈

Correct,

repr

j

∈ Correct

.Don ,d'aprèsletexteduproto ole,ilexisteuninstant

τ1

à partirduquel leprédi at

rec

_

f romi⊆ Correct

esttoujours vrai. Par ailleurs, à partir del'instant

τ

onatoujours

Li

= Λ ⊆ Π − Correct

.Par onséquent,àun ertaininstant

τ2

> max(τ, τ1)

,leprédi atlo al

Li∩rec

_

f romi

6= ∅

n'estpassatisfait.D'aprèsletexte del'algorithme,unmessageL_ move

(Λ)

estalors diusépar

pi

.Puisqueladiusionest able,

pi

reçoit et traite e message à un instant

> τ2

> τ

. A et instant,

Li

= Λ

(Lemmes 3.8 et 3.9), et

pi

exé ute alors

Li

Next

(Λ)

: ontradi tion ave le Lemme