Tải bản đầy đủ (.ppt) (20 trang)

báo cáo tiểu luận lập trình mạng phòng tránh bế tắc trong cung cấp tài nguyên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (469.44 KB, 20 trang )

TIỂU LUẬN LẬP TRÌNH MẠNG
Giáo viên hướng dẫn: PGS. TS. Lê Văn Sơn
Học viên: Đặng Quý Linh
Lớp: Khoa học máy tính K24
2
Yêu cầu dề tài

Tên đề tài 11:

SỬ DỤNG MỘT TRONG CÁC PHƯƠNG
PHÁP ĐÃ BIẾT ĐỂ LẬP TRÌNH PHÒNG
TRÁNH BẾ TẮC TRONG CUNG CẤP TÀI
NGUYÊN THUỘC HỆ PHÂN TÁN

CHỌN PHƯƠNG PHÁP THÍCH HỢP

GIẢ LẬP CÁC SERVER

VIẾT CHƯƠNG TRÌNH CHO PHÉP TRAO
ĐỔI THÔNG ĐIỆP VỀ TRẠNG THÁI CUNG
CẤP TÀI NGUYÊN GIỮA CÁC SERVER
3
Nội dung
Kết luận
Triển khai chương trình
Mô hình lập trình phân tán
Bế tắc và phương pháp phòng tránh
4
Bế tắc và phương pháp phòng tránh

Bế tắc hay còn gọi là khoá tương hỗ là sự kẹt


chéo lẫn nhau có tính chất sống còn của các
tiến trình. Bế tắc diễn ra khi hai tiến trình đang
sử dụng tài nguyên lại phát yêu cầu về nhu cầu
sử dụng tài nguyên mà tiến trình kia còn đang
sử dụng.
T1
T2
T4
T3
Tr1 Tr2 Tr3
5
Nội dung
Giới thiệu giải thuật loại trừ tương hỗ
Sắp xếp kiểu đóng dấu
Phương
pháp phòng
tránh bế tắc
6
Sắp xếp kiểu đóng dấu

Đóng dấu là hành vi gán giá trị nguyên cho
một thông điệp nhằm ghi nhận thời điểm truyền
trên cơ sở tham chiếu đồng hồ lô gích.

Nội dung cơ bản của phương pháp này là trạm
phát được gắn một giá trị gọi là dấu. Giá trị này
có tính chất thời điểm cho trạm phát thông tin
và dựa vào đồng hồ lô gích cục bộ của chính
trạm. Các đồng hồ này được lấy lại thông qua
hội thoại giữa các trạm.

7
Giới thiệu giải thuật loại trừ tương hỗ

Loại trừ tương hỗ có thể được điều khiển
trên một trạm trung tâm có nhiệm vụ nhận
tất cả các thông điệp và khuyến nghị giải
phóng. Trạm này duy trì một hàng đợi, sắp
xếp các yêu cầu theo trật tự đến và phục
vụ cho từng thông điệp một trong trật tự
này.
8
Thuật toán loại trừ tương hỗ
1. Trạm i của mạng có thể gửi cho các trạm
khác thông điệp có dạng (T,Hi,i), trong đó
Hi là dấu của thông điệp có nghĩa là đồng
hồ lô gích của nó và T có thể nhận một
trong ba giá trị REQ, REL và ACQ.

Ba giá trị này xác định bản chất của ba
loại thông điệp khác nhau:
9
STT Thông điệp Giải thích
1 REQ Thông điệp REQ được phát đi cho tất cả các trạm, khi trạm i muốn vào trong đoạn găng.
2 REL Thông điệp REL được phát đi cho tất cả các trạm, khi trạm i đã rời khỏi đoạn găng.
3 ACQ Thông điệp ACQ được gởi bởi trạm j cho trạm i, khi trạm j đã nhận từ trạm i thông điệp
REQ.
10
2. Mỗi trạm quản lý một hàng đợi các thông điệp
được sắp xếp hoàn toàn bởi quan hệ ⇒ theo
cặp <thời gian, số> của từng thông điệp. Theo

cấu trúc, hàng đợi luôn luôn chứa một thông
điệp và chỉ một thường trực trong mỗi trạm, bao
gồm trạm cục bộ. Khi có một thông điệp được
gửi đi bởi trạm i, đồng thời nó cũng được ghi
trong hàng đợi của trạm này.

Giả sử rằng mỗi hàng đợi ban đầu chứa các
thông điệp:

Mi = (REL,Hinit,i)

Trong đó, i, Hinit là thời điểm khởi sự giống
nhau cho tất cả các trạm.
11
3. Trên mỗi trạm, khi nhận được một thông
điệp dạng (REQ, Hi,i) hay (REL,Hi,i)
thông điệp này thay thế thông điệp Mi bất
chấp nó là gì. Khi nhận thông điệp loại
(ACQ, Hi, i), thông điệp này thay thế Mi
ngoại trừ nếu Mi là một yêu cầu mà trong
trường hợp đó ACQ bị bỏ qua. Do vậy, ta
có thể tiết kiệm việc gởi đi thông điệp ACQ
cho trạm i khi trạm này đã gởi một thông
điệp REQ và không còn thông điệp REL.
12
4. Trạm i được truyền vào đoạn găng khi
thông điệp REQ của nó đến trước theo
nghĩa của quan hệ ⇒ tất cả các thông
điệp khác trong hàng đợi của nó. Cần
nhắc lại rằng hàng đợi chứa một thông

điệp loại này trên một trạm.
13
Mô hình lập trình phân tán

Mô hình Client – Server
14
Các ưu, nhược điểm trong Hệ phân tán
Ưu điểm

Hỗ trợ truy cập dữ liệu ở nhiều nơi.

Nhờ cơ chế nhân bản nên người dùng chỉ cần truy
cập cục bộ cũng lấy được thông tin từ các trung tâm
chính ở rất xa.

Khắc phục được các hiểm họa ở địa phương.
Nhược điểm

Dữ liệu phải được nhân bản và đồng bộ hóa cao
thông qua các mối liên kết mạng, điều này làm cho
việc quản trị và giám sát phức tạp hơn.

Đôi khi gây khó khăn trong vấn đề bảo mật và điều
khiển
15
TRIỂN KHAI CHƯƠNG TRÌNH

Sử dụng thuật toán loại trừ tương hỗ để giải quyết yêu
cầu của bài toán. Nguyên lý của phương pháp này được
khái quát như sau:


Một tiến trình nào đó gửi thông điệp để yêu cầu sử dụng
tài nguyên, một tiến trình sử dụng xong tài nguyên nào
đó truyền một thông tin giải phóng khi nó ngừng chiếm
dụng.

Trong các hệ phân tán, chương trình cung cấp nằm trên
một trạm và các tiến trình đề nghị lại ở trên các trạm
khác, các yêu cầu và khuyến nghị giải phóng được
truyền cho các chương trình cung cấp thông qua hình
thức thông điệp, chuyển theo các kênh của hệ thống
viễn thông. Chính vì vậy nhu cầu sắp xếp các yêu cầu
này theo một trật tự nhất định nào đó luôn luôn được đặt
ra.
16
TRIỂN KHAI CHƯƠNG TRÌNH

Nếu chỉ có một thông điệp đến chương trình cung cấp
thì trật tự đến thể hiện một trật tự chặt chẽ. Ngược lại
nếu có nhiều thông điệp đến cùng một lúc thì việc sắp
xếp chúng phải theo kiểu loại trừ tương hỗ trong hàng
đợi cục bộ của trạm có chứa chương trình cung cấp.
Điều đó cũng cho phép ta có được một trật tự chặt chẽ.

Trật tự có được tại trạm cung cấp có thể không giống
như trật tự phát, nếu thời gian truyền không được cố
định. Trường hợp này khá phổ biến trong mạng máy
tính. Nhưng nếu ta muốn xử lý các thông điệp theo trình
tự không tính tới thời gian truyền, thì cần phải tính đến
một trật tự tổng quát của các lần truyền thông điệp từ

các trạm khác nhau.
17
KẾT QUẢ DEMO

SERVER1:

SERVER2:
18

SERVER 3:

SERVER 4:
19

SERVER 5:
www.themegallery.com

×