Pr-1st-1.1-m10-Slajd57: Różnice pomiędzy wersjami
Nie podano opisu zmian |
m Zastępowanie tekstu – „,...,” na „,\ldots,” |
||
Linia 11: | Linia 11: | ||
Analogicznie, zmienna <math>vRecvNo_i</math> jest tablicą <math>[1..n]</math> liczników, w której element <math>vRecvNo_i</math>[<math>j</math>] oznacza liczbę wiadomości odebranych przez <math>P_i</math> od procesu <math>P_j</math>. | Analogicznie, zmienna <math>vRecvNo_i</math> jest tablicą <math>[1..n]</math> liczników, w której element <math>vRecvNo_i</math>[<math>j</math>] oznacza liczbę wiadomości odebranych przez <math>P_i</math> od procesu <math>P_j</math>. | ||
Ponadto, inicjator <math>Q_{\alpha}</math> przechowuje zmienną <math>tSentNo_{\alpha}</math> będącą tablicą <math>[1..n, 1..n]</math>. Wiersz ''i'' tej tablicy zawiera wektor <math>vSentNo_i</math> przesłany ostatnio do inicjatora <math>Q_{\alpha}</math> przez monitor <math>Q_i</math>, w wiadomości kontrolnej typu REPLY. W efekcie, każdy element tablicy <math>tSentNo_{\alpha}</math> reprezentuje wiedzę inicjatora, o liczbie wiadomości aplikacyjnych wysłanych z <math>P_i</math> do <math>P_j</math>. Zauważmy, że wiedza ta nie jest precyzyjna, gdyż nadesłane wektory <math>vSentNo_i</math>, <math>i \in \{1,2, | Ponadto, inicjator <math>Q_{\alpha}</math> przechowuje zmienną <math>tSentNo_{\alpha}</math> będącą tablicą <math>[1..n, 1..n]</math>. Wiersz ''i'' tej tablicy zawiera wektor <math>vSentNo_i</math> przesłany ostatnio do inicjatora <math>Q_{\alpha}</math> przez monitor <math>Q_i</math>, w wiadomości kontrolnej typu REPLY. W efekcie, każdy element tablicy <math>tSentNo_{\alpha}</math> reprezentuje wiedzę inicjatora, o liczbie wiadomości aplikacyjnych wysłanych z <math>P_i</math> do <math>P_j</math>. Zauważmy, że wiedza ta nie jest precyzyjna, gdyż nadesłane wektory <math>vSentNo_i</math>, <math>i \in \{1,2,\ldots, n \}</math>, odnoszą się w ogólności do różnych momentów czasu. <math>\mathcal{AIT}_i</math> jest aproksymacją zbioru identyfikatorów procesów, które wysłały wiadomości niedostępne jeszcze dla <math>P_i</math>. Zmienna logiczna <math>contPassive_i</math> posiada wartość ''True'', gdy proces <math>P_i</math> pozostawał pasywny od momentu wysłania ostatniej wiadomości typu REPLY. Jeżeli wartość zmiennej logicznej <math>dTermDetected_i</math> będzie równy ''True'', inicjator podejmie decyzję o wykryciu zakończenia dynamicznego. | ||
[[Pr-1st-1.1-m10-Slajd56 | << Poprzedni slajd]] | [[Pr-1st-1.1-m10-toc|Spis treści ]] | [[Pr-1st-1.1-m10-Slajd58 | Następny slajd >>]] | [[Pr-1st-1.1-m10-Slajd56 | << Poprzedni slajd]] | [[Pr-1st-1.1-m10-toc|Spis treści ]] | [[Pr-1st-1.1-m10-Slajd58 | Następny slajd >>]] |
Aktualna wersja na dzień 21:57, 15 wrz 2023
Algorytm detekcji zakończenia dynamicznego (2)
Swoje znaczenie identyczne do poprzednio omawianego algorytmu zachowują , , , , oraz i .
Zmienna jest tablicą liczników, w której element [] oznacza liczbę wiadomości wysłanych przez do ;
Analogicznie, zmienna jest tablicą liczników, w której element [] oznacza liczbę wiadomości odebranych przez od procesu .
Ponadto, inicjator przechowuje zmienną będącą tablicą . Wiersz i tej tablicy zawiera wektor przesłany ostatnio do inicjatora przez monitor , w wiadomości kontrolnej typu REPLY. W efekcie, każdy element tablicy reprezentuje wiedzę inicjatora, o liczbie wiadomości aplikacyjnych wysłanych z do . Zauważmy, że wiedza ta nie jest precyzyjna, gdyż nadesłane wektory , , odnoszą się w ogólności do różnych momentów czasu. jest aproksymacją zbioru identyfikatorów procesów, które wysłały wiadomości niedostępne jeszcze dla . Zmienna logiczna posiada wartość True, gdy proces pozostawał pasywny od momentu wysłania ostatniej wiadomości typu REPLY. Jeżeli wartość zmiennej logicznej będzie równy True, inicjator podejmie decyzję o wykryciu zakończenia dynamicznego.