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

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

32 616 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 32
Dung lượng 2,35 MB

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

Nội dung

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.

Trang 1

ĐẠ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

Phan Thị Bông Lớp : Cao học KHMT khóa 11

Trang 2

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ếtmộ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ọcviê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

Trang 3

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ácnhau đượ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ốngnhấ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ềutrạ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ầnthiế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ủacá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 haykhuyế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 cungcấ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àinguyê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 giaodịch

Trang 4

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 Tj và Tk, kí hiệu Tj>Tk, nghĩa là tồn tại ít nhất một tài nguyên bị cài then bởi Tj và là thành phần thuộc thông điệp của Tk

*Một quan hệ gọi là chặn thế năng giữa 2 giao dịch Tj và Tk, kí hiệu Tj<>Tk, 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 Tk đều bị cài then bởi Tj 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 Tj và Tk là sự nhận thông điệp yêu cầu cung cấp tài nguyên của Tj và Tk đúng vào cùng một thời điểm Nếu ta ký hiệu DTG JTG k 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 D 0

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ó

Trang 5

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:

T1

T2 s

s e

Tại trạm S 2 có đồ thị G 2:

T3

T1 R2

e

Trang 6

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ú

Rr Ts

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ũnglặ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ếtquả đượ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 Si của đồ thị

Trang 7

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êucầ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:

T4 T3

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 T1,T2, T3, T4 và có ba tiến trình nhu cầu tàinguyên là Tr1, Tr2, và Tr3 Cả 3 tiến trình này đang ở tình trạng bế tắc Tiến trình Tr2 chờ tàinguyên T2 do Tr3 đang chiếm giữ Tiến trình Tr3 chờ tài nguyên T3 được giải phóng bởi

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

Trang 8

Tr1 trạm Tr3 Thêm vào đó, tiến trình Tr1 chờ tiến trình Tr2 giải phóng T1 Ta có hai chutrì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:

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ânnhó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íchcho 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 tranế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ẻ

Chu trình 1: Tr1 -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

Trang 9

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ácnhau 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 chocá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ạmkhá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ảiyê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ọicá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ị treochừ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êncũ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àinguyê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:

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

Trang 10

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ạitrừ 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ôitrường phân tán của Swinchart

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ầudướ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

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 chothấy việc truy cập được tiến hành bằng một chương trình trực duy nhất

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:

T: Tài nguyênTr: Tiến trình (Khách)

Trang 11

Tr1

S2 Tr2

Sn Trn

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úngvớ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ẳnghạn

Trang 12

Hình 2.8 Phát sinh bế tắc

Trong thực tế, mặc dầu không có đồ thị nào trong số này cho phép phát hiện sựhình thành 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

b) Nguyên lý và thuyết minh phương pháp

Ta sẽ thay thế vào điều kiện cung cấp trong đồ thị G không vòng lặp một điều kiệnkhác mạnh hơn, nhưng được kiểm tra bằng các 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 Si của

đồ thị của một quan hệ trật tự toàn bộ chặt chẽ được xác định trên các tập hợp giao dịch.Quan hệ trật tự này có thể đượ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

T1 T3

e1

T2 T1 e2

T3 T2

Trang 13

lặp như thế nào Để làm việc đó, ta bắt đầu chỉ ra sự tồn tại của vòng trong G kéo theo sự

tồn tại của vòng trong ít nhất một G ’

i

Ta ký hiệu T j >>T k là quan hệ trật tự toàn phần chặt chẽ trên các giao dịch Lúc này, G ’ là hình ảnh thu nhỏ của trạm S i của đồ thị của quan hệ >> xác định bởi:

Tj >>Tk  Tj >Tk hay Tj >>Tk 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 plà 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 modulo n Ta có :

T p >>T q 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 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 của T p thì G ’

i chứa vòng lặp

c) Thuật toán:

Như vậy, thuật toán dự phòng được triển khai như sau:

STT Triển khai

1 Việc cung cấp tài nguyên tại trạm S cho giao dịch Ti đượctiến hành,

nếu việc cung cấp đó không tạo ra vòng lặp trong đồ thị G ’

2 Trong trường hợp bị từ chối, tiến hành được giao dịch trên trạm S được

đưa vào hàng đợi cục bộ tại S

3 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ãnQui trình vận hành thuật toán được minh hoạ bởi ví dụ kề liền sau đây:

Ví dụ 3: Ta hãy lấy lại ví dụ 1 Khi T 1 thực hiện t 12 : v-loai-tru-th(e1), yêu cầu này vào xung đột với thông cáo a-loai-tru-th(e1) thực hiện bởi T 3 Như thế, cung T 1 -T 3 được

thành lập trong G Lúc này, yêu cầu vẫn được chấp nhận vì T 1 >>T 3.

Sau khi diễn ra việc cung cấp này, các đồ thị G ’ trên ba trạm sẽ như sau:

Trang 14

Hình 2.9 Trạng thái cung cấp tài nguyên trên 3 trạm

Yêu cầu t22 :v-loai-tru-th(e2) kéo theo trên trạm S 2 sự tạo nên cung T 2 -T 1 bị loại bỏ;

bởi vì nó sinh ra vòng lặp trên S 2 Tương tự như vậy, yêu cầu t 32 : v-loai-tru-th(e3) bị từ chối bởi vì nó tạo ra vòng lặp trên S 3 Nhưng ta cần lưu ý là nếu trật tự theo dạng T 1 ,T 2 , T 3

thì yêu cầu vừa nêu 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ỉ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 trạm mà nó đã gởi thông điệp

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

Xác định cho trạm i thuật toán cập nhật đồ thị cục bộ khi nhận thông điệp mới cóđóng dấu H(ANj) đến từ trạm j

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ị khi phát

đi 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ồ Logic 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ữacác trạm

Trên mỗi trạm trong hệ đều có một công tơ cục bộ với các giá trị nguyên gọi là Hs.Đây chính là đồng hồ logic tăng lên giữa hai sự kiện kế tiếp Trạm e phát thông điệp ghidấu E của mình dựa trên giá trị hiện hành của Hi Khi nhận thông điệp, trạm r cập nhậtđồng hồ riêng của mình và đảm bảo rằng việc nhận thông điệp là sau thời gian nó phát đi

Nếu trạm i nhận thông điệp có đóng dấu đến từ trạm j yêu cầu sử dụng tài nguyên,trước hết thông điệp này phải được đưa vào hàng đợi thông điệp và sắp xếp theo dấu Nếuhai thông điệp cùng đến từ một trạm j do các giao dịch khác nhau yêu cầu thì chúng đượcsắp xếp dựa theo đồng hồ cục bộ của j thông qua thông tin trên dấu kèm trong thông điệpgửi đến Nếu thông điệp đến từ hai trạm khác nhau thì nó được sắp xếp dựa trên đồng hồcục bộ của các trạm và đồng hồ cục bộ của trạm nhận và việc lấy thông tin đồng hồ cục

bộ này thông qua sự hội thoại Việc sắp xếp phải cần đến hai thông tin là để đảm bảo trật

tự yêu cầu của thông điệp phải đảm bảo trật tự gửi ở các trạm chứ không phải ở trật tự

Trang 15

Sau khi các thông điệp đến được sắp xếp theo dấu, trạm i sẽ cung cấp tài nguyên.Việc cung cấp tài nguyên tại trạm i cho giao dịch đến từ j hoặc các trạm khác sẽ được tiếnhành nếu nó không tạo ra vòng lặp trong đồ thị cục bộ Gi Sau khi một tài nguyên đượcgiải phóng, tất cả các tiến trình trong hàng đợi sẽ được kiểm tra lại để được cấp phát tàinguyên nếu yêu cầu của nó được thoả mãn Trong quá trình cung cấp tài nguyên cho cáctiến trình trên các trạm khác hay chính trạm i thực thi, trạm i vẫn tiếp tục nhận thông điệpđến từ các trạm khác Việc cập nhật đồ thị được thực thi mỗi khi việc cung cấp tài nguyênđược thực hiện và được 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ộtchươ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ếnnghị 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ìnhcung cấp được 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ácyêu cầu khuyến nghị giải phóng được truyền cho chương trình cung cấp thông qua hìnhthức thông điệp chuyển theo các kênh của hệ thống viễn thông Hơn nữa, vì lý do ổn định

và hiệu quả mà ta phải phân tán chức năng cung cấp 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

Vấn đề cung cấp tài nguyên được đánh giá như là một trong những lĩnh vực trithứ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ánnó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ếnlượ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 cho trạm i thuật toán cập nhật đồ thị cục bộ khi nhận thông điệp mới có đóng dấu H(ANj) đến từ trạm j.

Ta cần phải đảm bảo rằng một thông điệp ANk nào đó như H(ANj)>H(ANk) đượcxếp trước ANj ngay cả khi nó chỉ đến trạm i sau ANj Ngoài ra, ta còn giả sử rằng mỗitrạm j có thể gửi cho chính trạm i nhiều thông điệp AN'j, AN''j, AN'''j, liên quan đến cácgiao dịch khác nhau

Để giải quyết vấn đề theo đề bài đã cho, ta cần phải giải quyết các vấn đề sau:

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

Trang 16

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ủacác thông điệp 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íc cục bộ của chính trạm đó Cácđồng hồ được lấy thông qua họi thoại giữa các trạm Trạm i của mạng có thể gửi cho cáctrạm khác thông điệp có dạng (T,Hi,i) trong đó Hi là dấu của thông điệp tức là đồng hồlôgic của nó và T có thể nhận một trong ba giá trị REQ, REL và ACQ

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

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

ACQ: được gửi bởi trạm j cho trạm i khi trạm j đã nhận được từ trạm i thông điệpREQ

Giả sử rằng, tại thời điểm thông cáo của trạm j gửi tới, đồng hồ thời gian lôgic củatrạm i sẽ thực hiện phép toán:

Nếu Hi thì

Hi:= Hj+1;

Kết thúc nếu

và thông điệp H(ANj) được xếp vào hàng đợi

2 Tại trạm i có tài nguyên ei, phương pháp Lomet nhằm sắp xếp trật tự các giaodịch để chống xung đột xảy ra chứ không áp dụng cho các tài nguyên Điều kiện cung cấptài nguyên là duy trì tình trạng không vòng lặp cho các đồ thị Gi 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ìnhtrạng không vòng lặp như thế nào Để làm việc đó, ta bắt đầu chỉ ra sự tồn tại của vòngtrong G kéo theo sự tồn tại của vòng trong ít nhất một G’i

Trên trạm i có tài nguyên ei, giao dịch Ti và ký hiệu trạm là Si

Trạm j có tài nguyên ej, giao dịch Tj và kỹ hiệu trạm là Sj Giữa giao dịch Ti và Tjhình thành quan hệ:

Xét xem có vòng lặp trong G không:

Ti1: phát thông cáo a_loaitru_th(ei, ej)

Ti Tj

ei

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

HÌNH ẢNH LIÊN QUAN

Đồ thị sau: - 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
th ị sau: (Trang 6)
Hình 1: Đồ thị cung cấp tài nguyên bị bế tắc - 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
Hình 1 Đồ thị cung cấp tài nguyên bị bế tắc (Trang 7)
Hình 3: Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất - 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
Hình 3 Đồ thị truy cập tài nguyên bằng một chương trình trực duy nhất (Trang 10)
Hình 2: Đồ thị truy cập vào tài nguyên bằng server duy nhất - 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
Hình 2 Đồ thị truy cập vào tài nguyên bằng server duy nhất (Trang 10)
Hình 4: Truy cập trực tiếp vào các server - 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
Hình 4 Truy cập trực tiếp vào các server (Trang 11)
Hình 2.5.   Đồ thị G1 trên trạm S1 sơ đồ tương tự tại trạm S2 - 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
Hình 2.5. Đồ thị G1 trên trạm S1 sơ đồ tương tự tại trạm S2 (Trang 12)
Hình 2.6.    Đồ thị G2 trên trạm S2 - 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
Hình 2.6. Đồ thị G2 trên trạm S2 (Trang 12)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

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

w