Volba v udce, Leader Election

Podobné dokumenty
Volba v udce, Leader Election

Distribuovan e algoritmy

Projekt implementace ISMS Dodatek 1, PDCA

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Prklad dokumentov e z akladny ISMS

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

Distribuovan e prostred, cas a stav v distribuovan em prostred

Distribuovan e prostred, cas a stav v distribuovan em prostred

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Obnova transakc po v ypadku

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

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

Projekt implementace ISMS

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

Spr ava hlavn pam eti

Transakce, soub eznost a uv aznut v distribuovan em prostred

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

Poctacov e syst emy { prehled

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

Hasov an (hashing) na vn ejsch pam etech

Hierarchick e indexy, B / B+ stromy, tries

Podsyst em vstupu a v ystupu

Hierarchick e indexy, B / B+ stromy, tries

Hierarchick e indexy, B / B+ stromy, tries

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 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

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

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

Bezs n urov a telefonie, DECT

Distribuované algoritmy

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

Politika informacn bezpecnosti, Dodatek

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

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

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

Vzájemné vyloučení procesů

Politika informacn bezpecnosti

Projekt implementace ISMS

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

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

Operacn syst emy { prehled

Dijkstrův algoritmus

Politika informacn bezpecnosti, Dodatek

Soubor, souborov e organizace

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

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

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

Prklady opatren, zranitelnost a hrozeb

Typologie, funkcn skladby a architektury OS

Rzen reakc na bezpecnostn incidenty

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

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

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ů

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


Soubor, souborov e organizace

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

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

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

Datové struktury Úvod


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

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

Výpočet globálního stavu

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

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

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

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

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

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

Komunikace a synchronizace proces u

Typologie, funkcn skladby a architektury OS

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

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

Pl anu zachov an kontinuity podnik an,

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.

Rzen soub ezn eho prov ad en transakc

Komunikace a synchronizace proces u

Transkript:

Volba v udce, Leader Election PA 150 Principy operacnch syst em u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018

Volebn probl em { Kdy a proc se vol vedouc uzel? 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. { odstran en 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 distribuovan em prostred 1

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,... ) 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 distribuovan em prostred 2

Volebn probl em 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 3

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 rozm er 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 4

Volebn probl em 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 soub ezn e 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 distribuovan em prostred 5

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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 6

Volba, volebn b eh, ucastnk volby Kazd y proces m uze b yt v dobe resen algoritmu ucastnk volby (participant), pak participuje alespo n v jednom volebnm b ehu, 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, vt ez 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 distribuovan em prostred 7

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 vt ezn 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 b ezc na procesoru s nejmens pr um ernou v ypocetn z at ez, 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 8

Volebn algoritmus, vlastnosti Kazd y proces P i si udrzuje promennou elected i inici aln e 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 distribuovan em prostred 9

Volebn algoritmus, podmnky resen bezpecnostn podmnka resen volebnho algoritmu rozhodnut uzlu b yt vedoucm (zvolen ym) procesem je zvolen ym procesem nezm eniteln 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 volb e participuj vsechny uzly a nakonec vsechny uzly nastav elected i 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 distribuovan em prostred 10

Studovan e volebn algoritmy 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) Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 11

Volebn algoritmus, Ring algorithm { LeLann, 1977 Inici ator posl a sv uj ID po kruhu, spoust volebn beh Kruh je jednosmern y, kazd y proces m a jednoho souseda, komunikace je ve FIFO rezimu Pokud volebn b eh dos ahne uzel dosud neparticipujc na volbe, spoust volebn beh tohoto uzlu Z prich azejcch zpr av si kazd y 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,... ) Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 12

Volebn algoritmus, Ring algorithm { LeLann, 1977 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 distribuovan em prostred 13

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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 14

Volebn algoritmus, Ring algorithm { LeLann, 1977 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 distribuovan em 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 16

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 distribuovan em prostred 17

Volebn algoritmus, Ring algorithm { Chang, Roberts Uzel P j po zsk an zpr avy election(p i ) od sv eho prav eho souseda reaguje n asledovn e P i > P j : P i P i P j preposle election(p i ) sv emu lev emu sousedovi, bez volebn beh P i < P j a P j dosud nen ucastnk volby: P j posle election(p j ) sv emu lev emu sousedovi, startuje sv uj volebn b eh, oznac se za ucastnka volby < P j a P j je ucastnk volby: P j prijatou zpr avu nepreposl a, jeho volebn beh jiz bez volebn beh P i rus P i = P j : P j 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 18

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 distribuovan em prostred 19

Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 20

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 b eh 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 distribuovan em prostred 21

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 distribuovan em prostred 22

Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 23

Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 24

Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 25

Volebn algoritmus, Ring algorithm { Chang, Roberts Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 26

Volebn algoritmus, Ring algorithm { Chang, Roberts plus 5 zpr av oznamujcch cslo zvolen eho uzlu, 5, takze 20 zpr av (n + (n 1) +... + 1) + n = n(n + 1)/2 + n, slozitost O(n 2 ) 5(5 + 1)/2 + 5 = 30/2 + 5 = 20 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 27

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 komplikovan ejsho algoritmu Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 28

Volba v udce, Ring algorithm, snzen komunikacn slozitosti 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 distribuovan em prostred 29

Volba v udce, Ring algorithm, snzen komunikacn slozitosti 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 30

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 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 distribuovan em 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 32

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair 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 distribuovan em prostred 33

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 34

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 35

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 36

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 37

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 38

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 39

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 40

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 41

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 42

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 43

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 44

Volebn algoritmus, Ring algorithm { Hirschberg-Sinclair 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 distribuovan em 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) Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 46

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 distribuovan em 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 spust enm volebnho b ehu 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 spust enm volebnho b ehu podn et 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 Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 48

Volebn algoritmus, Bully algorithm Algoritmus 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 b eh 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 distribuovan em prostred 49

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) Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 50

Volebn algoritmus, Bully algorithm 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 distribuovan em prostred 51

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 postupn e zahajuje volbu N 1 proces u rozesl anm az N 1 zpr av Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em prostred 52

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 postupn e zahajuje volbu N 1 proces u rozesl anm az N 1 zpr av Jan Staudek, FI MU Brno PA150 { Koordinace a dosazen shody v distribuovan em 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 distribuovan em prostred 54