Professional Documents
Culture Documents
distribués
http://wsn.univ-brest.fr/
pottier
1
Protocoles en Occam
Protocole Ecrire
PROTOCOL diam.proto PAR i=0 FOR N
CASE out[i] ! int ; tabOut[ i]
tab ; TableIdVal
null ; BYTE
int; INT Lire
: PAR i=0 FOR N
in [i] ? CASE
Déclarer : int ; tabIn[i]
PROC Node([N] CHAN OF diam.proto in,out) SKIP
[N] INT tabInt,tabOut: null ; isNull
BYTE isNull: SKIP
SEQ
SEQ i=0 FOR N
tabOut [i] := i
--
2
Protocoles en Occam
3
Maximum distribué, réseau quelconque
Principe:
❖ chaque nœud a une variable locale MaxLoc et un avis sur
le maximum global MxGlobal (initialement MaxLoc)
❖ On exécute Nb tours, en plaçant MxGlobal dans les
tampons sortants
❖ Après les communications, on compare MxGlobal aux
valeurs entrantes. On met à jour si une entrée est plus
grande.
Application:
En MaxNodes -1 étapes, tout le monde connait le
maximum global
4
Réseau R1, max distribué
Rejouez l’algorithme MxGlob2
en figurant les progrès
des MxGlob_i : C0, C1, … P2, id 7
MxGlob3
P1, id 3 P3, id 9
MxGlob1
MxGlob4
P4, id 5
5
Leader sur un anneau
6
Leader sur un réseau quelconque
Principe:
❖ La valeur choisie est l’Identificateur (Id)
❖ On calcule le maximum des Ids
❖ C’est le leader sur le réseau
Application: