Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO THUẬT TOÁN LOMET SẮP XẾP CÁC GIAO DỊCH TRONG HỆ PHÂN TÁN

33 616 0
Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO THUẬT TOÁN LOMET SẮP XẾP CÁC GIAO DỊCH 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

THUẬT TOÁN LOMET SẮP XẾP CÁC GIAO DỊCH TRONG HỆ PHÂN TÁN (có kèm theo code) LỜI NÓI ĐẦU Ngày nay, công nghệ mạng máy tính và Internet đã phát triển mạnh, không những cho chúng ta khai thác Nguồn tài nguyên là những kho tư liệu về các lĩnh vực mà còn có thể triển khai các hệ thống thông tin giải quyết những công việc đặt ra trong hoạt động thường ngày. Đối với các hệ thông tin lớn, CSDL không chỉ được lưu trữ và quản lý bởi các server độc lập mà thường được phân tán trên nhiều server và phân bổ ở các vị trí địa lý khác nhau. Hệ thống cho phép xử lý đa truy cập đồng thời cho phép đăng ký từ xa. Một trong những lợi ích của việc phân tán dữ liệu là nhằm chia yêu cầu xử lý dữ liệu cho nhiều máy nhằm tăng năng lực xử lý thông tin của hệ thống. Việc lập trình giải quyết một bài toán trong hệ thống truyền thông của hệ tin học phân tán còn mới mẻ và không đơn giản. Trong phạm vi tiểu luận môn học lập trình mạng, với đề tài: “Sử dụng thuật toán Lomet để sắp xếp các giao dịch trong mạng phân tán” nội dung tiểu luận bao gồm: Nghiên cứu thuật toán Lomet nhằm xử lý việc cung cấp tài nguyên của các server qua hệ thống đường truyền. Xây dựng hệ thống đa server. Xây dựng chương trình Monitoring quan sát trường dấu trong hàng đợi các thông điệp tại server nhận. Viết chương trình cài đặt thuật toán.. Hiện đồ thị trạng thái cung cấp tài nguyên trên hệ với 3 Servers Xin chân thành cảm ơn sự hướng dẫn của thầy PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp đã giúp tôi hoàn thành tiểu luận này.

Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn ĐẠI HỌC ĐÀ NẴNG Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO Đề tài: THUẬT TOÁN LOMET SẮP XẾP CÁC GIAO DỊCH TRONG HỆ PHÂN TÁN GVHD : PGS.TS Lê Văn Sơn HVTH : Ninh Văn Anh Phan Thị Bông Lớp : Cao học KHMT khóa 11 HVTH: Ninh Văn Anh – Phan Thị Bông Trang 1 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn LỜI NÓI ĐẦU Ngày nay, công nghệ mạng máy tính và Internet đã phát triển mạnh, không những cho chúng ta khai thác Nguồn tài nguyên là những kho tư liệu về các lĩnh vực mà còn có thể triển khai các hệ thống thông tin giải quyết những công việc đặt ra trong hoạt động thường ngày. Đối với các hệ thông tin lớn, CSDL không chỉ được lưu trữ và quản lý bởi các server độc lập mà thường được phân tán trên nhiều server và phân bổ ở các vị trí địa lý khác nhau. Hệ thống cho phép xử lý đa truy cập đồng thời cho phép đăng ký từ xa. Một trong những lợi ích của việc phân tán dữ liệu là nhằm chia yêu cầu xử lý dữ liệu cho nhiều máy nhằm tăng năng lực xử lý thông tin của hệ thống. Việc lập trình giải quyết một bài toán trong hệ thống truyền thông của hệ tin học phân tán còn mới mẻ và không đơn giản. Trong phạm vi tiểu luận môn học lập trình mạng, với đề tài: “Sử dụng thuật toán Lomet để sắp xếp các giao dịch trong mạng phân tán” nội dung tiểu luận bao gồm: - Nghiên cứu thuật toán Lomet nhằm xử lý việc cung cấp tài nguyên của các server qua hệ thống đường truyền. - Xây dựng hệ thống đa server. - Xây dựng chương trình Monitoring quan sát trường dấu trong hàng đợi các thông điệp tại server nhận. - Viết chương trình cài đặt thuật toán - Hiện đồ thị trạng thái cung cấp tài nguyên trên hệ với 3 Servers Xin chân thành cảm ơn sự hướng dẫn của thầy PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp đã giúp tôi hoàn thành tiểu luận này. Nhóm thực hiện Ninh Văn Anh Phan Thị Bông HVTH: Ninh Văn Anh – Phan Thị Bông Trang 2 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn CHƯƠNG 1: THUẬT TOÁN LOMET 1.1.Các vấn đề cơ bản của hệ tin học phân tán. 1.1.1.Định nghĩa. Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. 1.1.2. Cung cấp phân tán. Vì lý do ổn định và hiệu quả, chức năng cung cấp phải được phân tán trên nhiều trạm khác nhau. Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảm bảo cho hoạt động cung cấp được hoàn toàn chính xác. Một sự gắn bó của các chương trình cung cấp phân tán quản lý trên cùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các quy tắc sau, ở đây các thông điệp được hiểu là các yêu cầu hay khuyến nghị giải phóng tài nguyên. - Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật. - Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các tiến trình. - Các thông điệp phải được xử lý cùng một trật tự như nhau trong một chương trình cung cấp. 1.1.3. Các yêu cầu cơ bản cần nghiên cứu giải quyết của hệ phân tán. - Lập trình và thực hiện cho hệ thống đa truy cập, ngẫu nhiên, số lượng lớn. - Định danh cho các đối tượng qua hệ thống viễn thông. - Cấu trúc lập trình được cho các truy vấn đa chiều và đáp ứng lại truy vấn. - Trình tự và đồng bộ các tiến trình hoạt động. - Gắn bó thông tin (Coherence) và vấn đề nhiều bản sao. - Cung cấp từ xa các tài nguyên dùng chung (tài nguyên găng). - Vấn đề xử lý - tính toán đồng thời trong hệ. - Vấn đề đa Server và hệ điều khiển - giám sát của người quản trị hệ thống. - Vấn đề tin cậy và hiệu năng hệ thống. - Tài nguyên truy cập theo kiểu loại trừ chỉ cung cấp cho một giao dịch và tài nguyên truy cập theo kiểu chia xẻ được cung cấp cho một tập hợp bất kỳ các giao dịch. HVTH: Ninh Văn Anh – Phan Thị Bông Trang 3 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn 1.2. Thuật toán dự phòng bế tắc- Thuật toán Lomet 1.2.1. Các định nghĩa: *Một quan hệ gọi là phụ thuộc thế năng giữa 2 giao dịch T j và T k , kí hiệu T j >T k , nghĩa là tồn tại ít nhất một tài nguyên bị cài then bởi T j và là thành phần thuộc thông điệp của T k . *Một quan hệ gọi là chặn thế năng giữa 2 giao dịch T j và T k , kí hiệu T j<> T k , nghĩa là tất cả tài nguyên thuộc tập hợp theo yêu cầu của thông điệp T k đều bị cài then bởi T j . Hai quan hệ này có thể biểu diễn bằng đồ thị G, biến thiên theo thời gian gọi là đồ thị các xung đột thế năng. Nếu tồn tại vòng lặp trong đồ thị G này thì sẽ sinh ra bế tắc. *Sự xung đột giữa hai giao dịch T j và T k là sự nhận thông điệp yêu cầu cung cấp tài nguyên của T j và T k đúng vào cùng một thời điểm. Nếu ta ký hiệu kJ TGTGD −= là khoảng cách giữa thời điểm nhận thông điệp thì sự xung đột sẽ xảy ra khi 0 = D Ví dụ: Xét ba giao dịch T 1 , T 2 , T 3 sử dụng ba tài nguyên R 1 , R 2 , R 3 . Giả sử v_chia_se_th() là phép toán cài then có tính chia sẻ, v_loai_tru_th() yêu cầu cung cấp tài nguyên e, và a_th() là phép toán thông điệp Giao dịch T 1 : Giao dịch T 2 : Giao dịch T 3 : Ta giả sử rằng với các tài nguyên R 1 , R 2 và R 3 được bố trí trên các trạm tương ứng S 1 , S 2 và S 3 . Nếu trạm S i chỉ nhận các thông cáo tương ứng với tài nguyên mà nó quản lý, thì nó chỉ duy trì đồ thị Gi . (Gi hình ảnh thu được của G cho các giao dịch đã phát thông cáo). Giả sử các lệnh thực hiện theo trình tự: HVTH: Ninh Văn Anh – Phan Thị Bông Trang 4 t 11 : a_th(R 3 , R 1 , R 2 ) … t 12 : v_loai_tru_th(R 3 ) v_chia_se_th(R 1 ) … t 13 : v_loai_tru_th(R 2 ) t 21 : a_th(R 1 , R 3 ) … t 22 : v_chia_se_th(R 1 ) … t 23 : v_loai_tru_th(R 3 ) t 31 : a_th(R 2 , R 1 ) … t 32 : v_loai_tru_th(R 2 ) … t 33 : v_loai_tru_th(R 1 ) Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn t 11 - t 21 - t 31 - t 12 - t 22 - t 32. Như vậy, sau khi đã thực hiện t 32 , ta có hình ảnh đồ thị G 1, G 2, G 3 tại các trạm tương ứng S 1, S 2, S 3 như sau: Tại trạm S 1 có đồ thị G 1 : T3 R1 T1 T2 s s e Tại trạm S 2 có đồ thị G 2 : T3 T1R2 e e Tại trạm S 3 có đồ thị G 3 : HVTH: Ninh Văn Anh – Phan Thị Bông Trang 5 T1 T2 R3 e e Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn Rõ ràng, thông qua ba đồ thị trên đây, ta không phát hiện được mạch khép kín có thể dẫn đến tình trạng bế tắc. Nhưng, nếu ở hệ tập trung hay trạng thái không từng phần, ta có đồ thị sau: T3 R1 T1 T2 R2 R3 s s e e e e e Ti Rj RrTs Cung tiÕn tr×nh ®ang n¾m gi÷ tµi nguyªn Cung tiÕn tr×nh ®ang ®îi tµi nguyªn s: Truy cËp chia sÎ e:Truy cËp lo¹i trõ Hình 5: Phát sinh bế tắc Trong thực tế, mặc dù không có đồ thị nào trong số này cho phép phát hiện một vòng lặp bế tắc, nhưng trên một trạm cho trước nào đó, ta lại không thể dự phòng bế tắc có kết quả được. 1.2.2. Nguyên lý Ta sẽ thay thế vào điều kiện cung cấp trong đồ thị G không vòng một điều kiện khác mạnh hơn, nhưng được kiểm tra bằng thông tin cục bộ trên từng trạm. Để làm được điều đó, ta thêm vào cho từng đồ thị G’ i hình ảnh thu nhỏ cho S i của đồ thị một quan hệ toàn bộ chặt chẽ được xác định trên tập hợp các giao dịch. Quan hệ trật tự này có thể có được nhờ phương tiện dấu. Điều kiện cung cấp tài nguyên là duy trì tình trạng không vòng lặp cho các đồ thị G i . Căn cứ theo cấu trúc, điều kiện này có thể được kiểm tra cục bộ trên từng trạm. Ta sẽ chỉ ra G có được tình trạng không vòng lặp như thế nào. Đầu tiên chúng ta bắt đầu chỉ ra sự tồn tại của vòng lặp trong G kéo theo sự tồn tại của vòng lặp có trong ít nhất một G’ i . Kí hiệu T j >>T k hoặc T j <> T k là quan hệ trật tự từng phần chặt chẽ trên các giao dịch. Lúc này, G’ i là hình ảnh thu nhỏ của trạm S i của đồ thị quan hệ >> hoặc <> xác định bởi: HVTH: Ninh Văn Anh – Phan Thị Bông Trang 6 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn hoặc Giả sử rằng G có vòng lặp bao gồm một tập hợp của n giao dịch được đánh số từ 0 đến n-1 trong trật tự của vòng lặp của trật tự xác định bởi quan hệ >. Giả sử rằng T p là nguyên tố của tập hợp này đến trước tất cả các cái khác theo chiều của quan hệ >> và giả sử rằng q=p-1 modul n. Ta có: Nếu S là số của trạm chứa tài nguyên bị cài then bởi T q và thuộc quyền sở hữu của thông cáo T p thì G’ i chứa vòng lặp. 1.2.3. Bế tắc và vấn đề thiếu tài nguyên vĩnh viễn 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. Ví dụ xét đồ thị cung cấp tài nguyên như hình vẽ sau đây: T1 T2 T4 T3 Tr1 Tr2 Tr3 Hình 1: Đồ thị cung cấp tài nguyên bị bế tắc Theo đồ thị này, ta có bốn tài nguyên T 1 ,T 2 , T 3 , T 4 và có ba tiến trình nhu cầu tài nguyên là Tr 1, Tr 2, và Tr 3. Cả 3 tiến trình này đang ở tình trạng bế tắc. Tiến trình Tr 2 chờ tài nguyên T 2 do Tr 3 đang chiếm giữ. Tiến trình Tr 3 chờ tài nguyên T 3 được giải phóng bởi HVTH: Ninh Văn Anh – Phan Thị Bông Trang 7 T p >>T q hoặc T j <> T k vì T p đến trước các cái khác T j >T k trong vòng lặp của đồ thị G T j <> T k ⇔ T j >T k hay T j <> T k Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn Tr 1 trạm Tr 3 . Thêm vào đó, tiến trình Tr 1 chờ tiến trình Tr 2 giải phóng T 1 . Ta có hai chu trình kín trong đồ thị trên là: Thiếu tài nguyên vĩnh viễn là sự chờ đợi bất tận của một tiến trình mà yêu cầu của nó trễ đến mức không thể xác định được. Nguyên nhân của hiện tượng vừa nêu có nhiều, nhưng ta có thể chỉ ra ví dụ thường gặp là do sử dụng luật ưu tiên để cung cấp tài nguyên. 1.2.4. Thuật toán Thuật toán dự phòng được triển khai như sau: STT Triển khai 1 Nhận yêu cầu cung cấp tài nguyên từ giao dịch T i . Phân biệt thông điệp đã nhận là yêu cầu cung cấp tài nguyên theo kiểu loại trừ hay chia sẻ (tức là đã phân nhóm giao dịch). 2 Kiểm tra khoảng cách D giữa hai giao dịch. (Nếu D=0 thì thông báo xung đột). 3 Kiểm tra tài nguyên theo yêu cầu của giao dịch và gởi thông điệp tương thích cho giao dịch. 4 Việc cung cấp tài nguyên tại trạm S cho giao dịch T i được tiến hành, nếu việc cung cấp đó không tạo ra vòng lặp trong đồ thị G’ i . 5 Trong trường hợp bị từ chối, tiến trình thực hiện giao dịch trên trạm S được đưa vào hàng đợi cục bộ tại S 6 Khi tài nguyên được giải phóng, tất cả các tiến trình của hàng đợi được kiểm tra nếu các yêu cầu của chúng có thể được thoả mãn. Quá trình vận hành thuật toán được minh hoạ qua ví dụ nêu trên như sau: Khi T 1 thực hiện t 12 : v_loai_tru_th(R 3 ) v_chia_se_th(R 1 ) Trong đó: v_loai_tru_th(R 3 ) yêu cầu này vào xung đột với thông cáo a_th(R 3 ) thực hiện bởi T 2 . Như vậy, cung P 2 -R 3 -P 1 được thành lập trong G. Lúc này yêu cầu vẫn được chấp nhận, vì giao dịch T 1 >>T 2 . Yêu cầu t 22 : v_chia_se_th(R 1 ) được chấp nhận, vì tài nguyên này được T 1 truy cập theo kiểu chia sẻ nên hoàn toàn cho giao dịch khác truy cập chia sẻ. HVTH: Ninh Văn Anh – Phan Thị Bông Trang 8 Chu trình 1: Tr 1 -T 1 -Tr 2 -T 2 -Tr 3 -T 3 -Tr 1 Chu trình 2: Tr 3 -T 3 -Tr 2 -T 2 -Tr 3 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn Yêu cầu t 32 : v_loai_tru_th(R 2 ) bị từ chối vì nó tạo ra vòng lặp trên S 2 . (Nhưng cần lưu ý rằng nếu trật tự giao dịch theo dạng T 1 , T 2 , T 3 thì yêu cầu vừa nên có thể được chấp nhận). Thuật toán này đặt ra một nguyên tắc tương tự như các nhóm sắp xếp. Duy chỉ có khác nhau một điều là nó tránh được sự thiếu thốn vô hạn, bởi vì trật tự tổng quát được triển khai cho các giao dịch chứ không phải cho các tài nguyên. Một giao dịch trở nên rất cần thiết là giao dịch có thời gian chờ đợi dài nhất sau một khoảng thời gian nhất định, do vậy nó trở thành giao dịch được ưu tiên nhất trên tất cả các trạm mà nó đã gửi thông điệp. 1.3. Giao dịch, thông điệp yêu cầu và bộ cung cấp: Giao dịch là phép toán hợp thành một lôgíc hoàn chỉnh mà việc triển khai nó có thể dẫn đến thực hiện một tiến trình duy nhất hay nhiều tiến trình được định vị trên các trạm khác nhau. Trường hợp dẫn đến thực hiện nhiều tiến trình trên các trạm ở xa là đối tượng mà ta cần quan tâm nghiên cứu. Khái niệm giao dịch được sử dụng như là một thực thể sử dụng (ví dụ như người sử dụng các tài nguyên). Một tiến trình nào đó cần sử dụng tài nguyên để phát triển công việc của mình phải yêu cầu cung cấp một cách hợp thức bằng cách gửi thông điệp yêu cầu (ta quy ước gọi các thông điệp yêu cầu là yêu cầu). Như thế một tiến trình có nhu cầu tài nguyên sẽ bị treo chừng nào tài nguyên đó còn chưa được giải phóng hay chưa được cung cấp cho nó. Bộ cung cấp có thể áp dụng nhiều kiểu cung cấp khác nhau như tiến trình duy nhất, tập hợp các tiến trình, tập hợp các thủ tục,… Các thông điệp yêu cầu sử dụng tài nguyên cũng có thể có các dạng khác nhau như gọi thủ tục, thông báo, thực hiện các lệnh đặc biệt, … 1.4. Truy cập bởi server duy nhất Một tiến trình duy nhất hay còn gọi là server được giao nhiệm vụ quản lý tài nguyên. Nó xử lý tất cả các yêu cầu truy cập từ các tiến trình và các khách (Client). Sự loại trừ truy cập được bảo đảm bởi tính duy nhất của server. Server đồng thời cũng là chương trình đánh thức. Chương trình như sau: HVTH: Ninh Văn Anh – Phan Thị Bông Trang 9 Vòng lặp M:=cho_thong-diep(nil) {treo} <Chương trình xử lý các yêu cầu và gửi trả kết quả> Kết thúc vòng lặp Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn Do vậy, sơ đồ này loại bỏ tất cả các đặc tính song song để truy cập vào tài nguyên. Tiến trình server có thể được lập trình để triển khai toàn bộ chiến lược liên quan đến loại trừ tương hỗ của các yêu cầu (độ ưu tiên, quyền truy cập tài nguyên). Ví dụ: Server quản lý các tập tin hoạt động dựa vào nguyên lý trên trong môi trường phân tán của Swinchart. Server T Tr1 Tr2 Tr3 Hình 2: Đồ thị truy cập vào tài nguyên bằng server duy nhất 1.5. Truy cập tương tranh có điều khiển Trong trường hợp này, tài nguyên được truy cập bởi nhiều server, thông thường có số lượng không cố định. Các server này thực hiện các truy cập tương ứng với các yêu cầu dưới dạng gọi thực hiện các thủ tục. Việc thực hiện các thủ tục này được điều khiển bởi cơ chế đảm bảo tôn trọng các quy tắc truy cập. Tr2 Trn Tr1 D Sn S2 S1 T Hình 3: Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất Các quy tắc này được khởi sự bằng hai cách bởi các tiến trình khách. Hình 3 cho thấy việc truy cập được tiến hành bằng một chương trình trực duy nhất. HVTH: Ninh Văn Anh – Phan Thị Bông Trang 10 T: Tài nguyên Tr: Tiến trình (Khách) [...]... Phan Thị Bông Trang 31 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn MỤC LỤC ĐẠI HỌC ĐÀ NẴNG Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO 1 Đề tài: 1 THUẬT TOÁN LOMET SẮP XẾP CÁC GIAO DỊCH TRONG HỆ PHÂN TÁN 1 GVHD : PGS.TS Lê Văn Sơn 1 HVTH : Ninh Văn Anh 1 Phan Thị Bông 1 Lớp : Cao học KHMT khóa 11 1 LỜI NÓI ĐẦU 2 CHƯƠNG 1: THUẬT TOÁN LOMET 3 1.1 .Các vấn đề cơ bản của hệ tin học phân tán 3 1.1.1.Định... KẾT LUẬN 1 Kết quả đạt được:  Tìm hiểu và nắm vững các kiến thức liên quan đến hệ phân tán và lập trình mạng trên cơ sở nền Java  Trình bày rõ giải thuật Lomet trong hệ phân tán và đưa ra hướng phát triển ứng dụng  Cài đặt bài toán thể hiện đa server phát nhận thông điệp theo thuật toán lomet  Thuật toán Lomet xuất phát từ cơ sở cùng một nguyên lý tương tự Đó là sự thiếu chắc chắn của trạng thái các. .. giá như là một trong những lĩnh vực tri thức rất quan trọng vì nó vận dụng thường xuyên trong quá trình triển khai nghiên cứu, khảo sát, phân tích, thiết kế và xây dựng các hệ điều hành nói chung, hệ tin học phân tán nói riêng Trong chương này sẽ tập trung nghiên cứu vấn đề về tài nguyên và các chiến lược cung cấp tài nguyên cho hệ phân tán Dùng phương pháp sắp xếp các giao dịch của Lomet hãy xác định... khiển 10 1.6 Thuật toán dự phòng bế tắc 11 1.7 Sắp xếp các giao dịch theo Phương pháp Lomet 14 HVTH: Ninh Văn Anh – Phan Thị Bông Trang 32 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn CHƯƠNG 2: CHƯƠNG TRÌNH CÀI ĐẶT THUẬT TOÁN LOMET 18 2.1 Các modules thực hiện 18 2.1.1 Tạo các Server 18 2.1.2 Đăng ký Server .22 2.1.3 Khởi động các Server ... phải giải quyết các vấn đề sau: HVTH: Ninh Văn Anh – Phan Thị Bông Trang 15 Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn 1 Trước khi có thông điệp gửi tới từ trạm j, tại trạm i lúc này duy trì đồ thị cục bộ với nhiệm hình thành trật tự cho các giao dịch Các giao dịch trên trạm i tại thời điểm trước khi có thông điệp H(ANj) được sắp xếp trong hàng đợi, tiêu chí sắp xếp là dấu của các thông điệp Trạm... giải phóng Trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ được quản lý bởi một chương trình cung cấp duy nhất, chương trình này tiếp nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếp chúng trong một hàng đợi xử lý theo kiểu loại trừ và xử lý chúng theo một trật tự nhất định của hàng đợi đó Còn trong hệ phân tán, chương trình cung cấp được nằm trên một trạm và các tiến trình đề... định Điều đó lại ngăn cản các phép toán không kéo theo bế tắc trong một số trường hợp nhất định  Nhưng bản thân hai thuật toán này, khi triển khai, lại cho phép sử dụng các kỹ thuật khác nhau Trong thuật toán phát hiện bế tắc, ta có trong một trạm trạng thái của các trạm khác Thông thường, mỗi trạm đều nhận các thông tin dư thừa  Một giao dịch trở nên rất cần thiết là giao dịch có thời gian chờ đợi.. .Tiểu luận Lập trình mạng GVHD: PGS.TS Lê Văn Sơn Trong cách thứ hai, việc truy cập được tiến hành trực tiếp với các server và thể hiện bằng hình 4 sau đây: KiÓm tra truy cËp Tr1 S1 T Tr2 S2 Trn Sn Hình 4: Truy cập trực tiếp vào các server Trong hình 3, ta thấy một tiến trình đánh thức D duy nhất sau hàng đợi làm nhiệm vụ phân phối các yêu cầu cho các server cục bộ Các tiến trình khách... không biết server Ngược lại trong hình 4, các máy server đều được các tiến trình khách biết trước Việc triển khai đặc biệt đối với các server có liên quan đến việc phối hợp chúng với các điểm của một mô-đun quản lý các tài nguyên như chương trình monitor chẳng hạn 1.6 Thuật toán dự phòng bế tắc Hai thuật toán mà ta sẽ giới thiệu sau đây là một trong những phiên bản của thuật toán Lomet Đây là phiên bản... nhận Thuật toán này đặt ra một nguyên tắc tương tự như các nhóm sắp xếp Duy chỉ khác nhau có một điều là nó tránh được sự thiếu thốn vô hạn, bởi vì trật tự tổng quát được triển khai cho các giao dịch chứ không phải cho các tài nguyên Một giao dịch trở nên rất cần thiết là giao dịch có thời gian chờ đợi dài nhất sau một khoảng thời gian xác định, nó đã trở thành giao dịch được ưu tiên nhất trên tất cả các

Ngày đăng: 12/11/2014, 08:52

Từ khóa liên quan

Mục lục

  • ĐẠI HỌC ĐÀ NẴNG Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO

  • Đề tài:

  • THUẬT TOÁN LOMET SẮP XẾP CÁC GIAO DỊCH TRONG HỆ PHÂN TÁN

  • GVHD : PGS.TS Lê Văn Sơn

  • HVTH : Ninh Văn Anh

  • Phan Thị Bông

  • Lớp : Cao học KHMT khóa 11

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1: THUẬT TOÁN LOMET

    • 1.1.Các vấn đề cơ bản của hệ tin học phân tán.

      • 1.1.1.Định nghĩa.

      • 1.1.2. Cung cấp phân tán.

      • 1.1.3. Các yêu cầu cơ bản cần nghiên cứu giải quyết của hệ phân tán.

      • 1.2. Thuật toán dự phòng bế tắc- Thuật toán Lomet

        • 1.2.1. Các định nghĩa:

        • 1.2.2. Nguyên lý

        • 1.2.3. Bế tắc và vấn đề thiếu tài nguyên vĩnh viễn

        • 1.2.4. Thuật toán

        • 1.3. Giao dịch, thông điệp yêu cầu và bộ cung cấp:

        • 1.4. Truy cập bởi server duy nhất

        • 1.5. Truy cập tương tranh có điều khiển

        • 1.6. Thuật toán dự phòng bế tắc

          • Ví dụ 2

          • 1.7. Sắp xếp các giao dịch theo Phương pháp Lomet

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

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

Tài liệu liên quan