Synchronizacja Rozdział 5.

Slides:



Advertisements
Podobne prezentacje
Przetwarzanie transakcyjne
Advertisements

Podstawowe pojęcia programowania współbieżnego
Mechanizmy pracy równoległej
Synchronizacja w systemach rozproszonych
Systemy rozproszone W. Bartkiewicz Wykład 11. Transakcje
Systemy rozproszone Synchronizacja
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
PROGRAMOWANIE STRUKTURALNE
Wycofywanie potwierdzonych transakcji
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Podstawowe składniki funkcjonalne procesora i ich rola.
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład 11 Prowadzący: dr Paweł Drozda
Wykład 10 Prowadzący: dr Paweł Drozda
SORTOWANIE (przykład zastosowania DMA)
Wykład 3 Wojciech Pieprzyca
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
Rozproszone bazy danych
Programowanie współbieżne i rozproszone
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.
Projektowanie dynamiki - diagramy interakcji
Zarządzanie transakcjami w SQL Server
Zarządzanie transakcjami Wykład S. Kozielski. Zarządzanie transakcjami Transakcja – jedna lub więcej operacji na bazie danych stanowiących pewną logiczną
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
Rozproszone bazy danych (cz.2)
Systemy Rozproszone Synchronizacja 2
Transakcje zarządzane kontenerem
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Algorytmy i struktury danych
Instrukcja USOS Rejestracja na zajęcia obieralne wersja by Marek Opacki.
Zasada działania komputera
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Topologie sieci lokalnych.
Problem sekcji krytycznej
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
S IMON SAYS … A RCHITECTURE ! Usługi zdalne Technologie, techniki i praktyki implementacji.
Wykład 7 Synchronizacja procesów i wątków
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Temat 7: Instrukcje warunkowe
Algorytmika.
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 1: Wprowadzenie do baz danych.
Algorytmika Iteracje autor: Tadeusz Lachawiec.
Algorytm blokowy Delta Nilu .
Diagram aktywności (czynności)
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Diagram czynności Diagram czynności (activity diagram) służy do modelowania dynamicznych aspektów systemu. Diagram czynności przedstawia sekwencyjne lub.
1. Logowanie z usługą Active Directory. a) logowanie do domeny Windows 2003 Server odbywa się znacznie szybciej niż w poprzednich wersjach. b) nie ma odwołania.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Systemy kontroli wersji Podstawy. Cz 1. Systemy kontroli wersji  Czym są i po co stosuje się systemy kontroli wersji  Architektury systemów kontroli.
PWM, obsługa wyświetlacza graficznego
Zarządzanie projektami
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Etapy procesu sterowania rozmytego
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Rozproszony system plików Coda Krzysztof Lichota.
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
TEMAT: Zapoznanie się z funkcja LICZNIKA w sterowniku Twido
Topologie fizyczne i logiczne sieci
Układy asynchroniczne
Zrozumieć, przeanalizować i rozwiązać
Mikrokontrolery System przerwań
TEMAT: Zapoznanie się z funkcja LICZNIKA w sterowniku Twido
Zapis prezentacji:

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

Obliczanie średniego dnia słonecznego. 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 Pobieranie aktualnego czasu od serwera. 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 2 prosi 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. Algorytm Liczba komunikatów na wejście/wyjście Opóźnienie przed wejściem (liczba komunikatów) Problemy Scentralizowany 3 2 Awaria koordynatora Rozproszony 2 ( n – 1 ) Awaria dowolnego procesu Pierścień z żetonem 1 do  0 to n – 1 Utrata żetonu, awaria procesu Porównanie algorytmów wzajemnego wykluczenia.

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

Elementarne operacje transakcyjne. Model transakcji (2) Operacja elementarna Description BEGIN_TRANSACTION Zaznaczenie początku transakcji END_TRANSACTION Zakończenie transakcji i próba jest zatwierdzenia ABORT_TRANSACTION Likwidacja transakcji, „Rollback” READ Czytanie danych z pliku, tabeli, itp.. WRITE Zapisanie danych do pliku, tabeli, itp.. Elementarne operacje transakcyjne.

Model transakcji (3) Transakcja potwierdzonych rezerwacji 3 lotów 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) 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 x = 0; y = 0; BEGIN_TRANSACTION; x = x + 1; y = y + 2 x = y * y; END_TRANSACTION; (a) Log [x = 0 / 1] (b) [y = 0/2] (c) [x = 1/4] (d) 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ść a) – c) Trzy transakcji T1, T2, and T3 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 1 x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3 Dozwolone Plan 2 x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; Plan 3 x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Niedozwolone (d) a) – c) Trzy transakcji T1, T2, and T3 d) Możliwe plany

Blokowanie dwufazowe (1)

Ścisłe blokowanie dwufazowe (2)

Pessimistic Timestamp Ordering Concurrency control using timestamps.