1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo môn học hệ phân tán đề tài đồng bộ hoá đồng hồ logic bằng thuật toán lamport

24 5 0

Đ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 24
Dung lượng 327,76 KB

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 toá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 quả sai lệch  Do đó cần thực hiện đồng hóa thời gian thực hiện của các tiến trình xử lý • Hầu các ứng dụng : toán, điểu khiển tự động ( lắp ráp, phản ứng hạt nhân…), truy xuất database v.v… đồng bộ hóa có vai trò quan trọng xử lý DUYTAN UNIVERSITY ĐỒNG BỘ HÓA Đồng hóa ? • Là qua trình sắp xếp thứ tự thời gian của kiện qua việc sinh các 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 toàn hệ thớng • Sắp xếp thứ tự truy cập đồng thời cho đối tượng chia sẻ tài 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, DUYTAN UNIVERSITY February 7, 1941, 8/35 ĐỒNG HỒ LOGIC Sự kiện đồng qui (concurrency) - Nếu a b xảy hệ thống/trạm khác mà khơng trao đổi thơng điệp khơng thể xác định : a  b b a kiện gọi đồng qui DUYTAN UNIVERSITY 10 9/35 ĐỒNG HỒ LOGIC Thuật toán Lamport P1 a b P3 P2 c j g d e f h i k Các kiện đồng quy : (a,j), (a,g), (g,j), (h,f), (i,k) DUYTAN UNIVERSITY 11 10/35 ĐỒNG HỒ LOGIC Thuật toá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ồ phải được điều chỉnh giữa sự kiện bất kỳ cùng tiến trình DUYTAN UNIVERSITY 12 11/35 ĐỒNG HỒ LOGIC Thuật toán Lamport P1 a b P3 P2 j c g d e f h i k Thuật toán cho phé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 toán Lamport P1 a b P3 P2 c j g d e f h 6 i k 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 DUYTAN UNIVERSITY 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 ) DUYTAN UNIVERSITY 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 ln 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ý Pj 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 xếp: a thực trước b - C (a) < C (b) - C (a) = C (b) i < j i j 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 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 – C : giá trị đồng hồ logic xử lý i – i: ID xử lý (như Server1, Server2…) i 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 ngun 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 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 yê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 xoá yêu cầu hàng đợi 22 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 ... UNIVERSITY 12 11/35 ĐỒNG HỒ LOGIC Thuật toán Lamport P1 a b P3 P2 j c g d e f h i k Thuật toán cho phé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... 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 toán xếp thông điệp... đ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 xoá u cầu hàng đợi 22 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

Ngày đăng: 20/07/2022, 08:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w