Professional Documents
Culture Documents
FIFO Order
p0
m1
m2
p1
p2
p3
Messages from pi are received in
the order they are sent from pi
2
Not FIFO-order
p0
m1
m2
p1
p2
p3
FIFO order
m1
p0
p1
m3
m2
m4
p2
p3
Messages from different
processors may be received in
different order
4
Not FIFO-order
m1
p0
p1
m3
m2
m4
p2
p3
ATM
Bank
Account
Deposit
$1000
$0
Withdraw
$500
$1000
$500
FIFO order
6
ATM
Bank
Account
$0
Withdraw
$500
-$500
$500
Not an allowed
transaction
p0
p1
p2
p3
m1
1
m2
1
1
2
2
p0
p1
p2
p3
m1
1
m2
V p0 = 0
1
1
V p0 = 1
2
2
V p0 = 2
p0
p1
p2
p3
m1
1
m2
1
1
V p0 = 0
2
2
wait
ok
p0
p1
p2
p3
m1
1
m2
1
1
2
2
2
2
V p0 = 0
V p0 = 1
V p0 = 2
receive
11
12
Total Order
p0
p1
m1
m2
p2
p3
Messages are received in
the same order in every processor
13
p0
p1
m1
m2
p2
p3
14
Total Order
p0
p1
m1
m2
p2
p3
15
p0
p1
m1
m2
p2
p3
16
An Asymmetric Algorithm
counter
1
p0
p1
p2
p3
Request a counter value
17
counter
1
p0
p1
p2
p3
Receive a counter value
18
counter
1
p0
p1
1
1
1
p2
p3
Broadcast
19
counter
1
p0
p1
p2
p3
2
1
1
1
2
2
2
1
1
20
p0
p1
p2
p3
2
1
2
1
wait
ok
p0
p1
p2
p3
2
1
2
wait
ok
received
22
A Symmetric Algorithm
23
On broadcast:
the process sends the
counter value to every body
24
On reception of a message:
If received counter value is higher
than local value, then:
Update local counter to new value
Broadcast new counter value to
everybody else
25
p0
p1
p2
0
0
0
0
0
0
0
0
0
26
p0
p1
p2
0
0
0
0
0
0
0
0
0
1
0
0
27
p0
p1
p2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
28
p0
p1
p2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
p0
p1
p2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
30
p0
p1
p2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
p0
p1
p2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
2
1
2
2
1
1
0
1
1
1
0
1
1
Local vector of
pi
a0
a
1
a2
K
pi
33
p0
p1
p2
0
0
0
0
0
0
0
0
0
34
p0
p1
p2
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
35
p0
p1
p2
0
0
0
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
36
p0
p1
p2
0
0
0
1
0
0
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
37
p0
p1
p2
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
38
p0
p1
p2
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
40
Causal Order
p0
p1
m1
m2
p2
p3
Messages are received in
the order they are caused
41
p0
p1
m1
m2
p2
p3
42
Causal order
p0
p1
p2
p3
m2
m1
43
p0
p1
p2
p3
m2
m1
44
45
p0
p1
p2
0
0
0
0
0
0
0
0
0
46
p0
p1
p2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0 0
1
0
0
1
0
0
1
0
0
1
0
47
p0
p1
p2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
2
0
0
2
0
0
2
0
0
1
0
48
p0
p1
p2
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
2
0
0
2
0
0
2
0
0
1
0
0
2
0
49
p0
p1
p2
0
2
0
0
2
0
0
2
0
50
p0
p1
p2
0
2
0
0
2
0
0
2
0
0
3
0
0
3
0
0
3
0
0
3
0
51
p0
p1
p2
0
2
0
0
2
0
0
2
0
0
3
0
0
3
0
0
3
0
1
3
0
1
3
0
1
3
0
0
3
0
52
p0
p1
p2
0
2
0
0
2
0
0
2
0
0
3
0
0
3
0
0
3
0
1
3
0
1
3
0
1
3
0
0
3
0
1
3
0
53
v0
Processor pi officially receives
v
1
When:
54
Relationship Between
Broadcast Orders
55
Causal Order
a
a b
b
b a
Causal Order does not imply Total Order
56
Causal Order
a
Total Order
a
FIFO
a