3-globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/materijal/nastava_2012/pdf_ppt/3... ·...

81

Upload: others

Post on 09-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena
Page 2: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Globalno vreme i sinhronizacija satovaGlobalno vreme i sinhronizacija satova

1. Vreme i redosled

2. Merenje vremena

3. Interna sinhronizacija

4. Eksterna sinhronizacija

Page 3: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vreme i redosled

U modelima prirodnih fenomena pojam vremenakao nezavisne promenljive.

Definisanje osnovnih fizi čnih konstanti u odnosu naosnovnu jedinicu vremena - sekundu.

Vreme i redosled doga đaja su od esencijalnog zna čajaza rad sistema u realnom vremenu - digitalni sat.

Garancija konzistentnog ponašanja distrubuiranog sis tema.

Page 4: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vrste redosleda

Vremenski redosled

Redosled trenutaka na vremenskoj osi

Vremenska osa : Beskona čan skup trenutaka {{{{T}}}}sa slede ćim pravilima:

{{{{T}}}} je uređeni skup za koji važi da ako su p i q bilo kojadva trenutka, tada je p ili istovremen sa q, ili p prethodi q,ili q prethodi p, uz to da su ovi slu čajevi potpuno isklju čivi.

{{{{T}}}} je zbijeni skup ( dense) . Postoji makar jedno qizmeđu p i r ako p nije istovetan sa r, gde su p, q i rtrenutci.

Page 5: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Deo vremenske ose - trajanje ( duration ).

Događaj se može odigrati samo u odre đenom trenutkui nema svoje trajanje.

Simultani doga đaji - koji se odigraju u istom trenutku.

Trenutci potpuno ure đeniDogađaji delimi čno ure đeni (simultani doga đaji).Događaji delimi čno ure đeni (simultani doga đaji).

Potpuno ure đeni doga đaji – uvo đenjem dodatnih kriterijuma(broj čvora u kome se odigrao doga đaj).

Page 6: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Uzročni redosled

Značaj u RT primenama.

Alarmni pljusak – primarni doga đaj.

Vremenski redosled neophodan ali ne i dovoljan za određivanje uzro čnog redosleda.

Redosled isporuke

Zastupljen u distribuiranim komunikacionim sistemim a.

Komunikacioni sistem garantuje da će svi host ra čunari videti sekvencu doga đaja sa istim redosledom isporuke

Page 7: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Logi čki ili fizi čki sat

Logički sat vodi evidenciju samo u smislu uređenja događaja• unutar grupe zavisnih događaja

Fizički sat vodi evidenciju o dnevnom vremenu• Konzistentno kroz sistem

Page 8: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Kvarcni satovi

1880: Piezoelektri čni efekat• Braća “Curie”• Pritisak na kristal kvarca – generisanje električnog polja• Dovođenje električnog polja izaziva savijanje kristala

1929: Sat sa kristalom kvarca1929: Sat sa kristalom kvarca• Rezonator u obliku viljuške• Laserko trimovanje da osciluje na 32 768 Hz• Standardni rezonatori imaju tačnost 6 ppm na 31º C• Sat ubrza ili uspori po ½ sek/dan• Stabilnost bolja od tačnosti: 2 sek/mesec• Dobar rezonator može imati tačnost do 1 sekunde u 10 g.

Page 9: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Atomski sat

• Sekunda definisana kao trajanje od 9.192.631.770 periodaradijacije koja odgovara prelazu atoma Cezijuma-133između dva nivoa.

• Tačnost bolja of 1 sekunde na 6 miliona godina• Tačnost bolja of 1 sekunde na 6 miliona godina

• NIST standard od 1960

Page 10: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

UTC

• UT0o Srednje solarno vreme na Griničuo Dobijeno od astronomskih osmatranja

• UT1o UT0 korgovan zbog pomeranja polova

• UT2o UT1 korigovan zbog sezonskih varijacija u rotaciji zemlje

• UTC

English CUT Coordinated Universal Time

French TUC Temps Universel Coordonné

compromise UTCunofficial English: “Universal Time, Coordinated”; unofficial French: “Universel Temps Coordonné”

• UTCo Civilno vreme mereno na bazi atomske skale

Page 11: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Fizički satovi u ra čunaru

Sat realnog vremena CMOS brojač koji se pobuđuje kvarcnim oscilatorom.

• Baterijsko napajanje za merenje vremena kada je računar isključen

Operativni sistem programira tajmersko kolo da generiše periodični prekid

• Primer: 60, 100, 250, 1000 prekida u sekundi• Programmable Intrval Timer (PIT) – Intel 8253, 8254• Prekidna procedura dodaje 1 brojaču u memoriji

Page 12: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Problem

Ujednačiti dva sistemma da imaju isto vreme• Dva sata se vrlo teško usaglašavaju• Kvarcni oscilatori osciluju na frekvencijama koje se za

malo razlikuju

Brzina otkucavanja satova se menja u toku vremena Brzina otkucavanja satova se menja u toku vremena • Clock Drift• Sve veća razlika u vremenu

Razlika između dva sata u nekom trenutku vremena• Clock Skew

Page 13: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Sept 18, 20068:00:00

8:00:00 8:00:00

Page 14: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Oct 23, 20068:00:00

8:01:24 8:01:48

Skew = +84 seconds+84 seconds/35 daysDrift = +2.4 sec/day

Skew = +108 seconds+108 seconds/35 days

Drift = +3.1 sec/day

Page 15: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vre

me

u rač

unar

u, C

1d C

d t=

Idealni sat

Referentno UTC vreme , t

Vre

me

u rač 1

d t=

Page 16: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Sat u ra čunaru kasni

Vre

me

u rač

unar

u, C

Ofset (skew)

1d C <

Referentno UTC vreme , t

Vre

me

u rač 1

d C

d t<

Page 17: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vre

me

u rač

unar

u, C

Ofset (skew)

1d C

d t>

Sat u ra čunaru žuri

Referentno UTC vreme , t

Vre

me

u rač

Page 18: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Sat realnog vremena

Mikrotakt – doga đaj koji inkrementira broja č.

Granularnost - trajanje izme đu dva uzastopna mikrotakta

Greška digitalizacije pri merenju vremena.

Mikrotakt i sata k je označen kao mikrotakt ik.

z(e) - apsolutni vremenski marker doga đaja e

Drift sata između mikrotakta i i i+1odnos frekvencija sata k i referntnog sata, u trenutku i.

Odnos trajanja granule sata k i granule referentnog sata

Page 19: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

.)()( 1

k

ki

kik

in

mikrotaktzmikrotaktzdrift

−= +

kk

Referentni sat: jedinstveni sat z frekvencije fz koja ja usaglašena sa me đunarodnim standardom vremena.

.1)()( 1 −

−= +

k

ki

kik

n

mikrotaktzmikrotaktzρ

Uzroci: temperatura, napon napajanja, starenje.

Page 20: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Ofset između satova j i k na granuli iRazlika izme đu respektivnih mikrotaktova dva sata

)()( ki

ji

jki mikrotaktzmikrotaktzofset −=

Page 21: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vre

me

u rač

unar

u, C

Idealni

Greške sata

Dobar

Dobar

Referentno UTC vreme , t

Vre

me

u rač

Greška u stanjubrojača

Page 22: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vre

me

u rač

unar

u, C

IdealniDrift

Greške sata

Referentno UTC vreme , t

Vre

me

u rač

Page 23: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Maksimalni ofset izme đu bilo koja dva sataiz skupa od n satova.

{ }jki

nkji ofset

≤≤=Π

,1max

Preciznost u skupu satova

TačnostOfset sata k u odnosu na referentni sat z na mikrotaktu i

Periodi čna sinhronizacija.

Page 24: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Merenje vremena

Idealni slu čaj – sinhronizacija svih čvorova ref. satomMogućnost sinhronizacije čvorova – lokalni oscilator.Univerzalna vremenska referenca – globalno vreme.

Skup čvorova gde svaki ima lokalni fizi čki sat ckgranularnosti gk .

Svi satovi interno sinhronizivani sa preciznoš ću ΠΠΠΠ.

Podskup mikrotaktova svakog od lokaklnih satova zagenerisnje lokalne implementacije pojma:

globalno vreme

Page 25: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Uslov opravdanostiGlobalno vreme t se naziva opravdanim, ukoliko lokal neimplementacije globalnog vremena zadovoljavaju uslovimplementacije globalnog vremena zadovoljavaju uslov

g >>>> ΠΠΠΠSinhronizaciona gerška manja od jedne makrogranule.

Page 26: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Merenje intervala

),2()2( gddgd obstrueobs +<<−

Page 27: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Unutrašnja sinhronizacija satova

Page 28: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Unutrašnja sinhronizacija satova

Korekcija stanja:Podešavanje sata realnog vremena u računaru na pravo vreme

• Vraćanje sata može da dovede do konfuzije u uređivanju poruka ili višestrukog izvršavanja nekih procedura.

• Postavljanjem sata na buduće vreme neke procedure • Postavljanjem sata na buduće vreme neke procedure mogu biti neizvršene.

Page 29: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Unutrašnja sinhronizacija satova

Korekcija frekvencije:Promena brzine kojom se zahteva prekid.

• Ako je prekid dolazio svakih 50 ms a sistemsko vreme kasni, sledeće prekide zahtevati na (primer na) 35 ms.

• Redefinianjem intervala brojača• Redefinianjem intervala brojača

Promenom nagiba sistemskog vremena

Page 30: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vre

me

u rač

unar

u, C

Ofset

1d C

d t>

Korekcija sata koji žuri

Primena linearne

1d C

d t<

Referentno UTC vreme , t

Vre

me

u rač

Primena linearnekompenzacione funkcije

Page 31: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Eksterna sinhronizacija sata

GPS (1 ms), WWV radio prijemnik (3 ms)- cena, veli čina, okruženje

Page 32: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Eksterna sinhronizacija sata

Sinhronizacija od druge mašine koja ima ta čniji sat

Mašina koja obezbe đuje ovaj servis

Time server

Page 33: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

RPC – Remote Procedure Call

Najjednostavnija tehnika sinhronizacije– Poslati RPC za dobijanje vremena– Podesiti vreme

client serverKoliko je sati ?

Ne uzima se u obzir kašnjenje kroz mrežu

client serverKoliko je sati ?

3:42:19

Page 34: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Cristian -ov algoritam

Kompenzacija kašnjenja– Gde su:

• Trenutak slanja zahteva: T0

• Trenutak prijema odgovora: T1

– Pretpostavka da su kašnjenja kroz mrežu simetričnasimetrična

server

clienttime

request reply

T0 T1

Tserver

Page 35: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Procenjeni overhed

Cristian -ov algoritam

server

clienttime

request reply

T0 T1

Tserver

=− 21 TT

Klijent podešava vrednost sat na:

Procenjeni overhedu oba smera

=−2

21 TT

221 TT

TT servernew

−+=

Page 36: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

GreškeAko je poznato minimalno vreme prenosa poruka (Tmin):

server

clienttime

request reply

T Tclient

timeT0 T1Tmin Tmin

Najranijidolazak poruke

Najkasnijipočetak slanja

range = T 1-T0-2Tmin

Tačnost rezultata = min21

2T

TT −−±

Page 37: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Primer Cristian -ovog algoritm a:

• Slanje zahteva u: 5:08:15.100 (T0)• Odgovor primljen u: 5:08:15.900 (T1)

– Odgovor sadrži: 5:09:25.300 (Tserver)

• Elapsed time: T1 -T0• Elapsed time: T1 -T0

5:08:15.900 - 5:08:15.100 = 800 msec• Najbolji slučaj: timestamp generisan pre 400

msec• Postavljanje na: Tserver+ elapsed time

5:09:25.300 + 400 = 5:09.25.700

Page 38: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Cristian -ov algorithm: primer

If best-case message time=200 msec

server

clienttime

request reply

T T

Tserver

T0 = 5:08:15.100T1 = 5:08:15.900Ts = 5:09:25:300Tmin = 200msec

clienttimeT0 T1

200 200

800

Error = ±200

Page 39: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

• Gusella & Zatti, 1989

• Pretpostavka da mašine nemaju tačan sat

Berkeley - algoritam

• Dobijanje srednje vrednosti od svih računara

• Sinhronizacija svih satova na srednju vrednost

Page 40: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

• Mašine izvršavaju time dæmon– Proces koji implementira protokol

• Jedna mašina je proglašena serverom(master )

Berkeley - algoritam

(master )– Sve ostale su slaves tipa

Page 41: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

• Master očitava svaku mašinu periodično– Šalje upit za vreme

• Može koristiti Cristian-ov algoritam za kompenzaciju kašnjenja kroz mrežu

• Kada se sakupe svi rezultati, izračunava se srednja vrednost– Uključujući i vreme master-a

Berkeley - algoritam

– Uključujući i vreme master-a• Pretpostavka: usrednjavanje poništava tendenciju satova

da žure ili kasne• Šalje odgovarajuće ofsete svakom slejvu na osnovu

kojih svaki slejv vrši korekciju svog vremena• Izbegavaju se problemi kašnjenja koji nastaju ako se

šalje korigovana vrednost vremena

Page 42: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Berkeley - algoritam

Algoritam obezbeđuje ignorisanje sata sa prevelikim ofsetom

– Izračunavanje fault-tolerant average

Ako master otkaže– Bilo koji slejv preuzima njegovu ulogu

Page 43: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Berkeley algoritam: primer

3:25 2:50 9:10

3:00

2:50

3:25 2:50 9:10

1. Zahtev za vremenom od svih u česnika

Page 44: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

3:25 2:50 9:10

3:00

2:50

Berkeley algoritam: primer

3:25 2:50 9:10

2. Izračunavanje fault-tolerant average :

05:33

00:350:225:3 =++

Page 45: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

3:25 2:50 9:10

3:00

+0:15

+0.15

Berkeley algoritam: primer

3:25 2:50 9:10

3. Slanje ofseta svakom klijentu

Page 46: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Network Time Protocol, NTP

1991, 1992Internet Standard, version 3: RFC 1305

Page 47: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Ciljevi NTP

• Omogućava internet klijentima tačnu sinhronizaciju na UTC uprikos kašnnjenju poruka– Primena statističkih tehnika za filtriranje podataka i merenje

kvaliteta rezultata

• Omogućava pouzdan servis– Preživljavanje pri gubitku veze– Redundantni putevi– Redundantni serveri

• Omogućava čestu sinhronizaciju klijenata– Ofset utiče na drift sata

• Zaštita od interference– Authentikacija izvora podataka

Page 48: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

NTP serveri

Aranžirani u stratum-ima– 1. stratum: mašine koje

su direktno vezane za izvore tačnog vremena

– 2. stratum: mašine koje

1

2

3

se sinhronišu sa 1. stratumom

– …

SiNCHRONIZACIONI SUBNET

4

Page 49: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Načini NTP sinhronizacije

Multicast– Za vrlo brze mreže– Manja tačnost ali velika efikasnost

Procedure call– Slično Cristianovom algoritmu– Slično Cristianovom algoritmu

Symmetric– Namenjeno master serverima– Par servera razmenjuje poruke i podatke da

poboljšaju sinhronizaciju u toku vremena

Sve poruke se šalju nepouzdano preko UDP protokola

Page 50: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

SNTP

Simple Network Time Protocol– Bazirano na Unicast mode of NTP-a– Subset NTP-a, nije novi protokol– Radi u multicast ili procedure call načinu

RFC 2030, October 1996

Page 51: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

SNTP

server

clienttime

request reply

T1

T2

T4

T3

Roundtrip delay:

d = (T4-T1) - (T2-T3)

Time offset:

Page 52: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

SNTP example

server

clienttime

request reply

T1=1100

T2=800

T4=1200

T3=850

Offset =

Time offset:

Offset =

((800 - 1100) + (850 - 1200))/2=((-300) + (-350))/2= -650/2 = -325

Set time to T4 + t= 1200 - 325 = 875

Page 53: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Cristian’s algorithm

server

clienttime

request reply

T1=1100

T2=800

T4=1200

T3=850

Ts=825

Offset = (1200 - 1100)/2 = 50

Set time to Ts + offset= 825 + 50 = 875

Page 54: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Format vremena Network Tme Protocol (NTP) – Internet

Cele skunde UTC -4 bajta Binarni delovi sekunde-4 bajta

Opseg vremena sve do 2036, t.j, 136 godina ciklus k ruženja

Page 55: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Logi čki satovi

Dodela sekvence brojeva porukama– Svi kooperativni procesi mogu se složiti oko

redosleda dogoađaja– Nasutprot fizičkim satovima : dnevno vreme

Pretpostavka da ne postoji centralizovani taktni signalPretpostavka da ne postoji centralizovani taktni signal– Svaki čvor održava svoj lokalni sat– Nema totalnog uređenja događaja

• Nije implementiran koncept “happened-when”

Page 56: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Koncept “ Happened -before ”

Lamport-ova “happened-before” notacija

a →→→→ b događaj a desio se pre događaja bt.j: a: poruka je poslata, b: poruka je primljena

Transitivnost:if a →→→→ b and b →→→→ c then a →→→→ c

Page 57: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Logi čki satovi i konkurentnost

Dodela vrednosti “sata” svakom događaju– if a→→→→b then clock( a) < clock( b)– Vreme ne teče unazad

Ako a i b pripadaju različitim procesima koji ne razmenjuju poruke, tada ne važe a → b ib → a

– Ovi događaji su konkurentni

Page 58: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Primer brojanja doga đaja

• Tri sistema: P0, P1, P2

• Događaji a, b, c, …

• Lokalni brojači događaja na svakom • Lokalni brojači događaja na svakom sistemu

• Sistemi povremeno komuniciraju

Page 59: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

h i

k

P1

P2

P3

1 2

1 3

21

d f

g3

c

2

4 6

e5

j

Primer brojanja doga đaja

Page 60: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

h i

k

P1

P2

P3

1 2

1 3

21

d f

g3

c

2

4 6

e5

j

Primer brojanja doga đaja

Loše ure đeno:

e ���� h

f ���� k

Page 61: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Lamport -ov algoritam• Svaka poruka nosi vremenski marker (timestamp) sata

pošiljaoca poruke

• Kada poruka stigne:– Ako je sat prijemnika < timestamp poruke

sat prijemnika = (timestamp poruke + 1 )– U suprotnom ne korigovati– U suprotnom ne korigovati

• Sat mora biti uvećan izmađu svaka dva događaja u istom procesu

• Algoritam obezbeđuje vremensko uređenje međusobno povezanih događaja– Parcijalno ure đenje

Page 62: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Primer brojanja doga đaja

a b

i

kj

P1

P2

P3

1 2

1 7

21

d f

g3

c

2

4 6

6

7

h

e5

7

Page 63: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Sažetak

• Algoritam zahteva monotono rastući softverski brojač

• Koji se inkrementira barem kada neki događaj treba da dobije vremenski marker

• Svakom događaju se pridružuje Lamport -ov timestamp• Svakom događaju se pridružuje Lamport -ov timestamp

• Za svaka dva događaja, gde a → b:L(a) < L(b)

Page 64: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Problem: Identi čni vremenski markeri

a b

h i

kj

P1

P2

P3

1 2

1 7

71

d f

g3

c

6

4 6

e5

a→→→→b, b→→→→c, …: sekvenca lokalnih doga đaja

Konkurentni doga đaji mogu imati istitimestamp … ili ne

Page 65: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Jedinstveni vremenski markeri timestamp s - totalno ure đenje

Uvođenje jedinstvenog timestamp– Definišimo globalni logički timestamp (Ti, i)

• Ti predstavlja lokalni Lamportov timestamp• i predstavlja broj procesa (globalno jedinstveni)

– Na pr. (“host address”, “process ID”)– Upoređivanje markera:– Upoređivanje markera:

(Ti, i) < (Tj, j)Ako i samo ako (iff) je

Ti < Tj iliTi = Tj i i < j

Ne odnosi se na ure đenje doga đaja

Page 66: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

i

kj

P1

P2

P3

1.1 2.1

1.2 7.2

7.31.3

d f

g3.1

c

6.2

4.1 6.1h

e5.1

Jedinstveni markeri

Page 67: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Problem: Dete kcija kauzalnih relacija

Ako je L(e) < L(e’)– Ne može se zaključiti da je e→e’

Razmatranjem Lamportovih markeraRazmatranjem Lamportovih markera– Ne može se zaključiti koji su događaji

kauzalno povezani

Rešenje: primena vektorskih satova

Page 68: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vektorski satovi

Pravilo:1. Inicijalizacija Vektora na 0 u svakom procesu

Vi [j ] = 0 for i, j = 1, …, N2. Proces inkremenira sopstveni element lokanog

vektora pre markiranje svakog događaja:Vi [i ] = Vi [ i ] +1

3. Slanje poruke Pi zajedno sa markerom Vi

4. Kada proces Pj primi poruku, upoređuje elemente vektora elemenat po elemenat i postavlja lokalni vektor na veću od dve vrednosti

Vj [i ] = max(Vi [i ], Vj [i ]) za i = 1, …, N

Page 69: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Upoređenje vektorskih markera

Definišimo (iff == “ako i samo ako”)

V = V’ iff V [i ] = V’[i ] for i = 1 … NV ≤ V’ iff V [i ] ≤ V’[i ] for i = 1 … N

Za bilo koja dva događaja e, e’ako e →→→→ e’ tada V(e) < V(e’)ako e →→→→ e’ tada V(e) < V(e’)• Kao u Lamportovom algoritmu

ako V(e) < V(e’) tada e →→→→ e’

Dva događaja su konkurentna ako ne važe:V(e) ≤ V(e’) ili V(e’) ≤ V(e)

Page 70: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Vektorski satovi

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

Page 71: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(1,0,0)

Vektorski satovi

Event timestampa (1,0,0)

Page 72: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(1,0,0) (2,0,0)

Vektorski markeri

Event timestampa (1,0,0)b (2,0,0)

Page 73: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(1,0,0) (2,0,0)

(2,1,0)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)

Page 74: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(1,0,0) (2,0,0)

(2,1,0) (2,2,0)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)

Page 75: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(1,0,0) (2,0,0)

(2,1,0) (2,2,0)

(0,0,1)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)e (0,0,1)

Page 76: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(1,0,0) (2,0,0)

(2,1,0) (2,2,0)

(0,0,1) (2,2,2)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)e (0,0,1)f (2,2,2)

Page 77: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

(0,0,1)

(1,0,0)a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(2,0,0)

(2,1,0) (2,2,0)

(2,2,2)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)e (0,0,1)f (2,2,2)

concurrentevents

Page 78: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

(0,0,1)

(1,0,0)a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(2,0,0)

(2,1,0) (2,2,0)

(2,2,2)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)e (0,0,1)f (2,2,2)

concurrentevents

Page 79: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

(0,0,1)

(1,0,0)a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(2,0,0)

(2,1,0) (2,2,0)

(2,2,2)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)e (0,0,1)f (2,2,2)

concurrentevents

Page 80: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

(0,0,1)

(1,0,0)a b

c d

fe

(0,0,0)P1

P2

P3

(0,0,0)

(0,0,0)

(2,0,0)

(2,1,0) (2,2,0)

(2,2,2)

Vektorski satovi

Event timestampa (1,0,0)b (2,0,0)c (2,1,0)d (2,2,0)e (0,0,1)f (2,2,2)

concurrentevents

Page 81: 3-Globalno vreme i sinhronizacija taktaes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/3... · 2013-12-06 · unaru, C Ofset 1 d C d t > Korekcija sata koji žuri Primena

Rezime: Logi čki satovi & Parcijalnouređenje

• Kauzalnost– Ako a->b tada događaj a može uticati na

događaj b• Konkurentnost

– Ako ne važe a->b ni b->a tada događaji ne – Ako ne važe a->b ni b->a tada događaji ne utiču jedan na drugi

• Parcijalno uređenje– Sekvenciranje kauzalnih događaja

• Totalno uređenje– Sekvenciranje svih događaja