Tải bản đầy đủ (.pdf) (44 trang)

thời gian và trạng thái trong các hệ thống phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.14 MB, 44 trang )

Bài 5: Thời gian và Trạng thái trong
các Hệ thống phân tán
Mục tiêu:
 Thời gian trong các hệ thống phân tán
 Đồng hồ logic Lamport
 Đồng hồ vector
 Trạng thái của hệ phân tán
 Thuật toán tính đoạn trạng thái
HỌC VIỆN CÔNG NGHỆ BCVT

1

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Thời gian trong các HPT

www.ptit.edu.vn

 Thời gian dùng để đồng bộ các sự kiện xảy ra

trong hệ thống
 Các hệ thống kích hoạt bởi thời gian
 Duy trì tính nhất quán của dữ liệu phân tán thường
dựa trên thời gian sự thay đổi xảy ra
 Ví dụ: Chương trình biên dịch make

Thời gian và Trạng thái trong các HTPT


2

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Thời gian trong các HPT (tt.)

 P.c không được dịch
Thời gian và Trạng thái trong các HTPT

3

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng bộ đồng các hồ vật lý

Mỗi máy tính trong HPT có một đồng hồ cục bộ
Không có đồng hồ vật lý toàn cục
Cần phải đồng bộ các đồ hồ vật lý cục bộ
Đồng bộ đồng hồ vật lý: Đạt được độ chính xác biết
trước => điều phối các hoạt động xảy ra trên các

máy tính khác nhau

Thời gian và Trạng thái trong các HTPT

4

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng bộ đồng các hồ vật lý (tt.)
Các nguồn tham chiếu:
 Thời gian quốc tế dựa trên các đồng hồ vật lý siêu
chính xác (10E-123)
 UTC là tiêu chuẩn quốc tế để giữ nhịp định thời
 Được quảng bá từ các trạm phát sóng mặt đất hoặc
vệ tinh
 Tín hiệu từ các trạm mặt đất có độ chính xác 0.110 ms
 Tín hiệu từ GPS có độ chính xác 1 micro giây

Thời gian và Trạng thái trong các HTPT

5

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1



Đồng bộ đồng các hồ vật lý (tt.)

www.ptit.edu.vn

 Các khó khăn trong việc đồng bộ đồng hồ với

HPT:
 Không phải tất cả các vị trí đều có nguồn đồng hồ chính

xác GPS
 Họat động đồng bộ phải được thực hiện theo chu kỳ
 Nếu một đồng hồ nhanh hơn đồng hồ chuẩn, nó

không đơn thuần được chỉnh ngược lại

Thời gian và Trạng thái trong các HTPT

6

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng bộ đồng các hồ vật lý (tt.)
Đồng bộ ngoài

 Đồng hồ của một MT Ci được đồng bộ với một
đồng hồ ngoài chuẩn S, sao cho:
 |S(t) - Ci(t)| < D , i = 1, 2, … N
Đồng bộ trong
 Đồng hồ được đồng bộ giữa các cặp MT:
 | Ci(t) - Cj(t)| < D , i = 1, 2, … N

Thời gian và Trạng thái trong các HTPT

7

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Thuật toán Critian

www.ptit.edu.vn

 Client C gửi yêu cầu thời gian trong một bản tin đến server

S và nhận được giá trị thời gian t trong bản tin CUTC từ S. t
là thời gian hiện tại ở S trước khi gửi CUTC về C.
 Ttrans là thời gian cần thiết để bản tinCUTC từ S đến C, C
sẽ thiết lập thời gian là t + Ttrans .
 Ttrans có thể biến đổi. Có thể là: Ttrans = min+x, x ≥ 0 , x???
 Giải pháp:
 (1) Ghi tổng thời gian ở phía C là Tround
 (2) Nếu thời gian nhận được trong bản tin là t, C được

ước lượng: t + Tround/2.

Thời gian và Trạng thái trong các HTPT

8

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Thuật toán Critian (tt.)

Thời gian và Trạng thái trong các HTPT

9

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Thuật toán Berkeley
Một nhóm các máy tính được chọn để điều phối
(time server)
 Master gửi các yêu cầu hỏi về thời gian đến các

slaves bằng cách gửi thời gian của bản thân master
 Slaves gửi về độ lệc thời gian với master
 Dựa trên thời gian nhận được từ slaves, master tính
giá trị thời gian trung bình (gồm cả master)
 Master gửi giá trị điều chỉnh thời gian đến slaves

Thời gian và Trạng thái trong các HTPT

10

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Thuật toán Berkeley (tt.)

Thời gian và Trạng thái trong các HTPT

11

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn


Đồng bộ đồng hồ - Giao thức thời gian
mạng NTP

Thời gian và Trạng thái trong các HTPT

12

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Thời gian logic và đồng hồ logic

www.ptit.edu.vn

 Trong nhiều ứng dụng, thứ tự tương đối của các sự

kiện quan trọng hơn thời gian vật lý xảy ra sự kiện
(make)
Không cần các đồng hồ vật lý đồng bộ
 Thứ tự tương đối dựa trên thời gian logic
 Thời gian logic có được nhờ đồng hồ logic

Thời gian và Trạng thái trong các HTPT

13

TS. HÀ HẢI NAM


KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng hồ logic của Lamport
Thứ tự đề xuất bởi Lamport dựa trên quan hệ xảy ra
trước - Happened-Before (HB) ký hiệu là ->:
x-P->y nghĩa là sự kiện x xảy ra trước sự kiện y trong tiến
trình P.
 happened-before(HB) “->”
 HB1: If for process P: x-P->y, then x-> y.
 HB2: For the same message m, send(m)->receive(m)
 HB3: If x, y, and z are events, x->y, y->z then x->z.

Thời gian và Trạng thái trong các HTPT

14

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Đồng hồ logic của Lamport (tt.)

www.ptit.edu.vn

 a->b : Quan hệ nhân quả
 Có các sự kiện không có quan hệ HB. Chúng là các sự


kiện xảy ra đồng thời và được ký hiệu ||(Vd: a||e)

Thời gian và Trạng thái trong các HTPT

15

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng hồ logic của Lamport (tt.)
Đồng hồ logic được dùng để thực hiện quan hệ HB
 Một đồng hồ logic là một bộ đếm chương trình
tăng đơn điệu – Ký hiệu là C
 Mỗi tiến trình Pi có một đồng hồ logic CPi
 Giá trị của đồng hồ logic được sử dụng để gán các
nhãn thời gian cho các sự kiện - CPi (a)
 Không có mối quan hệ giữa đồng hồ logic và đồng
hồ vật lý
 Đồng hồ logic phải được cài đặt sau cho:
Nếu a->b thì C(a) < C(b)
Thời gian và Trạng thái trong các HTPT

16

TS. HÀ HẢI NAM


KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng hồ logic của Lamport (tt.)
Các luật truyền và cập nhật đồng hồ logic:
Luật 1 (L1): Đồng hồ logic CPi được tăng lên một đơn vị khi
mỗi sự kiện phát sinh ở tiến trình Pi : CPi = CPi + 1
Luật 2 (L2):
a) Khi a là một sự kiện gửi thông điệp m từ tiến trình Pi , thì
nhãn thời gian tm = CPi(a) được gửi kèm trong thông điệp
m. CPi(a) là giá trị đồng hồ logic có được sau khi áp dụng
luật L1.
b) Khi tiến trình Pj nhận được thông điệp m, đồng hồ logic
của tiến trình Pj được cập nhật như sau:
CPj :=
max (CPj, tm).
c) Giá trị mới CPj được dùng để gán nhãn thời gian cho sự
kiện nhận thông điệp sau khi áp dụng luật L1.

Thời gian và Trạng thái trong các HTPT

17

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1



www.ptit.edu.vn

Đồng hồ logic của Lamport (tt.)

Ví dụ: Thuật toán Lamport để hiệu chỉnh đồng hồ logic
Thời gian và Trạng thái trong các HTPT

18

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Kiểm tra

Thời gian và Trạng thái trong các HTPT

19

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Đồng hồ logic của Lamport (tt.)


www.ptit.edu.vn

 Một số ứng dụng đòi hỏi phải có sắp

xếp thứ tự toàn cục với giả thiết
KHÔNG có hai sự kiện xảy ra đồng
thời
 Để sắp xếp thứ tự toàn cục, khái niệm
nhãn thời gian logic toàn cục (Global
Logical Timestamp) được sử dụng được
định nghĩa là: (CPi(a), i)
Thỏa:
(CPi(a), i) < (CPj(b), j) khi và chỉ khi:
CPi(a) < CPj(b) hoặc :
CPi(a) = CPj(b) và i < j

Thời gian và Trạng thái trong các HTPT

20

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Vấn đề đối với đồng hồ Lamport

www.ptit.edu.vn

 Nếu a->b thì C(a) < C(b). Tuy nhiên, ngược lại thì


không luôn đúng

Thời gian và Trạng thái trong các HTPT

21

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


Đồng hồ vector

www.ptit.edu.vn

 Cho biết hai sự kiện có quan hệ nhân quả hay không

bằng việc xem xét nhãn thời gian của các sự kiện
 Một đồng hồ vector cho một hệ thống N tiến trình là
một mảng N số nguyên
 Mỗi tiến trình i duy trì một đồng hồ vector CVPi
 Đồng hồ vector được sử dụng để gán các nhãn thời
gian cho các sự kiện - CVPi (a)
 CVPi [i] là điểm vào thứ i của vector, tương ứng là thời
gian logic của tiến trình Pi
 CVPi [j] với j≠i là dự đoán thời gian logic tại tiến trình
Pj

Thời gian và Trạng thái trong các HTPT


22

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng hồ vector (tt.)
Các luật cập nhật đồng hồ vector
Luật 1 (L1): Thời gian logic của tiến trình Pi được tăng mỗi
khi có một sự kiện phát sinh ở tiến trình Pi
CVPi[i] := CVPi[i] + 1;
Luật 2 (L2): a) Khi có một sự kiên a là sự kiện gửi một
thông điệp m từ tiến trình Pi, nhãn thời gian tm=CVPi(a) được
gửi kèm thông điệp m. CVPi(a) là đồng hồ vector có được sau
khi áp dung L1.
b) Khi một tiến trình Pj nhận được thông điệp m, đồng hồ
vector của tiến trình Pj được cập nhật như sau:
Với mọi k, k=1..N, CVPj[k] = max (CVPj[k], tm[k])
c) Giá trị CVPj được dùng để gán nhãn thời gian sự kiện nhận
thông điệp m sau khi áp dụng luật L1.

Thời gian và Trạng thái trong các HTPT

23

TS. HÀ HẢI NAM


KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Đồng hồ vector (tt.)

Cho hai nhãn thời gian u, v
 u = v khi và chỉ khi u[i] = v[i] với mọi i
 u ≤ v khi và chỉ khi u[i] ≤ v[i] với mọi i
 u < v khi và chỉ khi u ≤ v và u≠v
 u||v khi và chỉ khi ¬ (uThuộc tính quan trọng: a-> b khi và chỉ khi CV(a) < CV(b)

Thời gian và Trạng thái trong các HTPT

24

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


www.ptit.edu.vn

Thứ tự nhân quả sử dụng đồng hồ vector
Vấn đề với đồng hồ logic
Lampart=>
Chúng ta mong muốn các

thông điệp được xử lý theo
thứ tự nhân quả
M1->M2
M1->M3
M2||M3
Nếu Send(M1) → Send(M2),
các tiến trình nhận cả M1 và
M2 phải nhận M1 trước
M2.

Thời gian và Trạng thái trong các HTPT

25

TS. HÀ HẢI NAM

KHOA CÔNG NGHỆ THÔNG TIN 1


×