Pr-1st-1.1-m10-Slajd57

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

Algorytm detekcji zakończenia dynamicznego (2)

Algorytm detekcji zakończenia dynamicznego (2)


Swoje znaczenie identyczne do poprzednio omawianego algorytmu zachowują 𝒜𝒱i, terminationDetectedi, msgIn, pcktOut, queryOut oraz replyOut i replyIn.

Zmienna vSentNoi jest tablicą [1..n] liczników, w której element vSentNoi[j] oznacza liczbę wiadomości wysłanych przez Pi do Pj;

Analogicznie, zmienna vRecvNoi jest tablicą [1..n] liczników, w której element vRecvNoi[j] oznacza liczbę wiadomości odebranych przez Pi od procesu Pj.

Ponadto, inicjator Qα przechowuje zmienną tSentNoα będącą tablicą [1..n,1..n]. Wiersz i tej tablicy zawiera wektor vSentNoi przesłany ostatnio do inicjatora Qα przez monitor Qi, w wiadomości kontrolnej typu REPLY. W efekcie, każdy element tablicy tSentNoα reprezentuje wiedzę inicjatora, o liczbie wiadomości aplikacyjnych wysłanych z Pi do Pj. Zauważmy, że wiedza ta nie jest precyzyjna, gdyż nadesłane wektory vSentNoi, i{1,2,...,n}, odnoszą się w ogólności do różnych momentów czasu. 𝒜𝒯i jest aproksymacją zbioru identyfikatorów procesów, które wysłały wiadomości niedostępne jeszcze dla Pi. Zmienna logiczna contPassivei posiada wartość True, gdy proces Pi pozostawał pasywny od momentu wysłania ostatniej wiadomości typu REPLY. Jeżeli wartość zmiennej logicznej dTermDetectedi będzie równy True, inicjator podejmie decyzję o wykryciu zakończenia dynamicznego.


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