bế tắc và xử lý bế tắc trong hệ phân tán

20 340 0
bế tắc và xử lý bế tắc trong hệ 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

BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG  - TIỂU LUẬN MÔN HỌC Đề tài: BẾ TẮC XỬ BẾ TẮC Giáo viên hướng dẫn: PGS.TS Lê Văn Sơn LỜI MỞ ĐẦU Trong năm gần đây, thành tựu hệ thống tin học phần cứng, phần mềm hệ quản trị sở liệu ổn định, tin cậy góp phần đáng kể cho phát triển xã hội nói chung ngành Công nghệ Thông tin nói riêng Một thành tựu bật đó, phải nói đến phần mềm sở nhằm vào, trực tiếp trước hết, tăng khả điều hành, khai thác hiệu tất tài nguyên hệ Sự phát triển CNTT-TT đặc biệt Internet, “thế giới phẳng” Do đó, tất vấn đề, dù khoảng cách có xa đến đâu ngồi trước máy vi tính có nối mạng thứ hữu máy tính Chúng ta quản nhân công ty đa quốc gia, ngồi nhà để đăng ký đặt chỗ vé máy bay, mua hàng siêu thị… Để có tiện nghi người sử dụng đặt nhiều vấn đề lớn phức tạp cho nhà nghiên cứu phát triển hệ thống Các câu hỏi lớn đặt cách cụ thể như: “làm để đảm bảo người đăng ký 01 vé máy bay hệ thống đăng ký vé? Làm để biết có mặt hàng hệ thống siêu thị?”… Hệ tin học phân tán đời từ sớm, phát triển nhanh mạnh mẽ công nghệ truyền thông mạng Internet, với xu toàn cầu hoá lĩnh vực, đặc biệt thương mại, hệ phân tán trở thành lĩnh vực thu hút nhiều quan tâm nhà nghiên cứu thuyết lẫn nhà sản xuất phần mềm Hệ tin học phân tán hay nói ngắn gọn hệ phân tán (Distributed System) hệ thống xử thông tin bao gồm nhiều xử vi xử nằm vị trí khác liên kết với thông qua phương tiện viễn thông điều khiển thống hệ điều hành Vấn đề quan trọng để đảm bảo chức năng, yêu cầu đề ra, hệ phân tán cần phải có chế kỹ thuật đủ mạnh nhằm đồng hoá hoạt động xử (tiến trình) trao đổi thông tin với cho hệ thống tránh trường hợp dẫn đến bế tắc và/hoặc không gắn bó liệu Được phân công Ban cán lớp, nhóm thực đề tài: Trình bày thuật toán cho phép phát bế tắc; Theo phương pháp Le Lann, người ta phối hợp cho tài nguyên găng, ví dụ Sa, Sb, Sc, Người ta nhóm jeton nhất; Hãy chứng minh để triển khai chiến lược cung cấp rủi ro bế tắc, người ta cần rút số cho tài nguyên cần thiết jeton chạy qua (đề 21) Trong phạm vi tiểu luận này, với kiến thức học tự nghiên cứu thêm tài liệu từ giáo trình, giảng mạng Internet, xin trình bày nội dung sau: Phần 1: thuyết - Trình bày khái quát bế tắc, thuật toán phát ngăn chặn bế tắc Phần 2: Bài tập - Trình bày giải pháp kết hợp cho mỗi tài nguyên găng jeton tuần hoàn để ngăn chặn bế tắc Mặc dầu cố gắng, điều kiện thời gian khả nhiều hạn chế, tiểu luận môn học lĩnh vực tri thức rộng lớn, đa dạng phức tạp nên chắn không tránh khỏi sai sót khiếm khuyết Rất mong nhận góp ý, phê bình, đánh giá Thầy giáo bạn lớp để nhóm rút kinh nghiệm hoàn thiện tốt thời gian tới Chúng xin gửi lời cảm ơn chân thành đến Thầy giáo Lê Văn Sơn cung cấp, định hướng hướng dẫn suốt thời gian qua để nhóm hoàn thành tiểu luận Tiểu luận môn học: Hệ Phân Tán Phần 1: GVHD: PGS TS Lê Văn Sơn THUYẾT I Các tài nguyên Bế tắc xảy tiến trình truy xuất độc quyền đến thiết bị, file, v.v Để thảo luận bế tắc, tham chiếu đến đối tượng tài nguyên Một tài nguyên thiết bị phần cứng hay phần thông tin Một máy tính có nhiều tài nguyên khác yêu cầu Tài nguyên phân thành hai loại: thu hồi (preemptable) thu hồi (nonpreemptable)  Tài nguyên có thể thu hồi: tài nguyên lấy từ tiến trình sở hữu Bộ nhớ ví dụ tài nguyên thu hồi  Tài nguyên không thể thu hồi được: tài nguyên mà lấy từ tiến trình sở hữu gây lỗi tính toán File, thiết bị Vào /Ra tài nguyên thu hồi Nhìn chung, bế tắc thường xảy tài nguyên thu hồi Trình tự kiện yêu cầu sử dụng tài nguyên là: - Yêu cầu tài nguyên - Sử dụng tài nguyên - Giải phóng tài nguyên Nếu tài nguyên giá trị yêu cầu tiến trình yêu cầu bị chặn để chờ Trong số hệ điều hành, tiến trình tự động bị chặn tài nguyên yêu cầu bị lỗi đánh thức dậy tài nguyên có giá trị II Định nghĩa bế tắc Một tập tiến trình bị bế tắc mỗi tiến trình tập tiến trình chờ kiện mà có tiến trình khác tập tiến trình tạo Tất tiến trình chờ, không tiến trình chúng tạo kiện để đánh thức tiến trình khác tập tiến trình, tất tiến trình tiếp tục chờ mãi Trong hầu hết trường hợp, kiện mà tiến trình chờ giải phóng vài tài nguyên mà tiến trình khác tập tiến trình bị chặn chiếm giữ Hay nói cách khác, thành viên tập tiến trình bế tắc chờ tài nguyên sở hữu tiến trình bị chặn khác Không tiến trình chạy thực hiện, không tiến trình giải phóng tài nguyên không tiến trình thức dậy Trang Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn III Điều kiện xảy bế tắc Cofman, Elphick Shosani vào năm 1971 đưa điều kiện cần làm xuất bế tắc: Có sử dụng tài nguyên không thể chia sẻ (Mutual exclusion) Mỗi thời điểm, tài nguyên chia sẻ hệ thống cấp phát tiến trình, tiến trình sử dụng xong tài nguyên hệ thống thu hồi cấp phát tài nguyên cho hệ thống khác Sự chiếm giữ yêu cầu thêm tài nguyên (Wait for) Tiến trình phép giữ yêu cầu thêm nhiều tài nguyên chờ cung cấp tài nguyên bị tiến trình khác chiếm giữ Không thu hồi tài nguyên từ tiến trình giữ chúng (No preemption) Tài nguyên tự nguyện giải phóng sử dụng xong Không tiến trình hay hệ điều hành thu hồi tài nguyên từ tiến trình chiếm giữ chúng Tồn chu kỳ chờ đồ thị cấp phát tài nguyên (Circular wait) Có hai tiến trình chờ đợi lẫn nhau: tiến trình chờ cấp phát tài nguyên bị tiến trình chiếm giữ ngược lại Tất điều kiện cần phải ngăn chặn để bế tắc không xảy Khi có đủ điều kiện bế tắc xảy Nếu thiếu điều kiện bế tắc IV Đồ thị cấp phát tài nguyên Có thể sử dụng đồ thị để mô hình hóa viêc cấp phát tài nguyên Đồ thị gọi đồ thị định vị tài nguyên (RSG : Resource Allcation Graph): - loại nút: tiến trình biểu diễn hình tròn, tài nguyên hiển thị hình vuông - loại cạnh: + Cạnh yêu cầu: từ tiến trình đến tài nguyên Chỉ rõ tiến trình yêu cầu tài nguyên chờ có tài nguyên + Cạnh định: từ tài nguyên đến tiến trình Chỉ rõ tiến trình chiếm giữ tài nguyên Khi yêu cầu thực hiện, cạnh yêu cầu thêm vào Khi yêu cầu đươc hình thành cạnh yêu cầu chuyển sang cạnh định Khi tiến trình giải phóng tài nguyên, cạnh định bị xóa Nếu đồ thị không chứa chu kỳ bế tắc không xảy Nếu đồ thị chứa chu kỳ bế tắc xảy Trang Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn P R P giữ R P R P yêu cầu R R1 P1 R2 P2 R3 R4 R1 R2 P1 P2 R3 P3 Một tình không bế tắc P3 Một tình bế tắc R4 Hình 1.1 Đồ thị cấp phát tài nguyên V Các phương pháp xử lýý́ bế tắc Chủ yếu có phương pháp tiếp cận để xử bế tắc: - Sử dụng giao thức(protocol) để hệ thống không xảy bế tắc - Cho phép xảy bế tắc tìm cách sửa chữa bế tắc - Hoàn toàn bỏỏ̉ qua bế tắc, xem hệ thống không xảy bế tắc VI Ngăn chặn bế tắc Để bế tắc không xảy cần đảm bảo tối thiểu điều kiện cần không xảy sau: Tài nguyên chia sẻ: gần tránh điêu kiện chất tài nguyên gần cố định Tuy nhiên tài nguyên kết xuất, người ta dùng chế spooling để biến đổi thành tài nguyên chia sẻ Sự chiếm giữ yêu cầu thêm tài nguyên: phải đảm bảo tiến trình yêu cầu thêm tài nguyên không chiếm giữ tài nguyên khác Có thể áp đặt hai chế truy xuất sau: - Tiến trình phải yêu cầu tất tài nguyên cần thiết trước bắt đầu xử lý: phương pháp có khó khăn tiến trình khó ước lượng xác tài nguyên cần sử dụng nhu cầu phụ thuộc vào trình xử Ngoài tiến trình chiếm Trang Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn giữ sẵn tài nguyên chưa cần sử dụng việc sử dụng tài nguyên hiệu - Khi tiến trình yêu cầu tài nguyên bị từ chối phải giải phóng tài nguyên chiếm giữ, sau lại cấp phát trở lại lần với tài nguyên mới: phương pháp làm phát sinh khó khăn việc bảo vệ tình toàn vẹn liệu hệ thống Thu hồi tài nguyên: cho phép hệ thống thu hồi tài nguyên từ tiến trình bị khóa cấp phát trở lại cho tiến trình thoát khỏi tình trạng bị khóa Tuy nhiên với số loại tài nguyên, việc thu hồi khó khăn vi phạm tính toàn vẹn liệu Tồn chu kỳ: tránh tạo chu kỳ đồ thị cấp phát cách cấp phát tài nguyên theo thứ tự phân cấp sau: Gọi R = { R1, R2, , Rn } tập loại tài nguyên Các loại tài nguyên phân thứ tự từ – N, thứ tự thứ tự logic mà tài nguyên thường yêu cầu Ký hiệu F(Ri) Các tiến trình yêu cầu tài nguyên phải tuân thủ quy định: tiến trình bị chiếm giữ tài nguyên Ri yêu cầu tài nguyên Rj F(Rj) > F(Ri) VII Thuật toán phát bế tắc Khi tài nguyên sử dụng giao dịch xác định theo kiểu động trình thi hành giao dịch, phương pháp dự phòng bế tắc dựa tảng thông điệp không phù hợp Lúc này, ta phải sử dụng phương pháp phát chữa trị Phương pháp mô tả Menasce trình bày Phương pháp đặt vấn đề sử dụng đồ thị tranh chấp mà việc kiểm tra tranh chấp cho phép phát bế tắc Tương tự thuật toán vừa nêu, trạm quản đối tượng riêng việc phát dựa vào thông tin cục Các trạm khởi giao dịch bị treo đề phòng phát sinh bế tắc (mà bế tắc phát trạm đó) cần phải đề biện pháp chữa trị cho VII.1 Các định nghĩa Ta cần xác định thời điểm hai giao dịch Tj Tk quan hệ chặn trực tiếp sau: Tj > Tk Tồn tài nguyên bị cài then Tj yêu cầu Tk không đáp ứng Quan hệ biểu đồ thị gọi đồ thị xung đột hữu hiệu Sự tồn vòng lặp đồ thị báo hiệu cho ta biết có bế tắc diễn Một Trang Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn giao dịch “không bị chặn” có nghĩa đồ thị biểu nút mà cung dẫn đến Giả sử Tk giao dịch bị chặn tập hợp tất giao dịch mà đạt cách chạy khắp cung xuất phát từ Tk, theo chiều ngược lại với hướng chúng, gọi tập hợp chặn Tk, ký hiệu E(Tk) Các giao dịch thuộc vào E(Tk) giao dịch có nguồn gốc từ chặn Tk Tại thời điểm cho trước, đồ thị xung đột hữu hiệu sinh quan hệ chặn tồn giao dịch hệ Ta ký hiệu B(Tk) tập hợp giao dịch bị chặn Tk, có nghĩa giao dịch đạt cách chạy khắp xuất phát từ Tk Ví dụ : Cho đồ thị xung đột hữu hiệu sau: T1 T2 T5 T3 Các giao dịch không chặn T3, T4, T5 Ta có: E(T1) = { T2, T3, T4 T5 } B(T5) = { T1, T2 } T4 Đồ thị xung đột hữu hiệu chứa vòng lặp tồn giao dịch Tk mà tập hợp chặn chứa giao dịch bị chặn Tk: ∃ k: B(Tk) ∩ E(Tk) ≠ {Tồn vòng lặp} Nếu ta không muốn trì trạm đồ thị tổng quát cần phải xây dựng ảnh cục cho phép đánh giá điều kiện vừa nêu Đó điều mà ta thực giải thuật sau VII.2 Thuật toán Ta ký hiệu S(Tk) trạm nguồn giao dịch Tk giao dịch Tk, trạm S(Tk) trì tập hợp B(Tk) E(Tk) Việc cập nhật E(Tk) cần phải biểu tất trạm nguồn giao dịch thuộc B(Tk) Thực tế, giao dịch chặn Tk phần tử toàn tập hợp chặn giao dịch thuộc B(Tk) Giả sử Tk yêu cầu tài nguyên e trạm Si Trên trạm này, ta thực phép toán sau đây: Trang Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn STT Phép toán Nếu e có sẵn để dùng, yêu cầu thoả mãn ta ghi nhận Tk có tài nguyên Nếu e cung cấp cho giao dịch Tj thông điệp “Tj chặn Tk” truyền cho trạm S(Tj) S(Tk) Sau (j,k) thông điệp Khi nhận thông điệp (j,k) trạm S đó, ta thực tác động sau đây: Trên trạm S(Tj) nguồn giao dịch chặn Tk, ta thêm Tk vào tập hợp B(Tj) kiểm tra ta không làm phát sinh bế tắc, có nghĩa là: B(Tj) ∩ E(Tj) = Ta gửi tiếp tục thông điệp (l,k) phía trạm nguồn giao dịch Tl chặn Tj nhằm cho phép trạm S(Tl) cập nhật tập hợp BB(Tl) giao dịch bị chặn Tl Song song với tác động trên, thông điệp (l,k) gửi trạm nguồn giao dịch Tk để cập nhật tập hợp E(Tk) giao dịch chặn Tk Trên trạm S(Tk) nguồn giao dịch bị chặn Tk, ta thêm Tj cho tập hợp E(Tk) kiểm tra bế tắc, có nghĩa là: B(TJ) ∩ E(Tk) = Ta gửi tiếp tục thông điệp (j,m) phía trạm nguồn giao dịch Tm bị chặn Tk nhằm cho phép trạm S(Tm) cập nhật tập hợp E(Tm) giao dịch chặn Tm Các khuyến nghị giải phóng dẫn đến thuật toán đối xứng mà ta điều kiện giới thiệu Ví dụ 2: Hãy xét trạm S 1, S2 S3 Mỗi trạm Si chứa đối tượng ei nguồn giao dịch Ti: T1 T2 T3 v_loai_tru_th(e1) v_loai_tru_th(e2) v_loai_tru_th(e3) v_loai_tru_th(e2) v_loai_tru_th(e3) v_loai_tru_th(e1) Ta tưởng tượng thời điểm mà tất giao dịch thực có kết phép toán then cài Khi chuyển sang thời điểm phép toán thứ hai, giao dịch bị chặn Điều kéo theo kiện sau đây: Trang Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn T1 S2 đề nghị cung cấp e2 có T2; S2 gửi (2,1) cho S1 S2, từ ta có: E(T1) = {T2} B(T1) = B(T2) = {T1} E(T2) = T2 S3 đề nghị cung cấp e3 có T3; S3 gửi (3,2) cho S2 S3, từ ta có : B(T3) = {T2} B(T3) = E(T2) = {T3} B(T2) = {T1} S2 gửi (3,1) cho S1 từ sinh ra: E(T1) = {T2, T3} B(T1) = T3 S3 đề nghị cung cấp e1 có T1; S1 sinh T3 B(T1) ta ghi nhận là: E(T1) ∩ B(T1) = {T3} Như vậy, bế tắc phát S1 VIII Kết luận Hai thuật toán vừa giới thiệu xuất phát từ sở nguyên tương tự Đó thiếu chắn trạng thái trạm xa phát sinh vấn đề lưu trữ "giới hạn an toàn" định Điều lại ngăn cản phép toán không kéo theo bế tắc Nhưng thân hai thuật toán này, triển khai lại cho phép sử dụng kỹ thuật khác Trong thuật toán dự phòng ta kiểm tra trạng thái phần điều kiện mạnh điều kiện tối thiểu Trong thuật toán phát ta có trạm trạng thái trạm khác Thông thường, trạm nhận thông tin dư thừa Trang 10 Tiểu luận môn học: Hệ Phân Tán Phần 2: GVHD: PGS TS Lê Văn Sơn BÀI TẬP Theo phương pháp Le Lann, người ta phối hợp cho tài nguyên găng, ví dụ Sa, Sb, Sc, Người ta nhóm jeton Bạn chứng minh để triển khai chiến lược cung cấp rủi ro bế tắc, người ta cần rút số cho tài nguyên cần thiết jeton chạy qua I Bộ Bộ đối tượng đồng cung cấp cho yêu cầu số nhằm xác lập trật tự Để cho yêu cầu số liên tục cung cấp Giá trị cấp cho yêu cầu Một tiến trình muốn nhận giá trị từ S phải gọi thủ tục (hoặc hàm) có tên Phieu(S) Mỗi giá trị phục vụ cho kiện mà Giả sử tất kiện đánh số S Khi tiến trình cung cấp cho kiện i số thông qua Phieu(s), ta khẳng định sau: - Các kiện t bao hàm giá trị nhỏ t diễn - Số thứ tự liền kề sau t phải t+1 Một mang đặc tính sau : - Nếu a b kiện thực hàm Phieu(S), ta có a→b hay b→a - Nếu a thực phép t=Phieu(S) giá trị gán cho t số lượng phép Phieu(S) thực trước a Đặc tính thứ thể việc loại trừ tương hỗ phép toán Phieu(S), đặc tính thứ hai thể tính liên tục đánh số có nghĩa không để lại khoảng trống đánh số Việc triển khai hệ thống xử hay nhiều xử với nhớ chung tiến hành cách triển khai chế sơ đẳng loại trừ tương hỗ đủ Trong hệ thống phân tán, việc vận dụng không đơn giản có diện kênh viễn thông sử dụng theo kiểu loại trừ tương hỗ đặc biệt tồn vòng tròn hay kênh lan truyền Việc vận dụng tương đối tổng quát S hệ phân tán chuyển động trạm đối tượng gọi ấn phong chứa giá trị hành Khi trạm có ấn phong, thực hàm Phieu(S) Trang 11 Tiểu luận môn học: Hệ Phân Tán GVHD: PGS TS Lê Văn Sơn II Jeton tuần hoàn Để triển khai ấn phong có hiệu quả, ta phải xác định hành trình mạng máy tính Phương pháp đơn giản lắp đặt trạm nằm vòng theo chiều xác định Mỗi trạm liên hệ với trạm gần Ta xem xét mạng hoàn toàn nối với có nghĩa tập hợp gồm N trạm, trạm liên lạc với trạm khác cách dễ dàng Một số bao gồm từ đến N-1 phân phối lần cho toàn trạm Trạm i có trạm hàng xóm phải hay gọi trạm sau mà số trạm suc[i] hàng xóm bên trái hay gọi trạm liền kề trước mà số pred[i] Sự mô tả cho ta hình dung vòng tròn ảo Khi hoạt động bình thường, N trạm thể đầy đủ vòng tròn, lúc ta có: suc[i]=i+1 modulo N pred[i]=i-1 modulo N Ấn phong cụ thể hoá vài cấu hình biến trạng thái quay vòng tròn ảo luôn theo chiều xác định Để vòng tròn hoạt động tốt cần thiết phải xây dựng lại vòng tròn trạm có cố Trong thuật toán Le Lann, ấn phong cụ thể hoá thông điệp đặc biệt gọi Jeton tuần hoàn vòng tròn Như việc cố mạng dẫn đến jeton Các biến trạng thái trì trạm cho phép tái sinh jeton trườn hợp bị Thuật toán triển khai ý tưởng là: - Jeton mang giá trị v Mỗi trạm j có biến trạng thái S[j] Trước phát lại Jeton vào mạng, tác động sau thực hiện: S[j]:=v cho j ≠ v:=v+1 mod K; S[j]:=v cho j=0 - Mỗi lần chuyển jeton trạm j, đồng hồ bảo vệ trang bị Nếu phát động trước jeton đến j tham chiếu đến biến trạng thái S[i] trạm liền kề trước i=pred(j) vòng tròn Nếu hai điều kiện sau kiểm tra: j>i S[j] ≠ S[i] hay j

Ngày đăng: 20/08/2017, 14:08

Từ khóa liên quan

Mục lục

  • Phần 1: LÝ THUYẾT

    • I. Các tài nguyên

    • II. Định nghĩa bế tắc

    • III. Điều kiện xảy ra bế tắc

    • IV. Đồ thị cấp phát tài nguyên

    • V. Các phương pháp xử lý́ bế tắc

    • VI. Ngăn chặn bế tắc

    • VII. Thuật toán phát hiện bế tắc

    • VIII. Kết luận

    • Phần 2: BÀI TẬP

      • I. Bộ tuần tự

      • II. Jeton tuần hoàn

      • III. Cung cấp tài nguyên. Vấn đề bế tắc

      • IV. Chứng minh

      • V. Ví dụ

        • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan