b1, b2
sont delivres dans le meme ordre pour tout les processusb3
depent causalement de b2
, or p2
delivre d3
avant d2
d3, d1, d2
Algo pour sequentielle:
Etablir l’ordre parprocessus
- p1:
wx1 wx3
- p2:
rx1 wy2 ry4
- p3:
wy4 ry2
Etablir l’ordre par
variable
- x:
wx1 rx1 wx3
- y:
wy2 ry2 wy3 ry3
FIFO entre l’ordre par
processus
etvariable
Ordre possible donc:wx1 rx1 wx3 wy2 ry2 wy3 ry3
-> sequence possible
Une sequence qui marche
wy2 ry4
et wy4 ry2
- Happened before + causality inter-processus
- Only writes that are causally related must be seen by all processes in the same order. Concurrent writes must be seen in a different order.
x
sont sur le meme processus (p1
)y
modifie par p2, p3
, delivrance peut etre considere concurrenteHint: Quand les deux variables sont clairement separes (pas de
wx->wy->wx
), check pour causal, c’est fort possible!
On voit que les writes d’un processeur dans le meme ordre