Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
2,43 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC DUY TÂN KHOA CƠNG NGHỆ THƠNG TIN ========== Nhóm thực : Trương Minh Thống, Nguyễn Trọng Hiếu, Nguyễn Trường Huy, Hồ Văn Quân, Thân Văn Việt Giáo viên hướng dẫn: TS Nguyễn Hà Huy Cường Đà Nẵng, 05,03,2022 YÊU CẦU CỦA TIỂU LUẬN • Ta có tập hợp bao gồm n người (n>=2) trao đổi với thông điệp để thống cho hành động chung Hãy mơ tả tốn phân tán này, xây dựng giải pháp lập chương trình –Xây dựng hệ thống phân tán với số server có khả phát/nhận thông điệp –Xây dựng giải pháp kỹ thuật giả định hành động chung –Lập chương trình Java kết lên hình NỘI DUNG THỰC HIỆN Đồng bộ hóa Đồng hồ logic Thuật tốn Lamport dựa đờồ̀ng hờồ̀ logic Xây dựng chương trình Kết luận GIẢI QUYẾT YÊU CẦU Ta cần tìm hiểu trước vấn đề sau: - Muốn thống thông tin nhiều người, ta cần đồng hóa thơng tin - Hiểu Đồng Hồ Logic cách sử dụng - Hiểu thuật toán Lamport dựa đồng hồ logic - Ứng dụng thuật tốn lập trình ĐỜNG BƠ HÓA Tại phải đồng hóa ? • Ích lợi mơ hình đa luồng cho phép ứng dụng thực nhiều công việc đồng thời Nhưng bên cạnh hữu dụng đó, việc tồn lúc nhiều luồng mơi trường dẫn đến tranh chấp, ngăn cản họat động lẫn luồng + Bê tắc ( Dead Lock) + Cho kêt qua sai lêch Do đo cân thưc hiên đông hoa thơi gian thưc hiên cua cac tiên trinh xư lý • Hâu cac ưng dung : toan, điêu khiên tư đông ( lắp rap, phan ưng hat nhân…), truy xuât database v.v… đông bô hoa co vai trò quan trong xư lý DUYTAN UNIVERSITY ĐỜNG BƠ HÓA Đồng hóa ? • La qua trinh sắp xêp thứ tự thời gian cua kiện qua viêc sinh cac tiến trình đồng thời Nhằm mục đích • Đồng việc gửi nhận thơng điệp • Điều phối hoạt động chung cho toan thơng • Sắp xêp thứ tự truy cập đồng thời cho đối tượng chia sẻ tai nguyên DUYTAN UNIVERSITY ĐỒỒ̀NG HỒỒ̀ LOGIC Happened-before Lamport gọi “happened-before” sau: - a b : kiện a xảy trước kiện b Ví Dụ : a thơng điệp gửi đi, b: thơng điệp nhận + Tính bắc cầu (Transitive): a b b c a c DUYTAN UNIVERSITY ĐỜỒ̀NG HỜỒ̀ LOGIC Mơ hình giả định - Xét mơ hình gồm hệ thống Pi (i=1,2….) - a,b,c,d, Các kiện xuất Pi Giả sử : - Mỗi hệ thống trì đồng hồ riêng Khơng có nguồn thời gian trung tâm - Khơng có thị kiện Khơng có khái niệm “happened-when” Các hệ thống giao tiếp không Làm để xếp thứ tự a,b,c,d ??? DUYTAN UNIVERSITY 7/35 ĐỒỒ̀NG HỒỒ̀ LOGIC Happened-before - Lamport gọi “happened-before” sau: Nếu kiện a xãy trước kiện b a : thông điệp gửi đi, b: thông điệp nhận Kýý́ hiệu : a b -Tính bắý́c cầu (Transitive): a b b c a c Lamport, February 7, 1941, DUYTAN UNIVERSITY 8/35 ĐỒỒ̀NG HỒỒ̀ LOGIC Thuật toán Lamport P P P Thuật toán cho phép sắý́p xếp thứ tự thời gian số kiện liên quan - Thứ tự phần (Partial ordering ) DUYTAN UNIVERSITY 13 12/35 ĐỜỒ̀NG HỜỒ̀ LOGIC Thuật tốn Lamport P P P a b, b c, …: trình tự kiện địa phương I(a,g,j),II(h,f),III(i,k) : Các thành phần đồng qui U N I V E R S I T Y DUYTAN 14 13/35 ĐỒỒ̀NG HỒỒ̀ LOGIC Unique timestamps Chúng ta áp đặt dấu thời gian trơ nên - Xác định dâu thời gian logic toàn cục (Ti, i) +Ti đại diện cho dấu thời gian Lamport địa phương + i đại diện cho số lượng tiến trình - So sánh timestamps: (Ti, i) < (Tj, j) Nếu : Ti < Tj (i, j khác hệ thống ) Ti = Tj i < j (i,j hệ thống ) D U Y T A N U N I V E R S I T Y 15 14/35 ĐỜỒ̀NG HỜỒ̀ LOGIC LAMPORT • Đồng hồ logic Lamport dựa hai vấn đề sau: – Các kiện xảy xử lýý́ chúng ln trạng thái trật tự gắý́n bó cách sử dụng đồng hồ hệ thống (thời gian thực) giá trị đồng hồ hệ thống tăng – Các kiện xảy xử lýý́ khác gây tình trạng khơng gắý́n bó thời gian truyền thơng điệp, khơng lâu sau chúng gắý́n bó xử lýý́ P j gửi thông điệp cho xử lýý́ Pk vào thời gian T Pk khơng thể nhận thơng điệp vào thời gian T trước 16 Thuật tốn Lamport dựa đồng hồ logic • Đặt T giá trị đồng hồ thực Cj(T) giá trị đồng hồ logic xử lýý́ J thời gian T, đồng hồ logic hoạt động theo nguyên tắý́c sau: – Đánh dấu kiện giá trị đồng hồ logic xử lýý́ (với Cj: Đồng hồ logic Pj, khởi tạo từ 0) – Nếu có kiện cục xảy ra, ta tăng giá trị đồng hồ logic lên – Khi thông điệp gửi xử lýý́ K, đánh dấu Ck(T) – Khi xử lýý́ K nhận thơng điệp có dấu thời gian C’ ta đặt lại đồng hồ logic xử lýý́ K là: max(C’, Ck(T)) + 17 Thuật toán Lamport dựa đồng hồ logic (tt) • Nếu nhận thơng điệp thời gian vào giá trị đồng hồ logic thông điệp để thực việc sắý́p xếp: a thực trước b - Ci(a) < Cj(b) - Ci(a) = Cj(b) i < j 18 Thuật toán Lamport dựa đồng hồ logic (tt) • • Như thơng điệp ta phải truyền thêm ID xử lýý́ (nếu sắý́p xếp tiến trình ta phải dùng thêm ID tiến trình) Tổng qt cấu trúc thơng điệp sau: (METHOD, PARAs, Ci, i) • Với: – METHOD: phương thức muốn gọi – PARAs: tham số cần truyền cho phương thức – Ci: giá trị đồng hồ logic xử lýý́ i – i: ID xử lýý́ (như Server1, Server2…) 19 Thuật tốn xếp thơng điệp đến vào giá trị đồng hồ logic Lamport: Thuật tốn mơ tả theo sơ đồ sau : –Khởi tạo hàng đợi, máy tự phát thông điệp Mi = (REL, Hinit , i) –Khi trạm yêu cầu tài nguyên: • Để truy cập vào tài nguyên trạm phát thơng điệp u cầu Mi (T,Hi,i) đến tất trạm khác đưa yêu cầu vào hàng đợi yêu cầu trạm • Khi trạm j nhận thông điệp yêu cầu từ i, gởi ngược lại thơng điệp (có chứa đồng hồ logic Hj) cho Sj đưa yêu cầu vào hàng đợi yêu cầu 20 Thuật tốn xếp thơng điệp đến vào giá trị đồng hồ logic Lamport: If state =muon then Begin Send M(T,Hj,j) đến trạm i INSERT(Mi,hàngđợi) End 21 Thuật tốn xếp thơng điệp đến vào giá trị đồng hồ logic Lamport: • Khi trạm vào đoạn găng: Trạm i nhận thông điệp với đồng hồ logic lớn đồng hồ thời điểm trạm i yêu cầu trạm i vị trí hàng đợi u cầu • If (H>Hi ) and (Vị trí M đầu hàng đợi) then state=namgiu Khi trạm khơng thực – Xố u cầu gởi thơng điệp giải phóng trạm khác loại bỏ yêu cầu tương ứng – If state=ranh then xử lý(các thơng điệp hàng đợi) ‘sau xố – Send thơng điệp giải phóng đến trạm – Những trạm khác xố u cầu hàng đợi XÂY DỰNG CHƯƠNG TRÌNH • Giả lập hai Server máy đơn giống hai Server chạy Internet thực Hai Server có chức năng: – Chứa sở liệu tài khoản ngân hàng – Khi nhận thơng điệp: • Server cập nhật giá trị đồng hồ logic • Lưu thơng điệp vào hàng đợi • Sắp xếp lại hàng đợi • Lấy thơng điệp đầu hàng đợi khỏi hàng đợi thực • Sau thực thơng điệp, Server tự động trả kết • Giả lập Client cửa sổ khác: – Kết nối với Server – Gửi thông điệp để thay đổi số tiền có tài khoản (thêm tiền tính lãi suất) – Nhận thơng điệp trả từ Server cho biết số tiền có tài khoản 23 KẾT LUẬN 24 ... Ta có tập hợp bao gồm n người (n>=2) trao đổi với thông điệp để thống cho hành động chung Hãy mơ tả tốn phân tán này, xây dựng giải pháp lập chương trình ? ?Xây dựng hệ thống phân tán với số server. .. HỒỒ̀ LOGIC LAMPORT • Đồng hồ logic Lamport dựa hai vấn đề sau: – Các kiện xảy xử lýý́ chúng ln trạng thái trật tự gắý́n bó cách sử dụng đồng hồ hệ thống (thời gian thực) giá trị đồng hồ hệ thống. .. giá trị đồng hồ thực Cj(T) giá trị đồng hồ logic xử lýý́ J thời gian T, đồng hồ logic hoạt động theo nguyên tắý́c sau: – Đánh dấu kiện giá trị đồng hồ logic xử lýý́ (với Cj: Đồng hồ logic Pj,