Synchronizacja w systemach rozproszonych



Podobne dokumenty
Budowa systemów komputerowych

Bojszowy, dnia r. Znak sprawy: GZOZ/P1/2010 WYJAŚNIENIE TREŚCI SIWZ

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

Harmonogramowanie projektów Zarządzanie czasem

Bazy danych. Andrzej Łachwa, UJ, /15

Sieci komputerowe cel

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

Twierdzenie Bayesa. Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623

PERSON Kraków

Zestawienie wartości dostępnej mocy przyłączeniowej źródeł w sieci RWE Stoen Operator o napięciu znamionowym powyżej 1 kv

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

PROGRAMU PARTNERSKIEGO BERG SYSTEM

Implant ślimakowy wszczepiany jest w ślimak ucha wewnętrznego (przeczytaj artykuł Budowa ucha

INFORMATOR TECHNICZNY WONDERWARE

VinCent Office. Moduł Drukarki Fiskalnej

Objaśnienia do Wieloletniej Prognozy Finansowej na lata

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

NACZYNIE WZBIORCZE INSTRUKCJA OBSŁUGI INSTRUKCJA INSTALOWANIA

Komputer i urządzenia z nim współpracujące

Tester pilotów 315/433/868 MHz

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Regulamin Projektów Ogólnopolskich i Komitetów Stowarzyszenia ESN Polska

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

Integracja systemów, integracja procesów

UKŁAD ROZRUCHU SILNIKÓW SPALINOWYCH

Moduł 2/3 Projekt procesu technologicznego obróbki przedmiotu typu bryła obrotowa

enova Workflow Obieg faktury kosztowej

Niezależnie od rodzaju materiału dźwiękowego ocenie podlegały następujące elementy pracy egzaminacyjnej:

Zadania. SiOD Cwiczenie 1 ;

Szczegółowe zasady obliczania wysokości. i pobierania opłat giełdowych. (tekst jednolity)

STEROWNIKI NANO-PLC NA PRZYKŁADZIE STEROWNIKA LOGO!

Instrukcja programu PControl Powiadowmienia.

Oferta kompleksowego serwisu sprzętu komputerowego dla przedsiębiorstw, instytucji oraz organizacji.

Informatyka, I stopień. Programowanie (PRO300.1)

System kontroli wersji SVN

Regulamin wynajmu lokali użytkowych. Międzyzakładowej Górniczej Spółdzielni Mieszkaniowej w Jaworznie tekst jednolity

Wtedy wystarczy wybrać właściwego Taga z listy.

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

REGULAMIN przeprowadzania okresowych ocen pracowniczych w Urzędzie Miasta Mława ROZDZIAŁ I

POWIATOWY URZĄD PRACY W LIDZBARKU WARMIŃSKIM

Konfiguracja Wyszukiwarki

U M O W A. zwanym w dalszej części umowy Wykonawcą

Microsoft Management Console

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

Konfiguracja historii plików

Regulamin Wojewódzkiego Konkursu Małopolski Pracodawca Przyjazny Rodzinie 2015

Elementy cyfrowe i układy logiczne

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Regulamin wsparcia edukacyjnego w ramach projektu Modelowo Zarządzana Uczelnia

OŚWIETLENIE PRZESZKLONEJ KLATKI SCHODOWEJ

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Uchwała nr 21 /2015 Walnego Zebrania Członków z dnia w sprawie przyjęcia Regulaminu Pracy Zarządu.

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Warszawa, dnia 27 czerwca 2016 r. Poz. 916 ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 21 czerwca 2016 r.

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

Mechanizm zawarty w warunkach zamówienia podstawowego. Nie wymaga aneksu do umowy albo udzielenia nowego zamówienia. -

Mnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność

Zakres pomiaru (Ω) Rozdzielczość (Ω) Dokładność pomiaru

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Wykład 2. Budowa komputera. W teorii i w praktyce

Waldemar Szuchta Naczelnik Urzędu Skarbowego Wrocław Fabryczna we Wrocławiu

LABORATORIUM TECHNOLOGII NAPRAW WERYFIKACJA TULEJI CYLINDROWYCH SILNIKA SPALINOWEGO

Podstawy programowania

WZÓR SKARGI EUROPEJSKI TRYBUNAŁ PRAW CZŁOWIEKA. Rada Europy. Strasburg, Francja SKARGA. na podstawie Artykułu 34 Europejskiej Konwencji Praw Człowieka

INFORMACJA dla osób nie będących klientami Banku Spółdzielczego w Goleniowie

Warszawa, r.

Excel w logistyce - czyli jak skrócić czas przygotowywania danych i podnieść efektywność analiz logistycznych

SILNIKI ASYNCHRONICZNE INDUKCYJNE

EGZAMIN MATURALNY Z INFORMATYKI CZERWIEC 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20

1. Reforma procesu kształcenia jako filar linii programowej PSRP

Rozliczenia z NFZ. Ogólne założenia. Spis treści

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

Polska-Lublin: Usługi sprzątania 2016/S Ogłoszenie o udzieleniu zamówienia. Usługi

Tester pilotów 315/433/868 MHz MHz

FlexDMS Aktualizacja 126

OGŁOSZENIE. Z.Z.R.G. przy KGHM O/Z.G. RUDNA. Zaprasza na WĘDKARSKIE GRUNTOWE ZAWODY RATOWNIKÓW GÓRNICZYCH

Zmiany przepisów ustawy -Karta Nauczyciela. Warszawa, kwiecień 2013

WZORU UŻYTKOWEGO EGZEMPLARZ ARCHIWALNY. d2)opis OCHRONNY. (19) PL (n) Centralny Instytut Ochrony Pracy, Warszawa, PL

Linc Polska Sp. z o.o. ul. Hallera Poznań. tel fax info@linc.pl

Regulamin Obrad Walnego Zebrania Członków Stowarzyszenia Lokalna Grupa Działania Ziemia Bielska

Uchwała Nr... Rady Miejskiej Będzina z dnia roku

II. WNIOSKI I UZASADNIENIA: 1. Proponujemy wprowadzić w Rekomendacji nr 6 także rozwiązania dotyczące sytuacji, w których:

Karta audytu wewnętrznego w Starostwie Powiatowym w Kielcach

Uniwersytet Warszawski Organizacja rynku dr Olga Kiuila LEKCJA 12

Materiały szkoleniowe dla partnerów. Prezentacja: FIBARO a system grzewczy.

Wnioskodawcy. Warszawa, dnia 15 czerwca 2011 r.

Bezpieczna dzielnica - bezpieczny mieszkaniec

UCHWAŁA NR... RADY MIASTA GDYNI z dnia r.

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

WERSJA ROBOCZA - OFERTA NIEZŁOŻONA

Inspiracje dla branży. Sport i rekreacja

K-31 Licencja na wykonywanie krajowego transportu drogowego osób

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Przekaźniki czasowe H/44. Przekaźniki czasowe. Przekaźnik czasowy opóźnienie załączania EN 61810

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Transkrypt:

Synchronizacja w systemach rozproszonych

Klasyfikacja Sieciowe SO Rozproszone SO Systemy wieloprocesorowe z podziałem czasu

Sieciowe SO Sieć moduł komunikacyjny sieciowy SO lokalny SO procesy uŝytkownika luźno pow. oprogramowanie i l. p. sprzęt Praca lokalna lub rlogin, telnet Zdalne kopiowanie (rcp, ftp) KaŜda maszyna niezaleŝna

Prawdziwy rozproszony SO Ściśle powiązane oprogramowanie, luźno powiązany sprzęt WraŜenie jednolitego systemu (wirtualny monoprocesor) Jeden SO Dostęp do zasobów jednolity (lokalne i globalne) SO nadzoruje: Przemieszczanie danych, obliczeń, procesów Komputery nie autonomiczne Amoeba, Mach, Chorus

Systemy wieloprocesorowe z podziałem czasu Ściśle powiązane oprogramowanie, ściśle powiązany sprzęt (nie ma pamięci lokalnej) Jedna kolejka uruchomień (lista procesów do wykonania)

Systemy 1-procesorowe sekcja krytyczna; synchronizacja semafory, monitory,.. Systemy rozproszone synchronizacja, następstwo zdarzeń Rozwiązanie scentralizowane inf. dot. synchronizacji w 1 m-cu + proces zarządzający DuŜe obciąŝenie Utrata niezawodności

Właściwości systemów rozproszonych Informacje rozmieszczone na wielu maszynach Procesy podejmują decyzje na pdst. inf. lok. Unikanie skupienia w 1 m-cu elementów wraŝliwych na awarie Brak wspólnego zegara (globalnego czasu) Problem - uzgadnianie czasu (synchronizacja wszystkich zegarów?) (np. make)

Zegary logiczne KaŜdy komputer własny timer (kryształ) Wiele JC odchylenie czasu Synchronizacja zegarów Lamport Nie jest istotne, aby wszystkie procesy uzgadniały dokładnie wartość czasu WaŜna jest kolejność zdarzeń Zegary logiczne Zegary fizyczne

Synchronizacja zegarów logicznych - Algorytm Lamporta Relacja uprzedniości zdarzeń a b Zachodzi gdy: a,b w tym samym procesie i a przed b a,b w róŝnych procesach a- wysłanie komunikatu, b odebranie komunikatu Przechodnia Jeśli x, y w róŝnych procesach i nie wymieniają komunikatów ~(x y) i ~(y x) zdarzenia współbieŝne (concurrent) Sposób pomiaru czasu - C(a) a b C(a) < C(b) C czas zegarowy płynie do przodu

Algorytm Lamporta 3 procesy; 3 maszyny; 3 zegary o róŝnych częstotliwościach Komunikat zawiera czas swojego nadania Czas przesyłania komunikatu >=1 Jeśli czas przybycia komunikatu <= czas nadania komunikatu => odbiorca przesuwa czas zegara na wartość = czas nadania + 1 Dodatkowy warunek: Ŝadne 2 zdarzenia nie powinny mieć tego samego czasu ( 20 20.1; 20.2 )

0 6 12 18 24 30 36 42 48 54/70 60/76 0 8 16 24 32 40 48 56/61 64/69 72/77 80/85 0 10 20 30 40 50 60 70 80 90 100

AL. zapewnia całkowite uporządkowanie wszystkich zadań w systemie rozproszonym a,b w tym samym procesie i a przed b => C(a) < C(b) a,b w róŝnych procesach a- wysłanie komunikatu, b odebranie komunikatu => C(a) < C(b) dla wszystkich a,b: C(a) C(b) ZEGARY LOGICZNE

Zegary fizyczne Systemy czasu rzeczywistego Potrzeba zewnętrznego zwielokrotnionego zegara fizycznego Problemy: Synchronizacja z zegarem rzeczywistym Synchronizacja między sobą Pomiar czasu Astronomowie Fizycy BIH w ParyŜu ->TAI UTC (Universal Coordinate Time) -> nadajnik WWV- Colorado; MSF Anglia; GEOS

Algorytmy synchronizacji zegarów Zał. Cel kaŝda maszyna ma swój czasomierz (H przerwań /sec) max. wsp. odchylenia ρ róŝnica zegarów <=δ resynchronizacja programowa co δ/(2ρ) sec Algorytmy: scentralizowane: Cristiana (pasywny serwer czasu); z Berkeley (aktywny serwer czasu); zdecentralizowany: uśredniania

Algorytm Cristiana Serwer czasu - ma odbiornik WWV KaŜda maszyna wysyła co δ/(2ρ) sec kom. z pytaniem o bieŝ. czas Nadawca ustawia czas na C UTC + czas przes. kom. Problem: - C UTC < czas nadawcy Stopniowa zmiana czasu Oszacowanie czasu przesyłania komunikatu T0 (T1-T0)/2 T1

Algorytm z Berkeley Brak odbiornika WWV Serwer czasu odpytuje maszyny Oblicza średni czas Wszystkie maszyny wyrównują czasy

Algorytm uśredniania Przedziały resynchronizacji stałej długości KaŜda maszyna: [ T0 + ir; T0 + (i+1)r ] na pocz. kaŝdego przedziału ogłasza czas swojego zegara zbiera ogłoszenia od innych oblicza wartość nowego czasu (np. wart. średnia po odjęciu skrajnych wartości)

Przykłady zastosowania zsynchronizowanych zegarów Co najwyŝej jednokrotne doręczenie komunikatów (wykorzystanie znaczników czasu) Spójność pamięci podręcznej (otrzymywanie pliku w dzierŝawę określającą okres waŝności kopii) Sprawdzanie czasowych przepustek Zatwierdzenia niepodzielnych transakcji

WZAJEMNE WYŁĄCZANIE Algorytm scentralizowany Algorytm rozproszony Algorytm pierścienia z Ŝetonem

Algorytm scentralizowany WyróŜniony proces koordynator (np. najwyŝszy adr. siec.) Proces wysyła do koordynatora zamówienie we. do SK Jeśli SK wolna koordynator odsyła odp. OK po jej nadejściu proces wchodzi do SK po wy. Z SK wysyła do koordynatora komunikat Jeśli SK zajęta koordynator nie odpowiada; proces -> do kolejki koordynator odpowiada po zwolnieniu SK

Algorytm scentralizowany procesy 1 2 2 1 koordynator kolejka 3 1 2 3 3 3 komunikaty: zamówienie pozwolenie zwolnienie

Algorytm scentralizowany Zapewnia wzajemne wyłączanie Reguła sprawiedliwa: brak głodzenia, we. do SK w kolejności zamawiania Wady: Koordynator - wąskie gardło; wraŝliwość na uszkodzenia całego systemu

Algorytm rozproszony Ricarta i Agrawali Bazuje na alg. Lamporta wymaga uporządkowania zdarzeń

Proces, który chce we. do SK tworzy komunikat: nazwa sekcji swój numer bieŝący czas i wysyła go do wszystkich procesów (komunikat potwierdzany) odbiorca Jeśli nie jest w SK i nie chce tam wchodzić odsyła komunikat OK Jeśli jest w SK nie odpowiada; ustawia zamówienie w kolejce Jeśli chce we. do SK porównuje znacznik czasu komunikatu odebranego z wysłanym przez siebie; jeśli własny jest większy odsyła OK.; jeśli mniejszy ustawia zamówienie w kolejce Proces, który chce we. do SK Po skompletowaniu wszystkich pozwoleń (OK) wchodzi do SK Po wy z SK wysyła komunikat OK do wszystkich procesów z kolejki i usuwa je z kolejki

Algorytm rozproszony 5 SK 1 5 10 5 2 3 10 1 2 3 1 2 3 10 SK zamówienie pozwolenie -OK

Algorytm rozproszony problemy Uszkodzenie jednego procesu blokuje wszystkie próby wejścia do SK DuŜy ruch w sieci; kaŝdy proces zaangaŝowany we wszystkie decyzje o wejściu do SK Próba naprawy: Po nadejściu zamówienia odbiorca odsyła odpowiedź (pozwolenie lub odmowa) Wzajemne wyłączanie bez blokad i zagłodzenia wolniejszy, kosztowniejszy, mniej odporny, ale moŝliwy

Algorytm pierścienia z Ŝetonem 1 2 3 4 procesy nieuporządkowane-> logiczny pierścień Ŝeton komunikat k->(k+1)mod n 0 5 1 Ŝeton 1 SK brak głodzenia 10 9 8 7 6 PROBLEMY: zaginięcie Ŝetonu komunikaty wysyłane bez wzgl. na potrzebę

porównanie algorytm l. kom. we. do SK opóźnienie we. do SK problemy awarie scentralizowany 3 2 koordynator rozproszony 2(n-1) 2(n-1) dowolny proces pierścienia z Ŝetonem 1..? 0..n-1 dowolny proces, Ŝeton

Wybór koordynatora elekcja Algorytm tyrana Proces P o numerze n rozpoczyna elekcję Wysyła komunikat ELEKCJA do procesów o numerach > n Jeśli nikt nie odpowiada P koordynatorem Jeśli odpowie proces o numerze > n - przejmuje kontrolę Zwycięzca wysyła komunikat KOORDYNATOR

elekcja 3 1 6 5 OK 3 5 6 elekcja 5 0 2 4 4 4 OK koordynator 5 5 4

Wybór koordynatora algorytm pierścieniowy Pierścień bez Ŝetonu Proces tworzy komunikat ELEKCJA + numer procesu wysyła go do następnego działającego KaŜdy następny proces dodaje swój numer Gdy komunikat wraca do nadawcy zamiana typu komunikatu KOODYNATOR (najwyŝszy numer) Po kolejnym obiegu komunikat znika

Transakcje niepodzielone WyŜszy poziom abstrakcji Zasada wszystko albo nic inicjatywa jednego procesu; wspólne działania; zatwierdzenie przez wszystkie procesy -> utrwalenie wyników brak zatwierdzenia -> powrót do pierwotnego stanu Właściwości transakcji: Niepodzielność (atomicity) Spójność (consistence) Izolacja (isolation ) Trwałość (duarability) Transakcje zagnieŝdŝone ( trwałość odnosi się do najwyŝszego poziomu) Implementacja Prywatna przestrzeń robocza Rejestr zapisów wyprzedzających

Prywatna przestrzeń robocza PPR zawiera wszystkie pliki i obiekty, do których proces ma dostęp DuŜy koszt -> modyfikacje: Kopie jedynie zmienianych plików (wskaźniki do przestrzeni roboczej procesu rodzicielskiego) Do przestrzeni roboczej kopie indeksów (i-węzły) modyfikowanych plików; nowe bloki (cienie)-> modyfikacja indeksów zaniechanie transakcji > zwolnienie prywatnych bloków zatwierdzenie transakcji -> przemieszczenie prywatnych indeksów w przestrzeń roboczą procesu macierzystego

Rejestr zapisów wyprzedzających lista zamiarów Przed kaŝdą zmianą bloku zapis rekordu do RZW: Transakcja Adres (plik, blok) zmieniany Stara wartość Nowa wartość Po zatwierdzeniu transakcji rekord zatwierdzenia do RZW W przypadku zaniechania przywrócenie stanu pierwotnego na pdst. RZW (wycofanie rollback)