Sr-6-wyk-2.0-Slajd14
Relacja uprzedniości zdarzeń
Analizując zagadnienie synchronizacji należy wspomnieć o relacji uprzedniości zdarzeń (ang. happened before relation ) często omawianej w kontekście systemów rozproszonych.
Relacja ta określa, kiedy pewne zdarzenie a poprzedza inne zdarzenie b . Jeżeli między zdarzeniami zachodzi taka relacja, oznacza to że jest ona prawdziwa dla wszystkich procesów.
Niech zdarzenie a poprzedza zdarzenie b . Relacja uprzedniości zdarzeń zachodzi w następujących przypadkach. Zdarzenia a i b działają wewnątrz tego samego procesu oraz a występuje przed b . W drugim przypadku a jest zdarzeniem wysłania komunikatu przez pewien proces, a b jest zdarzeniem odebrania tego komunikatu przez inny proces. Trzeci przypadek opisuje domknięcie przechodnie relacji uprzedniości. Mówimy, że zdarzenie a poprzedza zdarzenie b gdy istnieje sekwencja zdarzeń rozpoczynająca się od zdarzenia a i kończąca zdarzeniem b , taka że dla każdej pary kolejnych zdarzeń zachodzi jedna z dwóch wcześniej opisanych sytuacji.
Jeżeli między dwoma zdarzeniami nie zachodzi relacja uprzedniości, mówimy o nich, że są współbieżne (ang. concurrent ).
Relacja uprzedniości zdarzeń jest relacją antysymetryczną oraz przechodnią, a tym samym jest relacją częściowego porządku.