Professional Documents
Culture Documents
Cc ng h logic
Logical Clocks
Nguyen Minh Nhat
nhatnam06@gmail.com - 0905125143
ng h logic
Gi s i vi dy cc thng ip
- Tt c cc tin trnh c th tha mn vic sp xp
th t ca cc s kin
- i vi ng h vt l : Ly thi gian trong ngy
Gi s khng c ngun thi gian trung tm
- Mi h thng duy tr ng h ring ca chnh mnh
- Khng c ch th ca cc s kin
+ Khng c khi nim happened-when
Page 2
Happened-before
Lamport k hiu happened-before :
- a b : s kin a xy ra trc s kin b
V D : a thng ip c gi i, b: thng ip
nhn
Transitive:
nu a b v b c th a c
Page 3
ng h logic v ng qui(concurrency)
Gi nh ta gn gi tr "ng h" cho mi s
kin :
Nu ab th clock(a) < clock(b)
Thi gian khng th chy ngc
Page 4
V d v vic m s kin
Cho 3 h thng: P0, P1, P2
Cc s kin :a, b, c,
S lt s kin truy cp cc b (a phng)
trn mi h thng
Cc h thng i khi giao tip vi nhau
Page 5
V d v vic m s kin
P1
a
1
P3
P2
j
1
c
g
1
d
4
e
5
f
h
k
2
Page 6
V d v vic m s kin
P1
a
1
P3
P2
j
1
g
1
d
4
e
5
f
h
k
2
Bad ordering:
eh
fk
Page 7
Lamports algorithm
Mi thng ip mang mt du thi gian ca
ng h gi
Khi mt tin nhn n:
- nu ng h nhn < timestamp thng ip
thit lp li ng h h thng (message
timestamp + 1)
khc khng phi lm g
ng h phi c ci tin gia hai s kin
trong tin trnh trnh nh nhau
Page 8
Lamports algorithm
Thut ton cho php chng ta duy tr th t thi
gian trong s cc s kin lin quan
- Partial ordering ( th t tng phn )
Page 9
V d v vic m s kin
P1
a
1
P3
P2
j
1
c
g
1
d
4
e
5
f
h
2
6
k
27
Page 10
Tm li
Thut ton cn nhu cu truy cp phn mm
monotonically tng
t nht l c mt gia s khi cc s kin cn c
timestamped xy ra
Mi s kin c mt du thi gian Lamport gn
lin vi n
i vi bt k hai s kin, m ab, : L (a) <L (b)
Page 11
Identical timestamps
P1
a
1
P3
P2
g
1
d
4
e
5
f
h
ab, bc, :
So snh timestamps:
(Ti, i) < (Tj, j)
Nu v ch nu
Ti < Tj hoc
Ti = Tj v i < j
Page 13
a
1.1
b
2.1
j
1.3
3.1 4.1
1.2
5.1
6.1
6.2
7.2
k
7.3
Page 14
Page 15
Vector clocks
H thng ng h vector c Fidge, Mattern v
Schmuck xut.
Rules:
1.
3. Thng ip c gi t qu trnh Pi vi Vi g n li n v i n.
4. Khi Pj nhn c tin nhn, so snh vect thnh ph n b i
nguyn t v thit lp vc t a ph ng theo:
Vj [i] = max(Vi [i], Vj [i]) for i=1, , N
Page 16
V = V nu V [i ] = V[i ] for i = 1 N
V V nu V [i ] V[i ] for i = 1 N
Cho 2 s kin bt k e, e
Nu e e th V(e) < V(e)
Cng ging nh thut ton ca Lamport
Page 17
Vector timestamps
(0,0,0)
P1
(0,0,0)
P2
(0,0,0)
P3
b
c
e
d
f
Page 18
Vector timestamps
(1,0,0)
(0,0,0)
a
b
P1
(0,0,0)
P2
(0,0,0)
e
P3
Event
a
d
f
timestamp
(1,0,0)
Page 19
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(0,0,0)
c
P2
(0,0,0)
e
P3
Event
a
b
d
f
timestamp
(1,0,0)
(2,0,0)
Page 20
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0)
(0,0,0)
c
P2
(0,0,0)
e
P3
Event
a
b
c
d
f
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
Page 21
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,0)
e
f
P3
Event
a
b
c
d
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
Page 22
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,1)
(0,0,0)
e
f
P3
Event
a
b
c
d
e
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
(0,0,1)
Page 23
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,1)
(2,2,2)
(0,0,0)
e
f
P3
Event
a
b
c
d
e
f
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
(0,0,1)
(2,2,2)
Page 24
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,1)
(2,2,2)
(0,0,0)
e
f
P3
Event
a
b
c
d
e
f
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
(0,0,1)
(2,2,2)
concurrent
events
Page 25
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,1)
(2,2,2)
(0,0,0)
e
f
P3
Event
a
b
c
d
e
f
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
(0,0,1)
(2,2,2)
concurrent
events
Page 26
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,1)
(2,2,2)
(0,0,0)
e
f
P3
Event
a
b
c
d
e
f
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
(0,0,1)
(2,2,2)
concurrent
events
Page 27
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0)
a
b
P1
(2,1,0) (2,2,0)
(0,0,0)
c
d
P2
(0,0,1)
(2,2,2)
(0,0,0)
e
f
P3
Event
a
b
c
d
e
f
timestamp
(1,0,0)
(2,0,0)
(2,1,0)
(2,2,0)
(0,0,1)
(2,2,2)
concurrent
events
Page 28
Page 29
Quy tc 2: Nu e1 l s kin gi i mt
thng ip m trn mt trm, v e2 l s kin
nhn c chnh thng ip th e1e2.
Quy tc 3: Nu hai s kin e1, e2 xy ra trn
hai trm Si, Sj bt k trong h (i, j l s
th t ca trm) th ta c e1e2 tng
ng Hi(e1)<Hj(e2).
Quy tc 4 :Nu hai s kin e1, e2 ta c e1||
e2 tng ng H(e1)||H(e2).
Nu a->b th s kin a c th nh hng n s
kin b
Page 30
Tng tranh(Concurrency)
Nu khng a->b nor b->a th mt s kin khng th
nh hng ns kin khc
Page 31
The end.
Page 32