H
H
ệ
ệ
đi
đi
ề
ề
u h
u h
à
à
nh m
nh m
ạ
ạ
ng
ng
nâng cao
nâng cao
Gi
Gi
ả
ả
ng viên: Ho
ng viên: Ho
à
à
ng Xuân D
ng Xuân D
ậ
ậ
u
u
Email:
Email:
Khoa Công ngh
Khoa Công ngh
ệ
ệ
thông tin 1
thông tin 1
H
H
ọ
ọ
c vi
c vi
ệ
ệ
n Công ngh
n Công ngh
ệ
ệ
BC
BC
-
-
VT
VT
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
2
2
V. Th
V. Th
ờ
ờ
i gian v
i gian v
à
à
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
ho
ho
á
á
th
th
ờ
ờ
i gian
i gian
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
3
3
Th
Th
ờ
ờ
i gian v
i gian v
à
à
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
ho
ho
á
á
th
th
ờ
ờ
i gian
i gian
• Dịch vụ thời gian (Time Service)
– Yêu cầu và các vấn đề cần giải quyết
– Các nguồn cung cấp thời gian chính xác
• Các giải thuật đồng bộ hoá thời gian
– Đồng hồ lệch và sai giờ
– Giải thuật Cristian
– Giải thuật Berkerly
– Network Time Protocol - NTP
• Thời gian và đồng hồ logic
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
4
4
S
S
ự
ự
c
c
ầ
ầ
n thi
n thi
ế
ế
t c
t c
ủ
ủ
a d
a d
ị
ị
ch v
ch v
ụ
ụ
th
th
ờ
ờ
i gian
i gian
• Đo độ trễ (delays) giữa các thành phần
phân tán
• Đồng bộ hoá các dòng dữ liệu, như dòng
dữ liệu hình ảnh và âm thanh
• Thiết lập trật tự của các sự kiện
• Cung cấp tem thời gian chính xác cho xác
thực các giao dịch, đồng bộ hoá các
CSDL phân tán,
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
5
5
Cơ ch
Cơ ch
ế
ế
đ
đ
ồ
ồ
ng h
ng h
ồ
ồ
ph
ph
ầ
ầ
n c
n c
ứ
ứ
ng
ng
• Có sẵn trong các thiết bị điện tử
• Đếm số dao động xuất hiện trong tinh thể thạch
anh tại tần số xác định
• Lưu số dao động trong một thanh ghi đếm
• Ngắt được tạo ra định kỳ
• Chương trình xử lý ngắt đọc thanh ghi đếm,
chuyển đổi giá trị đọc được ra đơn vị thời gian
(giây, nanô giây) v à cập nhật đồng hồ phần
mềm.
• VD: thời gian tính bằng số giây kể từ 01/01/1970
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
6
6
C
C
á
á
c v
c v
ấ
ấ
n đ
n đ
ề
ề
v
v
ớ
ớ
i đ
i đ
ồ
ồ
ng h
ng h
ồ
ồ
ph
ph
ầ
ầ
n c
n c
ứ
ứ
ng
ng
• Tần số dao động
– Thay đổi theo nhiệt độ
– Không giống nhau trên các máy khác nhau
• Độ chính xác:
– Thường sai 1 giây trong 11.6 ng ày.
• Dịch vụ thời gian tập trung
– Không thích hợp vì độ trễ của các thông điệp
là không đồng đều.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
7
7
Đ
Đ
ồ
ồ
ng h
ng h
ồ
ồ
l
l
ệ
ệ
ch v
ch v
à
à
sai gi
sai gi
ờ
ờ
• Đồng hồ lệch giờ:
– Thời gian tại hai đồng hồ trong hệ thống lệch nhau
• Đồng hồ sai giờ:
– Khoảng lệch thời gian giữa một đồng hồ so với đồng
hồ chuẩn.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
8
8
C
C
á
á
c ngu
c ngu
ồ
ồ
n cung c
n cung c
ấ
ấ
p th
p th
ờ
ờ
i gian
i gian
ch
ch
í
í
nh x
nh x
á
á
c
c
• Universal Coordinated Time (UTC, from French)
– Dựa trên thời gian nguyên tử
– Phát quảng bá từng giây thông qua c ác trạm truyền
thanh và vệ tinh
• Global Positioning System (GPS)
– Phát quảng bá UTC
• Các trạm thu UTC và GPS: sử dụng cho các
mục đích thương mại và đồng bộ qua đồng hồ
cục bộ.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
9
9
Đ
Đ
ồ
ồ
ng b
ng b
ộ
ộ
đ
đ
ồ
ồ
ng h
ng h
ồ
ồ
• Giả thiết sai số thời gian cho phép là D
• Đồng bộ đồng hồ ngoài (external) với nguồn thời
gian chuẩn:
– Sai số tuyệt đối giữa đồng hồ và nguồn thời gian
chuẩn phải nhỏ hơn D tại mọi thời điểm trong chu kỳ
đồng bộ hoá;
– Độ chính xác phải trong giới hạn D.
• Đồng bộ các đồng hồ nội bộ (internal) với nhau:
– Sai số tuyệt đối giữa các đồng hồ phải nhỏ hơn D tại
mọi thời điểm trong chu kỳ đồng bộ hoá;
– Các đồng hồ phải cho giá trị thời gian với sai khác
trong giới hạn D.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
10
10
Hi
Hi
ệ
ệ
u ch
u ch
ỉ
ỉ
nh th
nh th
ờ
ờ
i gian
i gian
• Giả thiết 2 đồng hồ lệch nhau với tần suất
R mili giây / giây:
– Sai khác lớn nhất giữa 2 đồng hồ này là
2R/giây
– Vì thế chúng cần được đồng bộ hoá theo chu
kỳ D/2R, để đạt được sai số cho phép D.
• Hiệu chỉnh đúng đồng hồ:
– Đọc giá trị UTC và chỉnh lại đồng hồ phần
mềm.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
11
11
C
C
á
á
c phương ph
c phương ph
á
á
p đ
p đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
• Các hệ thống đồng bộ
– Đơn giản, thường dựa trên các giới hạn thời
gian biết trước.
• Các hệ thống không đồng bộ
– Mạng Intranet:
• Giải thuật Cristian
• Giải thuật Berkerly
– Mạng Internet:
• Network Time Protocol
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
12
12
C
C
á
á
c h
c h
ệ
ệ
th
th
ố
ố
ng đ
ng đ
ồ
ồ
ng b
ng b
ộ
ộ
• Đồng bộ hoá nội bộ giữa 2 tiến trình
– Biết trước các giới hạn MAX, MIN của độ trễ thông
điệp
– Độ trễ đồng hồ và tần suất thực thi
• Giả thiết tiến trình 1 gửi thông điệp đến tiến trình
2 với thời gian t:
– Tiến trình 2 có thể hiệu chỉnh đồng hồ của mình theo
thời gian t + (MAX + MIN)/2
– Độ lệch lớn nhất giữa đồng hồ của hai tiến trình là
(MAX - MIN)/2
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
13
13
Gi
Gi
ả
ả
i thu
i thu
ậ
ậ
t Cristian
t Cristian
• Ước lượng thời gian truyền thông điệp là p = (T
1
- T
0
- h)/2 (1/2 của thời gian chu trình request-
reply).
• Hiệu chỉnh đồng hồ đến UTC + p
• Lặp lại chu trình trên và đo khoảng thời gian T
1
-
T
0
. Ghi nhận giá trị T
1
- T
0
nhỏ nhất là thời điểm
cho thời gian chính xác nhất.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
14
14
Gi
Gi
ả
ả
i thu
i thu
ậ
ậ
t Cristian (ti
t Cristian (ti
ế
ế
p)
p)
• Chỉ đồng bộ hoá được nếu thời gian
round-trip là ngắn so với độ chính xác yêu
cầu
• Chỉ đạt được độ chính xác cao khi thời
gian truyền thông điệp nhỏ nhất.
• Server có thể là nút yếu nhất trong hệ
thống.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
15
15
Gi
Gi
ả
ả
i thu
i thu
ậ
ậ
t Berkerly
t Berkerly
Đồng bộ hoá thực hiện tốt trong khoảng 20-25ms cho 15 máy tính, với tần
suất lệch là 2 x 10
-5
và thời gian max của chu trình thông điệp là 10ms.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
16
16
Gi
Gi
ả
ả
i thu
i thu
ậ
ậ
t Berkerly
t Berkerly
• Lựa chọn một điều phối viên master định
kỳ thăm các slaves
• Master ước lượng thời gian cục bộ tại các
slaves dựa trên round-trip
• Master tính thời gian trung bình cho tất cả
slaves, trừ các giá trị không hợp lệ (sai
quá lớn)
• Master gửi thông điệp hiệu chỉnh thời gian
đến từng slave.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
17
17
Gi
Gi
ả
ả
i thu
i thu
ậ
ậ
t Berkerly
t Berkerly
• Độ chính xác:
– Phụ thuộc vào thời gian round-trip
• Sai số trung bình:
– Loại trừ được các ngoại lệ thời gian
– Thời gian hiệu chỉnh là trung bình của giá trị
thời gian đọc được tại các đồng hồ với độ
lệch nằm trong một giới hạn.
• Trường hợp master gặp trục trặc:
– Bầu chọn ra 1 master mới
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
18
18
Net
Net
work Time Protocol
work Time Protocol
• Gồm nhiều máy chủ NTP trên mạng Internet
• Primary servers kết nối trực tiếp với thiết bị tiếp
nhận thông điệp UTC
• Secondary servers đồng bộ hoá thời gian với
primary servers
• Tertiary servers đồng bộ hoá thời gian với
secondary servers,
• Số lượng servers phụ thuộc vào số lượng
clients.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
19
19
T
T
ổ
ổ
ch
ch
ứ
ứ
c NTP S
c NTP S
ervers
ervers
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
20
20
C
C
á
á
c ch
c ch
ế
ế
đ
đ
ộ
ộ
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
ho
ho
á
á
NTP
NTP
• Multicast
– Một hoặc một số servers định kỳ multicast đến các servers khác
trên đường truyền LAN tốc độ cao;
– Các servers hiệu chỉnh đồng hồ với giả thiết độ trễ thông điệp rất
nhỏ.
• Chế độ gọi thủ tục (Procedure Call Mode)
– Tương tự giải thuật Cristian: client yêu c ầu thời gian từ một vài
máy chủ
– Thường dùng để có độ chính xác cao hơn hoặc nơi không có
multicast
• Giao thức đối xứng (Symetric Protocol)
– Sử dụng bởi các masters trong LAN v à các lớp servers gần
masters nhất;
– Cho độ chính xác cao nhất, dựa trên việc đồng bộ hoá từng cặp.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
21
21
Th
Th
ờ
ờ
i gian logic
i gian logic
• Trong nhiều trường hợp, ta chỉ cần thống
nhất về thời gian trong hệ thống (không
nhất thiết là thời gian UTC).
• Nhờ vậy có thể suy ra trật tự của các sự
kiện có tính nhân - quả:
a → b (a xuất hiện trước b)
• Thời gian logic biểu diễn quan hệ nhân -
quả.
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
22
22
V
V
í
í
d
d
ụ
ụ
v
v
ề
ề
tr
tr
ậ
ậ
t t
t t
ự
ự
nhân
nhân
-
-
qu
qu
ả
ả
HĐH m
HĐH m
ạ
ạ
ng nâng cao
ng nâng cao
Th
Th
ờ
ờ
i gian &
i gian &
đ
đ
ồ
ồ
ng b
ng b
ộ
ộ
th
th
ờ
ờ
i gian
i gian
23
23
Đ
Đ
ồ
ồ
ng h
ng h
ồ
ồ
logic
logic
• Đồng hồ logic: sử dụng bộ đếm phần mềm
tăng đều (không phải là thời gian thực)
• Mỗi tiến trình có một bộ đếm làm tem thời
gian.
• a → b ám chỉ T(a) < T(b), trong đó T(a) là
tem thời gian logic của a, T(b) là tem thời
gian logic của b.