bài giảng hệ điều hành mạng nâng cao chương vi điều độ tiến trình trong hệ thống phân tán

23 480 0
bài giảng hệ điều hành mạng nâng cao chương vi điều độ tiến trình trong hệ thống phân tán

Đ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

H H ệ ệ đi đi ề ề u h u h à à nh m nh m ạ ạ ng ng nâng cao nâng cao Gi Gi ả ả ng viên: Ho ng viên: Ho à à ng Xuân D ng Xuân D ậ ậ u u Email: dauhoang@vnn.vn Email: dauhoang@vnn.vn Khoa Công ngh Khoa Công ngh ệ ệ thông tin 1 thông tin 1 H H ọ ọ c vi c vi ệ ệ n Công ngh n Công ngh ệ ệ BC BC - - VT VT HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 2 2 Đi Đi ề ề u đ u đ ộ ộ c c á á c ti c ti ế ế n tr n tr ì ì nh trong nh trong h h ệ ệ th th ố ố ng phân t ng phân t á á n n HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 3 3 Đi Đi ề ề u đ u đ ộ ộ c c á á c ti c ti ế ế n tr n tr ì ì nh nh • Vấn đề điều độ (co-ordination) trong các hệ thống phân tán • Loại trừ tương hỗ phân tán (distributed mutual exclusion) • Bầu chọn lãnh đạo hay người điều phối hệ thống HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 4 4 T T ạ ạ i sao c i sao c ầ ầ n đi n đi ề ề u đ u đ ộ ộ c c á á c ti c ti ế ế n tr n tr ì ì nh? nh? • Cập nhật đồng thời các tài nguyên chia sẻ: – các bản ghi trong CSDL (kho á bản ghi) – các files – một bảng tin chia sẻ • Thoả thuận thực hiện các thao tác: – Thực hiện hoặc huỷ bỏ một giao dịch CSDL – Thống nhất việc đọc kết quả từ một nhóm các cảm biến • Gán lại vai trò cho master – Lựa chọn máy chủ thời gian chính sau sự cố – Lựa chọn người điều độ sau khi mạng được cấu hình lại. HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 5 5 C C á á c kh c kh ó ó khăn c khăn c ủ ủ a v a v / / đ đi đ đi ề ề u đ u đ ộ ộ • Các giải pháp điều độ tập trung không phù hợp với hệ thống phân tán do thành phần tập trung sẽ trở thành điểm nút cổ chai. • Các mô hình master/slave tĩnh cũng không phù hợp do master có thể gặp trục trặc. • Tôpô mạng trong hệ phân tán rất phức tạp • Khả năng chịu lỗi mạng (lỗi đường truyền, tiến trình gặp trục trặc). HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 6 6 Lo Lo ạ ạ i tr i tr ừ ừ tương h tương h ỗ ỗ phân t phân t á á n n • Các giải thuật loại trừ tương hỗ (mutual exclusion) thường được sử dụng trong lập trình song song (concurrent programming) để tránh việc sử dụng đồng thời một tài nguyên dùng chung (như một biến toàn cục) bởi các đoạn mã chương trình (critical sections). • Các giải thuật loại trừ tương hỗ phân tán: – Phương pháp tập trung – Phương pháp phân tán toàn phần – Phương pháp dùng thẻ bài. HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 7 7 B B à à i to i to á á n lo n lo ạ ạ i tr i tr ừ ừ tương h tương h ỗ ỗ • Bài toán: – Có n tiến trình không đồng bộ, để đơn giản hoá, giả thiết không có tiến trình nào trục trặc – Đảm bảo các thông điệp được chuyển đến đích – Để thực thi critical section (CS), m ỗi tiến trình sẽ gọi: • enter() • resourceAccess() • exit() • Yêu cầu: i. Chỉ một tiến trình ở trong CS tại một thời điểm HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 8 8 Lo Lo ạ ạ i tr i tr ừ ừ tương h tương h ỗ ỗ t t ậ ậ p trung p trung HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 9 9 Lo Lo ạ ạ i tr i tr ừ ừ tương h tương h ỗ ỗ t t ậ ậ p trung (ti p trung (ti ế ế p) p) • Một tiến trình trong hệ thống được chọn làm co- ordinator (server) t ại điểm vào CS. • Một tiến trình muốn gọi chức năng loại trừ tương hỗ gửi một thông điệp request đến co-ordinator. • Khi co-ordinator nhận được thông điệp request, nó kiểm tra: – Nếu không có tiến trình nào đang ở trong CS, co- ordinator gửi thông điệp reply cho tiến trình gửi request. – Nếu có tiến trình đang ở trong CS, co-ordinator đưa request đó vào hàng đợi HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u đ ộ ộ ti ti ế ế n tr n tr ì ì nh phân t nh phân t á á n n 10 10 Lo Lo ạ ạ i tr i tr ừ ừ tương h tương h ỗ ỗ t t ậ ậ p trung (ti p trung (ti ế ế p) p) • Khi nhận được thông điệp reply từ co-ordinator, tiến trình gửi request đi vào CS. • Khi tiến trình này ra khỏi CS, nó gửi thông điệp release cho co-ordinator • Khi co-ordinator nhận được thông điệp release, nó xoá request khỏi hàng đợi. [...]... các tiến trình khác • Tên của tiến trình này phải được thông báo đến các tiến trình còn lại – Nếu có một tiến trình trục trặc, hệ thống sẽ ngừng hoạt động Do vậy, cần có cơ chế giám sát và thông báo tình trạng hoạt động của mỗi tiến trình HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 14 Loại trừ tương h ỗ dùng thẻ bài HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ. .. Mọi tiến trình biết tiến trình P - ID của người điều phối (thường P là lớn nhất) – Tất cả các tiến trình tham gia bầu chọn và tìm ra người điều phối HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 18 Thuật toán Chang&Roberts HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 19 Thuật toán Chang&Roberts (ti ếp) • Giả thiết: ring đơn hướng, không đồng bộ và mỗi tiến. .. bài cho tiến trình kế tiếp trong ring HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 16 Loại trừ tương h ỗ dùng thẻ bài (tiếp) • Đặc điểm: – Đảm bảo được loại trừ tương hỗ – Loại trừ được hiện tượng “bỏ đói” tiến trình nếu ring đơn hướng • Hạn chế: – Nếu thẻ bài bị mất hệ thống ngừng hoạt động Trong trường hợp này hệ thống phải tạo ra một thẻ bài mới – Nếu một tiến trình trong. .. HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 13 Loại trừ tương h ỗ phân t án toàn phần (tiếp) • Đặc điểm: – Đảm bảo được loại trừ tương hỗ – Loại trừ được các bế tắc (deadlock) – Loại trừ được hiện tượng “bỏ đói” tiến trình nhờ tem thời gian • Hạn chế: – Mỗi tiến trình phải nhận dạng được tất cả các tiến trình khác trong hệ thống – Nếu có một tiến trình mới gia nhập: • Tiến trình. .. ID gói trong thông điệp đã bầu chọn cho tiến trình kế tiếp • Ngược lại: – Tiến trình ghi nhận ID của leader và trở lại là nonparticipant – Chuyển thông điệp đã bầu chọn cho tiến trình kế tiếp HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 21 Thuật toán Itai&Rodeh • Giả thiết: Có N tiến trình, ring đơn hướng, đồng bộ và mỗi tiến trình không có ID • Bầu chọn: – Mỗi tiến trình ngẫu... gặp trục trặc, hệ thống cũng ngừng hoạt động Khi đó, phải tạo ra một ring mới HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 17 Bầu chọn người điều phối • Bài toán: – – – – Có N tiến trình, có thể trùng ID Giả thiết không có tiến trình nào trục trặc Phải chọn được co-ordinator chính Yêu cầu bầu chọn được đưa ra khi co-ordinator gặp trục trặc – Một hoặc nhiều tiến trình có thể yêu... thẻ bài (tiếp) • Các tiến trình trong hệ thống hình thành một ring logic • Một thông điệp đặc biệt, gọi là thẻ bài (token) được lần lượt chuyển đến từng nút quanh ring • Nếu một tiến trình nhận được thẻ bài: – Nếu tiến trình có nhu cầu vào CS, nó vào CS và giữ thẻ bài Khi ra khỏi CS, nó chuyển thẻ bài cho tiến trình kế tiếp trong ring – Nếu tiến trình không có nhu cầu vào CS, nó chuyển ngay thẻ bài. .. trình kế tiếp – Tiến này trở thành participant HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 20 Thuật toán Chang&Roberts (ti ếp) • Tiến trình participant không chuy ển tiếp thông điệp bầu cử – Thông báo người thắng cuộc sử dụng thông điệp đã bầu chọn (elected message): • Nếu một tiến trình participant nhận được thông điệp bầu cử là ID của chính nó: – Tiến trình trở thành leader... cả các tiến trình: – Pi vào CS – Hoãn trả lời các thông điệp request từ các tiến trình khác HĐH mạng nâng cao mạ VI Điều độ tiến trình phân tán Điề độ tiế trì tá 12 Loại trừ tương h ỗ phân t án toàn phần (tiếp) • Các yếu tố quyết định vi c tiến trình Pi có trả lời hay hoãn trả lời thông điệp request(P j, TS): – Nếu Pi đang ở trong CS, nó hoãn gửi reply – Nếu Pi không có nhu cầu vào CS, nó gửi ngay reply... trừ tương h ỗ phân tán toàn phần • Tiến trình Pi muốn vào CS: – Tạo ra một tem thời gian TS – Gửi thông điệp request(P i, TS) đến tất cả các tiến trình trong hệ thống • Khi nhận được một thông điệp request, một tiến trình có thể: – Gửi lại ngay thông điệp reply nếu nó không ở trong CS – Hoãn vi c gửi thông điệp reply trong một số điều kiện cụ thể • Khi Pi nhận được reply từ tất cả các tiến trình: – Pi . đề điều độ (co-ordination) trong các hệ thống phân tán • Loại trừ tương hỗ phân tán (distributed mutual exclusion) • Bầu chọn lãnh đạo hay người điều phối hệ thống HĐH m HĐH m ạ ạ ng nâng cao ng. gặp trục trặc. • Tôpô mạng trong hệ phân tán rất phức tạp • Khả năng chịu lỗi mạng (lỗi đường truyền, tiến trình gặp trục trặc). HĐH m HĐH m ạ ạ ng nâng cao ng nâng cao VI. VI. Đi Đi ề ề u đ u. tượng “bỏ đói” tiến trình nhờ tem thời gian • Hạn chế: – Mỗi tiến trình phải nhận dạng được tất cả các tiến trình khác trong hệ thống. – Nếu có một tiến trình mới gia nhập: • Tiến trình này phải

Ngày đăng: 22/07/2014, 20:52

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan