1. Trang chủ
  2. » Giáo án - Bài giảng

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

44 439 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 2,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 5: Thời gian và Trạng thái trong các Hệ thống phân tán  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

Trang 1

Bài 5: Thời gian và Trạng thái trong

các Hệ thống phân tán

 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

Mục tiêu:

HỌC VIỆN CÔNG NGHỆ BCVT 1 TS HÀ HẢI NAM KHOA CÔNG NGHỆ THÔNG TIN 1

Trang 2

Thời gian trong các HPT

 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

Trang 3

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

Trang 5

Đồ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

Trang 6

 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

Trang 7

Đồ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:

Trang 8

Thuật toán Critian

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 C UTC từ S t

là thời gian hiện tại ở S trước khi gửi C UTC về C.

T trans là thời gian cần thiết để bản tinC UTC từ S đến C, C

sẽ thiết lập thời gian là t + T trans .

T trans có thể biến đổi Có thể là: T trans = min+x, x ≥ 0 , x???

Giải pháp:

(1) Ghi tổng thời gian ở phía C là T round

(2) Nếu thời gian nhận được trong bản tin là t, C được

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

Trang 9

Thuật toán Critian (tt.)

Trang 10

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

Trang 11

Thuật toán Berkeley (tt.)

Trang 12

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

Trang 13

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

 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

Trang 14

Đồ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.

Trang 15

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

 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)

Trang 16

Đồ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 C Pi

 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 - C Pi (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)

Trang 17

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

Các luật truyền và cập nhật đồng hồ logic:

mỗi sự kiện phát sinh ở tiến trình Pi : C Pi = C Pi + 1

a) Khi a là một sự kiện gửi thông điệp m từ tiến trình P i , thì

nhãn thời gian t m = C Pi (a) được gửi kèm trong thông điệp

m C Pi (a) là giá trị đồng hồ logic có được sau khi áp dụng

luật L1.

b) Khi tiến trình P j nhận được thông điệp m, đồng hồ logic của tiến trình P j được cập nhật như sau: C Pj := max (C Pj , t m ).

c) Giá trị mới C Pj đượ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.

Trang 18

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

Trang 20

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

 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à: (C Pi (a), i)

Trang 21

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

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

Trang 22

 Mỗi tiến trình i duy trì một đồng hồ vector C V Pi

 Đồng hồ vector được sử dụng để gán các nhãn thời

gian cho các sự kiện - C V

Trang 23

Đồng hồ vector (tt.)

Các luật cập nhật đồng hồ vector

khi có một sự kiện phát sinh ở tiến trình P i

C V Pi [i] := C V Pi [i] + 1;

thông điệp m từ tiến trình P i , nhãn thời gian t m =C V Pi (a) được gửi kèm thông điệp m C V

Pi (a) là đồng hồ vector có được sau

khi áp dung L1.

b) Khi một tiến trình P j nhận được thông điệp m, đồng hồ

vector của tiến trình P j được cập nhật như sau:

Với mọi k, k=1 N, C V

Pj [k] = max (C V Pj [k], t m [k]) c) Giá trị C V

Pj đượ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

Trang 24

Đồ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 ¬ (u<v) và ¬ (v<u)

Thuộc tính quan trọng: a-> b khi và chỉ khi C V (a) < C V (b)

Trang 25

Thứ tự nhân quả sử dụng đồng hồ vector

Trang 26

Thứ tự nhân quả sử dụng đồng hồ vector (tt.)

Giao thức truyền thông điệp thực hiện thứ tự nhân quả sử dụng đồng hồ vector

Ý tưởng cơ bản:

 Một thông điệp được chuyển giao tới một tiến trình chỉ khi thông điệp ngay trước nó đã được chuyển giao tới

tiến trình đó Nếu không đó được lưu trong bộ đệm

 Giả thiết: Các tiến trình dùng cơ chế quảng bá thông điệp để liên lạc

Trang 27

Thứ tự nhân quả sử dụng đồng hồ vector (tt.)

 Cài đặt giao thức dựa trên các luật sau:

Luật 1(L1): a) Trước khi quảng bá thông điệp m, một tiến trình Pi sẽ

tăng đồng hồ vector của nó: C V

Pi [i] := C V

Pi [i] +1 b) Nhãn thời gian t m = C V Pi được gửi kèm thông điệp m

Luật 2(L2): Tại nơi nhận, một tiến trình P j trễ việc chuyển giao

thông điệp m từ P i cho đến khi cả hai điều kiện sau thỏa mãn:

ĐK1: C V

Pj [i] = t m [i] - 1

ĐK2 : C V Pj [k] ≥ t m [k] , mọi k thuộc {1,2, n} – {i}

Các thông điệp được trễ được lưu trong hàng đợi theo thứ tự nhãn

thời gian, cá thông điệp tương tranh được sắp xếp thứ tự dựa trên thời điểm đến

Luật 3 (L3): Khi một thông điệp được chuyển giao đến tiến trình P j,

đồng hồ vector của P j được cập nhật theo luật cập nhật Luật 2.b cho

cài đặt đồng hồ vector (Với mọi k, k=1 N, C V

Trang 28

Thứ tự nhân quả sử dụng đồng hồ vector (tt.)

Trang 30

Các trạng thái toàn cục (tt.)

Một trạng thái toàn cục bao gồm

 Một tập các trạng thái cục bộ

 Một tập các trạng thái kênh truyền thông

 Khó ghi trạng thái kênh => Trạng thái toàn cục

thường được ghi không sử dụng trạng thái kênh

Trang 31

Định nghĩa hình thức

LS i là trạng thái cục bộ của tiến trình P i

Ngoài các thông tin khác, trạng thái cục bộ bao gồm một bản ghi các thông

điệp được gửi/nhận bởi tiến trình P i.

Trạng thái toàn cục của hệ thống, ký hiệu là GS, là tập các trạng thái toàn

Trang 32

Định nghĩa hình thức (tt.)

Một trạng thái toàn cục GS = {LS 1 , LS 2 ,…,LS n } là nhất quán khi và chỉ khi:

Một trạng thái toàn cục GS = {LS 1 , LS 2 ,…,LS n } là không chuyển tiếp (transitless) khi và chỉ khi:

 Một trạng thái toàn cục là nhất quán mạnh nếu nó

nhất quán và không chuyển tiếp

Trang 35

Các lát cắt của tính toán phân tán

 Một lát cắt là một biểu diễn đồ

họa của một trạng thái toàn cục

 Một lát cắt nhất quán là một

biểu diễn đồ họa của một trạng

thái toàn cục nhất quán

Trang 36

Các lát cắt của tính toán phân tán (tt.)

Giả sử e k là một sự kiện tại tiến trình P k

Một lát cắt Ct = {c 1 , c 2 , …,c n } là một lát cắt đồng

nhất nếu:

 {c1,c4,c5}?

Định lý: Một lát cắt Ct = {c 1 , c 2 , …,c n } là một lát cắt

đồng nhất nếu không tồn tại hai sự kiện cắt có quan

hệ nhân quả Nghĩa là:

Trang 37

Ghi trạng thái toàn cục Lamport)

(Chandy- Thuật toán ghi một tập các trạng thái cục bộ cho phép đạt được trạng thái toàn cục nhất quán

 Ghi trạng thái của các kênh

 View, snapshort(Đoạn trạng thái)

 Giả thiết kênh truyền một chiều, truyền thông điệp theo cơ chế FIFO

 Đồ thị biểu diễn kết nối mạnh

 Thuật toán dựa trên dùng thông điệp đánh dấu(thẻ bài)

Trang 38

Thuật toán Chandy-Lamport

Luật gửi thẻ bài cho tiến trình P i : Được thực hiện bởi tiến trình khởi

tạo ghi và các tiến trình khi lần đầu tiên nhận được thông điệp đánh dấu

[SR1]: P ighi trạng thái của nó

[SR2]: P i gửi bản tin đánh dấu đến các kênh đầu ra

Luật nhận thẻ bài cho tiến trình P j : Được thực hiện khi tiến trình P j

nhận được thông điệp đánh dấu từ tiến trình P i trên kênh Ch ij

[RR1]: if P j chưa ghi trạng thái của nó then

Ghi trạng thái của kênh: SCh ij := ∅

Theo luật áp dụng cho bên gửi thẻ bài.

else

Ghi trạng thái của kênh: SCh ij := M,

ở đó M là tập các thông điệp P j đã nhận từ P i sau khi P j ghi trạng thái của nó và trước khi P j nhận được bản tin đánh dấu trên Ch ij

Trang 39

Thuật toán Chandy-Lamport (tt.)

Trang 40

Thuật toán Chandy-Lamport (tt.)

Trang 41

Thuật toán Chandy-Lamport (tt.)

Trang 42

Thuật toán xác định kết thúc tính toán trạng thái

 Dùng thuật toán tính toán đoạn trạng thái để phát hiện kết thúc

 Nếu vẫn còn thông điệp đang được truyền=> chưa kết thúc

 Giả sử tiến trình P khởi tạo thuật toán, nó gửi bản tin đánh đấu đến tiến trình Q P được gọi là phần tử cha của Q

 Khi Q hoàn thành công việc tính toán đoạn trạng thái, nó gửi về tiến trình cha thông điệp DONE hoặc CONTINUTE

Trang 43

Thuật toán xác định kết thúc tính toán

 *CONTINUE : Các trường hợp khác

 Khi tiến trình khởi tạo nhận được tất cả các bản tin DONE từ các tiến trình con thì hoạt động tính toán được coi là kết thúc

Trang 44

Tổng kết

 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

Ngày đăng: 11/07/2016, 17:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w