Professional Documents
Culture Documents
Chuong05 DongBoHoaDongHo
Chuong05 DongBoHoaDongHo
Chương V
11
Trường Đại học Duy Tân, Trường Khoa học máy tính, Khoa Công nghệ thông tin
1 Đồng bộ hóa
2 Đồng hồ vật lý
2 Đồng hồ vật lý
4
CS420 - Hệ phân tán - Chương V
ĐỒNG BỘ HÓA
5
CS420 - Hệ phân tán - Chương V
ĐỒNG BỘ HÓA
P1
P2 CPU
P3
t0 t1 t2 t3 t4 Time
6
CS420 - Hệ phân tán - Chương V
ĐỒNG BỘ HÓA
Quá trình xử lý song song
P1 CPU 1
P2
P3 CPU 2
t0 t1 t2 Time
Câu hỏi: Nếu chỉ sử dụng 1 bộ xử lý là CPU2, điều gì xảy ra?
7
CS420 - Hệ phân tán - Chương V
ĐỒNG BỘ HÓA
8
CS420 - Hệ phân tán - Chương V
ĐỒNG BỘ HÓA
Đối với hệ thống phân tán
Mỗi trạm có một đồng hồ cục bộ của riêng mình Không
có đồng hồ chung Không thể áp dụng các thuật toán
đồng bộ hóa ở hệ thống cục bộ.
Ví du: Một sự kiện a sinh ra trên trạm P1 lúc 12g ngày
21/12/2016 và sự kiện b sinh ra trên trạm P2 lúc 14g ngày
21/12/2016. Hỏi sự kiện nào sinh ra trước, nếu:
a. Biết rằng P1 và P2 ở trên 2 hệ thống độc lập với nhau?
b. Nếu trạm P1 đặt ở Luân Đôn, trạm P2 đặt ở Hà Nội thì sự
kiện nào đến trước? Vì sao?
Trả lời: Không thể xác định được bằng đồng hồ vật lý, vì
đồng hồ ở P1 và P2 là độc lập nhau.
9
CS420 - Hệ phân tán - Chương V
ĐỒNG BỘ HÓA
10
CS420 - Hệ phân tán - Chương V
1 Đồng bộ hóa
2 Đồng hồ vật lý
Đồng hồ vật lý
• Là một dạng đồng hồ vật chất (nhận biết bằng các giác
quan)
• Dùng để giữ thời gian trong ngày và thống nhất trên toàn
hệ thống.
12
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Quartz clock
(J.W. Horton và Warren A. Marrison,1927) Quartz crystal clock
13
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Lưu ý: Phale một dạng thạch anh nhưng ở mức độ tin khiết
cao.
Thiết bị đo tần số: Âm thoa
14
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
15
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Caesium atomic clock, 1955 Hệ thống đồng hồ nguyên tử tại Đài quan
sát hải quân Mỹ ở Washington DC
16
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
18
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Đồng hồ CMOS
Pin CMOS
19
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
20
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
8:00:00 8:00:00
Oct 23, 2011
8:00:00
CS420 - Hệ phân tán - Chương V 21
ĐỒNG HỒ VẬT LÝ
8:01:24 8:01:48
Skew = +84 seconds Skew = +108 seconds
+84 seconds/35 days +108 seconds/35 days
Drift = +2.4 sec/day Sept 18, 2011 Drift = +3.1 sec/day
8:00:00
22
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
23
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Đối với PC
Để triệt tiêu (khử) hiện tượng Driff, người dụng phương
pháp hàm bù tuyến tính (Linear compensating
function)
Dựng một hệ toạ độ Decac, có: trục hoành biểu diễn thời
gian của UTC (đồng hồ chuẩn quốc tế). Trục tung biểu
diễn thời gian ở đồng hồ CMOS (Hình vẽ).
Xét 1 điểm M trên đồ thị M(dT,dC)
Nếu dC/dT = 1 Suy ra, đồng PC luôn đúng với đồng hồ
quốc tế: Đồng hồ lý tưởng (Perfect Clock)
25
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Perfect Clock
t(C)
Computer’s time, C Đối với PC
dC
dt
t(UTC)
UTC time, t
26
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Perfect Clock
dx
skew
dC
Nếu đồng hồ máy tính chạy chậm dC/dt <1
dC – dt = - dx<0: Skew.
Nếu bù 1 hàm –dx vào dC thì dC =dt
dt
UTC time, t
27
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Drift with fast Clock
Perfect Clock
Computer’s time, C
skew
dC
Nếu đồng hồ máy tính chạy nhanh dC/dt >1
dC – dt = dx>0: Skew.
Nếu bù 1 hàm dx vào dC thì dC =dt
dt
UTC time, t
28
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Compensating for a fast Clock
Computer’s time, C
Clock synchronized
skew
Linear compensating
function applied
UTC time, t
29
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Một số lưu ý
Phương trình (hoặc) hàm tuyến tính là gì? Phương trình
(hoặc) hàm phi tuyến tính là gì?
Vì sao 2 hàm tuyến tính khi thực cọng/trừ (bù) thì được
một tuyến tính mới?
Giả sử đồng CMOS hiện tại trên máy tính có thời gian là:
dC = 8:45:12. Đồng hồ UTC là: dT= 8:46:05. Hỏi Hàm bù
tuyến tính sinh ra là bao nhiêu để khi bù vào đồng hồ
CMOS thì nó sẽ trở thành đồng hồ lý tưởng?
Làm thế để biết được thời gian trên đồng hồ UTC
30
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Trả lời
Phương trình (hoặc) hàm tuyến tính là gì?
Hàm hoặc phương tuyến tính dùng biểu diễn cho đồ thị
đường thẳng.
Ví dụ: y = 2x+3 là hàm tuyến tính
Ví dụ:
y1= -3x +7, y2= -5x+ 3
y = y1+y2 = -3x +7 + -5x+ 3
= -8x +10 --> Hàm tuyến tính
Tổng quát:
Y = y1+y2 = a1x +b1 +a2x+b2 = (a1+a2)x + (b1+b2)
= Ax + B Hàm tuyến tính
31
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Một số lưu ý
Một số lưu ý
https://www.convertworld.com/vi/mui-gio/
33
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Ý nghĩa thực tế
Đối với các ứng dụng hoặc phần mềm trên PC, thời gian
xử lý của các tiến trình được lấy thời gian theo đồng hồ
CMOS.
Như vây để đồng hóa trên PC thì người đồng bộ theo
đồng hồ CMOS bằng phương pháp bù tuyến tính.
35
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Thiết lập thời gian thực hiện trên mạng tập trung
• Kỹ thuật đồng bộ đơn giản nhất
- Đồng bộ hóa từ máy khác
+ Với một chiếc đồng hồ chính xác hơn
+ Sử dụng thời gian của máy chủ: Time Server
36
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
37
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
40
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
- Ví dụ
Gởi yêu cầu lúc 5:08:15.100 (T0)
Nhận được phản hồi tại 5:08:15.900 (T1)
Phản hồi có lúc 5:09:25.300 (Tserver)
Thời gian đã qua là : T1 -T0
5:08:15.900 - 5:08:15.100 = 800 msec
Dự đoán tốt nhất: dấu thời gian được tạo : 400 msec
42
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Max =194
Min =155
43
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
44
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
46
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
48
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Server/master
Timestamps: Thời điểm của máy tính hiện tại = thời điểm của CMOS của máy tính đó
49
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
(3:25+2:50+3:0)/3 = 3:05
2.Tính toán lỗi chịu trung bình (fault-tolerant average):
Tính trung bình timestamp của tất cả các máy trên hệ thống trừ đi máy
có nhãn thời gian sai lệch lớn (lấy trung bình đặc trưng).
50
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
3. Gởi bù đắp (offset) đến mỗi Client để đạt được giá trị
trung bình
4. Điều chỉnh lại thời gian trên đồng hồ Server:
Gọi x là thời gian điều chỉnh trên đồng hồ server
51
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
3. Gởi bù đắp (offset) đến mỗi Client để đạt được giá trị
trung bình
4. Điều chỉnh lại thời gian trên đồng hồ Server:
Gọi x là thời gian điều chỉnh trên đồng hồ server
x + độ sai lệch biên trung bình = (-0:20+0:15 - 6:05) = +6:10
52
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
54
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ VẬT LÝ
Happened-before
Lamport gọi “happened-before” như sau:
- a b : sự kiện a đã xảy ra trước sự kiện b
Ví Dụ : a thông điệp được gửi đi, b: thông điệp nhận
56
CS420 - Hệ phân tán - Chương V
Nhận xét
57
CS420 - Hệ phân tán - Chương V
1 Đồng bộ hóa
2 Đồng hồ vật lý
59
CS420 - Hệ phân tán - Chương V
1 Đồng bộ hóa
2 Đồng hồ vật lý
Happened-before
Lamport gọi “happened-before” như sau:
Giả sử có sự kiện a và b nhưng biết sự kiện nào xày ra
trước thì làm thế nào để sắp xếp?
Hiện tượng này gọi là “happened-before”
Nếu tồn tại 1 thông điệp gởi ở a và nhận ở b thì sự kiện
a đến trước b. Ký hiệu: ab (Tiên đề Lamport)
Tính chất:
+ Tính bắc cầu (Transitive):
nếu a b và b c thì a c
+ Nếu giữa a và không tồn tại thông điệp, thì: ab hoặc
ba. a và b được gọi 2 sự kiện đồng quy.
61
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
62
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Happened-before
- Lamport gọi “happened-before” như sau:
Nếu sự kiện a đã xãy ra trước sự kiện b
khi và chỉ khi, tồn tại 1 thông điệp từ
a : thông điệp được gửi đi, b: thông
điệp nhận.
Ký hiệu: a b
-Tính bắc cầu (Transitive):
nếu a b và b c thì a c Lamport, February 7, 1941,
63
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
64
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
a b c d e f
P1
1 2 3 4 5 6
g h i
P2
1 2 3
j k
P3
1 Hình 1 2
Giả sử hệ thống này, có 3 trạm/host làm việc P1,P2,P3
Trục hoành: Tượng trưng thời gian trên đồng hồ tương ứng
a,b,c,….,k: các sự kiện sinh ra trên các trạm
1,2,3,4,5,6: Nhãn thời gian (timestamp) của các sự kiện.
Làm thế nào để sắp xếp thứ tự của các sự kiện a,b,c…k?
Các sự kiện đồng quy: (a,j), (a,g), (g,j), (h,f), (i,k) ...
65
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
66
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
a b c d e f
P1
1 2 3 4 5 6
g h i
P2
1 6 7
j k
P3
1 Hình 3 7
ab, bc, …: trình tự các sự kiện tại địa phương
I(a,g,j),II(h,f),III(i,k) : Các thành phần đồng qui
Kết luận:
Với thuật Lamport có thể sắp xếp thứ tự của các sự kiện
không cùng trong 1 thành phần đồng quy Chưa thể
đồng bộ hóa các sự kiện trên toàn bộ hệ thống
68
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
a b c d e f
P1
1.1 1.2 1.3 1.4 1.5 1.6
g h i
P2
2.1 2.6 2.7
j k
P3
3.1 3.7
Hinh 4
Do đó, theo trên thì nhãn thời gian của các sự kiện sẽ là (
hinh 4)
Chẳng hạn: a (1.1), j(3.1) thì a đến j trước khi đồng hồ
P1 P3.
Như vậy với thuật toán Lamport cải tiến thì có thể đồng
bộ hóa các sự kiện.
70
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
71
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
73
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
V1(0,0,0) a b
P1
V2(0,0,0) c d
P2
V3(0,0,0) e f
P3
Hình 5
74
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
(0,0,0) (1,0,0)
a b
P1
(0,0,0) c d
P2
(0,0,0) e f
P3
Event timestamp
a (1,0,0)
75
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) c d
P2
(0,0,0) e f
P3
Event timestamp
a (1,0,0)
b (2,0,0)
C(?,?,?) = max((2,0,0), (0,1,0)) = (2,1,0)
76
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0)
c d
P2
(0,0,0) e f
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0)
77
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e f
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0)
d (2,2,0)
78
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e (0,0,1) f
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0)
d (2,2,0)
e (0,0,1)
79
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e (0,0,1) f (2,2,2)
P3
Vector timestamps
(0,0,0) (1,0,0)
a
(2,0,0)
b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e (0,0,1) f (2,2,2)
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0) Sự kiện
d (2,2,0) đồng quy
e (0,0,1)
f (2,2,2)
CS420 - Hệ phân tán - Chương V 82
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e (0,0,1) f (2,2,2)
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0) Sự kiện
d (2,2,0) đồng quy
e (0,0,1)
f (2,2,2)
CS420 - Hệ phân tán - Chương V 83
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e (0,0,1) f (2,2,2)
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0) Sự kiện
d (2,2,0) đồng quy
e (0,0,1)
f (2,2,2)
CS420 - Hệ phân tán - Chương V 84
ĐỒNG HỒ LOGIC
Vector timestamps
(1,0,0) (2,0,0)
(0,0,0) a b
P1
(0,0,0) (2,1,0) (2,2,0)
c d
P2
(0,0,0) e (0,0,1) f (2,2,2)
P3
Event timestamp
a (1,0,0)
b (2,0,0)
c (2,1,0)
Sự kiện
d (2,2,0)
đồng quy
e (0,0,1)
f (2,2,2)
CS420 - Hệ phân tán - Chương V 85
ĐỒNG HỒ LOGIC
CPU
S1
P3 P2 P1
OS
S2
P6 P5 P4
87
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
88
CS420 - Hệ phân tán - Chương V
ĐỒNG HỒ LOGIC
89
CS420 - Hệ phân tán - Chương V
1 Đồng bộ hóa
2 Đồng hồ vật lý
91
CS420 - Hệ phân tán - Chương V
KẾT LUẬN
92
CS420 - Hệ phân tán - Chương V
1 Đồng bộ hóa
2 Đồng hồ vật lý
94
CS420 - Hệ phân tán - Chương V
BÀI KIỂM TRA
•4. Đồng hồ vật lý dùng để
•a.đo thời gian trong ngày
•b.thống nhất các hoạt động của các tiến trình, sự kiện v.v...
trên toàn hệ thống
•c.theo dõi thứ tự của các sự kiện trong hệ thống
•d.Tất cả đều đúng
•5. Đồng hồ logic được đề xuất lần đầu tiên khi nào?
•a.1990 b.Khi mạng máy tính ra đời
•c. 1988 d.1992
•6. Đồng bộ hóa đối với hệ thống PC chủ sử dụng
phương pháp bù tuyến tính bằng cách bổ sung thêm
hàm bù tuyến tính vào system call của hệ điều hành
a.Đúng b.Sai
95
CS420 - Hệ phân tán - Chương V
BÀI KIỂM TRA
•7.Hiện tượng Driff đối với đồng hồ máy tính luôn luôn
xảy ra
•a.Đúng b.Sai
•8.Phát biểu nào là đúng nhất về đồng hồ logic
•a. Đồng hồ logic là một cơ chế để nắm bắt mối quan hệ thời
gian và quan hệ nhân quả của các sự kiện trong một hệ
thống phân phối .
•b. Đồng hồ logic là một vector cho phép sắp xếp một phần
của các sự kiện trong một hệ thống phân tán
•c. Đồng hồ logic là một bản sao thứ tự, theo thông tin cập
nhật, trong hệ thống phân tán.
•d. Đồng hồ logic là một ma trận đồng hồ chứa thông tin về
của những tiến trình khác của hệ thống phân tán.
96
CS420 - Hệ phân tán - Chương V
LINK THAM KHẢO
1. https://www.youtube.com/watch?v=x-D8iFU1d-o
2. https://www.youtube.com/watch?v=g8-yjiAqndA
98
CS420 - Hệ phân tán - Chương V
TÀI LIỆU THAM KHẢO
99
CS420 - Hệ phân tán - Chương V
KẾT THÚC CHƯƠNG V
100
CS420 - Hệ phân tán - Chương V