Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
2,44 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 TIEU LUAN MOI download : skknchat123@gmail.com 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ả toá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 TIEU LUAN MOI download : skknchat123@gmail.com 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 TIEU LUAN MOI download : skknchat123@gmail.com 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 TIEU LUAN MOI download : skknchat123@gmail.com ĐỒ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ý UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com ĐỜ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 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com ĐỒỒ̀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 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com ĐỒỒ̀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 ??? UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 7/35 ĐỜỒ̀NG HỜỒ̀ LOGIC Thuật tốn Lamport P P P Các kiện đồng quy : (a,j), (a,g), (g,j), (h,f), (i,k) 11 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 10/35 ĐỒỒ̀NG HỒỒ̀ LOGIC Thuật tốn Lamport - Mỗi thơng điệp mang dâu thời gian (timestamp ) đồng hồ gởi - Khi thông điệp gởi đến : +nếu đồng hồ nhận < timestamp thông điệp thiết lập lại đồng hồ hệ thống (timestamp + 1) +Ngược lại giữ nguyên - Đông hô phai đươc điêu chinh giưa sư kiên bât kỳ cung tiên trinh 12 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 11/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 ) 13 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 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 14 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 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 ) 15 UNIVERSITY DUYTAN TIEU LUAN MOI download : skknchat123@gmail.com 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 TIEU LUAN MOI download : skknchat123@gmail.com 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)) + TIEU LUAN MOI download : skknchat123@gmail.com 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 TIEU LUAN MOI download : skknchat123@gmail.com 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 quát 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…) TIEU LUAN MOI download : skknchat123@gmail.com 19 Thuật toá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 yê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 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 TIEU LUAN MOI download : skknchat123@gmail.com 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 TIEU LUAN MOI download : skknchat123@gmail.com 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 TIE U LUA N MOI dow nloa d: skk nch at12 3@ gma il.co m 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 TIEU LUAN MOI download : skknchat123@gmail.com 23 KẾT LUẬN TIEU LUAN MOI download : skknchat123@gmail.com 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. .. 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 toán lập trình TIEU LUAN... 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,