1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn hệ phân tán TÌM HIỂU XỬ LÝ BẾ TẮC CỦA HỆ PHÂN TÁN

19 407 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 19
Dung lượng 811,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khái quát về bế tắc Một tập các tiến trình bị bế tắc nếu mỗi tiến trình trong tập tiến trình chờ một sự kiện mà chỉ có tiến trình khác trong tập các tiến trình đó tạo ra.. Định nghĩa b

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO

ĐẠI HỌC ĐÀ NẴNG

BÀI TIỂU LUẬN

HỆ PHÂN TÁN

Giảng viên: PGS TS Lê Văn Sơn Học viên : Võ Đức Hoàng

Lớp: Khoa học máy tính K10

BÀI TIỂU LUẬN

HỆ PHÂN TÁN

Giảng viên: PGS TS Lê Văn Sơn Học viên : Võ Đức Hoàng

Lớp: Khoa học máy tính K10

Trang 2

Nội dung trình bày

Phần 1 LÝ THUYẾT

Phần 2 BÀI TẬP

Khái quát về bế tắc

Các thuật toán phát hiện và ngăn chặn bế tắc

Trình bày giải pháp kết hợp các bộ tuần tự cho mỗi tài nguyên găng trên một jeton tuần hoàn

để ngăn chặn bế tắc.

Trang 3

Khái quát về bế tắc

Một tập các tiến trình bị bế tắc nếu mỗi tiến trình trong tập tiến trình chờ một sự kiện mà chỉ có tiến trình khác trong tập các tiến trình đó tạo ra.

Định nghĩa bế tắc:

Tất cả các tiến trình đều đang chờ, không một tiến trình nào trong chúng có thể tạo ra bất kỳ một sự kiện nào để có thể đánh thức tiến trình khác trong tập tiến trình, vì vậy tất cả các tiến trình tiếp tục chờ mãi mãi

Trang 4

Khái quát về bế tắc

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

1 Có sử dụng tài nguyên không thể chia sẻ (Mutual

exclusion):

2 Sự chiếm giữ và yêu cầu thêm tài nguyên (Wait for)

3 Không thu hồi được tài nguyên từ tiến trình đang giữ

chúng (No preemption):

4 Tồn tại một chu kỳ chờ trong đồ thị cấp phát tài nguyên

(Circular wait)

Trang 5

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

Một tình huống không bế tắc

P1

R2

Một tình huống bế tắc

Trang 6

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

 Sử dụng một giao thức (protocol) để hệ thống không bao giờ xảy ra bế tắc.

 Cho phép xảy ra bế tắc và tìm cách sửa chữa bế tắc.

 Hoàn toàn bỏ qua bế tắc, xem như hệ thống không bao giờ xảy ra bế tắc

Trang 7

Ngăn chặn bế tắc

Để bế tắc không xảy ra cần đảm bảo tối thiểu một

trong 4 điều kiện cần không xảy ra

1 Tài nguyên không thể chia sẻ

2 Sự chiếm giữ và yêu cầu thêm tài nguyên

3 Thu hồi tài nguyên

4 Tồn tại một chu kỳ

Trang 8

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

Gọi R = { R1, R2, , Rn } là tập các loại tài nguyên

Các loại tài nguyên được phân thứ tự từ 1 – N, thứ tự có thể là 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 khi yêu cầu tài nguyên phải tuẩn thủ quy định: khi tiến trình đang bị chiếm giữ tài nguyên Ri thì có thể yêu cầu các tài nguyên

Rj nếu F(Rj) > F(Ri).

1

Trang 9

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

Tk là một giao dịch bị chặn

E(Tk) là tập hợp các chặn của Tk.

B(Tk) là tập hợp các giao dịch bị chặn do Tk

Đồ thị các xung đột hữu hiệu chứa vòng lặp nếu và

chỉ nếu tồn tại giao dịch Tk mà tập hợp chặn của nó

chứa một giao dịch bị chặn bởi Tk:

k: B(Tk) E(Tk) {Tồn tại vòng lặp}

2

Trang 10

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

Ví dụ : Cho đồ thị các xung đột hữu hiệu

như sau:

Các giao dịch không chặn là T3, T4, T5

Ta có:

E(T1) = { T2, T3, T4 T5 } B(T5) = { T1, T2 }

T1

T2

T5

Trang 11

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

Xét 3 trạm S1, S2 và S3 Mỗi trạm Si chứa đối tượng ei và là

nguồn của giao dịch Ti

T1

T2

T1 trên S2 đề nghị cung cấp e2 có trên T2;

S2 gửi (2,1) cho S1 và S2, từ đó ta có:

T2 trên S3 đề nghị cung cấp e3 có trên T3;

S3 gửi (3,2) cho S2 và S3, từ đó ta có :

E(T1) = {T2} B(T1) = 0

B(T2) = {T1} E(T2) = 0

T3

E(T2) = {T3} B(T2) = {T1}

B(T3) = {T2} E(T3) = 0

S2 gửi (3,1) cho S1 và từ đó sinh ra:

E(T1) = {T2, T3} B(T1) = 0

T3 trên S3 đề nghị cung cấp e1 có trên T1;

S1 sinh ra T3 trong B(T1) và ta ghi nhận là:

E(T1) = {T2, T3} B(T1) = {T3}

Bế tắc

Trang 12

Theo phương pháp Le Lann, người ta phối hợp một bộ

tuần tự cho một tài nguyên găng, ví dụ Sa, Sb, Sc, Người ta

nhóm các bộ tuần tự trên một jeton duy nhất.

Bạn hãy chứng minh rằng để triển khai một chiến lược

cung cấp không có rủi ro về bế tắc, người ta chỉ cần rút một số cho một tài nguyên cần thiết khi jeton chạy qua

BÀI TẬP

Trang 13

Các khái niệm

Khái niệm bộ tuần tự

Bộ tuần tự là đối tượng đồng bộ cung cấp cho mỗi yêu cầu một số nhằm xác lập trật tự

Để cho 2 yêu cầu kế tiếp nhau thì 2 số liên tục nhau được cung cấp Giá trị 0 được cấp cho yêu cầu đầu tiên.

Việc vận dụng tương đối tổng quát bộ tuần tự S trong hệ phân tán là sự chuyển động giữa các trạm của một đối tượng duy nhất

gọi là ấn phong chứa giá trị hiện hành của bộ tuần tự 2

1

3 4 5 0

Trang 14

Chứng minh

Các bộ tuần tự Si tương ứng cho tài nguyên găng Ri, trong đó i  [1 n], n

là số lượng tài nguyên

Mỗi bộ tuần tự Si bao gồm :

+ Các tiến trình truy cập tài nguyên này là Pj, trong đó j  [1 k]

+ Tình trạng tài nguyên : TinhTrang(Ri) bao gồm 2 giá trị là (True, Pj) và (False,0)

 Đang sử dụng (True, Pj) : Giá trị True là đang bị sử dụng và Pj là tiến trình đang sử dụng tài nguyên Si

 Đang giải phóng (False,0) : Không có tiến trình nào sử dụng

2 1

3 4 5 0

Trang 15

Chứng minh

Bế tắc xảy ra nếu 4 điều kiện sau xuất hiện đồng

thời:

+ C1: Loại trừ lẫn nhau + C2: Giữ và chờ

+ C3: Không có đặc quyền + C4: Chờ vòng

Ta cần chứng minh khi Jeton chạy qua tài nguyên

Ri chỉ cần rút ra một số thì sẽ được chiến lược cung cấp không có rủi ro về bế tắc => không xuất hiện

đồng thời C1, C2, C3,C4

Trang 16

Chứng minh

Khi Jeton tuần hoàn trên mạng đến tài nguyên Ri thuật toán được thể hiện như sau :

Kiểm tra tình trạng tài nguyên Ri

+ Nếu TinhTrang(Ri) = (True, Pj) : bỏ qua tài nguyên Ri

+ Nếu TinhTrang(Ri) = (False, 0) : chiếm giữ và sử dụng tài nguyên Ri

Bắt đầu

if Ktra( Ri ) = True bỏ qua không chiếm giữ tài nguyên Ri else

ChiemGiu( Ri ) TinhTrang(Ri)= (True, Pj ) Kết thúc

Trang 17

Trong đó thủ tục Ktra( Ri ) được thực hiện như sau:

Ktra( Ri ) = False

Vòng lặp

Nếu TinhTrang(Ri) = (True, Pj ) thì Ktra(Ri ) = True

j : = j + 1 nếu j < k Kết thúc vòng lặp

Trang 18

Ví dụ

Ta có ba tài nguyên R1, R2, R3 và năm tiến trình đòi hỏi tài

nguyên là P1, P2, P3, P4, P5

1

1 1

Jeton tuần hoàn trên mạng chứa các bộ tuần tự của tài

nguyên :

- S1 : (P1, P2, P4) và tình trạng (False,0)

- S2 : (P3, P4, P5) và tình trạng (False,0)

- S3 : (P1, P4, P5) và tình trạng (False,0)

Trang 19

CẢM ƠN QUÝ THẦY CÔ

VÀ CÁC BẠN ĐÃ CHÚ Ý

LẮNG NGHE!

THE END

Ngày đăng: 23/03/2015, 18:27

HÌNH ẢNH LIÊN QUAN

Đồ thị cấp phát tài nguyên 5 - Tiểu luận môn hệ phân tán TÌM HIỂU XỬ LÝ BẾ TẮC CỦA HỆ PHÂN TÁN
th ị cấp phát tài nguyên 5 (Trang 5)
Đồ thị các xung đột hữu hiệu chứa vòng lặp nếu và  chỉ nếu tồn tại giao dịch Tk mà tập hợp chặn của nó - Tiểu luận môn hệ phân tán TÌM HIỂU XỬ LÝ BẾ TẮC CỦA HỆ PHÂN TÁN
th ị các xung đột hữu hiệu chứa vòng lặp nếu và chỉ nếu tồn tại giao dịch Tk mà tập hợp chặn của nó (Trang 9)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w