300 likes | 477 Views
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 wcześniejszy czas. Zegary fizyczne (1). Obliczanie średniego dnia słonecznego. Zegary fizyczne (2).
E N D
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 wcześniejszy czas
Zegary fizyczne (1) • Obliczanie średniego dnia słonecznego.
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.
Algorytmy synchronizacji zegarów , Cp(t) = t ρ – maks. tempo odchylenia 2ρΔt – różnica po czasie Δt • Zależność między czasem zegarowym a czasem UTC.
Algorytm Cristiana Jeżeli różnica nie większa niż δ, to synchronizacja co δ/2ρ • Pobieranie aktualnego czasu od serwera.
Algorytm z Berkley • Demon czasu podaje innym maszynom swój czas • Maszyny odpowiadają • Demon oblicza średnią i powiadamia każdą maszynę jak wyregulować swój zegar
Znaczniki czasu Lamporta • Trzy procesy, każdy z własnym zegarem. • Algorytm Lamporta koryguje zegary
Rozsyłanie całkowicie uporządkowane • Uaktualnienie bazy danych z pozostawieniem jej w stanie niespójnym.
Stan globalny (1) • Obcięcie spójne • Obcięcie niespójne
Stan globalny (2) • organizacja procesu i kanałów do migawki rozproszonej
Stan globalny (3) • Proces Q odbiera znacznik po raz pierwszy i zapisuje swój stan lokalny • Q zapisuje wszystkie przychodzące komunikaty • Q odbiera znacznik dot. swojego kanału wejściowego i kończy zapisywanie stanu kanału wejściowego
Algorytm tyrana (1) • proces 4 rozpoczyna elekcję • procesy 5 i 6 odpowiadają „OK” • procesy 5 i 6 kontynuują elekcję
Algorytm tyrana (3) • Proces 6 odpowiada „OK.” • Proces 6 wygrywa i powiadamia pozostałych
Algorytm pierścieniowy • Algorytm elekcji z użyciem pierścienia.
Wzajemne wykluczanie: algorytm scentralizowany • Proces 1 prosi koordynatora o dostęp do sekcji krytycznej. Dostaje zezwolenie. • Proces 2prosi koordynatora o dostęp do tej samej sekcji krytycznej. Koordynator nie odpowiada (2 zostaje zablokowany). • Gdy proces 1 opuszcza sekcję krytyczną, koordynator odpowiada procesowi 2
Algorytm rozproszony • Dwa procesy (0,2) chcą wejść w tym samym momencie do sekcji krytycznej. • Proces 0 ma mniejszy znacznik czasu, więc wygrywa. • Gdy proces 0 wychodzi z sekcji krytycznej, wysyła OK do procesu 2, który wchodzi do sekcji krytycznej.
Algorytm pierścienia z żetonem • Nieuporządkowana grupa procesów w sieci. • Pierścień logiczny zbudowany za pomocą oprogramowania.
Porównanie • Porównanie algorytmów wzajemnego wykluczenia.
Model transakcji (1) • Aktualizowanie taśmy głównej toleruje awarie.
Model transakcji (2) • Elementarne operacje transakcyjne.
Model transakcji (3) • Transakcja potwierdzonych rezerwacji 3 lotów • Transakcja zaniechana na skutek braku miejsc
Transakcje rozproszone • Transakcja zagnieżdżona • Transakcja rozproszona
Prywatna przestrzeń robocza • Indeks i bloki dyskowe trzyblokowego pliku • Sytuacja po zmodyfikowaniu przez transakcje bloku 0 i dodaniu bloku 3 • stan po zatwierdzeniu
Rejestrowanie z wyprzedzeniem • a)Transakcja • b) – d)Rejestr przed wykonaniem każdej instrukcji
Sterowanie współbieżnością (1) • Organizacja zarządców obsługi transakcji.
Sterowanie współbieżnością (2) • Organizacja zarządców transakcji rozproszonych.
Szeregowalność (d) • a) – c)Trzy transakcji T1, T2, and T3 • d)Możliwe plany