Loại trừ ràng buộc theo cạnh tranh

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 114 - 116)

Cạnh tranh vào khoảng tới hạn đ−ợc quyết định nhờ bất kỳ tiêu chuẩn nhằm tháo bỏ ràng buộc khi các yêu cầu đồng thời xuất hiện. Hợp lý nhất là cấp cho QT đ−a ra câu hỏi sớm nhất (theo thời gian logic) hoặc QT nhận đ−ợc nhiều phiếu bầu nhất từ các QT khác. Gọi hai ph−ơng án khác nhau này là các sơ đồ −u thế tem thời gian và phiếu bầu.

a) Sơ đồ −u thế tem thời gian

Trong sơ đồ −u thế tem thời gian, sử dụng khái niệm đồng hồ lôgic làm thứ tự tổng cộng của yêu cầu đi vào khoảng tới hạn. Thuật toán loại trừ ràng buộc phân tán Lamport hoạt động nh− sau:

(1) QT yêu cầu vào khoảng tới hạn quảng bá Request tới tất cả các QT khác (kể cả nó). Mỗi QT duy trì một dòng đợi các REQUEST ch−a giải quyết vào dòng đợi của mình đ−ợc sắp xếp theo tem thời gian.

(2) Khi nhận đ−ợc REQUEST, QT l−u TĐ vào hàng đợi yêu cầu của mình và gửi lại REPLY tới QT phát ra yêu cầu.

(3) Khi hàng đợi của QT yêu cầu (phát ra REQUEST) thu thập đ−ợc N-1 REPLY (lúc này REQUEST đang ở đỉnh hàng đợi) thì QT này đ−ợc phép vào khoảng tới hạn.

(4) Khi vào khoảng tới hạn, QT gửi thông báo RELEASE tới tất cả các QT và các QT này giải phóng REQUEST khỏi hàng đợi của nó.

Đánh giá thuật toán:

Tổng số thông điệp hoàn thành một lần vào khoảng tới hạn là 3*(N-1) với N là số l−ợng các QT đang thực hiện.

Cải tiến thuật toán Lamport

Khi quan sát TĐ REPLY bị xóa có thể kết khối QT đi vào khoảng tới hạn, Ricard và Agrawala đã rút gọn độ phức tạp TĐ của thuật toán Lamport. Một số cải tiến nh− sau:

(1) Nếu QT nhận REQUEST khi nó đang ở trong khoảng tới hạn của nó, hoặc nó đã gửi một REQUEST mà có tem thời gian nhỏ thua tem thời gian của REQUEST đang tới thì nó làm trễ việc phát REPLY.

(2) Chỉ khi QT thu nhận đ−ợc mọi (N-1) REPLY thì mới đ−ợc đi vào khoảng tới hạn. Chú ý rằng QT giành d−ợc mọi REPLY chỉ khi nó trở thành QT có −u tiên cao nhất.

Bản chất là tích hợp hai thông điệp REPLY và RELEASE, số l−ợng 2*(N-1) TĐ. Thi hành thuật toán −u thế tem thời gian là đơn giản. Đồng hồ lôgic trong mỗi QT đ−ợc tăng tr−ởng theo sự xuất hiện của TĐ thiết lập thứ tự giữa gửi và nhận của các QT và hệ quả là thứ tự tổng cộng của mọi yêu cầu. Thuật toán đạt đ−ợc loại từ ràng buộc và phát triển bỏ qua sự trì hoãn mập mờ của bất kỳ QU yêu cầu.

b) Sơ đồ phiếu bầu

Theo thuật toán Lamport (hoặc Ricard và Agrawalia), chỉ cần một QT không sẵn sàng là khóa cũng không sẵn sàng. Cần đ−a ra sơ đồ mà QT không phải cần giấy phép của tất cả các QT khác để vào khoảng tới hạn. Giống nh− cuộc đua chính trị, ng−ời thắng cuộc có thể đ−ợc xác định tr−ớc khi các phiếu bầu cuối cùng đ−ợc kiểm.

Có thể áp dụng sơ đồ này cho loại trừ ràng buộc phân tán. QT cần vào khoảng tới hạn đ−ợc coi là ứng viên. Lá phiếu là TĐ REPLY. QT nào nhận đ−ợc đa số phiếu thì thắng cuộc, có nghĩa là đ−ợc phép vào khoảng tới hạn.

(1) Khi nhận đ−ợc REQUEST, QT gửi REPLY trả lời chỉ khi nó ch−a gửi (bầu) cho một ứng viên khác. Mỗi khi QT đã bầu cử, không cho phép nó gửi thêm bất kỳ một REPLY mới cho đến khi phiếu bầu quay về (thông điệp RELEASE).

(2) ứng cử viên thắng cuộc để đi vào khoảng tới hạn là QT nhận đ−ợc đa số phiếu bầu. Do chỉ có một ứng viên nhận đ−ợc đa số phiếu bầu nên loại trừ ràng buộc đ−ợc đảm bảo.

Có thể xẩy ra vấn đề bế tắc trong sơ đồ phiếu bầu là có ba ứng viên mà mỗi từ chúng nhận đ−ợc một phần ba số phiếu bầu. Và m−ờng t−ợng sơ đồ trong đó ứng viên với hầu hết phiếu sẽ là ng−ời thắng cuộc. Tuy nhiên, sơ đồ này trở nên phức tạp hơn và tốn kém truyền thông để loại bỏ ràng buộc.

Nh− giải pháp chọn lựa, một QT có thể thay đổi phiếu bầu của nó khi nhận đ−ợc yêu cầu từ ứng viên hấp dẫn hơn. Mỗi QT duy trì tem thời gian Lamport và gắn tem đó vào thông điệp REQUEST.

Nếu QT đã bỏ phiếu mà nhận đ−ợc REQUEST với tem thời gian nhỏ hơn so với tem thời gian của ứng viên mà nó đã bầu thì QT đó lấy lại phiếu bầu đó bằng cách gửi TĐ INQUIRE tới ứng viên. Nếu ứng cử viên này ch−a vào khoảng tới hạn thì nó gửi trả lại lá phiếu của ng−ời bầu bằng TĐ REINQUISH (ng−ợc lại, khi QT đo đã ở trong khoảng tới hạn thì gửi TĐ RELEASE). Khi QT nhận lại phiếu bầu, nó bỏ phiếu cho ứng cử viên có tem thời gian nhỏ nhất. Kết quả là ứng cử viên nào đó sẽ vào khoảng tới hạn vì chỉ một trong số các ứng cử viên có tem thời gian ngắn nhất.

Đánh giá

Quy tắc −u thế trong bầu cử đòi hỏi 0 (N) TĐ cho một thực thể khoảng tới hạn (nhiều hơn nếu xảy ra bế tắc). Cải tiến thuật toán nhằm vào rút gọn tổng phí TĐ bằng cách giảm số phiếu cần thiết để vào khoảng tới hạn. Mỗi QT i có tập yêu cầu Si và mỗi QT cần nhận đ−ợc phiếu bầu từ mọi thành viên trong tập yêu cầu để vào khoảng tới hạn. Nhằm đảm bảo loại trừ ràng buộc, mọi tập yêu cầu phải rời nhau (Si∩Sj=null với mọi cặp tập yêu cầu khách nhau). Các tập yêu cầu hợp lý cho loại trừ ràng buộc th−ờng

đ−ợc coi là tập quy định (quorum), và tập các tập yêu cầu đ−ợc coi là phái (coterie). Còn có các điều kiện khác cho tập quy định và phái không quan hệ trực tiếp với tính chính xác song đáng đ−ợc thi hành. Nếu không có một tập quy định nào là tập con thực sự của một tập quy định khác thì phái là tối thiểu. Nếu các tập quy định cùng kích th−ớc thì phái đòi hỏi sự cố gắng nh− nhau và trách nhiệm nh− nhau.

Trong tình huống với tập điều kiện cần có đã cho, bài toán xác định phái đảm bảo các tính chất mỗi tập quy định có cùng kích th−ớc tối thiểu. Hợp lý mỗi tập quy định có cỡ O( N ).

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 114 - 116)