Bầu thủ lĩnh

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

Sử dụng bộ điều khiển tập trung làm cho đồng bộ QT trở nên đơn giản. Tuy nhiên, bộ điều khiển tập trung lại là tâm điểm của lỗi và làm hạn chế hiệu lực của dịch vụ. Vấn đề đ−ợc giảm nhẹ nếu bộ phối hợp (bộ điều khiển - thủ lĩnh) mới đ−ợc chọn chống lại lỗi của bộ phối hợp hiện thời. Bầu thủ lĩnh liên quan tới việc bầu một QT thủ lĩnh duy nhất, đ−ợc mọi QT khác trong nhóm biết. Việc bầu thủ lĩnh xuất hiện trong lúc khởi tạo hệ thống hoặc khi thủ lĩnh hiện thời bị hỏng. Quá trình bầu thủ lĩnh mới đ−ợc kích hoạt khi lỗi đ−ợc phát hiện hoặc có nghi ngờ. Khám phá lỗi thông th−ờng dựa vào quá hạn. Một QT không nhận đ−ợc trả lời từ thủ lĩnh trong ng−ỡng quá hạn đ−ợc xác định truớc đ−a đến việc nghi ngờ thủ lĩnh bị hỏng và khởi tạo quá trình bầu thủ lĩnh. Chú ý rằng báo động sai có thể xuất hiện, và thuật toán bầu thủ lĩnh phải biết đ−ợc tình huống này. Các báo động sai sẽ hiếm nếu ng−ỡng quá hạn đ−ợc chọn thích hợp.

Trong thuật toán đồng bộ theo thẻ bài, QT giữ thẻ bài có thể đ−ợc coi là thủ lĩnh của hệ thống. Trong tr−ờng hợp này, vai trò thủ lĩnh đ−ợc luân phiên giữa các QT và QT không cần biết định danh của thủ lĩnh hiện thời. Mất thẻ bài t−ơng đ−ơng lỗi của thủ lĩnh.

Tồn tại hai chiến l−ợc bầu thủ lĩnh: (1) bầu thủ lĩnh dựa trên độ −u tiên toàn thể (global

priority). Kiểu này đ−ợc gọi là tìm kiếm cực trị (extrrma finding), (2) các QT trong nhóm “bầu" thủ lĩnh dựa trên những độ −a thích riêng t− (vị trí, độ tin cậy vv..) Lớp sơ đồ phiếu bầu đ−ợc gọi là thuật toán bầu thủ lĩnh dựa theo −a thích (preference-base). Chiến l−ợc phiếu bầu (2) là phổ dụng hơn chiến l−ợc tìm kiếm cực trị (1). Ví dụ, một ứng cử viên mạnh hơn ng−ời khác hoặc nhận đ−ợc nhiều phiếu bầu hơn là kết quả của quyết định phức tạp hơn và hậu quả dự đoán đ−ợc ít hơn.

Theo nhiều khía cạnh, bầu thủ lĩnh và loại trừ ràng buộc phân tán là nh− nhau, cả hai đều cố gắng đạt tới sự đồng thuận định danh một QT duy nhất. Tuy nhiên, tồn tại một số khác biệt thú vị. Trong bầu thủ lĩnh, QT có thể chịu thua một QT khác để trở về trạng thái hoạt động bình th−ờng của mình cho đến khi thủ lĩnh đ−ợc lựa chọn, còn

trong loại trừ ràng buộc phân tán, QT cạnh tranh cho đến khi nó thành công. Thuật toán loại trừ ràng buộc phải đảm bảo rằng không có QT nào bị lãng quên trong khi thuật toán bầu thủ lĩnh lại cố gắng đẩy nhanh và kết thúc kết quả quá trình bầu cử. Nét đặc biệt nữa là kết quả của bầu thủ lĩnh phải đ−ợc thông báo cho tất cả các QT khác. Với loại trừ ràng buộc, nếu ch−a tham gia vào khoảng tới hạn thì QT không quan tâm bất cứ QT nào hiện đang ở khoảng tới hạn.

Giống nh− thuật toán loại trừ phân tán, thiết kế của thuật toán bầu thủ lĩnh cũng phụ thuộc vào giả thiết cấu trúc kiến trúc của nhóm QT. Ba loại kiến trúc thông dùng là đầy

đủ, vòng và cây đ−ợc trình bày trong phần tiếp theo. Trong thuật toán, hai QT khác nhau có độ −u tiên khác nhau.

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