Pr-1st-1.1-m06-Slajd05

Z Studia Informatyczne
Wersja z dnia 10:47, 5 wrz 2023 autorstwa Luki (dyskusja | edycje) (Zastępowanie tekstu – „ </math>” na „</math>”)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Algorytm detekcji zakleszczenia w środowisku asynchronicznym (3)

Algorytm detekcji zakleszczenia w środowisku asynchronicznym (3)

Załóżmy teraz, że każdy monitor Qi zna odpowiadające mu zbiory oraz oraz kolory wszystkich krawędzi incydentnych grafu WFGC. Zauważmy, że w tym wypadku, w przeciwieństwie do środowiska synchronicznego rozważanego poprzednio, nie jest prawdziwa relacja:

Pi𝒪𝒰𝒯jPj𝒩i.

Jak łatwo zauważyć, łuk Grey w skończonym czasie zmieni swój kolor na Black albo Translucent w wyniku odebrania wiadomości typu REQUEST przez adresata lub wysłania przez nadawcę wiadomości typu CANCEL. Kolor Grey występuje zatem tylko przejściowo. Uwzględniając ten fakt, można dokonać odwzorowania kolorowanego grafu WFGC w tradycyjny graf czarno-biały WFGBW przez uwzględnienie w tym ostatnim tylko łuków w kolorze Black. Wynikowy graf WFGBW jest wystarczający do detekcji zakleszczenia, choć wykrycie tego stanu staje się możliwe dopiero, gdy żądania zostaną uwzględnione w grafie, a więc gdy łuki Grey zmienią kolor na Black. To opóźnienie detekcji nie podważa jednak poprawności rozwiązania. Powyższa transformacja oznacza przyjęcie wstępnej hipotezy, że żądania odpowiadające łukom Grey i White są już potwierdzone. Oczywiście, jeżeli przy takim założeniu zostanie wykryte zakleszczenie, to zakleszczenie występuje tym bardziej w stanie opisanym przez graf kolorowany WFGC.

Przedstawioną powyżej koncepcję implementuje algorytm zaprezentowany na kolejnych slajdach. Przyjęto w nim, że warunkiem uaktywnienia procesu jest spełnienie relacji:

expectNoioutGreyWhiteNoi0,

gdzie outGreyWhiteNoi oznacza sumaryczną liczbę wyjściowych łuków o kolorze Grey lub White wierzchołka Pi, a expectNoi - liczność zbioru 𝒟i=𝒪𝒰𝒯i (liczbę łuków wyjściowych w grafie WFGC).

Problem wyznaczania kolorów można rozwiązać przez zastosowanie odpowiednich liczników wiadomości wysłanych i odebranych. Dalej algorytm ten może być uzupełniony i rozwinięty o fazę wyznaczania grafu kolorowanego WFGC, wykonywaną równolegle z samym algorytmem detekcji.


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