SYSTEMY ROZPROSZONE Problem synchronizacji zegarów

Podobne dokumenty
Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

Koordynacja procesów w środowisku rozproszonym

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

(86) Data i numer zgłoszenia międzynarodowego: , PCT/DE01/02954 (87) Data i numer publikacji zgłoszenia międzynarodowego:

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Klient-Serwer Komunikacja przy pomocy gniazd

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

PL B1. TELEKOMUNIKACJA POLSKA SPÓŁKA AKCYJNA, Warszawa, PL BUP 11/09. JACEK IGALSON, Warszawa, PL WALDEMAR ADAMOWICZ, Warszawa, PL

Informator techniczny

5. Model komunikujących się procesów, komunikaty

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Przesyłania danych przez protokół TCP/IP

Konfiguracja parametrów pozycjonowania GPS /5

CRISTALYS ELV 24VDC. lub. ANTENA GPS Wzmacniacz DHF. Zakład Automatyki i Urządzeń Precyzyjnych TIME - NET Sp. z o. o.

Układy czasowo-licznikowe w systemach mikroprocesorowych

Przetwarzanie równoległe

dwójkę liczącą Licznikiem Podział liczników:

Skale czasu. 1.1 Dokładność czasu T IE - Time Interval Error

METODY SYNCHRONIZACJI CZASU W SIECIACH KOMPUTEROWYCH

Układy czasowo-licznikowe w systemach 80x86

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Synchronizacja częstotliwości i czasu jako niezbędny element nowoczesnych sieci elektroenergetycznych

Inżynieria oprogramowania

Podstawy opracowania wyników pomiarów z elementami analizy niepewności pomiarowych

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

Spis treści. 1 Moduł RFID (APA) 3

Opis. systemu. zliczania. obiektów. ruchomych. wersja. dla salonów. i sieci salonów.

Skale czasu. dr inż. Stefan Jankowski

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Programowanie liniowe

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

VI Seminarium Naukowe Tomografia procesowa aplikacje, systemy pomiarowe i algorytmy numeryczne - relacja

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Differential GPS. Zasada działania. dr inż. Stefan Jankowski

4. Procesy pojęcia podstawowe

Synchronizacja czasu - protokół NTP

KOMPUTEROWE SYSTEMY POMIAROWE

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

IPC: Kolejki komunikatów

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Wykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania

Mechanizmy pracy równoległej. Jarosław Kuchta

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Uniwersalny Konwerter Protokołów

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Research & Development Ultrasonic Technology / Fingerprint recognition

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

ZAŁĄCZNIKI ROZPORZĄDZENIA WYKONAWCZEGO KOMISJI (UE) /...

LEKCJA TEMAT: Zasada działania komputera.

Pomiar rezystancji metodą techniczną

Lista rozkazów przyrządów serii AL154S(1)5..

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach

III.1 Ruch względny. III.1 Obserwacja położenia z dwóch różnych układów odniesienia. Pchnięcia (boosts) i obroty.metoda radarowa. Wykres Minkowskiego

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED INSTRUKCJA OBSŁUGI

5. Algorytm genetyczny przykład zastosowania

Podręcznik użytkownika

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

PL B1. Sposób i układ do modyfikacji widma sygnału ultraszerokopasmowego radia impulsowego. POLITECHNIKA GDAŃSKA, Gdańsk, PL

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

Diagramy czynności. Widok logiczny. Widok fizyczny

SYSTEM LICZENIA KLIENTÓW Z FUNKCJAMI INTERNETOWYMI WEJŚCIE/WYJŚCIE

Poradnik korzystania z usługi FTP

Wstęp do teorii niepewności pomiaru. Danuta J. Michczyńska Adam Michczyński

Organizacja typowego mikroprocesora

Laboratorium Komputerowe Systemy Pomiarowe

Proste układy wykonawcze

Wybrane działy Informatyki Stosowanej

Wykorzystanie nowoczesnych technologii w zarządzaniu drogami wojewódzkimi na przykładzie systemu zarządzania opartego na technologii GPS-GPRS.

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Technologie informatyczne

Przetwarzanie rozproszone

Podstawy Informatyki Układ przerwań

Zadania ze statystyki cz. 8 I rok socjologii. Zadanie 1.

Przetworniki analogowo-cyfrowe

Algorytmy Równoległe i Rozproszone Część VI - Systemy rozproszone, podstawowe pojęcia

Liniowe układy scalone. Elementy miernictwa cyfrowego

Budowa systemów komputerowych

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Laboratorium Komputerowe Systemy Pomiarowe

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

POMIAR PRĘDKOŚCI OBROTOWEJ Z UŻYCIEM MIKROKONTROLERA Z RODZINY 8051.

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Architektura i administracja systemów operacyjnych

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

1. Przeznaczenie testera.

Modyfikacja algorytmów retransmisji protokołu TCP.

dokument DOK wersja 1.0

(120290) Elektroniczny wysokościomierz ze stacją meteorologiczną. Instrukcja obsługi.

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

KATEDRA ELEKTRONIKI AGH WYDZIAŁ EAIIE. Dydaktyczny model 4-bitowego przetwornika C/A z siecią rezystorów o wartościach wagowych

Ćw. 18: Pomiary wielkości nieelektrycznych II

Radio FM kuchenne SoundMaster UR 2006, LCD, pamięć 30 stacji

Transkrypt:

Uniwersytet Gdański Mateusz Grzenkowicz 231806 Aleksander Polnik 236241 SYSTEMY ROZPROSZONE Problem synchronizacji zegarów Gdańsk, 2015

Wprowadzenie Referat ten będzie dotyczył zagadnienia synchronizacji zegarów w systemach rozproszonych. Każdy system składa się z komponentów, które w jakimś stopniu są od siebie zależne, dlatego istotny staje się problem ich organizacji i synchronizacji. Pierwszym etapem będzie wyjaśnienie samej definicji problemu synchronizacji zegarów w systemach rozproszonych. Następnie poruszone zostanie zagadnienie synchronizacji zegarów logicznych i fizycznych. Na koniec przedstawione zostaną podstawowe algorytmy mające na celu rozwiązanie problemu synchronizacji. Definicja Istnieje wiele zagadnień, które w bardziej lub mniej bezpośredni sposób stykają się z problem synchronizacji. Za przykład mogą posłużyć dwie zupełnie odrębne i niezsynchronizowane maszyny, które generują komunikat o różnych porach. Zakładając sytuację w której, że maszyna M1 wysyła komunikat o godz. 00:30:00 swojego czasu, zaś maszyna M2 wysyła taki komunikat o godz. 00:30:30 możliwe jest, że mimo 30 sekundowej różnicy, wiadomość z maszyny M2 zostanie wygenerowana przed maszyną M1, co jest efektem desynchronizacji tych zegarów. Synchronizacja zegara (ang. clock synchronization) problem z zakresu informatyki i inżynierii opierający się na założeniu, iż występują pewne przesunięcia czasowe pomiędzy zegarami w różnych komputerach. Efektem ruchów zegarów jest ich desynchronizacja. Zegary fizyczne Zegary dzieli się na fizyczne oraz logiczne. Zegar fizyczny (kwarcowy lub atomowy) to zegar współpracujący z układami komputera przeznaczony do mierzenia czasu astronomicznego. Stan rejestrów tego zegara w komputerze, może być regulowany przez użytkownika za pomocą polecenia systemu operacyjnego (np. time). W przypadku zegara kwarcowego, którego działanie opiera się na zliczaniu precyjnych drgań kryształu kwarcu, wykorzystywane są dwa rejestry: rejestr licznika (counter) oraz rejestr podtrzymujący (holding register). Każdy wybijany takt przez czasomierz systemowy zmniejsza wartość rejestru licznika. Gdy wartość dojdzie do zera wówczas wywoływane jest przerwanie i zostaje załadowana do niego wartość z rejestru podtrzymującego. W ten sposób, w zależności od wartości rejestru podtrzymującego czasomierz może wytwarzać przerwania w okresach milisekundowych wykorzystywane do sterowania działaniami asynchronicznymi. Zmieniając wartość rejestru podtrzymującego możemy sterować częstotliwością wywoływania przerwań, a tym samym częstotliwością tzw. impulsów zegara (clock tick). Do pomiaru upływu rzeczywistego czasu stosuje się obecnie system UTC. UTC (Uniwersal Coordinated Time) czyli Uniwersalny Czas Koordynowany jest to ulepszony system TAI (International Atomic Time) czyli międzynarodowy czas atomowy, który poprzez wprowadzenie tz.w sekund przestępnych wyeliminował błędy swojego poprzednika. 2

Mimo dużej lokalnej dokładności, wskazania zegarów fizycznych zamontowanych w różnych komputerach z upływem czasu rozbiegają się. Proces ten, nazywany odchyleniem wskazań zegara powoduje kłopoty z uzgadnianiem czasu zegara fizycznego w komputerach działających w sieciach i konieczności stosowania algorytmów synchronizacji. Celem takiej synchronizacji może być np. potrzeba zsynchronizowania pewnej grupy maszyn względem dedykowanej stacji. Rys.1. Przesunięcia czasowe względem zegara "doskonałego". Na powyższym rysunku zakłada się istnienie pewnego zegara idealnego oznaczanego jako t. Każda z tych maszyn, posiada zegar wyznaczający czas o wartości C. W przypadku, kiedy dla pewnej maszyny czas C(t) = t, mamy do czynienia z sytuacją, w której zegar w tej maszynie jest zegarem doskonałym (dc/dt = 1). W praktyce jednak, zegary te są szybsze lub wolniejsze w stosunku do zegara doskonałego t (dc/dt > 1 lub dc/dt > 1 ) Algorytm Cristiana Jednym z rozwiązań problemu synchronizacji zegarów w maszynach jest Algorytm Cristiana. Algorytm ten jest przeznaczony głównie dla środowisk rozproszonych, w których zakłada się, że przynajmniej jedna z maszy pełni funkcję serwera czasu.musi być więc wyposażona w odbiornik radiowy lub satelitarny który umożliwia pobranie dokładnego czasu np. za pomocą sygnału GPS. Działanie tego algorytmu opiera się na wysyłaniu komunikatu do serwera z zapytaniem o podanie aktualnego czasu. Po otrzymaniu zapytania, serwer możliwie szybko przesyła informacje o aktualnym czasie UTC. Stosowanie jednak takiej metody nie jest pozbawione wad. Biorąc pod uwagę scenariusz, 3

w którym zegar nadawcy wymierza czas zbyt szybko, zwykle jego przypisanie mogłoby spowodować sytuację, w której płynie on wstecz, dlatego każda maszyna co /2p wysyła komunikat do serwera czasu z pytaniem o bieżący czas. Serwer czasu podaje w odpowiedzi czas CUTC a każda z maszyn koryguje czas stopniowo. p - stała - odchylenie czasu między dwoma maszynami wymaga korekty czasu co najmniej co /2p sekund Oprócz tego istnieje pewien koszt w postaci czasu komunikacji, który powoduje, że wartość czasu UTC wysyłana przez serwer jest nieaktualna po nadejściu komunikatu do nadawcy. Problem ten rozwiązuje się za pomocą prostej metody, która polega na zapamiętaniu przedziału czasowego zawartego pomiędzy momentem T0, w którym wysłano zapytanie do serwera a momentem T1, czyli odpowiedzią. Przyjmuje się, że połowa tego przedziału jest czasem komunikacji od serwera do klienta. Odejmując dodatkowo od tej wartości czas przetwarzania zapytania przez serwer, można zwiększyć precyzję oszacowania czasu przez nadawcę. W celu poprawienia dokładności można wykonać serię takich pomiarów. Pomiary, w których różnica pomiędzy wysłaniem zapytania a otrzymaniem odpowiedzi przekroczy pewną wartość progową, są pomijane, jako ofiary zagęszczeń w sieci a oszacowania dokonane na podstawie pozostałych prób można uśrednić, otrzymując lepszą wartość. Można też uznać, że komunikat, który wrócił najszybciej, jest najdokładniejszy, gdyż przypuszczalnie napotkał najmniejszy ruch po drodze, więc najlepiej reprezentuje czysty czas przenoszenia. 4

Rys.2. Iustracja algorytmu Cristiana Powyższy rysunek jest przykładem, w którym maszyna próbuje zsynchronizować swój lokalny zegar z zegarem serwera czasu. Aby tego dokonać, generuje komunikat z zapytaniem o czas do serwera a ten odsyła do maszyny informację o swoim lokalnym czasie. Po odebraniu informacji, maszyna oblicza nowy czas i ustawia według niego swój zegar. Algorytm Berkeley Algorytm Berkeley został opracowany przez Gusella i Zatti w 1989 roku i zakładał, że żadna maszyna nie posiada dokładnego źródła czasu, z którym jest w stanie się zsynchronizować. W przeciwieństwie więc do założeń przyjętych w poprzednim algorytmie, tutaj serwer czasu jest aktywny i odpytuje okresowo każdą maszynę o jej aktualny czas. Na podstawie tych odpowiedzi oblicza ona średni czas i nakazuje innym maszynom ustawić zegar na nowy lub zwolnić jego takt, aż do osiągnięcia określonej redukcji. Rys.3. Ilustracja algorytmu Berkeley Relacja uprzedniości zdarzeń Analizując problem synchronizacji należałoby wspomnieć o relacji uprzedniości zdarzeń. Jest to relacja, która określa kiedy pewne zdarzenie a poprzedza zdarzenie b. Jeśli pomiędzy zdarzeniami ona zachodzi, to jest prawdziwa dla wszystkich procesów. Załóżmy: niech zdarzenie a poprzedza zdarzenie b. Relacja zachodzi w następujących przypadkach: - zdarzenie a i b działają wewnątrz tego samego procesu gdzie a występuje przed b, - a jest zdarzeniem wysłania komunikatu, b jest zdarzeniem odebrania tego komunikatu (przez inny proces), - zdarzenie a poprzedza zdarzenie b, gdy istnieje sekwencja zdarzeń rozpoczynająca się od zdarzenia a i kończąca zdarzeniem b, taka że dla każdej pary kolejnych zdarzeń zachodzi jedna z dwóch wcześniej opisanych sytuacji. Jeżeli pomiędzy dwoma zdarzeniami nie zachodzi relacja uprzedniości, są to zdarzenia współbieżne. 5

E ik oznacza zdarzenie, które było k-tym zdarzeniem procesu P i Zegary logiczne Synchronizacja zegarów nie musi wcale być bezwzględna i można to wykazać. W przypadku dwóch procesów, które się nie komunikują ze sobą w żaden sposób, nie ma takiej potrzeby, aby ich zegary były zsynchronizowane. Brak synchronizacji w tym przypadku będzie niezauważalny, czyli nie spowoduje żadnych problemów. Dla pewnej klasy algorytmów liczy się tylko spójność wnętrza zegarów, a niekoniecznie to, że odzwierciedlają czas rzeczywisty. Przykładem może być przypadek, gdy istotna jest kolejność występowania zdarzeń, a nie dokładny czas ich występowania. Znaczniki czasu Lamporta Zostały one opracowane jako sposób pomiaru czasu logicznego. Każde zdarzenie a ma przypisaną pewną wartość czasu C(a). Jeśli weźmiemy dwa zdarzenia a i b, gdzie zdarzenie a poprzedza zdarzenie b, to powinna zachodzić nierówność C(a) < C(b). Uwzględniono tutaj wspomnianą wcześniej koncepcję uprzedniości zdarzeń. Każdy wysłany komunikat zawiera czas swojego nadania. Odbiorca, który odbiera wiadomość porównuje czas własny z czasem nadania. Jeżeli zegar odbiorcy jest mniejszy od czasu nadania komunikatu, przesuwa swój zegar w przód do wartości równej czasowi nadania powiększonej o pewną wartość d. Dodanie d w tym przypadku wymusza postęp pomiędzy każdą parą zdarzeń. E i k E j l C( E i k )<C ( E i j ) Podsumowanie Reasumując problem synchronizacji jest problemem powszechnym. Spotykamy się z nim na co dzień jako informatycy i nie tylko. Powyższe zagadnienia przedstawiają solidne podstawy wyjaśniające problem oraz przedstawiają popularne rozwiązania, jednocześnie zachęcamy do większego zagłębienia się w tematy dotyczące problemów synchronizacji, ponieważ wydaje się on ciekawy i jest ciągle aktualny. 6