Sr-9-wyk-1.0-Slajd19

Z Studia Informatyczne
Wersja z dnia 13:10, 28 sie 2006 autorstwa Bgrabiec (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Spójność przyczynowa — przykład

Spójność przyczynowa — przykład


Na slajdzie pokazano przykładowe przetwarzanie w systemie zachowującym przyczynowe uporządkowanie operacji. Każdy z procesów w swoim obrazie przetwarzania musi umieścić wszystkie lokalne operacje oraz wszystkie operacje zapisu, zachowując przy tym warunek legalności. Pierwsze zapisy do zmiennej x realizowane przez oba procesy p1 i p2 są realizowane współbieżnie, nie są od siebie zależne przyczynowo. W efekcie ich wyniki mogą być obserwowalne na węzłach w różnej kolejności. Tak też się stało w tym przypadku. Proces p1 odczytuje z x wartość 1, co oznacza, że zapis tej wartości musiał wystąpić po zapisie w(x)2 (inaczej naruszony byłby warunek legalności – odczytywana byłaby wartość nadpisana). W procesie p2 następuje odczyt z x wartości 2, co oznacza, że odpowiedni zapis musiał trafić po w(x)1 . W efekcie procesy p1 i p2 widzą oba zapisy do x w różnej kolejności. Jest to jak najbardziej dopuszczalne, ponieważ zapisy te były realizowane współbieżnie.

Warto zauważyć, że powyższa realizacja nie jest spójna sekwencyjnie. W modelu sekwencyjnym wszystkie zapisy powinny być postrzegane przez wszystkie procesy w tej samej kolejności.


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