Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
1,4 MB
Nội dung
Giảng viên hướng dẫn: PGS TS Trần Đình Quế Học viên thực hiện: Trịnh Vân Anh Đỗ Đức Cường Trần Văn Đoàn Phạm Văn Dùng Cao Trung Thụ Trịnh Kim Liên Nội dung Trịnh Vân Anh Trịnh Vân Anh Mơ hình Đồng hồ Clock Bác Đoàn Direct Dependency Clock Đồng hồ Matrix Vấn đề ? 7.3 Mơ hình tính tốn phân tán Trong phần này, miêu tả mơ hình xen kẽ mơ hình xảy ngẫu nhiên để thu đặc tính hoạt động hệ thống phân tán 7.3.1 Mơ hình xen kẽ Một tính tốn phân tán đơn giản chuỗi kiện Do tất kiện hoạt động xen kẽ đan xen với 7.3.1 Mơ hình xen kẽ Ví dụ: xét hệ thống: máy chủ ngân hàng khách hàng Khách hàng gửi hai thông điệp yêu cầu đến máy chủ ngân hàng truy vấn khoản tiết kiệm tài khoản kiểm tra Khi nhận phản ứng, cho biết thêm lên tổng số dư Trong mơ hình xen kẽ biểu diễn sau: 7.3.1 Mơ hình xen kẽ P1 gửi đến P2 " kiểm tra xác thơng tin tơi gì“ P1 gửi đến P2 "số dư tiết kiệm tơi gì" P2 nhận từ P1 " kiểm tra xác thơng tin tơi “ P1 đặt tổng số P2 nhận từ P1 "số dư tiết kiệm tơi gì" P2 gửi "kiểm tra số dư = 40" P1 P1 nhận "kiểm tra số dư = 40" từ P2 P1 đặt tổng số đến 40 (tổng số + kiểm tra) P2 gửi "số dư tiết kiệm = 70" P1 P1 nhận "số dư tiết kiệm = 70" từ P2 P1 đặt tổng số tới 110 (tổng số + Tiết kiệm) 7.3.2 Mơ hình xảy ngẫu nhiên Để cài đặt kiện q trình Ta có kiện e xảy trước kiện f trình, sau e cài đặt trước f Nếu e kiện gửi thông điệp f kiện nhận thơng điệp, sau cài đặt e trước f Kết hợp hai ý tưởng này, có định nghĩa sau 7.3.2 Mơ hình xảy ngẫu nhiên Định nghĩa 7.1 (Mối quan hệ xảy ngẫu nhiên) Mối quan hệ xảy ngẫu nhiên (→) mối quan hệ nhỏ thỏa mãn: Nếu e xảy trước f q trình đó, sau e → f Nếu e kiện gửi thông điệp e nhận kiện thơng điệp, sau e → f Nếu tồn g kiện (e → g) (g → f), sau (e →f) 7.3.2 Mơ hình xảy ngẫu nhiên Hình 7.3 7.3.2 Mơ hình xảy ngẫu nhiên Hình 7.3 Minh họa thường gọi sơ đồ không gian - thời gian, sơ đồ trình thời gian, xảy ngẫu nhiên trình thời gian, e→f có chứa đường hướng từ kiện e đến kiện f 7.5 Vector Clock 7.5 Vector Clock 7.6 Direct Dependency Clock Nhược điểm thuật toán Vector Clock yêu cầu độ phức tạp o(n) cho message gửi Dependency clock yêu cầu số nguyên gắn theo message truyền Sử dụng thuật toán Lamport cho việc thực thi 7.6 Direct Dependency Clock • Khởi tạo: • Khi gửi message • Khi nhận 7.6 Direct Dependency Clock public class DirectClock { public int[] clock; int myId; public DirectClock(int numProc, int id) { myId = id; clock = new int[numProc]; for (int i = 0; i < numProc; i++) clock[i] = 0; clock[myId] = 1; } public int getValue(int i) { return clock[i]; } public void tick() { clock[myId]++; } public void sendAction() { // sentValue = clock[myId]; tick(); } public void receiveAction(int sender, int sentValue) { clock[sender] = Util.max(clock[sender], sentValue); clock[myId] = Util.max(clock[myId], sentValue) + 1; } }