Kiến trúc cây

Một phần của tài liệu Truyền thông và cộng tác liên quá trình (Trang 39 - 41)

Trong thuật toán bầu thủ lĩnh theo vòng logic, ch−a tính đến vấn đề quản lí vòng logic. Nói riêng, xây dựng vòng nh− thế nào và làm cách nào duy trì hình trạng vòng khi đối phó với sự cố nút. Xây dựng và quản lí kiến trúc vòng logic là dễ dàng hơn nếu hạ tầng mạng có các kênh truyền thông chia xẻ, sẵn có các ph−ơng tiện phần cứng quảng bá. Vòng lỗi đ−ợc phát hiện và cấu hình lại một cách hiệu quả nhờ việc giám sát và quảng bá TĐ trên kênh. Trong các mạng phổ dụng hớn với với kiến trúc mạng bất quy tắc, quảng bá đ−ợc mô phỏng bằng đơn phát điểm-điểm phức. Một số ph−ơng pháp xây dựng vòng logic trong mạng bất quy tắc đ−ợc đề xuất. ích lợi của việc có kiến trúc lôgic là rõ ràng. Nó xác định và kết nối nhóm QT, thuận tiện trong việc bầu thủ lĩnh và đ−ợc dùng một cách hiệu quả để truyền thông giữa thủ lĩnh và các nút con.

Cây bao trùm đ−ợc dùng nh− cấu trúc kiến trúc biểu diễn việc việc liên kết giữa các nút thành viên trong nhóm QT. Mạng có N nút đ−ợc biểu diễn bằng một đồ thị với E cung nối các nút. Mỗi nút đ−ợc coi là một thực thể tự trị có trao đổi TĐ với các nút kề cận nó. Giá truyền thông từ một nút tới nút kề cận của nó đ−ợc biểu thị bằng trọng số của cung ra và đ−ợc nút đó biết. Cây bao trùm cấp N là một cây biểu diễn mạng N nút với

N-1 cạnh. Cây bao trùm tối thiểu (MST) là cây bao trùm với tổng trọng số các cung là nhỏ nhất. Cây bao trùm là một đồ thị phi chu trình. Nút bất kỳ của cây đều có thể đ−ợc coi là gốc, hay cũng thế là thủ lĩnh của cây. Mỗi nút có duy nhất một đ−ờng tới gốc để đ−a ra yêu cầu tới thủ lĩnh. Hệ quả là, cấu trúc cây cũng đ−ợc dùng trong việc bầu cử thủ lĩnh mới. Thuật toán phân tán xây dựng cây bao trùm tối thiểu trong một mạng là một trong những vấn đề nghiên cứu mạnh mẽ trong tính toán phân tán. Bài toán bầu thủ lĩnh và cũng nh− xây dựng cây bao trùm tối thiểu đễ dàng đ−ợc thu gọn về nhau. Một thuật toán phân tán hiệu quả giải bài toán này đ−ợc chuyển đổi thành thuật toán giả bài toán kia với chỉ những biến đổi nhỏ.

Gallager, Humbelt và Spira tiên phong trong việc đề xuất thuật toán tìm cây bao trùm tối thiểu phân tán. Thuật toán của họ dựa trên các b−ớc tìm kiếm và kết hợp. Thuật toán hợp nhất các đoạn, đi ra từ mỗi nút hiện là đoạn mức 0. Các đoạn đó đ−ợc hợp nhất lại từng mức theo thuật toán Bottom-up cho đến khi đ−ợc đoạn kết quả bao gồm các cung của cây bao trùm tối thiểu. Các đoạn là các cây con trọng số tối thiểu trong cây bao

trùm tối thiểu. Mỗi đoạn, một cách dị bộ và độc lập, tìm cung ra với trọng số nhỏ nhất của nó và dùng cung này để nối với một nút trong một đoạn khác đẻ hình thành một đoạn lớn hơn của MST. Cây thu đ−ợc nhờ hợp nhất hai cây con có trọng số nhỏ nhất khi sử dụng cạnh có trọng số nhỏ nhất cho kết quả là cây có trọng số nhỏ nhất.

Theo mục đích bầu thủ lĩnh, bất cứ cây bao trùm nào cũng đều đáp ứng đ−ợc mọi nhu cầu. Trọng số các cung không mang theo trong việc tìm thủ lĩnh tốt nhất, vì vậy cây có giá tối thiểu hay không là không liên quan. Tuy nhiên thuật toán là phân tán và vì vậy cây bao trùm cuối cùng buộc là duy nhất phù hợp khi kết thúc thuật toán. Nếu không, thuật toán có thể không kết thúc hoặc có thể bị bế tắc. Đây là lý do phải tìm một cây bao trùm tối thiểu và thuật toán hoạt động đ−ợc chỉ khi cây bao trùm tối thiểu là duy nhất. Điều này biểu thị rằng mọi cung trong đồ thị liên thông có trọng số duy nhất và cây MST tồn tại duy nhất. Với bài toán bầu thủ lĩnh, giả thiết rằng cung ra từ một nút đ−ợc gắn nhãn duy nhất và gắn kết các định danh nút. Nếu định danh nút là duy nhất trong toàn bộ hệ thống thì trọng số cung cũng duy nhất.

Thủ lĩnh đ−ợc chỉ định nh− nút cuối cùng đ−ợc hợp nhất khi sinh ra cây bao trùm tối thiểu. Có thể bầu thủ lĩnh sau khi cây bao trùm tối thiểu đã đ−ợc xây dựng. Nút khởi tạo quảng bá TĐ Campaign-For-Leader (CFL: tham gia bầu thủ lĩnh) chứa tem thời gian lôgic, tới tất cả các nút dọc theo cây bao trùm. Khi TĐ CFL tới một nút lá, nút lá đó trả lời bằng cách gửi lại TĐ bầu (Voting, V) tới nút cha của nó. TĐ V đơn thuần xác nhận ngắn cho CFL. Nhu cầu TĐ xác nhận là điểm khác nhau căn bản giữa kiến trúc vòng logic và kiến trúc cây. Nút cha tiếp tục gửi TĐ bầu tới cha của nó sau khi đã nhận đ−ợc TĐ bầu từ mọi nút con. Một nút con không bao giờ bầu trực tiếp tới CFL mà phải thông qua nút cha của nó. Một nút kết thúc trả lời của nó là hoàn thiện việc tham gia bầu thủ lĩnh. Sau đó các nút chờ công bố của thủ lĩnh mới và không tiếp nhận CFL tiếp theo khác. Nguyên nhân có thể một vài nút khởi tạo trong giai đoạn này, hai hoặc nhiều hơn TĐ CFL cùng tới một nút. Trong tr−ờng hợp này, nút nhận sẽ chọn nh− cha của nó nút gửi với CFL có tem thời gian bé nhất. Ràng buộc đ−ợc phá vỡ theo định danh của các nút khởi tạo. L−u ý, cha của nút có thể đ−ợc thay đổi một số lần tr−ớc khi nó ủy thác cuối cùng bằng việc gửi TĐ bầu cử V mang phiếu bầu của mọi cây con của nó. Thuật toán này cho phép nút khởi tạo bầu cử đầu tiên (có tem thời gian

nhỏ nhất) trở thành thủ lĩnh. Một nút thành công khi nhận đ−ợc tất cả phiếu bầu từ các

nút con của nó.

Trong mạng với lỗi hoặc thay đổi cấu hình th−ờng xuyên, giả thiết kiến trúc luôn tồn tại cho bầu thủ lĩnh là điều không khả thi. Tuy nhiên, cây bao trùm có thể đ−ợc thiết kế cho bất cứ mạng bất quy tắc nào bằng loang TĐ. Loang TĐ là cơ chế quảng bá trong đó mỗi nút lặp lại TĐ nhận đ−ợc tới mọi kề cận của nó, ngoại trừ nút đã gửi TĐ. Cuối cùng, mọi nút trong mạng nhận đ−ợc TĐ và và cây bao trùm sẽ đ−ợc hình thành. Dùng cơ chế này, các nút khởi tạo loang khắp hệ thống TĐ CFL. Theo sự loang TĐ, rừng bao trùm với mỗi cây có gốc ở một nút khởi tạo đ−ợc hình thành. Các TĐ tra lời V đ−ợc gửi quay lui từ nút lá tới gốc. Trong tiến trình này, mỗi nút tự thay đổi cha của nó tới nút gửi CFL có tem thời gian nhỏ nhất. Nút thắng lợi khi loang là TĐ CFL với tem thời gian nhỏ nhất và nó đ−ợc phép truyền bá. TĐ loang thắng lợi tiếp quản không gian của nút thua và ngay lúc đó đi tìm các nút con ch−a trả lời. Khi nút khởi tạo nhận đ−ợc một tem thời gian nhỏ hơn, nút khởi tạo này bị chinh phục và trở thành một nút bình th−ờng với một nút cha. Cuối cùng, chỉ cây bao trùm với tem thời gian nỏ nhất thắng thế. Do thuật toán dùng loang và coi nh− không cần một kiến trúc cây cố định tr−ớc khi khởi tạo việc bầu thủ lĩnh, thuật toán loang mạnh mẽ trong các mạng nhiều lỗi.

Câu hỏi và bài tập

4.1. Các ph−ơng pháp định danh thực thể truyền thông trong dịch vụ nguyên thuỷ gửi và nhận.

4.2. Các ph−ơng án đồng bộ trong truyền thông CTĐ.

4.3. Sự chuyển đổi từ khái niệm ống dẫn sang khái niệm ống dẫn có tên mang ý nghĩa gì ?

4.4. Hãy mô tả truyền thông socket client/server h−ớng kết nối.

4.5. Trình bày giao thức bắt tay Handshake trong truyền thông Socket an toàn.

4.6. Truyền thông nhóm theo thứ tự tổng hai pha và so sánh với thứ tự FIFO và thứ tự nhân quả.

4.7. Khái niệm nền trong truyền thông RPC. Thi hành RPC.

4.8. Ph−ơng pháp truyền tham số và biến đổi dữ liệu trong thực hiện lời gọi RPC. 4.9. Xác thực nhau của khách và phục vụ trong truyền thông RPC.

4.10. Nội dung RPC an toàn của SUN.

4.11. Các tính chất ACID và giao thức cam kết hai pha trong truyền thông giao dịch. 4.12. Phân biệt giải pháp tên và địa chỉ. Việc chia tách thành hai giải pháp nh− thế có

lợi điểm gì ?

4.13. Thi hành giải pháp tên.

4.14. Loại trừ ràng buộc theo cạnh tranh (sơ đồ tem - thuật toán Lamport và sơ đồ phiếu bầu)

4.15. Loại trừ ràng buộc theo thẻ bài (cấu trúc vòng, cấu trúc cây và cấu trúc quảng bá - thuật toán Suzuli/Kasami).

Một phần của tài liệu Truyền thông và cộng tác liên quá trình (Trang 39 - 41)