• Aucun résultat trouvé

Algorithmes Parallèles et Distribués 3. Algorithmes distribués (suite) Franck Butelle

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes Parallèles et Distribués 3. Algorithmes distribués (suite) Franck Butelle"

Copied!
124
0
0

Texte intégral

(1)

Algorithmes Parallèles et Distribués

3. Algorithmes distribués (suite)

Franck Butelle

LIPN, Université Paris 13 Formation Ingénieurs SupGalilée Info 3

12/2020

(INFO 3) APD 3–Algos distribués (suite) 2020 1 / 60

(2)

Plan

1 Élection

2 Arbre couvrant

3 Détection Terminaison

4 Conclusion de cette partie

5 Horloges logiques et Exclusion mutuelle

(INFO 3) APD 3–Algos distribués (suite) 2020 2 / 60

(3)

Élection

Plan

1 Élection

Sur un anneau Élection sur un arbre Élection sur grille

Élection sur graphe quelconque

2 Arbre couvrant

3 Détection Terminaison

4 Conclusion de cette partie

5 Horloges logiques et Exclusion mutuelle

(INFO 3) APD 3–Algos distribués (suite) 2020 3 / 60

(4)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(5)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(6)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

16

12 9

13

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(7)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

16 12

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(8)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

16 20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(9)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

16

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(10)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(11)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(12)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(13)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(14)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(15)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(16)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16}) 20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(17)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(18)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

Hypothèse:G : anneau unidirectionnel.

Objectif :élire parmi tous les sites, l’id. max.

Idée : Les messages venant des sites d’id. inf. sont arrêtés.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,12,13,16})

20

16

4 12

9 20

18

7

13

: site candidat : site battu

: mesg élection : mesg fin

(INFO 3) APD 3–Algos distribués (suite) 2020 4 / 60

(19)

Élection Sur un anneau

Algorithme de Chang-Roberts 1979

varétat{passif, candidat, élu, battu}, étatpassif.

Eveil:siest_initiateuralors

étatcandidat;envoyer<élection,Myid>au succ.

finsi

sur_receptionde<élection, id>: siMyid<idalors

étatbattu;envoyer<élection,id>au succ.

sinon_siMyid>idalors siétat6=candidatalors

étatcandidat;/∗ si pas déjà candidat devient candidat ∗/

envoyer<élection,Myid>au succ.

finsi

sinon /∗ le message a fait le tour de l’anneau ∗/

étatélu;envoyer<fin,Myid>au succ.

finsi

sur_receptionde<fin, id>: siMyid6=idalors

id_éluid; étatbattu;

envoyer<fin,id>au succ.;terminaison sinon

terminaison finsi

(INFO 3) APD 3–Algos distribués (suite) 2020 5 / 60

(20)

Élection Sur un anneau

Analyse de l’algo. de Chang-Roberts 1979

Théorème

L’algo CR79 résout le pb de l’élection sur un anneau unidirectionnel (a)synchrone.

Sa complexité en messages dans le pire des cas est en Θ(n2).

Sa complexité en moyenne en messages est enΘ(nlog(n)).

Sa complexité temporelle dans le pire des cas est en Θ(n).

Remarques

L’algo a été défini initialement pour un réseau synchrone, mais se comporte bien sur un réseau asynchrone.

Exercice 1

Ecrire la variante : élection uniquement parmi les initiateurs. Complexités ?

(INFO 3) APD 3–Algos distribués (suite) 2020 6 / 60

(21)

Élection Sur un anneau

Preuve des complexités dans le pire des cas

Soit i le site d’identité max.

Complexité temporelle :

pire des cas atteint avecun seul initiateur, successeur immédiat dei...

n−1 messages pour atteindre i, puisn messages pour faire le tour de l’anneau, puis encoren messages fin. Donc 3n1 messages

séquentiels.

Complexité en nbre de messages :

pire des cas atteint pour un anneau avec identités en ordre décroissant et tous initiateurs. Première «phase» :n messages...

Or ordre des identités est décroissant, seul le message deimin ài est arrêté. Donc n1 messages repartent. Au final :

Cmax(n)=

n

X

j=1

j+n=n(n+1)

2 +n=1 2n2+3

2n.

(INFO 3) APD 3–Algos distribués (suite) 2020 7 / 60

(22)

Élection Sur un anneau

Preuve des complexités dans le pire des cas

Soit i le site d’identité max.

Complexité temporelle :

pire des cas atteint avecun seul initiateur, successeur immédiat dei...

n−1 messages pour atteindre i, puisn messages pour faire le tour de l’anneau, puis encoren messages fin. Donc 3n1 messages

séquentiels.

Complexité en nbre de messages :

pire des cas atteint pour un anneau avec identités en ordre décroissant et tous initiateurs. Première «phase» :n messages...

Or ordre des identités est décroissant, seul le message deimin ài est arrêté. Donc n1 messages repartent. Au final :

Cmax(n)=

n

X

j=1

j+n=n(n+1)

2 +n=1 2n2+3

2n.

(INFO 3) APD 3–Algos distribués (suite) 2020 7 / 60

(23)

Élection Sur un anneau

Preuve des complexités dans le pire des cas

Soit i le site d’identité max.

Complexité temporelle :

pire des cas atteint avecun seul initiateur, successeur immédiat dei...

n−1 messages pour atteindre i, puisn messages pour faire le tour de l’anneau, puis encoren messages fin. Donc 3n1 messages

séquentiels.

Complexité en nbre de messages :

pire des cas atteint pour un anneau avec identités en ordre décroissant et tous initiateurs. Première «phase» :n messages...

Or ordre des identités est décroissant, seul le message deimin ài est arrêté. Donc n1 messages repartent. Au final :

Cmax(n)=

n

X

j=1

j+n=n(n+1)

2 +n=1 2n2+3

2n.

(INFO 3) APD 3–Algos distribués (suite) 2020 7 / 60

(24)

Élection Sur un anneau

Preuve des complexités dans le pire des cas

Soit i le site d’identité max.

Complexité temporelle :

pire des cas atteint avecun seul initiateur, successeur immédiat dei...

n−1 messages pour atteindre i, puisn messages pour faire le tour de l’anneau, puis encoren messages fin. Donc 3n1 messages

séquentiels.

Complexité en nbre de messages :

pire des cas atteint pour un anneau avec identités en ordre décroissant et tous initiateurs. Première «phase» :n messages...

Or ordre des identités est décroissant, seul le message deimin ài est arrêté. Doncn1 messages repartent. Au final :

Cmax(n)=

n

X

j=1

j+n=n(n+1)

2 +n=1 2n2+3

2n.

(INFO 3) APD 3–Algos distribués (suite) 2020 7 / 60

(25)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg :

Soit une configuration aléatoire :

in2

ik i2

i1 i in1

On suppose que tous sont initiateurs, soiti id. max. et ik le site à distancek dei (en partant de ik).

SoitXk variable aléatoire représentant le nbre de mesg <election,ik> d’origine ik.P(Xkk+1)=0.Notons queP(Xi=n)=1.

Pour que le mesg soit relayéau moins tk fois, il faut et il suffit que ik=max{ik, ...,ikt+1}. Si toutes les conf. sont équiprobables alors P(Xkt)=1/t.

(INFO 3) APD 3–Algos distribués (suite) 2020 8 / 60

(26)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg :

Soit une configuration aléatoire :

in2

ik i2

i1 i in1

On suppose que tous sont initiateurs, soiti id. max. et ik le site à distancek dei (en partant de ik).

SoitXk variable aléatoire représentant le nbre de mesg <election,ik>

d’origine ik.P(Xkk+1)=0.Notons queP(Xi=n)=1.

Pour que le mesg soit relayéau moins tk fois, il faut et il suffit que ik=max{ik, ...,ikt+1}. Si toutes les conf. sont équiprobables alors P(Xkt)=1/t.

(INFO 3) APD 3–Algos distribués (suite) 2020 8 / 60

(27)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg :

Soit une configuration aléatoire :

in2

ik i2

i1 i in1

On suppose que tous sont initiateurs, soiti id. max. et ik le site à distancek dei (en partant de ik).

SoitXk variable aléatoire représentant le nbre de mesg <election,ik>

d’origine ik.P(Xkk+1)=0.Notons queP(Xi=n)=1.

Pour que le mesg soit relayéau moins tk fois, il faut et il suffit que ik=max{ik, ...,ikt+1}. Si toutes les conf. sont équiprobables alors P(Xk≥t)=1/t.

(INFO 3) APD 3–Algos distribués (suite) 2020 8 / 60

(28)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

n1 X

k=1E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

doncCmoy(n)=

n1 X

k=1 k X

t=1

1 t +2n=

n1 X

t=1 n1

X

k=t

1 t +2n=

n1 X

t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(29)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

sachant que l’Espérance :E(X)def=

+∞X t=1

t×P(X=t)

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n=

nX1 t=1

nX1 k=t

1 t +2n=

nX1 t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(30)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

sachant que l’Espérance :E(X)def=

+∞X t=1

t×P(X=t)

E(X)=

+∞X t=1

t X

s=1

P(X=t)

doncCmoy(n)=

n1 X

k=1 k X

t=1

1 t +2n=

n1 X

t=1 n1

X

k=t

1 t +2n=

n1 X

t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(31)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

sachant que l’Espérance :E(X)def=

+∞X t=1

t×P(X=t)

E(X)=

+∞X t=1

t X

s=1

P(X=t)=

+∞X s=1

+∞X t=s

P(X=t)

doncCmoy(n)=

n1 X

k=1 k X

t=1

1 t +2n=

n1 X

t=1 n1

X

k=t

1 t +2n=

n1 X

t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(32)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

sachant que l’Espérance :E(X)def=

+∞X t=1

t×P(X=t)

E(X)=

+∞X t=1

t X

s=1

P(X=t)=

+∞X s=1

+∞X t=s

P(X=t)=

+∞X s=1

P(Xs)

doncCmoy(n)=

n1 X

k=1 k X

t=1

1 t +2n=

n1 X

t=1 n1

X

k=t

1 t +2n=

n1 X

t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(33)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

sachant que l’Espérance :E(X)def=

+∞X t=1

t×P(X=t)

E(X)=

+∞X t=1

t X

s=1

P(X=t)=

+∞X s=1

+∞X t=s

P(X=t)=

+∞X s=1

P(Xs)

orP(Xkt)=1

t etP(Xkk+1)=0, donc E(Xk)=

k X

t=1

1 t.

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n=

nX1 t=1

nX1 k=t

1 t +2n=

nX1 t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(34)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

n1 X

k=1E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n

= n1

X

t=1 n1

X

k=t

1 t +2n=

n1 X

t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(35)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

n1 X

k=1E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n=

nX1 t=1

nX1 k=t

1 t +2n=

nX1 t=1

nt t +2n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(36)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n=

nX1 t=1

nX1 k=t

1 t +2n=

nX1 t=1

nt t +2n

=n

nX1 t=1

1 t +

nX1 t=1

t

t +2n=n

nX1 t=1

1 t +n+1

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(37)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n=

nX1 t=1

nX1 k=t

1 t +2n=

nX1 t=1

nt t +2n

=n

nX1 t=1

1 t +

nX1 t=1

t

t +2n=n

nX1 t=1

1

t +n+1 or 1=n×1

n doncCmoy(n)=n

n X

t=1

1 t+n

Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(38)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (suite)

Cmoy(n)=

nX1 k=1

E(Xk)+2n(il y anmesg<fin,i>etnmesg<élection,i>).

doncCmoy(n)=

nX1 k=1

k X

t=1

1 t +2n=

nX1 t=1

nX1 k=t

1 t +2n=

nX1 t=1

nt t +2n

=n

nX1 t=1

1 t +

nX1 t=1

t

t +2n=n

nX1 t=1

1

t +n+1 or 1=n×1

n doncCmoy(n)=n

n X

t=1

1 t+n Cmoy(n)=nHn+n (Hn est la n-ieme somme partielle harmonique).

(INFO 3) APD 3–Algos distribués (suite) 2020 9 / 60

(39)

Élection Sur un anneau

Complexité en moyenne en nbre de mesg (fin)

Calcul deHn

1

t décroissante donc Z t+1

t

1 xdx 1

t Z t

t−1

1

xdx pour t2 donc en sommant pour t=2 à n (et en ajoutant 1) :

1+ Z n+1

2

1

xdx≤Hn≤1+ Z n

1

1 xdx donc lim

n→+∞Hn≈ln(n) donc Cmoy(n)=Θ(nlog(n))

(INFO 3) APD 3–Algos distribués (suite) 2020 10 / 60

(40)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(41)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(42)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

16 16

9

9 18

18

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(43)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

16 16 9

9 18

18

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(44)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

16

18

9

16

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(45)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

9

9

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(46)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

9

9

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(47)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

9

916 4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(48)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

9

9

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(49)

Élection Sur un anneau

Algo. de Franklin 1982

Hyp.: anneau bidirectionnel

Objectif: Élection parmi les initiateurs.

Idée : Se comparer à chaque «tour» à ses 2 voisins actifs, les pluspetits survivent, les passifs/battus relaient les mesgs.

Exemple (I={16,4,12,9,20,18,7,13}. Init={9,16,18})

9 9

9 9

9 9

9

9

16

4 12

9 20

18

7

13

(INFO 3) APD 3–Algos distribués (suite) 2020 11 / 60

(50)

Élection Sur un anneau

Algo. de Franklin 1982

varétat{passif,actif,élu,battu};

Eveil:siest_initiateuralors

étatactif;envoyer<Myid>aux deux voisins;

finsi

siétat = actifalors/∗ seuls les initiateurs participent à l’élection ∗/

sur_receptiondes messages<v>et<w>des DEUX voisins : simin{v,w}<Myidalorsétatbattu;finsi

simin{v,w}>Myidalorsenvoyer<Myid>aux deux voisins;finsi simin{v,w}=Myidalors

étatélu;/∗ Terminaison ... ∗/

finsi sinon

relayer les messages reçus finsi

(INFO 3) APD 3–Algos distribués (suite) 2020 12 / 60

Références

Documents relatifs

Parallélisme au niveau matériel Processeur super-scalaire.

1962 premier ordinateur multiprocs (4) mais système non parallèle 1964 premier ordi double cœur et premier ordinateur à structure parallèle.. 1965 premier

Algorithmes distribués classiques (1ère partie) Éveil distribué par inondation.

Tout mesg envoyé à un site est placé dans sa file d’attente.. L’ordonnanceur du réseau permet aux

Si on a un algo d’élection alors on a un algo d’AC (en ajoutant 2m messages et D unités de temps). AC −→ élection (en ajoutant n − 1 messages et h unités de temps, où h est

Ï Rang dans MPI_COMM_WORLD = rang absolu dans l’application Utilisé pour les envois / réception de messages. La norme MPI Structure d’un

2 Modèles de communications Passage de messages Mémoire Virtuelle RDMA.. 3 La norme

int MPI_Scatter( void ∗sendbuf, int sendcount, MPI_Datatype sendtype, void ∗recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);. Processsus root envoie