7.3 Mô hình của một tính toán phân tán Trong phần này, chúng ta miêu tả mô hình xen kẽ và mô hình xảy ra ngẫu nhiên để thu được đặc tính hoạt động của một hệ thống phân tán... 7.3.1 Mô h
Trang 1Giảng viên hướng dẫn: PGS TS Trần Đình Quế
Trang 2Direct Dependency Clock Đồng hồ Matrix
Vấn đề ?
Trang 37.3 Mô hình của một tính toán phân tán
Trong phần này, chúng ta miêu tả mô hình xen kẽ và mô hình xảy ra ngẫu nhiên để thu được đặc tính hoạt động của một hệ thống phân tán
Trang 47.3.1 Mô hình xen kẽ
Một tính toán phân tán hoặc chỉ đơn giản là một chuỗi các sự kiện
Do đó tất cả các sự kiện trong một hoạt động được xen kẽ và được đan xen với nhau
Trang 5 Ví dụ: xét một hệ thống: một máy chủ ngân hàng và khách hàng Khách hàng
sẽ gửi hai thông điệp yêu cầu đến máy chủ ngân hàng truy vấn các khoản tiết kiệm và tài khoản kiểm tra Khi nhận được phản ứng, nó cho biết thêm lên tổng số dư
Trong mô hình xen kẽ có thể được biểu diễn như sau:
7.3.1 Mô hình xen kẽ
Trang 6P1 gửi đến P2 " kiểm tra chính xác thông tin của tôi là gì“
P1 gửi đến P2 "số dư tiết kiệm của tôi là gì"
P2 nhận được từ P1 " kiểm tra chính xác thông tin của tôi là gì “ P1 đặt tổng số 0
P2 nhận được từ P1 "số dư tiết kiệm của tôi là gì"
P2 gửi "kiểm tra số dư = 40" về P1
P1 nhận được "kiểm tra số dư = 40" từ P2
P1 đặt ra tổng số đến 40 (tổng số + kiểm tra)
P2 sẽ gửi "số dư tiết kiệm = 70" về P1
P1 nhận được "số dư tiết kiệm = 70" từ P2
P1 đặt ra tổng số tới 110 (tổng số + Tiết kiệm)
7.3.1 Mô hình xen kẽ
Trang 7 Để cài đặt một sự kiện trong một quá trình Ta có nếu sự kiện e xảy ra trước khi
sự kiện f trong một quá trình, sau đó e được cài đặt trước f
Nếu e là sự kiện gửi các thông điệp và f là
sự kiện nhận được của cùng một thông điệp, sau đó chúng ta có thể cài đặt e trước
f Kết hợp hai ý tưởng này, chúng ta có được định nghĩa sau đây.
7.3.2 Mô hình xảy ra ngẫu nhiên
Trang 8Định nghĩa 7.1 (Mối quan hệ xảy ra ngẫu nhiên)
Mối quan hệ xảy ra ngẫu nhiên (→) là mối quan
hệ nhỏ nhất thỏa mãn:
1 Nếu e xảy ra trước khi f trong quá trình
đó, sau đó e → f.
2 Nếu e là sự kiện gửi các thông điệp và e
là nhận được sự kiện của cùng một thông điệp, sau đó e → f.
3 Nếu ở đó tồn tại một g sự kiện (e → g) và (g → f), sau đó (e →f)
7.3.2 Mô hình xảy ra ngẫu nhiên
Trang 9Hình 7.3
Trang 10 Hình 7.3 Minh họa thường được gọi là
sơ đồ không gian - thời gian, sơ đồ quá trình thời gian, hoặc xảy ra ngẫu nhiên trong quá trình thời gian, e→f khi và chỉ khi nó có chứa một con đường hướng từ sự kiện e đến sự kiện f
7.3.2 Mô hình xảy ra ngẫu nhiên
Trang 11 Ở đây chúng ta thảo luận về cơ chế được gọi là đồng hồ có thể được sử dụng để theo dõi các mối quan hệ.
Mục đích của đồng hồ của chúng ta chỉ là
để cung cấp cho chúng ta một thứ tự giữa các sự kiện và không có bất kỳ sở hữu nào gắn liền với đồng hồ
7.4 Đồng hồ logic
Trang 12 Như chúng ta biết, chỉ có hai loại thông tin
để có thể được xác định trong một hệ thống được phân tán là thứ tự gửi và nhận của các
sự kiện Trên cơ sở của những nhận xét này, chúng ta nhận được định nghĩa sau đây:
Một đồng hồ C hợp lý là một tập hợp các sự kiện từ E đến N (tập hợp của số tự nhiên) với các hạn chế sau đây:
7.4 Đồng hồ logic
Trang 13 Có của một chiếc đồng hồ logic trong quá
trình tính toán phân tán sẽ dễ dàng hơn để giải quyết nhiều vấn đề Một đồng hồ vật lý chính xác rõ ràng đáp ứng các điều kiện và
do đó cũng là một đồng hồ logic
Tuy nhiên, theo định nghĩa của một hệ thống phân tán không có đồng hồ chia sẻ trong hệ thống.
7.4 Đồng hồ logic
Trang 167.5 Vector Clock
Trang 177.5 Vector Clock
Trang 23Nhược điểm của thuật toán Vector Clock là yêu cầu độ phức tạp o(n) cho mỗi message gửi đi
Dependency clock yêu cầu chỉ một số nguyên duy nhất gắn theo message khi truyền đi.
Sử dụng thuật toán Lamport cho việc thực thi
7.6 Direct Dependency Clock
Trang 25
7.6 Direct Dependency Clock
int myId;
myId = id;
clock = new int[numProc];
for (int i = 0 ; i < numProc; i++) clock[i] = 0 ;
clock[sender] = Util.max(clock[sender], sentValue); clock[myId] = Util.max(clock[myId], sentValue) + 1 ; }
}
Trang 26
7.6 Direct Dependency Clock
Trang 277.7 ĐỒNG HỒ MATRIX
Hình 7.9: Một mẫu thực hiện của đồng hồ algorit.hm trực tiếp
phụ thuộc.
Trang 28Nếu chúng ta chỉ giữ lại các thành phần thứ i cho quá trình thứ i, sau đó các thuật toán trên là giống với thuật toán
t khi và chỉ khi có một đường đi từ s đến t có sử dụng
nhiều nhất là một tin nhắn trong việc xảy ra, trước sơ đồ tính toán Các tài sản sau đây làm cho đồng hồ trực tiếp
phụ thuộc, rất hữu ích cho nhiều ứng dụng:
Trang 30Một ứng dụng đồng hồ ma trận trong bộ sưu tập Giả sử rằng pi xử lý một số thông tin khi giá trị đồng hồ ma trận của nó cho M [i] [j]
bằng k Pi gửi thông tin này trực tiếp (hoặc
gián tiếp) cho tất cả các quy trình và muốn xóa thông tin này khi nó được biết là tất cả các quá trình Chúng tôi cho rằng Pi có thể xóa các
thông tin khi các điều kiện sau đây là đúng đối với các ma trận M:
Trang 31cả các sự kiện tương thích với việc xảy ra mô hình trước.
7.4 Chúng tôi thảo luận một phương pháp mà hoàn toàn có thể đặt tất cả các sự kiện trong một hệ thống
Nếu hai sự kiện có thời gian hợp lý, chúng tôi đã phá vỡ thời gian t, tức là quá trình sử dụng định danh
Trang 327.5 Chứng minh sau đây cho đồng hồ
vector: s + t khi và chỉ khi
(S.v [s.p] <= 5 t.v [s.p]) ^ (s.v [t.p] <t.w
[t.p]).
7.6 Giả sử rằng hệ thống thông tin liên lạc
cơ bản đảm bảo FIFO đặt hàng tin nhắn
Thể hiện biểu hiện cho chi phí tiết kiệm, nếu
kế hoạch của bạn được sử dụng thay cho
đồng hồ logic vector truyền thống Cho rằng bất kỳ quá trình có thể gửi tối đa là thông
điệp m.
Trang 337.8 Cho một thuật toán phân phối để duy trì đồng hồ cho một chương trình phân phối mà
có một số năng động của các quá trình
7.7 Giả sử rằng bạn đã thực hiện các thuật
toán đồng hồ vector Tuy nhiên, một số ứng dụng cần đồng hồ logic Lamport Viết một
chuyển đổi chức năng đưa đầu vào một dấu
thời gian vector và kết quả đầu ra một dấu
thời gian đồng hồ logic.
7.8 Giả sử có như sau các sự kiện trong cuộc đời của bất kỳ quá trình: bắt đầu quá trình, nội
bộ, gửi, nhận, ngã ba, tham gia processID,
chấm dứt Chúng ta có thể suy luận ra-trước mối quan hệ sử dụng đồng hồ của bạn.
Trang 347.9 Chứng minh sau đây cho đồng hồ trực tiếp
phụ thuộc:
7.10 Cho thấy đối với đồng hồ ma trận, hàng tương ứng với chỉ
số sp lớn hơn bất kỳ hàng khác trong ma trận
Trang 35Thank You!