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
Trang 1TIỂ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
Trang 2Yê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
Trang 3Nộ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
Trang 4Bế 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
Trang 5Nộ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
Trang 6Sắ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
Trang 7Giớ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
Trang 8Thuậ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:
Trang 9STT 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.
Trang 102 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
Trang 113 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
Trang 124 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
Trang 13Mô hình lập trình phân tán
Mô hình Client – Server
Client process
4.Client handles
reponse
Resource
Server process
2.Server handles request 3.Server sends response
1.Client sends request
Trang 14Cá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
Trang 15TRIỂ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.
Trang 16TRIỂ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.
Trang 17KẾT QUẢ DEMO
SERVER1:
SERVER2:
Trang 18SERVER 3:
SERVER 4:
Trang 19SERVER 5: