XÂY DỰNG GIẢI PHÁP ĐỒNG BỘ HÓA TIẾN TRÌNH TRÊN HỆ PHÂN TÁN VỚI 4 SERVER Tổng Quan hệ phân tán Đồng bộ hóa tiến trình Các thuật toán đồng bộ hóa Bài toán đồng bộ hóa tiến trình trên hệ phân tán với 4 server Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành.
XÂY D NG GI I PHÁP Đ NG B HÓA TI N Ự Ả Ồ Ộ Ế TRÌNH TRÊN H PHÂN TÁN V I 4 SERVEŔỆ Ơ GVHD : PGS. TS. Lê Văn S nơ H c ọ viên : Nguy n Anh Toànễ Hoàng Xuân Đăng C ngườ Ngô Minh C ngườ Đoàn Sinh Công L pớ : K7MCS NỘI DUNG Tông Quan hê phân ta ń̉ ̣ Đô ng bô ho a tiê n tri nh̀ ́ ́ ̣̀ Ca c thuât toa n đô ng bô ho á ́ ̀ ̣́ ̣ Ba i toa n đ ng b hóa ti n trình trên ̀ ́ ồ ộ ế h phân tán v i 4 serverệ ớ Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. Hệ tin học phân tán h phân tán có các u đi m căn b n so v i ệ ư ể ả ớ h t p trung:ệ ậ • Tăng t c đ bình quân trong tính toán, x lý.ố ộ ử • C i thi n tình tr ng luôn s n sàng c a các lo i tài ả ệ ạ ẵ ủ ạ nguyên. • Tăng đ an toàn cho d li u.ộ ữ ệ • Đa d ng hoá các lo i hình d ch v tin h c.ạ ạ ị ụ ọ • Đ m báo tính toàn v n c a thông tin.ả ẹ ủ ĐÔ NG BÔ HO A ̀ ̣́ TIÊ N TRI NH́ ̀ Đô ng b hóa các ti n trình trong h đi u ̀ ộ ế ệ ề hành phân tán • Trong hệ phân tán, việc đồng bộ hóa chủ yếu yêu cầu thiết lập một trật tự giữa các sự kiện. • Trật tự đó thể hiện thông qua việc trao đổi các thông điệp với nhau. • Lamport đã đưa ra rằng hai sự kiện từ các trạm khác nhau chỉ có thể có trật tự nếu chúng được tách rời với nhau bằng cách gửi và nhận thông điệp. Thời gian lôgic và trật tự sự kiện từng phần [Lamport] Trật tự giữa các sự kiện có thể được xác lập nhờ vào quan hệ “có trước” (→), thỏa mãn các điều kiện sau: • • a b P 1. a “có trước” b (a → b) • a P 2. a “có trước” b (a → b) • b Q • Thời gian lôgic và trật tự sự kiện từng phần [Lamport] (t.t) 3. a P a “xảy ra trước” c ( a → c ) - b c c u - ắ ầ • b Q • c • Xét về trật tự sự kiện: P 1 P2 P3 Q1 Q2 Q3 P Q Trật tự từng phần của các sự kiện: P1 → P2 → P3, Q1 → Q2 → Q3 Thời gian lôgic và trật tự sự kiện từng phần [Lamport] (t.t) Nếu P1 là sự kiện phát thông điệp và Q2 là sự kiện nhận tương ứng thì: P1 → Q2 P 1 P2 P3 Q1 Q2 Q3 P Q Thông điệp Thời gian lôgic và trật tự sự kiện từng phần [Lamport] (t.t) [...]... trả lời REP Khi một trạm hoàn thành miền găng của nó, nó sẽ gửi khuyến nghị giải phóng REL đến tất cả các trạm B A ̀ I TOA ́ N đ ỒNG B Ộ HÓA TI ẾN TRÌNH TRÊN H Ệ PHÂN TÁN V Ớ I 4 SERVER SERVER 1 2 SERVER 2 1 REQ,2,1 2 3 3 5 REQ 2,3 REQ2,3 3 6 SERVER 4 4 5 4 6 SERVER 3 6 REP 5,2 REP 6,2 7 8 REP 7,1 7 REP 7 ,4 9 7 8 REP 8 ,4 Ser ver 3 b ắt đ ầu s ử d ụng mi ền găng 9 10 REP 10,3 11 12 Ser ver 1 b ắt... m, tiến trình Pj đặt lại giá trị Cj: Cj = max (Cj, Tm) + 1 (m, Tm) Pj Cj Cj a • = max (Cj, Tm) + 1 Các kiểu thông điệp : • (REQ, Ci, i) : Yêu cầu truy cập vào miền găng CS của tiến trình Pi • (REP, Ci, i) : Hồi âm từ tiến trình Pi cho tiến trình Pj khi Pi nhận yêu cầu từ Pj • (REL, Ci, i) : Thông điệp giải phóng từ Pi thông báo cho biết nó đã rời khỏi CS Các biến tiến trình: • Ci : Đồng hồ cục bộ của... dụng cơ chế đóng dấu thời gian cho việc đồng bộ các đồng hồ lôgic • Giả định các tiến trình liên lạc thông qua các kênh FIFO tin cậy Thuật toán đóng dấu thời gian của Lamport Các qui luật: Quy luật 1: Mỗi tiến trình Pi gia tăng Ci thêm một trị số giữa hai sự kiện thành công Pi Ci a • Ci+1 Thuật toán đóng dấu thời gian của Lamport Các qui luật: Quy luật 2: Mỗi tiến trình Pi đóng dấu thời gian cho các thông... vì lúc đầu hàng đợi trống 1 2 3 Không h ồi âm REQ C 1 2 Tiến trình 2 yêu cầu truy cập vào CS Điều phối viên xếp yêu cầu vào hàng đợi và từ chối không cho truy cập vì hàng đợi không trống 1 REL 2 3 ACK C 2 Tiến trình 1 rời khỏi CS Điều phối viên loại bỏ 1 khỏi hàng đợi và cấp quyền truy cập cho tiến trình đầu tiên trong hàng đợi – đó là tiến trình 2 Thuật toán đóng dấu thời gian của Lamport • Thuật... thì A→C • Nếu hai sự kiện A và B xảy ra ở hai tiến trình riêng biệt và không trao đổi thông điệp thì các tiến trình này được gọi là song song (A|| B) Thời gian lôgic và trật tự sự kiện từng phần [Lamport] (t.t) Gắn thời gian lôgic với các sự kiện • Các đồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ nhưng không liên quan đến thời gian vật lý Điều kiện đồng hồ ∀ sự kiện a,b : nếu a → b thì C (a) . khiển duy trì một hàng đợi chứa các yêu cầu và cấp cho mỗi trạm quyền truy cập vào miền găng theo lần lượt. 1 2 3 C REQ ACK 1 Tiến trình 1 yêu cầu truy cập vào miền găng CS. Điều phối viên