Sr-11-wyk-1.0-Slajd12

From Studia Informatyczne

Uzgodnienia w systemach wadliwych

Uzgodnienia w systemach wadliwych


Klient, podejmując decyzje na podstawie odpowiedzi z serwerów, może tolerować k awarii jeżeli ma dostęp do 2k+1 serwerów. Problem staje się jednak bardziej złożony gdy grupa procesów ma osiągnąć porozumienie. Porozumienie polega na podjęciu wspólnej decyzji i decyzja ta ma być podjęta w skończonej liczbie kroków. Z problemem uzgadniania mamy bardzo często do czynienia. Np. wybór koordynatora potrzebnego do pracy wielu algorytmów rozproszonych jest pewnego rodzaju porozumieniem. Zatwierdzenie bądź odrzucenie operacji atomowej wykonywanej w systemie rozproszonym (np. transakcji) również wymaga uzgodnienia. Innym przykładem może być ogólnie pojęta synchronizacja procesów, np. wzajemne wykluczanie – tu również mamy do czynienia z uzgadnianiem.

Problemy uzgadniania stają się bardzo trudne w systemach, w których mogą występować awarie. Klasycznym przykładem obrazującym możliwe trudności jest problem dwu armii . W problemie tym rozpatrywany jest atak dwóch armii niebieskich o sile 3000 pododdziałów każda, na armię czerwoną o sile 5000 pododdziałów. Armie niebieskie stacjonują w odległych miejscach i muszą wspólnie podjąć decyzję o ataku. Jedynie ich wspólny atak może zakończyć się zwycięstwem. Decyzja jest więc w tym przypadku binarna: atakować lub nie. Niestety komunikacja armii niebieskich wymaga wysyłania posłańców, którzy mogą być przechwyceni przez wroga – obrazuje to zawodny kanał komunikacyjny.


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