Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Synchronizacja Rozdział 5. Synchronizacja zegarów Gdy każda maszyna ma własny zegar, to choć zdarzenie o następuje po zdarzeniu c, to może mu zostać przypisany.

Podobne prezentacje


Prezentacja na temat: "Synchronizacja Rozdział 5. Synchronizacja zegarów Gdy każda maszyna ma własny zegar, to choć zdarzenie o następuje po zdarzeniu c, to może mu zostać przypisany."— Zapis prezentacji:

1 Synchronizacja Rozdział 5

2 Synchronizacja zegarów Gdy każda maszyna ma własny zegar, to choć zdarzenie o następuje po zdarzeniu c, to może mu zostać przypisany wcześniejszy czas

3 Zegary fizyczne (1) Obliczanie średniego dnia słonecznego.

4 Zegary fizyczne (2) Sekundy TAI, w odróżnieniu od sekund słonecznych mają stałą długość. W celu zachowania zgodności z ruchem słońca, wprowadza się sekundy przestępne.

5 Algorytmy synchronizacji zegarów Zależność między czasem zegarowym a czasem UTC. ρ – maks. tempo odchylenia 2ρΔt – różnica po czasie Δt, C p (t) = t

6 Algorytm Cristiana Pobieranie aktualnego czasu od serwera. Jeżeli różnica nie większa niż δ, to synchronizacja co δ/2ρ

7 Algorytm z Berkley a)Demon czasu podaje innym maszynom swój czas b)Maszyny odpowiadają c)Demon oblicza średnią i powiadamia każdą maszynę jak wyregulować swój zegar

8 Znaczniki czasu Lamporta Trzy procesy, każdy z własnym zegarem. Algorytm Lamporta koryguje zegary

9 Rozsyłanie całkowicie uporządkowane Uaktualnienie bazy danych z pozostawieniem jej w stanie niespójnym.

10 Stan globalny (1) a)Obcięcie spójne b)Obcięcie niespójne

11 Stan globalny (2) a)organizacja procesu i kanałów do migawki rozproszonej

12 Stan globalny (3) b)Proces Q odbiera znacznik po raz pierwszy i zapisuje swój stan lokalny c)Q zapisuje wszystkie przychodzące komunikaty d)Q odbiera znacznik dot. swojego kanału wejściowego i kończy zapisywanie stanu kanału wejściowego

13 Algorytm tyrana (1) a)proces 4 rozpoczyna elekcję b)procesy 5 i 6 odpowiadają OK c)procesy 5 i 6 kontynuują elekcję

14 Algorytm tyrana (3) d)Proces 6 odpowiada OK. e)Proces 6 wygrywa i powiadamia pozostałych

15 Algorytm pierścieniowy Algorytm elekcji z użyciem pierścienia.

16 Wzajemne wykluczanie: algorytm scentralizowany a)Proces 1 prosi koordynatora o dostęp do sekcji krytycznej. Dostaje zezwolenie. b)Proces 2 prosi koordynatora o dostęp do tej samej sekcji krytycznej. Koordynator nie odpowiada (2 zostaje zablokowany). c)Gdy proces 1 opuszcza sekcję krytyczną, koordynator odpowiada procesowi 2

17 Algorytm rozproszony a)Dwa procesy (0,2) chcą wejść w tym samym momencie do sekcji krytycznej. b)Proces 0 ma mniejszy znacznik czasu, więc wygrywa. c)Gdy proces 0 wychodzi z sekcji krytycznej, wysyła OK do procesu 2, który wchodzi do sekcji krytycznej.

18 Algorytm pierścienia z żetonem a)Nieuporządkowana grupa procesów w sieci. b)Pierścień logiczny zbudowany za pomocą oprogramowania.

19 Porównanie Porównanie algorytmów wzajemnego wykluczenia. Algorytm Liczba komunikatów na wejście/wyjście Opóźnienie przed wejściem (liczba komunikatów) Problemy Scentralizowany32Awaria koordynatora Rozproszony2 ( n – 1 ) Awaria dowolnego procesu Pierścień z żetonem 1 do 0 to n – 1 Utrata żetonu, awaria procesu

20 Model transakcji (1) Aktualizowanie taśmy głównej toleruje awarie.

21 Model transakcji (2) Elementarne operacje transakcyjne. Operacja elementarnaDescription BEGIN_TRANSACTIONZaznaczenie początku transakcji END_TRANSACTION Zakończenie transakcji i próba jest zatwierdzenia ABORT_TRANSACTIONLikwidacja transakcji, Rollback READCzytanie danych z pliku, tabeli, itp.. WRITEZapisanie danych do pliku, tabeli, itp..

22 Model transakcji (3) a)Transakcja potwierdzonych rezerwacji 3 lotów b)Transakcja zaniechana na skutek braku miejsc BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi; END_TRANSACTION (a) BEGIN_TRANSACTION reserve WP -> JFK; reserve JFK -> Nairobi; reserve Nairobi -> Malindi full => ABORT_TRANSACTION (b)

23 Transakcje rozproszone a)Transakcja zagnieżdżona b)Transakcja rozproszona

24 Prywatna przestrzeń robocza a)Indeks i bloki dyskowe trzyblokowego pliku b)Sytuacja po zmodyfikowaniu przez transakcje bloku 0 i dodaniu bloku 3 c)stan po zatwierdzeniu

25 Rejestrowanie z wyprzedzeniem a) Transakcja b) – d) Rejestr przed wykonaniem każdej instrukcji x = 0; y = 0; BEGIN_TRANSACTION; x = x + 1; y = y + 2 x = y * y; END_TRANSACTION; (a) Log [x = 0 / 1] (b) Log [x = 0 / 1] [y = 0/2] (c) Log [x = 0 / 1] [y = 0/2] [x = 1/4] (d)

26 Sterowanie współbieżnością (1) Organizacja zarządców obsługi transakcji.

27 Sterowanie współbieżnością (2) Organizacja zarządców transakcji rozproszonych.

28 Szeregowalność a) – c) Trzy transakcji T 1, T 2, and T 3 d) Możliwe plany BEGIN_TRANSACTION x = 0; x = x + 1; END_TRANSACTION (a) BEGIN_TRANSACTION x = 0; x = x + 2; END_TRANSACTION (b) BEGIN_TRANSACTION x = 0; x = x + 3; END_TRANSACTION (c) Plan 1x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3Dozwolone Plan 2x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3;Dozwolone Plan 3x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3;Niedozwolone (d)

29 Blokowanie dwufazowe (1)

30 Ścisłe blokowanie dwufazowe (2)

31 Pessimistic Timestamp Ordering Concurrency control using timestamps.


Pobierz ppt "Synchronizacja Rozdział 5. Synchronizacja zegarów Gdy każda maszyna ma własny zegar, to choć zdarzenie o następuje po zdarzeniu c, to może mu zostać przypisany."

Podobne prezentacje


Reklamy Google