10-logicalclocks-111024025950-phpapp01

32
Page 1 Page 1 Các đồng hồ logic Logical Clocks Distributed Systems Trường Đại học Duy Tan – Khoa CNTT, Tổ Kỹ thuật mạng – 8/2009 Nguyen Minh Nhat [email protected] - 0905125143

description

Công nghệ thông tin

Transcript of 10-logicalclocks-111024025950-phpapp01

Slide 1Logical Clocks
Distributed Systems
Trng i hc Duy Tan – Khoa CNTT, T K thut mng – 8/2009
Nguyen Minh Nhat
Gi s i vi dãy các thông ip
- Tt c các tin trình có th tha mãn vic sp xp th t ca các s kin
- i vi ng h vt lý : Ly thi gian trong ngày
Gi s không có ngun thi gian trung tâm
- Mi h thng duy trì ng h riêng ca chính mình
- Không có ch th ca các s kin
+ Không có khái nim happened-when
*
Lamport ký hiu “happened-before” :
- a b : s kin a ã xy ra trc s kin b
Ví D : a thông ip c gi i, b: thông ip nhn
Transitive:
*
ng h logic và ng qui(concurrency)
Gi nh ta ã gán giá tr "ng h" cho mi s kin :
Nu ab thì clock(a) < clock(b)
Thi gian không th chy ngc
Nu a và b xy ra trên các tin trình khác nhau mà không trao i thông ip, và sau ó không phi a b hoc không b a là úng
- Nhng s kin này c gi là ng qui
*
Các s kin :a, b, c, …
S lt s kin truy cp cc b (a phng) trên mi h thng
Các h thng ôi khi giao tip vi nhau
*
a
b
h
i
k
P1
P2
P3
1
2
1
3
2
1
d
f
g
3
c
2
4
6
e
5
j
a
b
i
k
j
P1
P2
P3
1
2
1
3
2
1
d
f
g
3
c
2
4
6
Lamport’s algorithm
Mi thông ip mang mt du thi gian ca ng h gi
Khi mt tin nhn n:
- nu ng h nhn < timestamp thông ip thit lp li ng h h thng (message timestamp + 1)
khác không phi làm gì
*
Lamport’s algorithm
Thut toán cho phép chúng ta duy trì th t thi gian trong s các s kin liên quan
- Partial ordering ( th t tng phn )
*
a
b
i
k
j
P1
P2
P3
1
2
1
7
2
1
d
f
g
3
c
2
4
6
6
7
h
e
5
Tóm li
Thut toán cn nhu cu truy cp phn mm monotonically tng
ít nht là có mt gia s khi các s kin cn c timestamped xy ra
Mi s kin có mt du thi gian Lamport gn lin vi nó
*
Identical timestamps
ab, bc, …: trình t các s kin ti a phng
ic, fd , dg, … :Lamport áp t mt quan h
sendreceive
Các s kin ng qui (ví d, a & i) có th có nhng du thi gian tng t ... hoc không
a
b
h
i
k
j
P1
P2
P3
1
2
1
7
7
1
d
f
g
3
c
6
4
6
e
5
Unique timestamps (total ordering)
Chúng ta có th áp t mi du thi gian là duy nht
- Xác nh toàn cu hp lý du thi gian (Ti, i)
Ti i din cho du thi gian Lamport a phng
i i din cho s quy trình (duy nht trên toàn cu)
Ví d (a ch máy, quá trình ID)
So sánh timestamps:
Không liên quan n các s kin sp xp
*
(Detecting causal relations)
If L(e) < L(e’)
Hãy xem Lamport timestamps
Không th kt lun là s kin có liên quan nhân qu
Gii pháp: s dng mt ng h vector
*
Vector clocks
H thng ng h vector c Fidge, Mattern và Schmuck xut.
Rules:
Vector khi to có giá tr 0 ti mi quá trình
Vi [j] = 0 for i, j =1, …, N
Nhng s gia tin trình nguyên t ca các vector trong vector a phng xy ra trc khi s kin timestamping:
Vi [i] = Vi [i] +1
3. Thông ip c gi t quá trình Pi vi Vi gn lin vi nó.
4. Khi Pj nhn c tin nhn, so sánh vect thành phn bi nguyên t và thit lp véc t a phng theo:
*
Define
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 toán ca Lamport
Nu V(e) < V(e’) thì e e’
Hai s kin ng qui nu (H1||H2 )
không V(e) V(e’) hoc không V(e’) V(e)
*
Quan h nhân qa(Causality) gia hai s kin
Vic xác lp trt t nhân qu ca hai s kin e1 và e2 bt k c thc hin da trên nhng
quy lut sau ây:
Quy tc 1: Nu hai s kin e1, e2 xy ra trên cng mt trm Si (i là s th t ca trm trong h), khi ó e1e2 khi và ch khi Hi(e1)<Hi(e2).
Page *
Quy tc 2: Nu e1 là s kin gi i mt thông ip m trên mt trm, và e2 là s kin
nhn c chính thông ip ó thì e1e2.
Quy tc 3: Nu hai s kin e1, e2 xy ra trên 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 *
Tng tranh(Concurrency)
Nu không a->b nor b->a thì mt s kin không th nh hng ns kin khác
Th t tng phn (Partial Ordering )
S kin nguyên nhân là trình t
Th t toàn cc (Total Ordering )
Tt c các s kin c trình t
Page *
Page *