Sr-11-wyk-1.0-Slajd17

Z Studia Informatyczne
Wersja z dnia 13:22, 28 sie 2006 autorstwa Bgrabiec (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Warunki osiągnięcia porozumienia

Warunki osiągnięcia porozumienia


Algorytm Lamporta gwarantuje poprawne określenie liczebności oddziałów lojalnych generałów, ale nie gwarantuje wykrycia generałów-zdrajców. Jeżeli bowiem generał-zdrajca będzie konsekwentnie udostępniał te same informacje wszystkim innym generałom, to nie zostanie wykryta żadna niezgodność i wartość, którą podał będzie uznana za poprawną.

Zmniejszenie liczby generałów do n=3 i pozostawienie jednego generała-zdrajcy spowoduje, że osiągnięcie porozumienia nie będzie możliwe. Udowodniono, że w systemie z m wadliwymi procesami porozumienie można osiągnąć wówczas, gdy istnieje 2m+1 procesów działających poprawnie, co daje ogólną liczbę 3m+1 generałów. Inaczej mówiąc, w systemie musi być co najmniej 2/3 procesów działających poprawnie.

Osiągnięcie porozumienia może wiązać się z wieloma innymi problemami. W asynchronicznym systemie rozproszonym, a więc w takim, w którym nie można zagwarantować dostarczenia komunikatów w znanym i skończonym czasie, osiągnięcie porozumienia jest niemożliwe, jeżeli choć jeden proces jest wadliwy (chodzi o awarie uciszające). Powodem jest niemożliwość rozróżnienia procesów, które uległy znacznemu spowolnieniu (ale nadal są poprawne) od procesów które uległy awarii typu załamanie.


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