Volba v udce, Leader Election

Podobné dokumenty
Volba v udce, Leader Election

Distribuovan e algoritmy

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Projekt implementace ISMS Dodatek 1, PDCA

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Prklad dokumentov e z akladny ISMS

Distribuovan e prostred, cas a stav v distribuovan em prostred

Distribuovan e prostred, cas a stav v distribuovan em prostred

Obnova transakc po v ypadku

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

Obnova transakc po v ypadku

GPDR, General Data Protection Regulation

Spr ava hlavn pam eti

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Projekt implementace ISMS

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Distribuované algoritmy - přehled. Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.

Spr ava hlavn pam eti

Transakce, soub eznost a uv aznut v distribuovan em prostred

Poctacov e syst emy { prehled

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Podsyst em vstupu a v ystupu

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Hierarchick e indexy, B / B+ stromy, tries

Hierarchick e indexy, B / B+ stromy, tries

Hierarchick e indexy, B / B+ stromy, tries

Hasov an (hashing) na vn ejsch pam etech

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Bezs n urov a telefonie, DECT

Distribuované algoritmy

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Vzájemné vyloučení procesů

Politika informacn bezpecnosti

Projekt implementace ISMS

Politika informacn bezpecnosti, Dodatek

Sign aly. Data a sign aly. PV 169 Z aklady prenosu dat. Sign al, elektromagnetick y sign al. (Elektromagnetick y) sign al

Operacn syst emy { prehled

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Dijkstrův algoritmus

Politika informacn bezpecnosti, Dodatek

Soubor, souborov e organizace

Sign aly. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Národ í katalog otevře ých dat veřej é správy

Krit eria hodnocen informacn bezpecnosti, dodatek

X u zs speci kace { v etev matematiky zabyvaj. Verze : jaro 2018 Jan Staudek, FI MU Brno. X late Middle English

Operacn syst emy { prehled


Principy počítačů I Propojovací systémy



Rzen reakc na bezpecnostn incidenty

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.

Typologie, funkcn skladby a architektury OS

Zotavení z chyb. Databázové systémy

Wireless MAN, WiMax,

Manuál administrátora FMS...2

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Wireless Sensor Networks, ZigBee

Podsyst em vstupu a v ystupu

PDV /2018 Detekce selhání

Verejn e mobiln st e, LTE

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat.

ě ě ú ě ý ě ý ů ý ý č ě ý ú ů ě ů ý č ě ú ě č ě ů ý ů č č ě ěž ý č ý ů č ý Ž ěž ů ý čí ú ěž ý Ž ý ů ů ý š č ý ě úč č ů č č ů ů č ů ý č ů ů š ú Ž ú čň

Počítačové sítě I. 4. Fyzická vrstva sítí. Miroslav Spousta, 2004

Soubor, souborov e organizace

Digit aln vysl an. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Základní datové struktury III: Stromy, haldy

Semestrální práce Testování uživatelského rozhraní

í á Č é ě á í Ž ý ů ě ú á č ž Č ží á ý á ě ý ý ý á ů ý ě á š š ď í ě í ž í í ří šč ě ý ý š é í é í ý ý ř ů ý ý áží ů í ý ě ší íš ž Č ý í á ý í ř í ě é

Pl anu zachov an kontinuity podnik an,

PB153 Operační systémy a jejich rozhraní

Výpočet globálního stavu

á Ť ě é á é ě é čá í Ť í á č á á í Ť é š á Í á č ě á í á é í é é í Ť ě ě é Ť ě Ě š á ě ž č č é á š é Ž Ó ě Ť í č é ě í é č Ť é ž Ť í é í č Ď ě š ě ě š


á á ě š ě Š á ě á č ě š š ě ž á áž ě á Ť Ť ě ě á š á č ř á ž š Ž š ě Ť á á á á ě Š ěčá ě á ž ž Ť š á ě ě Š Ť ě č ě Í ť á ě š č á á č áť á č č ě á ě š

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Data a sign aly. Data a sign aly. PV 169 Z aklady prenosu dat. Sign al, elektromagnetick y sign al

Prklady opatren, zranitelnost a hrozeb

Lokální počítačové sítě


ť ě Ť ř ť ý ů ý ř ř ě ě ř ě ž ů ě ě ě ý ú ň š Č ř ě ř ž ě Ř š ů ž ů ř ž ČÍ š Š ě ž ř ž ř ý ř ě ř ř Ů ě š ž ř Č ů ě ř ř ž ý ř š ý ě ů ě ě š ř ě ř ž ě ý

Digit aln vysl an. K odov an spoje. PV 169 Z aklady prenosu dat. Prvek sign alu, prvek dat, stupe n sign alu. Stupe n dat, baudov a / bitov a rychlost

Komunikace a synchronizace proces u

Typologie, funkcn skladby a architektury OS

8. Geometrie vrací úder (sepsal Pavel Klavík)

TOPOLOGIE DATOVÝCH SÍTÍ

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

ý Č á ý á č ář ý ý ů á ě ě ě ů á žš řá řá šš á ř ř ž šš řá ůž ý á č Ž á ě žš řá č ý ž ě ě á ý á ř ž ř Í ř á ý á á žš Ťá ř ý á ý žš řá ář ý á ý ý á ář

Transkript:

Volebn probl em { Kdy a proc se vol vedouc uzel? Volba v udce, Leader Election PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 Existuje potreba spustit nov y centr aln proces napr. koordin atora vz ajemn eho vyloucen ci transakc, resp. nov y centr aln casov y server, resp. ztratil se token a jedin y uzel mus vygenerovat nov y token, resp. hled a se kostra grafu, ve kter e m a b yt v udce koren (stromu) Programov an distribuovan ych aplikac je typicky jednoduss v prostred typu master/slave, (tj. 1/n proces u), napr. { rozesl an zpr av ke vsem uzl um po kostre grafu organizovan e z korene { koordinace distribuovan ych transakc Roli vedoucho objektu vyzaduje rada spr av v yjimek, napr. { odstranen uv aznut, generov an tokenu (peska) Dynamick e urcov an vedoucho uzlu m a radu prednost, napr. { nevad v ypadek centr alnho uzlu { koordin atora { mnozina cinn ych proces u, ze kter ych se vol, nemus b yt statick a Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 1 Volebn probl em Volebn probl em Denice probl emu kazd y v ypocet podle volebnho algoritmu ve skupine proces u v DS mus v konecn em case koncit kongurac, ve kter e je jeden jedin y uzel v roli v udce (leader, master,... ) Skupina proces u v DS je skupinou anonymnch proces u pokud procesy ve skupin e nemaj jedinecn e id Skupina proces u v DS je skupinou neanonymnch proces u pokud procesy ve skupine maj jedinecn e id Kazd y proces ve skupine proces u se dobe sv e existence nach az v jednom ze tr stav u: nerozhodnut y, ve skupine proces u bez volba v udce, volba ve skupine proces u skoncila nen v udce, volba ve skupine proces u skoncila Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 2 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 3

Volebn probl em Volebn probl em Algoritmus volby je { uniformn pokud procesy neznaj pocet proces u ve skupine proces u { neuniformn pokud procesy znaj pocet proces u ve skupine proces u Uniformn algoritmus stejn y algoritmus pro jak ykoliv rozmer skupiny kazd y proces v kazd em rozmeru skupiny je modelovan y stejn ym stavov ym strojem Neuniformn algoritmus algoritmy pro r uzn e rozmery skupiny se lis pro kazd e n kazd y proces ve skupine rozmeru n je modelovan y stejn ym stavov ym strojem A n Resen volby v udce ve skupine anonymnch proces u neexistuje nelze splnit podmnku bezpecnosti v kazd em kroku volby vsichni dost avaj shodn e zpr avy, kazd y se m uze prohl asit za v udce Specikace algoritmu pro skupinu neanonymnch proces u procesy maj jedinecn y id z tot alne uspor adan e mnoziny vsechny uzly res stejn y lok aln algoritmus algoritmus volby v udce je decentralizovan y algoritmus, inici atorem m uze b yt kter ykoliv proces DS, algoritmus m uze iniciovat vce inici ator u soubezne algoritmus v kazd em proveden dos ahne termin aln konguraci, ve kter e je ve skupine proces u DS jedin y proces (uzel, komponenta) ve stavu v udce Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 4 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 5 Volba, volebn b eh, ucastnk volby Volba, volebn b eh, ucastnk volby M ejme skupinu neanonymnch proces u, ve kter e je jeden proces v udce, ostatn procesy nejsou v udci Roli v udce prebral proces, kter y byl vt ez proveden volby Proces, kter y spoust jeden konkr etn b eh volebnho algoritmu, vyvol av a volebn b eh, je iniciátorem Kazd y proces m uze najednou vyvolat pouze jeden volebn b eh v prostred N proces u se m uze soucasne odehr avat v r amci jedn e volby az N volebnch beh u Kazd y proces m a pr avo i povinnost volit Volba konc ukoncenm vsech volebnch b eh u aktivovan ych v aktivovan e volb e Kazd y proces m uze b yt v dobe resen algoritmu ucastnk volby (participant), pak participuje alespo n v jednom volebnm behu, do ukoncen volby je ve stavu nerozhodnut y,,ne ucastnk" volby (non-participant), pak neparticipuje v z adn em volebnm behu jeho stav nen denovan y Po ukoncen volby se kazd y uzel nach az v jednom ze 2 stav u v udce, vedouc uzel, vtez volby (master, elected, winner) nebo nen v udce, je podrzen y uzel (not-elected, slave, loser) roli v udce (master) zsk a po ukoncen volebnho behu jedin y uzel Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 6 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 7

Volebn algoritmus, vlastnosti Volebn algoritmus, vlastnosti v yb er zvolen eho procesu (master) mus b yt jednoznacn y, i kdyz se realizuje vce volebnch beh u soubezne Bez omezen obecnosti lze zav est podmnku vtezn e volby { vol se proces s nejvyss prioritou, s nejvetsm id,... priorita m uze b yt i strukturovan a { napr. chceme-li zvolit pro roli master proces bezc na procesoru s nejmens pr umernou v ypocetn z atez, jako id procesoru zavedeme hodnotu {1/load, i}, kde load>0 je % doby procesoru venovan e aplikacnm proces um a i je jedinecn y index procesoru pro odlisen procesor u se stejnou z atez Kazd y proces P i si udrzuje promennou elected i inici alne obsahuje pr azdnou hodnotu ( ) po ukoncen volebnho algoritmu obsahuje id zvolen eho procesu Vsechny procesy maj denovanou prioritu procesy znaj sk alu hodnot priorit kazd y proces zn a svoji prioritu Ilustrace akcent u spust en volebnho b ehu proces P i posle koordin atorovi zpr avu a nedostane do doby T odpoved' (napr. nedostane casov e raztko od casov eho serveru) proces P i nedostane do doby T token,... Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 8 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 9 Volebn algoritmus, podmnky resen Studovan e volebn algoritmy bezpecnostn podmnka resen volebnho algoritmu rozhodnut uzlu b yt vedoucm (zvolen ym) procesem je zvolen ym procesem nezmeniteln e vedoucm procesem je nejv yse jeden proces, je jm bezc proces s nejvyss prioritou, P max (s nejvetsm id,... ) kazd y ucastnk volby m a elected i = nebo elected i = id s P max podmnka zivosti resen volebnho algoritmu na volbe participuj vsechny uzly a nakonec vsechny uzly nastav elected i Ring algorithm { volba sm erovan a po komunikacnm kruhu (LeLann, 1977) Ring algorithm { volba sm erovan a po komunikacnm kruhu (Chang, Roberts, 1979) Ring algorithm { volba sm erovan a po komunikacnm kruhu (Hirschberg-Sinclair, 1980) Bully algorithm { volba v obecn e topologii (Garcia-Molina, 1982) jeden z uzl u se nakonec stane vedouc uzel dokud se proces nestane ucastnkem volby, m uze mt elected i nastaveno na id procesu zvolen eho v predesl e volbe Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 10 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 11

Volebn algoritmus, Ring algorithm { LeLann, 1977 Volebn algoritmus, Ring algorithm { LeLann, 1977 Kazd y proces posl a sv uj ID po kruhu. Kruh je jednosmern y, kazd y proces m a jednoho souseda, komunikace je ve FIFO rezimu Z prich azejcch zpr av si uzel postupne zapamatov av a ID ostatnch proces u a tyto zpr avy preposl a d al po kruhu. Jakmile zsk a zpr avu se sv ym ID, zn a ID vsech proces u na kruhu a ze seznamu ID zjist'uje kdo bude v udce (nejmens/nejvets ID,... ) Kazd y proces si v pr ubehu algoritmu volby vypracov av a seznam aktivnch proces u s jejich prioritami Po ukoncen volby kazd y proces v seznamu rozpozn a s efa Necht' proces P i detekuje v ypadek s efa, pak jeho dals kroky inicializuj volebn b eh: P i si vytvor nov y, poc atecne pr azdn y, seznam aktivnch proces u, P i posl a sv emu (prav emu) sousedovi volc zpr avu elect(i) a do sv eho seznamu aktivnch proces u zapisuje i... Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 12 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 13 Volebn algoritmus, Ring algorithm { LeLann, 1977 Volebn algoritmus, Ring algorithm { LeLann, 1977 Necht' proces P i dostane zpr avu elect(j) od lev eho souseda P j, pak reaguje jednm z n asledujc postup u: Zpr ava elect(j) je prvn ze zpr av elect, kter e P i dostal: Proces P i se st av a ucastnkem volby a i) vytvor si nov y seznamu aktivnch proces u, poc atecne pr azdn y, a zapse do nej i a j ii) a posle zpr avy elect(j) a elect(i) sv emu prav emu sousedovi Zpr ava elect(j) nen prvn ze zpr av elect, a pritom plat i j: Proces P i je jiz ucastnkem volby a i) do sv eho seznamu aktivnch proces u prid a j a ii) preposle elect(j) sv emu prav emu sousedovi Zpr ava elect(j) nen prvn ze zpr av elect, a pritom plat i = j: proces P i drz seznam aktivnch proces u, kter y obsahuje priority vsech proces u v syst emu a P i si m uze zjistit kdo bude v dalsm obdob koordin ator a z adnou zpr avu d al neposl a Nastav si svoji promennou elected i = id na P max Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 14 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 15

Volebn algoritmus, Ring algorithm { LeLann, 1977 Algoritmus m a kvadratickou komunikacn slozitost, kazd y proces z N proces u zp usob generov an N zpr av Algoritmus je uniformn,decentralizovan y, asynchronn Obnoven y proces po v ypadku nemus spoust et volebn b eh, m uze id koordin atora zjistit napr. dotazem poslan ym po kruhu N asledujc algoritmus, Chang, Roberts, vylepsuje LeLan uv algoritmus tm, ze odstra nuje z kruhu volebn b ehy proces u o kter ych je jasn e, ze nebudou zvoleni Volebn algoritmus, Ring algorithm { volba po kruhu Chang, Roberts, 1979 N proces u, kazd y proces P i m a denovan y komunikacn kan al ke sv emu n aslednkovi P (i+1)mod N kazd y proces si uchov av a id master v elected i elected i obsahuje id procesu s maxim aln prioritou nebo kazd y proces je ve stavu participant ( ucastnk) nebo non-participant volby inici aln e nen z adn y proces ucastnkem volby proces P i zahajujc sv uj volebn beh se oznac za ucastnka volby a posle volc zpr avu election(p i ) sv emu (lev emu) sousedovi Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 16 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 17 Volebn algoritmus, Ring algorithm { Chang, Roberts Uzel P i+1 po zsk an zpr avy election(p i ) od sv eho prav eho souseda reaguje n asledovn e P i > P i+1 : P i P i P i+1 preposle election(p i ) sv emu lev emu sousedovi, bez volebn beh P i < P i+1 a P i+1 nen ucastnk volby: P i+1 posle election(p i+1 ) sv emu lev emu sousedovi, startuje sv uj volebn beh, oznac se za ucastnka volby < P i+1 a P i+1 je ucastnk volby: prijatou zpr avu nepreposl a, jeho volebn beh jiz bez volebn beh P i rus P i = P i+1 : P i+1 zskal volc zpr avu, kterou on vyslal, prepne se do stavu vedouc uzel a oznac se za ne ucastnka volby a posle po kruhu ukoncovac zpr avu elected(p i ) oznamujc identitu vedoucho uzlu Volebn algoritmus, Ring algorithm { Chang, Roberts Uzel P i po zsk an zpr avy elected(p j ) od sv eho prav eho souseda reaguje n asledovn e oznac se za ne- ucastnka volby poznac si identikaci nov eho vedoucho uzlu a pokud nen nov ym koordin atorem, zpr avu elected(p j ) preposle sv emu lev emu sousedovi sledov an stav u ucastnk / ne- ucastnk co nejdrve likviduje zbytecn e n asobn e volc behy, vzdy drve nez se ozn am v ysledek vtezn e volby v ypadek uzlu znamen a v ypadek cel e ulohy, v praxi by se musela vyvol avat rekonstrukce kruhu Komunikacn kan aly mus dodrzovat FIFO porad prenosu zpr av Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 18 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 19

Volebn algoritmus, Ring algorithm { Chang, Roberts Volebn algoritmus, Ring algorithm { Chang, Roberts spr avnost algoritmu, spln en podmnky bezpecnosti pouze uzel P j s maxim aln hodnotou P j zsk a od sv eho prav eho souseda ukoncovac zpr avu a vstoup do stavu vedouc uzel uzly P i P j, kde P j je maxim aln hodnota identikace, nikdy nevstoup do stavu vedouc uzel Jestlize volbu spust jedin y proces, pak v nejhorsm prpad e (proces s nejvyss id je jeho prav y soused), algoritmus generuje 3N 1 zpr av beh volebnho algoritmu se spoust dvakr at, druh y se ukonc volbou druh y beh se spoust po pred an prvnch N 1 zpr av election druh y beh zp usob pred an dalsch N zpr av election zvolen y uzel zp usob vysl an N zpr av elected Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 20 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 21 Volebn algoritmus, Ring algorithm { Chang, Roberts Volebn algoritmus, Ring algorithm { Chang, Roberts Komunikacn slozitost algoritmu spust en eho soub ezn e vsemi potenci alnmi inici atory je O(N 2 ), casov a slozitost je O(N) Algoritmus je asynchronn a uniformn a decentralizovan y Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 22 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 23

Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosa zen shody v distribuovanem prost red Volebn algoritmus, Ring algorithm { Chang, Roberts 24 Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosa zen shody v distribuovanem prost red 25 Volebn algoritmus, Ring algorithm { Chang, Roberts X plus 5 zprav oznamuj c ch c slo zvoleneho uzlu, 5, tak ze 20 zprav X (n + (n 1) +... + 1) + n = n(n + 1)/2 + n, slo zitost O(n2) X 5(5 + 1)/2 + 5 = 30/2 + 5 = 20 Jan Staudek, FI MU Brno PA150 { Koordinace a dosa zen shody v distribuovanem prost red 26 Jan Staudek, FI MU Brno PA150 { Koordinace a dosa zen shody v distribuovanem prost red 27

Volba v udce, Ring algorithm, snzen komunikacn slozitosti Volba v udce, Ring algorithm, snzen komunikacn slozitosti Lze snzit komunikacn slozitost pod O(n 2 )? Zkusme srit zpr avy s mensm ID na mens vzd alenost po kruhu Uk azeme, ze lze dos ahnout komunikacn slozitost O(n. log n) v nejhorsm prpade uspor ad an uzl u na kruhu Za cenu pouzit komplikovanejsho algoritmu Kazd y proces bude postupne zkoumat vzd alenejs a vzd alenejs sousedy v obou smerech na kruhu V kazd e f azi zkoum an zdvojn asob vzd alenost zkoum an Jestlize jeho sonda dos ahne proces s v etsm ID, zkoum an se zastav Jakmile sonda dos ahne clen eho souseda, vrac se odpov ed' inici atorovi Jestlize inici ator dostane odpoved' z obou smer u, prejde do dals f aze Jakmile proces zsk a sondu se sv ym ID, vol se za v udce Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 28 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 29 Volba v udce, Ring algorithm, snzen komunikacn slozitosti Volba v udce, Ring algorithm, snzen komunikacn slozitosti Ve f azi k = 0 m uze zah ajit zkoum an kazd y proces Ve f azi k > 0 m uze zah ajit zkoum an kazd y vtez f aze f aze k 1 vtez m a nejvets ID pri zkoum an do vzd alenosti 2 k 1 Maxim aln pocet vtez u f aze k 1 nastane pokud jsou naskl adan tak huste, jak je to mozn e kazd a zpr ava n alez konkr etn f azi a m a sv eho inici atora D elka pr uzkumu ve f azi k je 2 k v kazd e f azi se prenese az 4 2 k zpr av ve f azi k 1 bude nejv yse n/(2 k 1 + 1) vtez u v kazd e f azi se mozn y pocet vtez u snizuje cca na polovinu od n/(2 k 1 + 1) do n/(2 k + 1) Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 30 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 31

Volba v udce, Ring algorithm, snzen komunikacn slozitosti Celkov y pocet zpr av je sumou pres vsechny f aze poct u vtez u v techto f azch kr at pocty zpr av zahajovan ych temito vtezi r. 1980, topologie { obousm ern y (neorientovan y) kruh Inici ator v jednotliv ych f azch r = 0, 1, 2,... posl a svoji identitu obema smery do vzd alenosti 2 r vlnou nesouc pr uzkumnou zpr avu (jsem p i, m am nejvyss prioritu?) ocek av a jej pozitivn potvrzen po odrazu v poslednm z vlnou osloven ych uzl u Identity cestujc po kruhu jsou likvidovan e stejn e jako v algoritmu Chang-Roberts Proces p i je vtez ve f azi r = 0, 1,... pokud m a nejvyss id ze vsech proces u, kter e jsou od neho vzd alen e az 2 r skok u Do f aze r + 1 vstupuj pouze vtezov e f aze r Ostatn procesy pouze pren asej zpr avy mezi sousedy Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 32 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 33 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 34 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 35

Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 36 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 37 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 38 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 39

Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 40 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 41 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 42 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 43

n uzl u, O(log n) f az D elka zkoum an ve f azi k je 2 k Pocet zpr av souvisejcch s jednm docasn e vedoucm procesem ve f azi k je nejv yse 4 2 k ve f azch 0, 1,..., i,..., log n to jsou pocty zpr av 4, 8,..., 2 i+1,... 2 log n+1 a pocty docasn ych vtez u n, n/2,..., n/2 i log n 1,..., n/2 zatmco ve f azi 0 kazd y z n inici ator u generuje vysl an 4 zpr av ve f azi 1 kazd y z n/2 inici ator u generuje po 8 zpr av ach atd Slozitost z hlediska poctu zpr av je tudz O(n.log n) Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 44 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 45 Volebn algoritmus, Bully algorithm Bully { tyran, osoba, kter a obvykle otravuje a zastrasuje mens nebo slabs lidi { proces s nejvyss prioritou vynucujc si v udcovskou roli Pouziteln y v prpadech, ve kter ych { proces m uze poslat zpr avu kazd emu z ostatnch proces u v denovan e mnozine proces u { se mohou vyskytovat v ypadky uzl u (proces u) { komunikacn syst em je spolehliv y, zpr avy se neztr ac V ypadek uzlu se pozn a uplynutm casov eho intervalu (timeout) Volebn algoritmus, Bully algorithm Kdyz se proces rozhodne volit, zvol sebe a zasle o tom zpr avu vsem proces um s vyss prioritou, spoust sv uj volebn b eh Kdyz proces prijme zpr avu o volebnm b ehu jin eho procesu, m a urcit e vyss prioritu,vr at mu zp et zamtavou odpov ed' a s am spoust sv uj volebn beh { vysle z adosti vsem prioritn ejsm proces um Kdyz procesu dostane zamtavou odpov ed', existuje proces s vyss prioritou a proces se sv uj volebn beh konc Kdyz proces nedostane zamtavou odpov ed', volbu vyhr al, je nov ym master procesem a posle o tom zpr avu vsem ostatnm proces um Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 46 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 47

Volebn algoritmus, Bully algorithm Proces P i, kter y rozpozn a v ypadek s efa { tyrana, se pokous prohl asit za nov eho s efa sebe spustenm volebnho behu zjist'uje, zda on m a ze vsech pr ave cinn ych proces u nejvyss prioritu, (mus tudz vsechny kooperujc procesy zn at) nem a-li nejvyss prioritu, d a spustenm volebnho behu podnet k volebn aktivite pr ave cinn ym proces um s vyss prioritou Pokud obnov sv uj beh vypadl y proces, spoust okamzit e sv uj volebn b eh Pokud nen aktivn z adn y proces s vyss prioritou nez je jeho priorita, prebere tak roli s efa a vsichni se o tom dozv nebo se dozv, kdo je s efem Algoritmus Volebn algoritmus, Bully algorithm P i zjistil necinnost dosavadnho s efa P i posle volc zpr avu { election(p i ) vsem proces um s vyssm prioritnm cslem nez m a on, kterou spoust nov y volebn beh P i se pokous prohl asit sebe za s efa P i cek a dobu T na obdrzen odpoved s odmtnutm t eto volby od proces u s vyss prioritou, reject Pokud inici ator volby P i nedostane do doby T z adn e odmtnut volby { nen aktivn z adn y proces s vyss prioritou nez je priorita P i a { P i se zpr avou coordinator(p i ), zaslanou vsem proces um, prohlasuje za s efa... Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 48 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 49 Volebn algoritmus, Bully algorithm Volebn algoritmus, Bully algorithm Pokud inici ator volby P i dostane do doby T odmtnut volby, reject { je aktivn proces s vyss prioritou nez i, napr. j a { P i cek a dobu T 1 na obdrzen zpr avy od P j, ze pro dals obdob bude roli s efa vykon avat P j, coordinator(p j ) Pokud inici ator P i nedostane do doby T 1 zpr avu od P j, ze P j prebr a roli s efa, { P i startuje sv uj volebn beh znovu (P j mezitm vypadl) Pokud P i nen s ef, m uze kdykoliv dostat od jin eho procesu P j jednu ze dvou zpr av coordinator(p j ) nebo election(p j ) coordinator(p j ) a j > i, pak plat, ze { P j je nov y koordin ator, P i si to zapamatuje v promenn e elected coordinator(p j ) a j < i, pak plat, ze { P i byl v dobe volby vypadl y a uz obnovil svoji cinnost, ale jeste nespustil volebn beh a proto spoust volebn beh election(p j ) a j < i, pak P j startoval volebn beh nepr avem, P i posle P j odpoved' reject a zahajuje algoritmus sv e vlastn volby, pokud tak dosud neucinil election(p j ) a j > i, pak cek a na zpr avu coordinator(p j ) a pokud ji do timeoutu nezsk a, spoust volebn beh Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 50 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 51

Volebn algoritmus, Bully algorithm Volebn algoritmus, Bully algorithm Slozitost Bully algoritmu O(N 2 ) zpr av v nejhorsm prpade tj. kdyz volbu zah aj proces s nejnizs identikac, pak postupne zahajuje volbu N 1 proces u rozesl anm az N 1 zpr av Slozitost Bully algoritmu O(N 2 ) zpr av v nejhorsm prpade tj. kdyz volbu zah aj proces s nejnizs identikac, pak postupne zahajuje volbu N 1 proces u rozesl anm az N 1 zpr av Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 52 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 53 Volebn algoritmus, Bully algorithm 1. 4 aktivn procesy, P 1,...,4, P 4 je koordin ator 2. P 1 a P 4 vypadnou. P 2 nedostane do doby T odpoved' od P 4 a posle proto P 3 svou volc zpr avu 3. P 3 odpov P 2 odmtnutm a zasle svou volc zpr avu P 4 4. P 2 dostane odmtnut sv e volby od P 3 a po dobu T 1 cek a na potvrzen, ze P 3 je koordin ator 5. P 4 mlc, je st ale vypadl y, do doby T neodmtne P 3 a P 3 se prohl as za koordin atora a vsem to sdel 6. Pozdeji, kdyz se P 1 obnov, zasle svou volc zpr avu P 2, P 3 a P 4 7. P 2 a P 3 odpov odmtnutm P 1 a spust svoje volby a P 3 se opet stejn ym postupem zvol za koordin atora 8. Az se obnov P 4 sdel to P 1, P 2 a P 3, volbu nezahajuje, nezn a proces vyss prority Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovanem prostred 54