Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Problem rozbieżności czasów jednym z wielu problemów pojawiających się w systemach rozproszonych jest rozbieżność wartości zegarów na poszczególnych węzłach-maszynach.

Podobne prezentacje


Prezentacja na temat: "Problem rozbieżności czasów jednym z wielu problemów pojawiających się w systemach rozproszonych jest rozbieżność wartości zegarów na poszczególnych węzłach-maszynach."— Zapis prezentacji:

1 Problem rozbieżności czasów jednym z wielu problemów pojawiających się w systemach rozproszonych jest rozbieżność wartości zegarów na poszczególnych węzłach-maszynach jednym z wielu problemów pojawiających się w systemach rozproszonych jest rozbieżność wartości zegarów na poszczególnych węzłach-maszynach każda maszyna może posiadać zegar chodzący z inną prędkością, każda maszyna może posiadać zegar chodzący z inną prędkością, zegary mogą się śpieszyć bądź spóźniać zegary mogą się śpieszyć bądź spóźniać

2 Wiele algorytmów i aplikacji w systemach liczących posługuje się pojęciem czasu i zegarem (np. make). W systemie scentralizowanym nie ma problemów z porządkowaniem zdarzeń w czasie. W systemie rozproszonym utrzymywanie pojęcia globalnego czasu jest zadaniem niebanalnym, gdyż każdy procesor posługuje się własnym lokalnym zegarem Wiele algorytmów i aplikacji w systemach liczących posługuje się pojęciem czasu i zegarem (np. make). W systemie scentralizowanym nie ma problemów z porządkowaniem zdarzeń w czasie. W systemie rozproszonym utrzymywanie pojęcia globalnego czasu jest zadaniem niebanalnym, gdyż każdy procesor posługuje się własnym lokalnym zegarem

3 Oczywiście w wielu zastosowaniach te rozbieżności czasów nie są istotne; niemniej jednak istnieje bardzo dużo propozycji zmierzających do synchronizacji zegarów Oczywiście w wielu zastosowaniach te rozbieżności czasów nie są istotne; niemniej jednak istnieje bardzo dużo propozycji zmierzających do synchronizacji zegarów algorytm Cristiana algorytm Cristiana algorytm synchronizacji zegarów Berkeley, algorytm synchronizacji zegarów Berkeley, protokoły NTP (ang. Network Time Protocol) protokoły NTP (ang. Network Time Protocol) DTS (ang. Distributed Time Service) DTS (ang. Distributed Time Service) W ogólności, czas wirtualny zależy tylko od zdarzeń zachodzących w systemie, a nie od wartości zegarów fizycznych W ogólności, czas wirtualny zależy tylko od zdarzeń zachodzących w systemie, a nie od wartości zegarów fizycznych

4 istotą zegarów logicznych jest żądanie zapewnienia, by każde zdarzenie w systemie posiadało własną, unikalną etykietę czasową istotą zegarów logicznych jest żądanie zapewnienia, by każde zdarzenie w systemie posiadało własną, unikalną etykietę czasową w szczególności by zdarzenie wysłania wiadomości miało zawsze etykietę czasową mniejszą niż zdarzenie odebrania wiadomości (by nie można było odbierać wiadomości z przyszłości) w szczególności by zdarzenie wysłania wiadomości miało zawsze etykietę czasową mniejszą niż zdarzenie odebrania wiadomości (by nie można było odbierać wiadomości z przyszłości) spełnienie tych wymagań jest warunkiem koniecznym poprawności niektórych algorytmów (na przykład wielu algorytmów wzajemnego wykluczania) spełnienie tych wymagań jest warunkiem koniecznym poprawności niektórych algorytmów (na przykład wielu algorytmów wzajemnego wykluczania)

5 W wielu zastosowaniach wystarczy wzajemna spójność różnych zegarach, ich zgodność z czasem rzeczywistych jest nieistotna. W tym kontekście mówimy o zegarach logicznych. Procesy nie muszą się zgodzić co do dokładnej wartości zegara, wystarczy im możliwość porządkowania zdarzeń w czasie. Pojęcie zegarów logicznych pochodzi od Lamporta. W wielu zastosowaniach wystarczy wzajemna spójność różnych zegarach, ich zgodność z czasem rzeczywistych jest nieistotna. W tym kontekście mówimy o zegarach logicznych. Procesy nie muszą się zgodzić co do dokładnej wartości zegara, wystarczy im możliwość porządkowania zdarzeń w czasie. Pojęcie zegarów logicznych pochodzi od Lamporta.

6 Implementacja: W każdym procesie Pi definiujemy zegar logiczny Ti W każdym procesie Pi definiujemy zegar logiczny Ti Zegar można zaimplementować w postaci prostego licznika, zwiększanego między wystąpieniami każdych dwóch kolejnych zdarzeń w procesie Zegar można zaimplementować w postaci prostego licznika, zwiększanego między wystąpieniami każdych dwóch kolejnych zdarzeń w procesie Jeśli a i b zaszły w procesie Pi i a->b, to Ci(a)- >Ci(b). Jeśli a i b zaszły w procesie Pi i a->b, to Ci(a)- >Ci(b). Jeśli a jest zdarzeniem wysłania komunikatu m przez proces Pi, to m niesie stempel Tm = Ci(a). Jeśli a jest zdarzeniem wysłania komunikatu m przez proces Pi, to m niesie stempel Tm = Ci(a). Pj po odebraniu m w chwili Cj uaktualnia swój czas: Cj' = max(Cj,Tm) + 1 Pj po odebraniu m w chwili Cj uaktualnia swój czas: Cj' = max(Cj,Tm) + 1

7 Wzajemne wykluczanie Założenia modelowe: System rozproszony składa się z N węzłów (1..N). Jeden węzeł odpowiada jednemu procesowi. System rozproszony składa się z N węzłów (1..N). Jeden węzeł odpowiada jednemu procesowi. Komunikaty wysyłane od jednego procesu do innego dochodzą w tym samym porządku. Komunikaty wysyłane od jednego procesu do innego dochodzą w tym samym porządku. Każdy komunikat dochodzi w skończonym czasie. Każdy komunikat dochodzi w skończonym czasie. Sieć jest w pełni połączona, każdy proces może wysłać bezpośrednio komunikat do każdego innego. Sieć jest w pełni połączona, każdy proces może wysłać bezpośrednio komunikat do każdego innego.

8 Niech Si oznacza zbiór procesów udzielających pozwolenia procesowi i. Niech Si oznacza zbiór procesów udzielających pozwolenia procesowi i. Wymagane własności algorytmów wzajemnego wykluczania: Wymagane własności algorytmów wzajemnego wykluczania: dla każdej pary indeksów i, j zbiory Si oraz Sj mają elementy wspólne. dla każdej pary indeksów i, j zbiory Si oraz Sj mają elementy wspólne.

9 Pożądane własności algorytmów wzajemnego wykluczania: Pożądane własności algorytmów wzajemnego wykluczania: Zbiory Si,..., SN są równoliczne. Zbiory Si,..., SN są równoliczne. Każdy proces j należy do takiej samej liczby zbiorów Si. Każdy proces j należy do takiej samej liczby zbiorów Si. Każdy proces i należy do Si. Każdy proces i należy do Si.

10 Algorytm scentralizowany W systemie istnieje jeden koordynator, tylko on może wyrazić zgodę na wejście procesu do sekcji krytycznej W systemie istnieje jeden koordynator, tylko on może wyrazić zgodę na wejście procesu do sekcji krytycznej Proces wysyła do koordynatora komunikat z żądaniem Proces wysyła do koordynatora komunikat z żądaniem Kiedy otrzyma od niego komunikat z odpowiedzią, wtedy może wejść do sekcji Kiedy otrzyma od niego komunikat z odpowiedzią, wtedy może wejść do sekcji Po wyjściu wysyła do koordynatora komunikat zwalniający. Po wyjściu wysyła do koordynatora komunikat zwalniający.

11 Koordynator po otrzymaniu żądania sprawdza stan sekcji Koordynator po otrzymaniu żądania sprawdza stan sekcji Jeśli sekcja jest wolna, to wysyła zgodę, wpp. wstawia żądanie do kolejki Jeśli sekcja jest wolna, to wysyła zgodę, wpp. wstawia żądanie do kolejki Po otrzymaniu komunikatu zwalniającego usuwa z kolejki jeden z komunikatów i wysyła zgodę do czekającego procesu. Po otrzymaniu komunikatu zwalniającego usuwa z kolejki jeden z komunikatów i wysyła zgodę do czekającego procesu. Jeśli koordynator ulegnie awarii, to jego miejsce musi zająć inny proces. Jeśli koordynator ulegnie awarii, to jego miejsce musi zająć inny proces.

12 Proces 1 prosi koordynatora o pozwolenie na wejście do sekcji krytycznej. Uzyskuje pozwolenie.

13 Proces 2 prosi o pozwolenie na wejście do tej samej sekcji krytycznej. Koordynator nie odpowiada

14 Kiedy proces 1 opuszcza sekcję krytyczną, zawiadamia o tym koordynatora, a ten wówczas wysyła procesowi 2 pozwolenie na wejście do sekcji.

15 Porównanie algorytmów wzajemnego wykluczania W przypadku krążącego żetonu, jeśli każdy proces stale chce wejść do sekcji krytycznej, to każde przesunięcie żetonu skutkuje jednym wejściem do sekcji i jednym wyjściem W przypadku krążącego żetonu, jeśli każdy proces stale chce wejść do sekcji krytycznej, to każde przesunięcie żetonu skutkuje jednym wejściem do sekcji i jednym wyjściem W przypadku odwrotnym - żaden proces nie chce wejść - żeton może krążyć w pierścieniu bardzo długo nim ktokolwiek wejdzie (liczba komunikatów przypadających na jedno wejście jest nieograniczona) W przypadku odwrotnym - żaden proces nie chce wejść - żeton może krążyć w pierścieniu bardzo długo nim ktokolwiek wejdzie (liczba komunikatów przypadających na jedno wejście jest nieograniczona)

16


Pobierz ppt "Problem rozbieżności czasów jednym z wielu problemów pojawiających się w systemach rozproszonych jest rozbieżność wartości zegarów na poszczególnych węzłach-maszynach."

Podobne prezentacje


Reklamy Google