Pr-1st-1.1-m12-Slajd79
Algorytm zgodnego rozgłaszania niezawodnego z globalnym uporządkowaniem wiadomości: awaria procesu
Rozważmy teraz przykład, w którym jeden proces ulegnie awarii.
Załóżmy, że tak jak poprzednio monitor procesu wysyła pakiet z wiadomością . Powoduje to modyfikację elementu , oraz dołączenie pakietu z wiadomością do zbioru . Analogicznie, monitor wysyłając pakiet z wiadomością , przypisuje , dołączając równocześnie pakiet z wiadomością do zbioru .
Załóżmy tym razem jednak, że proces , i tym samym monitor uległ awarii po otrzymaniu pakietu z wiadomością .
Po pewnym czasie pakiet z wiadomością od procesu dociera do . Powoduje to oczywiście odpowiednią modyfikację tablic . Analogicznie, gdy pakiet z wiadomością dotrze ostatecznie do , monitor ten zmodyfikuje odpowiednio tablicę . Żaden proces nie jest w stanie odebrać wiadomości, gdyż oba czekają na zwiększenie drugiej pozycji tablicy (odpowiadającej procesowi ). Zwiększenie to może jednak nastąpić tylko w wyniku otrzymania pakietu od – co nigdy nie nastąpi z powodu awarii i .
Widzimy tutaj, że w przypadku możliwości awarii choć jednego procesu przedstawione rozwiązanie jest niepoprawne.
<< Poprzedni slajd | Spis treści | Następny slajd >>