Pr-1st-1.1-m13-Slajd22

Z Studia Informatyczne
Wersja z dnia 16:12, 7 wrz 2006 autorstwa Szopen (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Działanie rozgłoszeniowego algorytmu konsensusu podstawowego: Przykład 1

Działanie rozgłoszeniowego algorytmu konsensusu podstawowego: Przykład 1


Przykład prezentowany na slajdzie przedstawia cztery procesy uzgadniające wspólną decyzję za pomocą rozgłoszeniowego algorytmu konsensusu podstawowego. Wszystkie procesy proponują pewną wartość, a odpowiadające im monitory rozsyłają ją za pomocą podstawowego rozgłaszania niezawodnego. Załóżmy, że proces P1 ulega jednak awarii w trakcie rozgłaszania, w wyniku czego jego propozycję otrzymuje jedynie monitor Q2. Ponieważ monitor Q2 zebrał wiadomości od wszystkich monitorów, więc może podjąć decyzję wybierając minimalną wartość, na przykład v1, i rozgłosić ją w systemie. Monitory otrzymując wiadomość o decyzji Q1 podporządkowują się jej, podejmując identyczną decyzję. Należy zauważyć tutaj, że monitory Q3 i Q4 nie mogą same podjąć decyzji, gdyż nie otrzymały wiadomości od wszystkich monitorów procesów, które były uznawane za poprawne na początku tej rundy. Co więcej, po wykryciu awarii procesu P1 monitory mogą rozpocząć nową rundę, rozgłaszając wszystkie znane sobie propozycje.

Fakt wykrycia awarii procesu P1 nie wpływa na decyzję monitora Q2, gdyż otrzymał on już wcześniej wiadomość od tego procesu dodając go do zbioru correctThisRound2. Proces P1 usunięty jest więc wprawdzie z zbioru correct2, ale ponieważ zbiór correct2 zawiera się w zbiorze correctThisRound2, zachodzi warunek z wiersza 14-tego algorytmu prowadzący do podjęcia decyzji.


<< Poprzedni slajd | Spis treści | Następny slajd >>