Distribuovan e prostred, cas a stav v distribuovan em prostred PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018
Obsah predn asky Distribuovan e prostred, distribuovan e syst emy, DS Cas a jeho projevy v distribuovan em prostred Razen ud alost v distribuovan em prostred Glob aln stav v distribuovan em prostred Distribuovan e algoritmy, DA denice krok u prov ad en ych procesy v distribuovan em prostred vc. vyslan ych zpr av V PA 150 se nejedn a o form aln kurs distribuovan ych algoritm u, jde o intuitivn sezn amen s problematikou z hlediska potrebn e podpory ze strany operacnch syst em u d ukazy spr avnosti a odhady slozitosti probran ych distribuovan ych algoritm u jsou prezentov any neform alnm zp usobem. Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 1
Distribuovan y syst em, distribuovan y algoritmus Distribuovan y syst em, DS mnozina autonomnch v ypocetnch komponent vz ajemn e propojen ych n ejakou komunikacn strukturou Distribuovan y algoritmus, DA agregace algoritm u b ezcch v jednotliv ych komponent ach DS Pripomenut pojmu algoritmus presn y n avod ci postup, kter ym lze vyresit dan y typ ulohy teoretick y princip resen jist e trdy obdobn ych probl emu skl ad a se z konecn eho poctu jednoduch ych (element arnch), jednoznacne a presne denovan ych krok u konc, poskytuje v ysledek, v (libovoln e velk em) konecn em poctu krok u Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 2
Rysy vymezujc chov an DS (model DS) Topologie forma propojen komponent DS (uzl u, poctac u,... ) sm erovost informacnch tok u komunikacn infrastrukturou Pl anov an, princip rzen synchronn, asynchronn lok aln algoritmy se startuj v jist ych casech a b ez jistou rychlost Komunikace, v ym ena dat synchronn, asynchronn v ym enou zpr av (sdlen pam eti je typick e pro paraleln algoritmy) zpr avy se dorucuj v jist ych casech, v jist em porad (napr. FIFO) Spolehlivost, poruchovost moznost/vyloucenost v ypadk u procesor u a/nebo komunikacnch spoj u Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 3
Topologie DS pocty a formy propojen procesor u, komponent DS reprezentace pomoc grafu uzly { procesory hrany { komunikacn kan aly, mohou mt omezenou sm erovost Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 4
Chov an DS komponenty DS men sv uj lok aln stav a vz ajemne interaguj DS se postupn e nach az v jednotliv ych konguracch DS kazd a jednotliv a kongurace DS je urcen a okamzit ymi lok alnmi stavy vsech komponent stavy komunikacnch m edia (napr. obsahy komunikacnch buer u) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 5
Distribuovan y v ypocet Proveden v ypoctu podle DA v DS Posloupnost diskr etnch ud alost, prechod u mezi stavy DS Kazd a ud alost je atomickou zm enou kongurace DS Vsechny lok aln v ypocty jsou deterministick e K nedeterminismu doch az tehdy, pokud se pripust voliteln e pl anov an lok alnch krok u a/nebo komunikacn ud alosti typu ztr ata zpr avy, zmena porad dorucen zpr av,... Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 6
Pl anov an, casov y model DS DS se synchronn v ymenou zpr av v ypocty se odehr avaj v synchronnch krocch b eh vsech komponent DS se rd tiky glob alnch hodin v kazd em kroku mohou komponenty vyslat a/nebo prijmout zpr avu a prov est lok aln v ypocet a prslusne zmenit lok aln stav { Mooreho synchronie { vyslan e zpr avy determinuje lok aln stav { Mealyho synchronie { vyslan e zpr avy determinuje lok aln stav a prijat e zpr avy (d ale neaplikujeme) casov y interval prenosu zpr av je nenulov y, ale vzdy mens nez interval mezi dv ema tiky glob alnch hodin DS s asynchronn v ym enou zpr av (předmět našeho studia) glob aln cas neexistuje cas v komponent ach DS je rzen y jejich lok alnmi hodinami, kter e bez libovoln ymi vz ajemne nez avisl ymi rychlostmi doby prenos u zpr av jsou neomezen e Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 7
Distribuovan y syst em, DS, pro zpracov an informac Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 8
Distribuovan y syst em, DS, pro zpracov an informac Pracovní definice DS pro účel našeho (orientačního) výkladu: Syst emy typu Internet, st'ov e vestaven e syst emy,... Kooperace dej u v DS (proces u b ezcch v r uzn ych uzlech, poctacch) se deje pouze na z aklade v yskytu asynchronnch ud alost Asynchronn ud alosti se odvozuj z asynchronnch v ymen zpr av mezi procesy Uzly jsou propojen e (prpadn e i nespolehliv ym) asynchronnm komunikacnm syst emem pro v ym enu zpr av Proces um jsou bezprostredn e dostupn e pouze lok aln stavy uzl u Glob aln stav DS si mus kazd y proces odvodit pomoc vz ajemne vyme novan ych zpr av Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 9
Distribuovan y syst em, DS, pro zpracov an informac Zkusen y program ator mus mt rozumet algoritm um v DS Na bakal arsk e urovni jsou studenti skoleni v algoritmick em myslen vesm es pro nedistribuovan e prostred lze absolvovat kurzy orientovan e na z akladn algoritmy, tj. na vyhled av an, trden, rozpozn av an vzor u, grafov e ulohy,... lze se dozvedet jak rozpoznat tyto podprobl emy v r amci sv ych program u a jak je lze ucinne resit Distribuovan y syst em je propojen a kolekce autonomnch proces u clen ych na V ym enu informac (ve WAN) Sdlen zdroj u (v LAN) Paralelizaci pro zv ysen v ykonnosti Replikace pro zv ysen spolehlivosti,... Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 10
Distribuovan y syst em, DS, pro zpracov an informac V yhody DS { vzr ust spolehlivosti, v ykonu, sk alovatelnost,... Jestlize procesy DS pri dosahov an spolecn eho cle kooperuj, pak mus mt prstup ke glob alnmu stavu DS a pritom: Pokud m uze kter ykoliv z proces u kdykoliv vypadnout/selhat, ostatn procesy v DS se o v ypadku explicitne nedozv V ymena zpr av m uze selhat a i kdyz neselze, vesmes se odehr av a v nepredvdateln em case A navc { je nedosaziteln y jednotn y beh re aln eho casu. V jednotliv ych komponent ach DS je beh casu rzen y lok alnmi hodinami b ezcmi ve t echto komponent ach DS Jednotn y beh casu si mus procesy DS modelovat (msto re aln eho behu casu se spol ehaj na simulovan y logick y cas) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 11
Paraleln vs. distribuovan y syst em Distribuovan e syst emy se lis od paralelnch, (multiprocesorov ych) syst em u ve trech aspektech Neznalost glob alnho stavu Proces obvykle nezn a lok aln stavy ostatnch proces u. Nedostupnost glob alnho casov eho r amce Ud alosti nelze uspor adat podle jejich casu v yskytu Nedeterminismus Soub eh proces u je nedeterministick y, opakovan y beh techze proces u m uze generovat r uzn e v ysledky. Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 12
Typy distribuovan eho prostred podle b ehu casu Asynchronn distribuovan e syst emy Nejobecn ejs prpad distribuovan eho syst emu (DS) Predem se neznaj ( mohou b yt libovoln e) { rychlosti behu proces u, { doby zpozden prenos u zpr av, { drifty re aln ych hodin v jednotliv ych uzlech DS Nepouzv a se z adn a synchronizace na b azi centr alnho re aln eho casu Nic nelze predpokl adat o casov ych intervalech resen b eh u proces u Kooperace proces u mus resit algoritmy hnan ymi v ym enou zpr av mezi procesy rzenou vhodn ym protokolem Odesl an a prjem zpr avy reprezentuj nez avisl e ud alosti, az na kauzalitu,,ud alost prijet n asleduje po ud alosti odesl an" Smutn a pravda: Ne vsechny probl emy distribuovan eho poct an maj asynchronn resen. Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 13
Typy distribuovan eho prostred podle b ehu casu Synchronn distribuovan e syst emy Vesm es specializovan e syst emy Znaj se horn a doln meze { rychlost behu proces u, tj. kazd eho kroku kazd eho procesu { dob zpozden prenos u zpr av, { drift u re aln ych hodin v jednotliv ych uzlech DS odesl an a prjem zpr avy je koordinov ano tak, aby ty dve akce tvorily jednu ud alost, zpr ava se odesl a pouze pokud je jej cl pripraven ji prijmout. pseudoasynchronn (Internet) { v podstat e cl naseho studia asynchronn prostred s moznost detekce nespln en casov eho limitu dorucen zpr avy Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 14
Typy distribuovan eho prostred podle spolehlivosti syst emy bez poruch syst emy s v ypadky (s poruchami) syst emy s v ypadky proces u { ostatn procesy mohou v ypadek zjistit pouze podle chyb ejc odpov edi na invokacn (vyz yvac) zpr avu syst emy s v ypadky komunikac { ztr aty zpr av m uze prjemce detekovat casov ymi limity (a prp. zsk avat smluvenou implicitn hodnotu) syst emy s libovoln ymi (Byzantinsk ymi) poruchami nejhors mozn e chyby procesy mohou chybn e nastavovat sv a data, procesy mohou na v yzvu odpovdat lziv e, zpr avy mohou behem prenosu menit obsah, mohou se generovat falesn e zpr avy, zpr avy se mohou ztr acet, dublovat,... pokud m a DS s byzantinsk ymi poruchami komponent resc DA dosp et k validnmu v ysledku, mus b yt vytvoren jako odoln y proti poruch am, m uze se v nem nach azet nejv yse jist y pocet chybujcch komponent Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 15
Predpoklady pro model pouzit y pri nasem studiu DA Komunikacn st' je siln e souvisl a, kazd y uzel DS m uze komunikovat s kazd ym jin ym uzlem DS Procesy komunikuj pouze v ym enou zpr av Komunikace v ym enou zpr av je pseudo-asynchronn, zdrzen zpr avy v kan alu m uze b yt libovoln e, vzdy je konecn e, v ypadky komunikacnho prenosu lze detekovat hld anm casov ych limit u Komunikacn kan aly zpr avy neztr acej, neduplikuj, nemodikuj Prenos zpr av komunikacnmi kan aly se rd politikou FIFO Procesy nepadaj Kazd y proces zn a pouze sv e sousedy, nikoli topologii cel eho DS Procesy maj jedinecn e identik atory (pid) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 16
Kongurace, prechod, proveden Glob aln stav DS dan y stavem jeho proces u a zpr avami obsazen ymi v jeho kan alech je kongurac DS Kongurace vznik a postupn e, po krocch zvan ych prechody Syst em prechod u sest av a z mnoziny konguraci C bin arn relace prechodu na C mnoziny inici alnch kongurac I C Kongurace γ C je termin aln, pokud neexistuje γ δ pro z adnou z δ C Proveden algoritmu je posloupnost kongurac γ 0 γ 1 γ 2..., kde γ 0 I a γ i γ i+1 pro vsechna i 0 Kongurace δ je dosaziteln a pokud γ 0 γ 1 γ 2... γ k = δ, kde γ 0 I a γ i γ i+1 pro vsechna 0 i < k Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 17
Ud alosti Kazd y prechod v DS je v azan y na jistou ud alost v nekter em z proces u DS V prpade synchronnch DS na dve ud alosti ve dvou procesech DS Proces m uze generovat vnitrn ud alost, ud alost vysl an zpr avy a ud alost prjmu zpr avy Proces je inici ator, pokud jeho prvn ud alost je vnitrn ud alost nebo vysl an zpr avy DA je centralizovan y, pokud existuje pr av e jeden inici ator Decentralizovan y DA m uze mt vce inici ator u Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 18
Prcinn e porad,,stalo-se-pred" Prcinn e porad a b v yskyt u ud alost a a b v proveden DA je nejmens tranzitivn relace takov a, ze plat a a b ud alosti ve stejn em procesu a a se vyskytla drve nez b nebo a je ud alost vysl an zpr avy a b je ud alost prijet t eto zpr avy Pokud neplat ani a b ani b a jsou ud alosti a a b soubezn e Permutace ud alost, kter a respektuje prcinn e porad, v ysledek proveden DA neovlivn Takovou permutaci naz yv ame v ypoctem Vsechna konecn a proveden v ypoctu startujc ve stejn e konguraci konc v t eze termin aln konguraci Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 19
Poctac, hodiny, cas, trv an, razen,... K cemu slouz hodiny (m eren casu), obecn e? Stanoven casu, ve kter em se ud alost vyskytla Stanoven trv an ud alosti nebo intervalu mezi 2 ud alostmi Stanoven porad (casov e posloupnosti) s erie ud alost, ve kter em se tyto vyskytly Kde vsude pri zpracov an informac hraje cas d ulezitou roli? Konzistentnost casov ych raztek v e-komerci Bezpecnostn algoritmy zalozen e na casov ych raztk ach (Kerberos) Urcov an porad resen soub ezn ych transakc Detekce uplynut casov ych limit u, detekce uv aznut a st arnut Rzen z amk u soubor u a z amk u z aznam u Pl anov an ud alost a transakc v case Identikace poslednch verz soubor u...,...,..., destky?, stovky? tisce? dalsch d uvod u Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 20
Casov e pom ery v poctaci Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 21
Cas v poctaci, cas v sti (v DS) Cas v poctaci V kazd em poctaci v GHz trde je rychlost svetla (elmag sign alu) (299 792 458 m/s) omezujcm faktorem V 3GHz poctaci se deset tik u hodin odehraje v case, za kter y se svetlo rozsr na vzd alenost 1 mm Jestlize se v jednom tiku se provede 1 operace, mus se do prstho tiku zskat data pro prst operaci Registr CPU nem uze b yt d ale od operacn jednotky nez 1/20 mm Cas v sti typick y time-out st'ov ych operac je 255 s to odpovd a 3 bilion um (3 10 12 ) operac soudob eho CPU pro srovn an 3 bilony sekund je cca 100 000 let Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 22
Probl em razen v case, skluz, drift Pro razen ud alost (nejen v DS) do casov e posloupnosti mus platit pro vsechny lokality univerz aln standardn cas Lok aln hodiny uzl u v DS jsou ale t emer jiste ve vz ajemn em skluzu skluz, diference je okamzit a hodnota, v case se men d uvodem je odlisnost rychlosti b ehu kazd ych jednotliv ych hodin od,,skutecn eho"casu { fyzik aln d uvody vc. tepla,... { drift povolen a diference bezn ych krystalem rzen ych hodin 10 6 s d av a posun casu o 1 s za 10 6 s (11 a p ul dne) Vysoce presn e hodiny s povolenou diferenc 10 7 az 10 8 probl em univerz aln e neres Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 23
IAT, International Atomic Time, UTC, Universal Time, Coordinated IAT { atomick y cas, extr emne presn y zdroj casu International Atomic Time { kmity v atomu Cesia 133, standardizovan a sekunda podle IAT = 9 192 631 770 kmit u v atomu Cesia 133, drift 10 13 Sekundy, hodiny, roky... (astronomick y cas) se odvozuj od rotace zem e a rotace kolem slunce, tyto periody kolsaj, astronomick y a atomick y cas maj tendenci se rozch azet Universal Time, Coordinated, UTC Korigovan y atomick y cas na astronomick y cas (obcas se prid av a 1s) Rozesl a se r adiov e pozemnmi vyslaci a satelity, komercn z alezitost Hors presnost u koncov ych uzivatel u casu, od zdroje UTC se rozeslan y cas pozemnmi stanicemi m uze lisit az o 10 ms, satelitem (GPS) o cca 1 µs Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 24
Synchronizace lok alnch hodin re aln eho casu Necht' je t cas etalonov ych hodin (napr. zskan y UTC) Doba prenosu od etalonu do lok alnch hodin, t trans Cas synchronizovan ych lok alnch hodin, t recv = t + t trans t trans bohuzel nezn ame, silne variuje Procesy potrebuj, aby byl t recv trvale udrzovan y s prednastaven ym stupn em presnosti, tj. s denovanou toleranc shody s t Algoritmy synchronizace lok alnch hodin s etalonem casu Cristian uv algoritmus Berkeley algoritmus, Berkeley Unix NTP (Network Time Protocol), Internet Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 25
Cristian uv algoritmus synchronizace hodin DS obsahuje jist y pocet d uv eryhodn ych casov ych autorit, casov ych server u Klient K se periodicky dotazuje casov eho serveru S na hodnotu casu zpr avou m r Server napr. zsk av a sign aly ze zdroje UTC, na poz ad an sdeluje hodnotu casu podle sv ych hodin, t, zpr avou m t casov y interval mezi vysl anm pozadavku a zsk anm hodnoty casu je doba obr atky, t round trip Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 26
Cristian uv algoritmus synchronizace hodin pokud je t round trip δ, pak dobr a aproximace casu u zadatele je t recv = t + δ 2 pokud predpoklad neplat, aproximace nen v erohodn a jde o pravd epodobnostn algoritmus: { t round trip mus b yt dostatecne kr atk y, cm je mens δ, tm je odhad presn ejs { cm v ets presnost se pozaduje, tm s mens pravd epodobnost se dosahuje, protoze casto neplat predpoklad dobr e aproximace v ypadek serveru { krach synchronizace, d usledek centralismu Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 27
Prklad Klient se synchronizuje s casov ym serverem zasl anm dotaz u, dosazen e doby obr atek zpr av a zskan e informace o case jsou: Na jak y cas by klient mel nastavit svoje hodiny? minim aln nameren a doba obr atky je 20 ms = 0,02 s klient by mel tudz zvolit cas zskan y s dobou obr atky 20 ms, tudz bude 10:54:28.342 + 0.02/2 = 10:54:28.352 s presnost ± 10 ms Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 28
Prklad, pokrac. S jakou presnost je tento odhad spr avn y je-li zn amo, ze minim aln cas mezi odesl anm a prjmem zpr avy v dan em syst emu je 8 ms? Min, minim aln doba prenosu zpr avy = 8 ms Kdyz klient poslal dotaz v case t, server mohl odpov ed et nejdrve za t + M in, a nejpozdeji za t + t round trip Min, tj. udan y cas je z rozpet t round trip 2 Min, takze presnost je ±(t round trip /2 Min) Pokud se neznala doba Min, presnost byla ±10 ms Kdyz plat Min = 8 ms, bude presnost za stejn ych podmnek ±2 ms (20/2 8) Pokud se pri Min = 8 ms pozaduje presnost nejv yse ±1 ms mus b yt nejv yse t round trip = 18 ms (18/2 8) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 29
Prklad, pokrac. Cm v ets presnost se pozaduje, tm s mens pravd epodobnost se dos ahne tj. ide alne by melo platit t round trip = 2 Min coz je ve bezn e sti m alo pravdepodobn e Cristian uv algoritmus je vhodn y pro LANy s dobre odhadnutelnou minim aln dobou prenosu zpr av Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 30
Berkeley algoritmus synchronizace hodin Jeden z poctac u DS je master, ostatn jsou slave: Master uzel periodicky vyz yv a kazd y slave uzel k zasl an diference jeho casu a zmer prslusn y t round trip a ze zjist en ych hodnot eliminuje (min, max) hodnoty, zbytek pr um eruje kazd emu slave uzlu zasle interval, o kter y se cas slave uzlu lis od vypocten eho pr umeru { ud av a de facto nov y presn y cas Slave uzly si zkoriguj sv e lok aln hodiny na nov y presn y cas V ypadek master uzlu lze osetrit distribuovanou volbou nov eho master uzlu konkr etn algoritmus volby bude vysv etlen y pozd eji Konkr etn prklad (re aln e m eren) LAN 15 uzl u, max t round trip 10 ms, interval korekc 25 ms, drift hodin slave uzl u byl mens nez 2 10 5 ms Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 31
Berkeley algoritmus synchronizace hodin Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 32
Algoritmus NTP, Network Time Protocol Cristian uv alg., Berkeley alg. jsou vhodn e pro intranety NTP, Network Time Protocol pouzv a Internet, verejn a WAN Sluzba poskytujc klient um v Internetu moznost se presn e synchronizovat s UTC (presne = v intervalu r adove ms) PVhodn e po zajist en spolehliv ych sluzeb, kter e mohou prezt dlouh e ztr aty konektivity { rekongurac po uplynut time-outu Pro zajist en ochrany proti interferenci se zlomyslnou nebo n ahodn e chybujc casovou sluzbou Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 33
Algoritmus NTP, Network Time Protocol Hierarchie NTP server u hodiny serveru ve vrstve 1 rd sign al UTC z vrstvy 0 hodiny server u ve vrstve 2 se synchronizuj s uzly vrstvy 1,... na urovni list u jsou klientsk e stanice Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 34
Algoritmus NTP, Network Time Protocol Zp usoby synchronizace zpr avy protokol u se zaslaj protokolem UDP NTP Multicast Mode, jeden server rozesl a info o case skupine server u (multicast, vhodn e pro LAN), m alo presn a metoda NTP Procedure-Call Mode, casov y server vrac casov e raztko, na z adost, presn ejs nez NTP Multicast Mode, de facto Cristian uv algoritmus NTP Symmetric Mode mezi 2 servery v r uzn ych urovnch, servery si opakovane vyme nuj zpr avy s casov ymi raztky, opravuj chyby Dosahovan a minimalizace skluzu { r adove destky ms ve WAN r adove jednotky ms v LAN Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 35
Probl em pouzit hodin pro synchronizaci v DS St'ov e hodiny lze synchronizovat s presnost nejv yse na milisekundy CPU prov adej bili ony operac / s, pro 3 GHZ CPU 1 ms = 3 000 000 operac Mezi 2 hodinami, kter e maj b yt synchronizovan e, je typicky prostor, ve kter em jedna CPU m uze prov est mili ony operaci, nez druh a rozpozn a stejn e casov e raztko Casov a raztka re aln eho casu sama o sobe nejsou dostatecn ym n astrojem pro razen distribuovan ych ud alost pro kooperujc procesy d ulezit e je porad, nikoliv presn y cas nekooperujc procesy nemus b yt synchronizov any v ubec Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 36
Razen ud alost v distribuovan em prostred Odlisnost drift u lok alnch hodin v uzlech DS znemoz nuje pouzt pro razen ud alost fyzick y cas Logick y cas je budov an na b azi relace stalo-se-pred, znacen e Jsou-li A a B (vnitrn) ud alosti ve stejn em procesu a A se stala drve nez B, pak plat A B Je-li A ud alost zaslání zprávy jednm procesem a B je ud alost přijetí této zprávy v jin em procesu, pak plat A B Jestlize plat A B a B C, pak plat A C Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 37
Implementace relace, b eh logick eho casu S kazdou ud alost v syst emu se sv aze casov e raztko, TS (time stamp) V kazd em procesu P i udrzuj beh logick eho casu logick e (Lamportovy) hodiny LC i mapuj v yskyt ud alost ve v ypoctu do c astecn e uspor adan e mnoziny, ve kter e plat a b LC(a) < LC(b) logick e hodiny lze implementovat napr. jako ctac inkrementovan y pri kazd e ud alosti v procesu LC i = LC i + 1, vyslanou zpr avu proces dopln cas. raztkem, T S zpravy pri prjmu zpr avy prijmajc proces nejprve nastav na LC i = max (LC i, T S zpravy ) a pot e ctac casu inkrementuje a pot e se mu zpr ava zprstupn = LC i Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 38
Implementace relace, b eh logick eho casu Pro kazd y p ar ud alost A a B propojen ych posloupnost ud alost (ud alosti uskutecnen e v jednom procesu nebo vysl an a prjem zpr avy), pro kter y plat A B, plat T S(A) < T S(B) Pozor, z T S(A) < T S(B) neplyne A B Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 39
Ilustrace b ehu logick eho casu a b, b c, c d, d f, b g, g h, f h a e a e a, a e, a a e jsou soubezn e ud alosti, e b, logick y cas e < logick y cas b, ale neplat e b Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 40
Prklad V procesech p 1, p 2, p 3 doslo k n asledujcm ud alostem p 1 : a, s 1, r 3, b (ud alost a, vysl an zpr avy 1, prjem zpr avy 3, ud. b) p 2 : c, r 2, s 3 p 3 : r 1, d, s 2, e Tyto ud alosti se vyskytly v logick ych casech p 1 : 1(a), 2(s 1 ), 8(r 3 ), 9(b) p 2 : 1(c), 6(r 2 ), 7(s 3 ) p 3 : 3(r 1 ), 4(d), 5(s 2 ), 6(e) LC prirazuj kazd e ud alosti a d elku k nejdelsho prcinn eho retezce a 1... a k = a Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 41
Tot aln uspor ad an logick eho casu Dve r uzn e ud alosti generovan e ve dvou r uzn ych procesech mohou mt identick e Lamportovo casov e raztko, LC napr. z adosti o vstup do kritick e sekce z vce proces u, vsechny maj stejnou hodnotou LC spravedlivost pri resen vstupu do kritick e sekce m uze pozadovat tot aln uspor ad an hodnot LC v cel em DS pak lze do casov eho raztka LC doplnit napr. id procesu a casov a raztka se shodnou hodnotou casu uspor adat dle porad id proces u id proces u mus b yt jedinecn e a radov e, napr. integer, hodnoty Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 42
Vektorov e casov e raztko Nedostatkem (skal arnho) Lamportova TS je, ze z T S(A) < T S(B) neplyne A B Toto omezen lze resit ve skupine N proces u tm, ze msto skal arnho (Lamportova) casov eho raztka TS, pouzijeme vektorov e casov e raztko V Vektorov e casov e raztko procesu p i, tj. V i, m a tolik prvk u kolik je proces u ve skupine V i [i] jsou logick e hodiny p i V i [j] reprezentuj p i znalost logick eho casu v p j Kazd y proces p i si udrzuje svoje vlastn vektorov e raztko V i Inici alne jsou v p i vsechny prvky V i nulov e Pred tm nez p i vysle zpr avu m procesu p j nastav V i [i] := V i [i] + 1 (ud alost oraztkuje) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 43
Vektorov e casov e raztko Kdyz p j prijme zpr avu m od procesu p i inkrementuje si cslo ud alosti ve sv em raztku V j p j zsk a ve zpr ave od p i casov e raztko t = V i, ve sv em V j nastav V j [i] := max(v j [i], t[i]) pro i = 1, 2,... N Ponevadz p i pred vysl anm zpr avy inkrementoval V i [i] a p j inkrementuje V j [i] pouze kdyz dostane od p j casov e raztko s vets hodnotou pro p i, plat V j [i] V i [i] Ve vektorov em casov em raztku V j je V j [j] pocet ud alost oraztkovan ych p j a V j [i] pro i j pocet ud alost v p i, kter e prp. ovlivnily p j Pro porovn an vektorov ych casov ych raztek plat pravidla V = V i V [j] = V [j] for j = 1, 2,,... N V V i V [j] V [j] for j = 1, 2,,... N V < V i V V j : V [j] < V [j] Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 44
Vektorov e casov e raztko Lze uk azat, ze pokud o ud alostech a, b plat a b, napr. a je vysl an zpr avy a b je prijet t eto zpr avy pak plat V (a) < V (b) prijimac inkrementuje sv uj cas ve V a vsechny ostatn polozky ve V z ustanou prinejmensm stejn e velk e jako ty v casov em raztku odeslatele, tedy V (a) < V (b) Jsou-li ud alosti a a b soubezn e, pak neplat ani V (a) V (b) ani V (b) V (a) a tudz pokud ud alosti a a b nejsou soubezn e, pak plat i V (a) < V (b) a b Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 45
Lamportovo casov e raztko Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 46
Vektorov e casov e raztko V (a) < V (f) a f c e, neplat ani V (c) V (e) ani V (e) V (c) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 47
Slozitost v ypoctu distribuovan ych algoritm u Mirou slozitosti m uze b yt Pocet vym e novan ych zpr av, budeme pouzvat nejvce Bitov a slozitost pocet vyme novan ych bit u zpr avami ma smysl pouze v prpadech velmi dlouh ych zpr av Casov a slozitost { predpoklady: doba zpracov an zpr avy v komponente DS je obv. zanedbateln a zasl an zpr avy spotrebuje alespo n 1 casovou jednotku Vesmes n as zajm a nejhors prpad a pr umern y prpad v ypoctu O-notace: Pokud ve v ypoctu participuje n proces u a nejhors proveden v ypoctu m a kvadratickou slozitost poctu zpr av, O(n 2 ), pak se pri tomto proveden vymen r adove n 2 zpr av Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 48
Model pro studium distribuovan ych algoritm u Distribuovan y algoritmus DA realizuje v DS, ve kter em participuje n > 1 proces u Kazd y proces P i bez na obecne na jin em uzlu ste (procesoru) b ez prov ad posloupnosti ud alost, napr. lok aln v ypocet zasl an zpr avy prijet zpr avy Pro jednoduchost vyj adren algoritm u v cel e predn asce plat 1 uzel = 1 proces, uzel a proces jsou synonyma Pokud se nerekne jinak, pak procesy jsou z hlediska logiky rzen aplikace DS vz ajemn e rovnocenn e, plat symetrie V nekter ych variant ach DA procesy mohou mt asymetrick e postaven z hlediska logiky rzen aplikace (napr. model klienti-server) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 49
Model pro studium distribuovan ych algoritm u Zpr avy vyslan e jednm procesem jin emu procesu jsou a) prijman e v porad jejich vysl an, b) dorucovan e siln e souvislou komunikacn st, tj. kazd y proces m uze komunikovat s kazd ym procesem (platnost podmnek a) + b) odpovd a protokolu TCP) c) dorucen e v konecn em case o rychlosti jednotliv ych komunikacnch kan al u nelze vyslovit z adn y jin y predpoklad Pokud nerekneme jinak, nedoch az k v ypadk um ani komunikacnch kan al u ani uzl u Varianty distribuovan ych algoritm u v prostred s poruchami (v ypadky) budeme studovat samostatn e Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 50
Pozadovan e vlastnosti distribuovan ych algoritm u Bezpecnost, Safety, Nothing bad happened yet Sledovan a podmnka, cl: Z glob alnho stavu DS (stav vsech proces u tvorcch DS) je norm alnmi (validnmi) stavov ymi prechody nedosaziteln y jist y nez adouc stav Napr. dosahuje se vz ajemn e vyloucen kritick ych sekc proces u, zabra nuje se uv aznut proces u,... Typicky se dokazuje indukc: jestliže X platí pro n = 1 a jestliže X platí pro n = m a pro n = m + 1, pak X platí pro všechna n Narusen bezpecnosti (tj. narusen dosazitelnosti cle algoritmu) se prokazuje v konecn em poctu krok u resen Resen probl emu nenarusujc bezpecnost je korektn resen Podmnka bezpecnosti mus b yt spln en a v kazd e konguraci kazd eho proveden algoritmu, jedn a se o invariant Predpoklad P je invariantem, pokud plat P (γ) pro vsechny γ I a jestlize γ δ, pak plat i P (δ). Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 51
Pozadovan e vlastnosti distribuovan ych algoritm u Zivost, Liveness, Something good eventually happens Vlastnost glob alnho stavu DS zajist'ujc, ze jistou posloupnost norm alnch (validnch) stavov ych prechod u je dosaziteln y jist y, konkr etn z adouc stav Napr. v konecn em poctu krok u algoritmu se zvol vedouc uzel v sti nebo proces z adaj o vstup do kritick e cesty zsk a pr avo vstoupit do kritick e sekce v konecn em case Narusen podmnky zivosti se prokazuje pouze v nekonecn em poctu krok u resen Korektn resen probl emu (spl nujc podmnku bezpecnosti) nenarusujc zivost je upln e, kompletn resen Podmnka zivosti mus b yt splnen a alespo n v jedn e konguraci kazd eho proveden algoritmu Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 52
Probl em znalosti glob alnho stavu v DS Plat jist a vlastnost v DS? Detekce glob aln vlastnosti, napr. Je jist y objekt d ale uz nepouzvan y? (lze na n ej aplikovat garbage collection, nikdo na n ej neodkazuje) Doslo k uv aznut? Doslo k ukoncen distribuovan eho algoritmu? Nestac zn at stav proces u, mus se zn at i stav komunikacnch kan al u Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 53
Budov an glob alnho stavu DS, momentka Jak odvodit glob aln stav kolekce proces u v asynchronnm DS ze znalosti lok alnch stav u uzl u porzen ych v ymenou zpr av v r uzn ych okamzicch behu casu? Momentka (snapshot) prov ad en jist eho DA poskytuje informaci o nekter e konguraci prov aden v ypoctu v DS Momentku potrebujeme pro restart v ypoctu po v ypadku Momentka umozn prov est detekci uv aznut Momentka usnad nuje lad en v ypoctu Prirozen e je z adouc zskat momentku bez zastaven v ypoctu Pri v ypoctu pak rozlisujeme { z akladn zpr avy resc vlastn DA a { rdic zpr avy zsk avajc momentku Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 54
Budov an glob alnho stavu DS, momentka, konzistentn rez Momentka v ypoctu podle DA v DS sest av a z lok alnch momentek stavu kazd eho procesu a ze stav u kan al u vsech kan al u v DS (v ycet zpr av obsazen ych v kan alech) Momentka v ypoctu dle DA v DS je smyslupln a, konzistentn, pokud upln e popisuje n ekterou kongurac prov ad en DA V casov em diagramu behu proces u v DS m uzeme vytvorit rez rozd elujc b eh v ypoctu na minulost a budoucnost v uci vztazn emu bodu denovan emu rezem (na ud alosti vyskytnuvs se v minulosti a na ud alosti, kter e teprve nastanou) Konzistentn rez odpovd a konzistentnmu stavu, ve kter em kazd a zpr ava prijat a v minulosti dan e konzistentnm rezem byla rovn ez v minulosti vyslan a Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 55
Probl em znalosti glob alnho stavu v DS Momentky v ypoctu podle DA v DS se mus vytv aret v konzistentnch rezech casov ych beh u proces u v DS Jestlize proces p i poslal zpr avu m ij procesu p j po zaznamen anm momentky sv eho lok alnho stavu, mus proces p j vytv aret momentku sv eho stavu pred zpracov anm m ij Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 56
Global State Recording Algorithm, GSRA V jak em stavu se se nach az syst em N proces u v DS? Dovedeme to zjistit? V distribuovan em syst emu, ve kter em neexistuje ani sdlen a pamet' ani syst emov e hodiny, je urcov an okamzit eho glob alnho stavu obtzn e resiteln e. Jestli bude nancn syst em tvoren y milionem bank, kter e si st pred avaj 1 CZK, pak prost y dotaz postupne poslan y bank am m uze zjistit, ze ve nancnm syst emu nen z adn a CZK i ze je jich tam milion Proc potrebujeme zn at glob aln stav syst emu N proces u v DS? Pro detekci konce cinnosti syst emu proces u v DS rescch distribuovanou aplikaci, pro detekci uv aznut proces u v DS sdlejcch zdroje, pri vytv aren kontrolnho bodu pro n avrat pri obnove,... Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 57
GSRA, konzistentn rez stavu, konzistentn stav Rez C je konzistentn, kdyz plat (a C) (b a) b C Zjisten y stav (snapshot) je konzistentn, pokud ho formuj ud alosti n alezejc konzistentnmu rezu Pokud C1 C2, pak je C2 novejs stav N as prakticky zajm a nejnov ejs stav Stav mus b yt zjistiteln y,,za pochodu", neinvazivn e Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 58
Algoritmus zjist en glob alnho stavu DS, Chandy & Lamport Model DS je tvoren y N procesy Procesy a komunikacn kan aly nevypad avaj, kazd a vyslan a zpr ava doraz k prjemci neporusen a a pr ave jednou Komunikacn kan aly jsou jednosm ern e, pracuj v rezimu FIFO Kazd y proces m uze komunikovat s kazd ym procesem, graf ste je silne souvisl y Zjist'ov an glob alnho stavu m uze spustit kter ykoliv proces kdykoliv Zjist'ov an glob alnho stavu nenarusuje b eh proces u z pohledu aplikace Kazd y proces je schopn y zaznamenat sv uj stav a stav kazd eho sv eho vstupnho kan alu (co mu prislo a dosud zpracoval) pokud proces p i poslal zpr avu m ij procesu p j a p j ji dosud neprevzal, pak m ij n alez stavu vstupnho kan alu p i p j (takov a zpr ava je napr. prijata sluzbou OS, ale dosud nebyla dorucena sluzbou middleware aplikacnmu procesu) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 59
Algoritmus urcen glob alnho stavu DS, Chandy & Lamport Proces iniciujc zjist en glob alnho stavu { inici ator zaznamen a momentku sv eho lok alnho stavu a posle rdic zpr avu, marker, po sv ych v ystupnch kan alech vsem sv ym soused um v DS Kdyz marker zsk a proces, kter y dosud nevypracoval momentku sv eho lok aln stavu zaznamen a momentku sv eho lok alnho stavu a posle ji inici atorovi vstupn kan al ze kter eho zskal marker oznac jako pr azdn y a posle marker sv ym soused um sv ymi v ystupnmi kan aly Kdyz marker zsk a proces, kter y uz vypracoval momentku sv eho lok aln stavu zaznamen a stav vstupnho kan alu, ze kter eho drve zskal marker stav = vsechny zpr avy od poslednho z aznamu sv eho stavu do prijet markeru a posle ho inici atorovi Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 60
Algoritmus urcen glob alnho stavu DS, Chandy & Lamport Inici ator sestav glob aln momentku stavu DS jakmile zn a lok aln momentky stav u vsech proces u a zpr avy, kter e byly ulozeny,,v etéru", nezpracovan e, v kan alech Kan aly jsou FIFO, glob aln momentka je smyslupln a Marker v kan alech oddeluje zpr avy na ty, kter e jsou zahrnut e do momentky lok alnho stavu od tech, kter e do nej zahrnovan e nejsou Slozitost algoritmu odpovd a zasl an O(e) zpr av a O(d) casu, kde e je pocet hran v grafu ste a d je pr umer ste Algoritmus je uzitecn y pro detekci platnosti stabiln podmnky (ukoncen, uv aznut,... ) Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 61
GSRA, prklad aplikace algoritmu Chandy{Lamport Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 62
GSRA, prklad aplikace algoritmu Chandy{Lamport Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 63
GSRA, prklad aplikace algoritmu Chandy{Lamport Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 64
GSRA, prklad aplikace algoritmu Chandy{Lamport Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 65
GSRA, prklad aplikace algoritmu Chandy{Lamport Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 66
GSRA, prklad aplikace algoritmu Chandy{Lamport Jan Staudek, FI MU Brno PA150 { Cas a stav v distribuovan em prostred 67