Distribuovan e algoritmy PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018
Distribuovan y syst em, distribuovan y algoritmus Distribuovan y syst em, DS mnozina autonomnch v ypocetnch komponent (jednotek, procesor u, zarzen,... 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 { Distribuovan e algoritmy 1
Slozitost DA Jeden a tent yz probl em lze obvykle resit vce r uzn ymi zp usoby a je z adouc mt moznost m erit efektivitu konkr etnch resen z hlediska potrebn ych zdroj u pro jejich realizaci podle vhodn ych krit eri Urcite maj v yznam sekvencn (lok aln) doby v ypoct u a (lok aln) n aroky na pamet' Pro DA jsou vsak charakteristict ejs mry vyjadrujc komunikacn slozitost glob aln n aroky na pamet' v cel em DS Tyto mry jsou zalozen e na podobn ych procedur ach pro v ypocet slozitosti sekvencnch syst em u a jsou pom ern e siroce standardizovan e Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 2
Slozitost DA Komunikacn slozitost, C Message Complexity, slozitost v ym eny zpr av Bit Complexity, bitov a slozitost Casov a slozitost, T Doba vnitrnho, lok alnho zpracov an Zpozd en dan e prenosy zpr av Pam et'ov a slozitost, M Mnozstv pam eti potrebn e pro realizaci v ypoctu DA Tot aln pamet'ov e n arokyv r amci cel eho DS Maxim aln pamet'ov e n aroky v jedn e komponente DS Redundance a vyv azenost v komponent ach DS Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 3
Komunikacn slozitost DA Message Complexity, slozitost v ym eny zpr av Celkov y pocet zpr av vymenen ych distribuovan ym algoritmem Bit Complexity, bitov a slozitost Pocet bit u (mnozstv informace) pren asen ych DA Pri v ykladu pouzv ame slozitost v ymeny zpr av, ponevadz v nasich DA je komunikace vyjadrovan a v pojmech abstraktnch zpr av vym e novan ych mezi komponentami Velikost t eto mry je typicky dan a poctem komunikacnch ud alost (vysl an/prjem zpr avy) Kazd a zpr ava m uze pren aset jak ykoliv datov y prvek, tj. pam et'ov e kapacity komunikacnch kan al u mohou b yt libovolne velik e Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 4
Casov a slozitost DA Kolik casov ych jednotek uplyne od startu do ukoncen DA Dobu vnitrnho, lok alnho zpracov an zanedb av ame Casov a slozitost pri synchronnm pl anov an casov a slozitost je dan a poctem synchronnch b eh u do ukoncen DA Casov a slozitost pri asynchronnm pl anov an Pouzvaj se idealizovan e normalizacn predpoklady: { cas vnitrnho, lok alnho zpracov an je zanedbateln y, kazd a komponenta m uze prov est libovoln y konecn y v ypocet v nulov e case { maxim aln prenosov e zpozden trv a nejv yse 1 casovou jednotku Casov a slozitost je dan a celkov ym normalizovan ym casem proveden Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 5
Pam et'ov a slozitost DA Tot aln pamet'ov e n aroky v r amci cel eho DS Maxim aln pamet'ov e n aroky v jedn e komponente DS Redundance pocet kopi datov eho elementu udrzovan eho v DS DS je kompaktn, pokud je minim aln i maxim aln redundance vsech datov ych element u je shodn a Vyv azenost DA m a vyv azen e pozadavky na pamet', pokud je maxim aln pamet'ov a slozitost komponenty DS um ern a pomeru poctu datov ych element u DA (m) a poctu komponent DS (n) DA m a perfektne vyv azen e pozadavky na pamet', pokud je maxim aln pam et'ov a slozitost komponenty = m/n, prp. m/n + 1 Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 6
Distribuovan e prostred predn asky libovoln y lok aln OS + rozsirujc vrstva poskytujc distribuovan e prostred + dals sluzby (transakce,... ) prostred pro distribuovan e aplikace { middleware (OSF DCE, CORBA, DCOM, Globe,... ) Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 7
Distribuovan e prostred predn asky libovoln y lok aln OS + rozsirujc vrstva poskytujc distribuovan e prostred + dals sluzby (transakce,... ) prostred pro distribuovan e aplikace { middleware (OSF DCE, CORBA, DCOM, Globe,... ) Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 8
Predpoklady pro model pouzit y pri nasem studiu DA Komunikacn st' je siln e souvisl a 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 Procesy znaj pouze sv e sousedy, nikoli topologii cel eho DS Procesy maj jedinecn e identik atory (pid) Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 9
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 { Distribuovan e algoritmy 10
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 a ud alost vysl an zpr avy V procesu m uze nastat ud alost prjmu zpr avy Proces je inici ator, pokud jeho prvn ud alost je jeho vnitrn ud alost nebo ud alost 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 { Distribuovan e algoritmy 11
Pozadovan e vlastnosti distribuovan ych algoritm u Bezpecnost, Safety, Nothing bad happened yet Sledovan a podmnka: Glob aln stav DS je ve konguraci, ze kter e je norm alnmi stavov ymi prechody nedosaziteln y jist y, konkr etn nez adouc stav Cl { napr. dos ahne se vz ajemn e vyloucen kritick ych sekc proces u, zabr an se uv aznut,... 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, je invariantem. Predpoklad P je invariantem, pokud plat P (γ) pro vsechny γ I a jestlize existuje γ δ, pak plat i P (δ). Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 12
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 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 Narusen podmnky zivosti se prokazuje pouze v nekonecn em poctu krok u resen Korektn resen probl emu nenarusujc zivost je upln e, kompletn resen Podmnka zivosti mus b yt splnen a v nekter e konguraci kazd eho proveden algoritmu Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 13
Typov e synchronizacn ulohy v distribuovan em prostred Zjist en glob alnho stavu distribuovan eho syst emu viz predn aska Distribuované prostředí, čas, stav, distribuované algoritmy Vz ajemn e vyloucen kritick ych sekc kritick a sekce { pas az behu procesu (vl akna) operujc se zdrojem v case prstupn ym jedin emu procesu (vl aknu) Volebn probl em { volba rdicho (master) uzlu, volba,,ldra" v mnozin e kooperujcch proces u (vl aken) sm mt jedin y proces (jedin e vl akno) statut rdicho prvku (master) rdicm prvkem m uze b yt kter ykoliv z kooperujcch proces u (vl aken) rdici proces bude plnit roli serveru,... Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 14
Typov e synchronizacn ulohy v distribuovan em prostred Resen probl emu sd elov an zpr av vsem proces um n alezejcch do skupiny proces u, multicasting se z arukou dorucen zpr avy vsem proces um skupiny se z arukou dorucov an zpr av v denovan em porad (FIFO,... ) Probl em dosazen shody vsechny (nechybujc) procesy z mnoziny proces u poskytujcch jistou sluzbu mus deklarovat shodnou v ystupn hodnotu Prklad: Vesmrn a mise je rzena x poctaci paraleln e aby se zajistila spolehlivost rzen i v prpadech, kdy m uze dojt k selh an az y poctac u Rzen mise mus dosp et k rozhodnut: pokračovat v misi / návrat z mise na z aklad e doporucen v etsiny neselhavsch poctac u. Jak velk e mus b yt x, pokud lze kvalikovane odhadnout y? Jan Staudek, FI MU Brno PA150 { Distribuovan e algoritmy 15