• Aucun résultat trouvé

4.2 Restri tion du domaine de la lutte : IRIS(PR C )

4.2.3 Simulation de IRIS (PR

Un algorithmequi simulelesopérationsdu modèle

IRIS(PR

3Sx)

estdé ritdansla Figure4.10.Nous onsidéronsi ilaversionreprésentantdeladénitionde

3Sx

(voir ladénition 3.8, paragraphe 3.4, page 105). Chaquepro essus

pi

met régulièrement à jour deux variables lo ales

mi

et

rpi

.

mi

est la vue de

pi

de l'état de la mémoire partagée tandis que

rpi

ontient le représentant ourant de

pi

indiqué par le déte teur de défaillan es. operation

IS[r].

restri ted_w_snap

(< i, vi>)

: (1) repeat

mi← R[r].

snap

()

; (2)

rpi←

repr

i

(3) until

(< rpi, − >∈ mi) ∨ (rpi= i)

endrepeat; (4)

smi← R[r].

write_snap

(< i, vi>)

; (5)

return(smi)

Fig. 4.10 De

SMn,n−1[3Sx]

vers

IRIS(PR3Sx)

( ode pour

pi

)

Proposition 4.1 L'algorithme de la Figure 4.10 simule lemodèle

IRIS(PR

3Sx)

dans lemodèle

SMn,n−1[3Sx]

.

Démonstration Nousdémontronsdansunpremiertempsquelesopérationsrestri ted_w_snap

()

terminent. Nousdémontrons ensuitequelapropriété

PR3Sx

estsatisfaite. Lesproprié-

tés d'auto-in lusion, de omparaison et d'immédiateté dé oulent du fait que la vue

retournée

smi

estobtenue par l'intermédiaire d'unappel

R[r].

write_snap

(< i, vi

>)

.  Terminaison

∀r :

pour un pro essus orre t, l'appel

IS[r].

restri ted_w_snap

(<

Restri tiondu domaine de lalutte:

IRIS(PRC)

137

La démonstrationreposesurlesdeuxobservationssuivantes quidé oulent immé-

diatement du ode :

1. Soit

pi

un pro essus orre t. Si au bout d'un ertain temps, on a toujours repr

i

= i

alors

pi

nepeutêtrebloquéindéniment dansla bou lerepeat. 2. Au ours d'une ronde

r

, s'il existe un pro essus orre t

pi

qui invoque

R[r].

write_snap

()

alors tous les pro essus orre ts

pj

dont le représentant repr

j

est au bout d'un ertain temps toujours

pi

ne peuvent être bloqués

indéniment danslabou lerepeat.

Soit

pi

unpro essus orre tet

r

unnuméro derondearbitraire. Par dénitionde la lasse

3Sx

,il existeun instant àpartir duquel lereprésentant de

pi

ne hange plus et est un pro essus orre t. Nous notons

pℓ

e représentant nal de

pi

(éventuellement,

ℓ = i

).Deplus, e représentant esttelque, aubout d'un ertain temps, repr

= ℓ

est toujours vrai.

D'aprèslapremièreobservation i-dessus,touteslesopérations

IS[1] .

restri ted_w_snap

()

,

IS[2] .

restri ted_w_snap

()

,

. . .

,

IS[r] .

restri ted_w_snap

()

de

pℓ

terminent. En parti ulier,

pℓ

é rit dans l'objet partagé

R[r]

. Par onséquent,

pi

ne peut être

bloqué indéniment dans labou le repeatde la ronde

r

ar, au bout d'un er-

tain temps tous les vues

mi

(retournées par les appels

R[r].

snap

()

) ontiennent l'identité

du représentant de

pi

.



PR

3Sx

D'après la spé i ation de la lasse

3Sx

il existe au bout d'un ertain temps un

ensemble de pro essus

Q

de ardinal au moins

x

qui ont le même représentant.

Lesautres pro essus

∈ Q/

ontpourreprésentant leur propreidentité.Plusformel- lement,ilexisteuninstant

τ

,unensembledepro essus

Q

etunpro essus orre t

pℓ∈ Q

tels que: 

|Q| ≥ x

;  Pour

pi∈ Q/

:

∀τ

≥ τ :

repr

τ′

i

= i

;  Pour

pi∈ Q

:

∀τ

≥ τ :

repr

τ′

i

= ℓ

.

Soit

r

unerondequidémarreaprèsl'instant

τ

.C'estàdireque haqueinvo ation

IS[r].

restri ted_w_snap

()

démarreàun instant plusgrand que

τ

.

Pardénition,

pℓ

estunpro essus orre t.Puisquenousavonsmontréquetousles appels

IS[r] .

restri ted_w_snap

()

ee tués par les pro essus orre ts terminent,

smr

6= ∅

.Soit

pi

∈ Q−{ℓ}

unpro essusquiterminesonappel

IS[r] .

restri ted_w_snap

()

. Cet appeldémarre aprèsl'instant

τ

.Don , lors de l'exé ution de etappel, nous avons toujours

rp

i

= ℓ

. Ainsi, lorsque le prédi at de sortie de la bou le repeat est satisfait,

ℓ ∈ mi

. De plus, d'après les propriétés de l'objet

R[r]

, nous avons

smr

⊆ mi⊆ smri

.Deplus,

i ∈ sm

r

i

et

i /∈ mi

d'où

sm

r

( smri

.

2P roposition4.1

4.2.4 Simulation de

IRIS(PR

3ψy)

dans le modèle

SMn,n−1[3ψ

y]

La onstru tion (Figure 4.11) s'inspire d'unalgorithme de

-ex lusion mutuelle [2℄.

min(1 + y, n − f )

. Pour ela,nous asso ions à haque rondeun ordre sur les identités despro essus.L'idéesous-ja enteestd'autoriser haquepro essus

pi

àé rirelorsqueles pro essus qui le pré èdent dans l'ordre asso ié à la ronde ourante ont préalablement

é rit. Ainsi, la vue

sm

obtenue par lepro essus de rang leplus élevé ontient tous les pro essus orre ts.

Cependant,lespro essusnedisposentpasd'unmoyenablede al ulerexa tement

le nombre de pro essus orre ts qui les pré èdent. Le déte teur de défaillan es de la

lasse

y

fournit seulement uneestimation dunombrede pro essus défaillants. Cette

informationsutnéanmoinspour al ulerunminorantdunombredepro essus orre t.

Nousverrons dansladémonstrationque, de ette façon,lepro essusdeplushaut rang

al uleune vuequi ontient au moins

min(y + 1, n − f )

pro essus orre ts.

La fon tion déterministe order

(r)

retourne une permutation

πr

des entiers

1, . . . , n

telleque

πr(n) = i

si

(i−1) = r mod n

.Soit

µ

lapermutationmiroir

(µ : (a1, . . . , an) →

(an, . . . , a1))

et

πc

la permutation ir ulaire qui ee tue un dé alage à droite

(πc

:

(a1, . . . , an) → (an, a1. . . , an−1))

.Parexemple,

πr

peutêtredénie ainsi:

πr= µ.π

r−1

c

.

Des riptiondel'algorithmeetdémonstration Lorsqu'ilinvoque

IS[r].

restri ted_w_snap

()

,

unpro essus

pi

al ulelaséquen e (

sequence

i

) desidentitésdespro essusasso iée àla ronde

r

(ligne 1), et détermine l'ensemble (

pred

i

) des pro essus qui lepré édent dans etteséquen e(ligne2).Ensuite,

pi

entredansunebou leau oursdelaquelleil al ule l'ensemble

seeni

des pro essus qui (1) ont é rit dans l'objet

R[r]

et (2) le pré èdent selon l'ordre

sequence

i

(ligne4). Illit également l'estimation(

nbci

) du nombrede pro- essusdéfaillant fournie par ledéte teur. Ces instru tions sont répétées jusqu'à e que

lespro essusde

predi

perçus omme orre tsaient é ritdans

R[r]

(ligne6).

pi

estimele nombrede espro essusàaumoins(

|pred

i| − nbci

).Enn, lorsque

pi

sortde labou le, ilé ritàsontourdansl'objet

R[r]

(ligne7)etlesnapshotimmédiatretourné par ette opérationestlerésultat nalde l'appel(ligne8).

operation

IS[r].

restri ted_w_snap

(< i, vi>)

: (1)

sequence

i

← order(r)

; (2)

pred

i

← {j : j

appearsbefore

i

in

sequence

i}

; (3) repeat

mi← R[r].

snap

()

; (4)

seeni← mi∩ pred

i

; (5)

nbci←

nb_

i

(6) until

(|predi| − nbci≤ |seeni|)

endrepeat; (7)

smi← R[r].

write_snap

(< i, vi>)

; (8)

return(smi)

Fig. 4.11 De

SMn,n−1[3ψ

y]

vers

IRIS(PR

3ψy)

( odepour

pi

)

Nousdémontronsd'abord quelesappels

IS[r].

restri ted_w_snap

()

ee tués parles pro essus orre tsterminent (Lemme4.2).Laproposition4.1établitla orre tion dela

simulation. Ladémonstration donnéedans[39℄ onsidère le asplusgénéral dumodèle

Restri tiondu domaine de lalutte:

IRIS(PRC)

139

Lemme 4.2

∀r, ∀pi

pro essus orre t : les appels

IS[r].

restri ted_w_snap

()

de

pi

ter- minent.

Démonstration Pour établir une ontradi tion, supposons qu'il existe des rondes au

ours desquelles des pro essus orre ts ne sortent jamais de la bou le repeat. Soit

r

le plus petit numéro de ronde pour laquelle il existe un pro essus bloqué. Nous no-

tons

B

l'ensemble despro essus orre ts bloqués dansla bou le repeatde la ronde

r

. Ainsi, pour tout pro essus

pi

∈ B

, le prédi at (

|pred

i| − nbci

≤ |seeni|

) n'est jamais satisfait. Parmi les pro essusde

B

,soit

ps

lepro essusde plus petit rang selon l'ordre order

(r)

.Dans equi suit,nousmontronsquel'invo ation

IS[r].

restri ted_w_snap

()

de

ps

termine :une ontradi tion.

Nous distinguons deux as en fon tion du ardinal de

pred

s

(

f

est le nombre de pro essusdéfaillant dansl'exé ution onsidérée).



|pred

s| ≤ max(n − 1 − y, f )

D'après la propriété de onvergen e inélu table de la lasse

y

, il existe un

instant

τ

àpartirduquel

nbcs= max(n − 1 − y, f )

,d'où

|preds| − nbcs

≤ 0

.Don , après

τ

,leprédi atde sortiede labou leestvérié ar

0 ≥ |mi∩ seeni|

pour

ps

. 

|pred

s| > max(n − 1 − y, f )

Notons

faulty(S)

l'ensemble des pro essus défaillants dans l'ensemble

S

. Nous avons

|faulty(S)| ≤ |faulty({1, . . . , n})| = f ≤ max(n − 1 − y, f )

.

Notons

α

le nombre de pro essus orre ts dans l'ensemble

pred

s

. Nous avons

α = |preds| − |faulty(preds)| ≥ |preds| − max(n − 1 − y, f )

. Ces

α

pro essus orre tsontunranginférieurà

ps

dansl'ordreorder

(r)

.Deplus,pardénitionde

ps

,touslespro essus orre tsdontlerangestinférieurà eluide

ps

dansorder

(r)

terminent leur appel

IS[r].

restri ted_w_snap

()

.

Par onséquent, tous les pro essus orre ts de

preds

é rivent dans l'objet

R[r]

. Il existe don un instant

τ0

à partir duquel

ms

ontient les identités de tous es pro essus (

ms

est la vue des pro essus qui ont é rit dans l'objet

R[r]

et est régulièrement mise à jour par

ps

). D'autre part, la propriété de onvergen e inélu table de la lasse

y

assure l'existen e d'un instant

τ1

à partir duquel

nbcs= max(n − 1 − y, f )

.Don ,après

τ = max(τ0, τ1)

,

|seens| = |ms∩ pred

s| ≥ α

et

α ≥ |pred

s| − nbcs

.Nousen on luonsque

ps

sort delabou lerepeat, d'oùla terminaison de l'invo ation

IS[r].

restri ted_w_snap

()

.

2Lemme4.2

Proposition 4.2 L'algorithme de la Figure 4.11 simule le modèle

IRIS(PR3ψy)

dans

lemodèle

SMn,n−1[3ψ

y]

.

Démonstration LeLemme4.2établitlaterminaisondesopération restri ted_w_snap

()

par les pro essus orre ts. Cequi suit montre quedans toute exé utioninnie, lapro-

priété

PR

3ψy

estsatisfaite.

Soit

R

une ronde telle que

∀r ≥ R, ∀pi

pro essus orre t : lors de l'exé ution de

Soit

r ≥ R

unnuméro de rondequi satisfait

(i − 1) = r mod n

et noussupposons que

pi

obtient

smi

en retour de l'appel

IS[r].

restri ted_w_snap

()

. Nousmontrons que

|smi| ≥ n − max(n − 1 − y, f )

.

1. Le rang de

pi

selon l'ordre order

(r)

est

n

, d'où

|pred

i| = n − 1

au ours de ette ronde. Le prédi atde sortie estsatisfait arl'appeltermine, d'où

|seeni| ≥

|predi| − nbci= (n − 1) − max(n − 1 − y, f )

.

2. Soit

mi

le dernier ensemble obtenu par

pi

(ligne 3). Puisque

i /∈ mi

et

|predi| =

n − 1

,

mi∩ pred

i= mi= seeni

.

3. Finalement, onsait que, grâ eà l'objet

R[r]

,

mi( smi

(propriété 4.2).

En ombinant les relations pré édentes, nous obtenons

|smi| > |mi| = |seeni| ≥ (n −

1) − max(n − 1 − y, f )

,d'où

|smi| ≥ n − max(n − 1 − y, f )

.

2P roposition4.2