Pr-1st-1.1-m08-Slajd18

Z Studia Informatyczne
Wersja z dnia 15:59, 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

Wyznaczanie obrazu spójnego: Kanały non-FIFO

Wyznaczanie obrazu spójnego: Kanały non-FIFO


W algorytmie Chandy-Lamporta przesyłane znaczniki pełniły podwójną rolę. Po pierwsze, dzięki zachowaniu uporządkowania FIFO pakietów, znaczniki określały pośrednio zbiór outLogi,j(τi) wiadomości wysyłanych przez nadawcę Pi do Pj w chwili τi zapamiętywania stanu lokalnego procesu Pi. Zbiór outLogi,j(τi) jest bowiem jednocześnie zbiorem inLogi,j(τj) wiadomości odebranych przez Pj do chwili otrzymania znacznika (wiadomości wysłane przed znacznikiem dotrą przez nim do procesu docelowego), czyli outLogi,j(τi)=inLogi,j(τj). Jeżeli więc stan procesu Pj zostanie zapamiętany w chwili τiτj, to stan kanału Ci,j w chwili τj jest równy outLogi,j(τi)inLogi,j(τj). Dodatkowo znaczniki przesyłane kanałami FIFO gwarantują oczywiście że outLogi,j(τj)inLogi,j(τi) a tym samym zapewniają spójność obrazu stanu globalnego.

Lai i Yang przedstawili algorytm, który nie wykorzystuje znaczników i nie wymaga by kanały były typu FIFO. W algorytmie zakłada się, że reprezentacje stanów lokalnych obejmują historię komunikacji , a więc odpowiednie zbiory wiadomości dotychczas wysłanych i odebranych. W efekcie, monitor Qβ konstruujący obraz spójny może łatwo wyznaczyć stany poszczególnych kanałów po otrzymaniu stanów lokalnych ihistorii komunikacji od wszystkich monitorów, jako różnicę outLogi,j(τi)inLogi,j(τj); gdzie τiτj.

Nie ma więc też potrzeby specjalnego odnotowywania wiadomości odebranych z danego kanału po zapamiętaniu stanu lokalnego (τi) a przed otrzymaniem znacznika (τj).


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