Yleinen paikallinen vakautuva synkronointialgoritmi

Samankaltaiset tiedostot
Yleinen vakautuva paikallinen synkronointialgoritmi

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Tehtävä 4 : 2. b a+1 (mod 3)

isomeerejä yhteensä yhdeksän kappaletta.

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Algoritmi on periaatteellisella tasolla seuraava:

Hajautetut algoritmit. seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (lauselogiikka )

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Näin ollen saadaan tulos rad(g) diam(g). Toisaalta huomataan, että verkon G kaikilla solmuilla x ja y pätee kolmioepäyhtälön nojalla havainto

Konsensusongelma hajautetuissa järjestelmissä

Johdatus graafiteoriaan

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Stabilointi. Marja Hassinen. p.1/48

Algoritmit 1. Luento 13 Ti Timo Männikkö

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Tehtävä 8 : 1. Tehtävä 8 : 2

Epälineaaristen yhtälöiden ratkaisumenetelmät

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Shorin algoritmin matematiikkaa Edvard Fagerholm

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Tehtävä 5 : 1. Tehtävä 5 : 2

Itsestabiloituva johtajan valinta vakiotilassa

Verkon värittämistä hajautetuilla algoritmeilla

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Derivaatat lasketaan komponenteittain, esimerkiksi E 1 E 2

Miten osoitetaan joukot samoiksi?

Skedulointi, kuormituksen tasaus, robotin navigaatio

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

Algoritmit 1. Luento 8 Ke Timo Männikkö

Epälineaaristen yhtälöiden ratkaisumenetelmät

Johdatus graafiteoriaan

Positiivitermisten sarjojen suppeneminen

k S P[ X µ kσ] 1 k 2.

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 2017 Harjoitus 1 Ratkaisuehdotuksia

Malliratkaisut Demot

6.4. Järjestyssuhteet

Tehtävä 10 : 1. Tehtävä 10 : 2

Harjoitus 1 ( )

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

Äärellisten mallien teoria

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Lien ryhmät D 380 klo Ratkaisut 6+6=12

Algoritmit 1. Luento 1 Ti Timo Männikkö

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Peliteorian soveltaminen hajautettujen järjestelmien protokollasuunnittelussa (valmiin työn esittely)

4.0.2 Kuinka hyvä ennuste on?

1 Lineaariavaruus eli Vektoriavaruus

802320A LINEAARIALGEBRA OSA I

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.

a b c d

Primitiiviset juuret: teoriaa ja sovelluksia

Puiden karakterisointi

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10

j n j a b a c a d b c c d m j b a c a d a c b d c c j

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

3 Lukujonon raja-arvo

Johdatus diskreettiin matematiikkaan Harjoitus 2, Osoita että A on hyvin määritelty. Tee tämä osoittamalla

Dynaamiset regressiomallit

4.3. Matemaattinen induktio

Harjoitus 1 ( )

{I n } < { I n,i n } < GL n (Q) < GL n (R) < GL n (C) kaikilla n 2 ja

Yhtenäisyydestä. Johdanto. Lähipisteavaruus. Tuomas Korppi

3 Lukujonon raja-arvo

Odotusarvoparien vertailu. Vilkkumaa / Kuusinen 1

5.6 Yhdistetty kuvaus

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Algoritmit 1. Luento 13 Ma Timo Männikkö

1. (Jatkoa Harjoitus 5A tehtävään 4). Monisteen esimerkin mukaan momenttimenetelmän. n ne(y i Y (n) ) = 2E(Y 1 Y (n) ).

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Investointimahdollisuudet ja niiden ajoitus

Äärellisten mallien teoria

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

v 8 v 9 v 5 C v 3 v 4

Analyysin peruslause

=p(x) + p(y), joten ehto (N1) on voimassa. Jos lisäksi λ on skalaari, niin

Tilastollinen päättömyys, kevät 2017 Harjoitus 6B

3. Teoriaharjoitukset

MS-A0401 Diskreetin matematiikan perusteet Yhteenveto, osa I

Sisältö. Sarjat 10. syyskuuta 2005 sivu 1 / 17

14. Juurikunnat Määritelmä ja olemassaolo.

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013


Tehtävä 3. Määrää seuraavien jonojen raja-arvot 1.

Algoritmit 2. Luento 11 Ti Timo Männikkö

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Insinöörimatematiikka A

KOMPLEKSIANALYYSI I KURSSI SYKSY 2012

Transkriptio:

Yleinen paikallinen vakautuva synkronointialgoritmi Panu Luosto 23. marraskuuta 2007 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4

Lähdeartikkeli Boulinier, C., Petit, F. ja Villain, V., When graph theory helps self-stabilization. PODC 04: Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing, New York, NY, USA, 2004, ACM Press, sivut 150 159.

Sisältö Määritelmät Algoritmi Lukkiutumattomuus ja parametri K Vakautuvuus ja parametri α

Hajautettu järjestelmä äärellinen suuntaamaton yhtenäinen verkko G = (V, E) jokaisella solmulla p kellorekisteri r p solmun p naapurien joukko on N p naapurit näkevät toistensa muuttujat, ja laillisuusehdot ovat paikallisia ohjelma kokoelma ilmaisuja ehto toimenpide suoritusvuorot jakaa epäreilu demoni

Hajautettu järjestelmä äärellinen suuntaamaton yhtenäinen verkko G = (V, E) jokaisella solmulla p kellorekisteri r p solmun p naapurien joukko on N p naapurit näkevät toistensa muuttujat, ja laillisuusehdot ovat paikallisia ohjelma kokoelma ilmaisuja ehto toimenpide suoritusvuorot jakaa epäreilu demoni

Äärellinen askeltava järjestelmä 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4

Äärellinen askeltava järjestelmä kellorekisterin arvot joukossa X = {α, α + 1,..., 0,..., K 2, K 1} putki ϕ = {α, α + 1,..., 1, 0} putki ϕ = putki ϕ \ {0} kehä ϕ = {0, 1,..., K 2, K 1}

Äärellinen askeltava järjestelmä kellorekisterin arvoa kasvattaa funktio ϕ : X X { x + 1, jos x < K 1 ϕ(x) = 0, jos x = K 1. 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4

Äärellinen askeltava järjestelmä paikallinen vähennysoperaattori 1, jos a b + 1 (mod K) b l a = 0, jos a = b 1, jos b a + 1 (mod K) 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4

Verkkoteoriaa syklikanta (Kirchhoff 1847) lyhin syklikanta jänteetön sykli eli reikä

Prosessin p ohjelma Totuusarvoiset makrot ehto(p, q) prosessien p ja q synkronointiehto kehällä(p, q) r p kehä ϕ r q kehä ϕ askelehto(p, q) kehällä(p, q) ((ϕ(r p ) = r q ) ((r p = r q ) ehto(p, q))) pariehto(p, q) askelehto(p, q) askelehto(q, p) naapurustoehto(p) q N p : pariehto(p, q) kehäaskel(p) q N p : askelehto(p, q) palautusaskel(p) naapurustoehto(p) (r p / putki ϕ ) putkiaskel(p) r p putki ϕ ( q N p : (r q putki ϕ ) (r p r q )) Ohjelma kehäaskel(p) tee jotakin; r p := ϕ(r p ) palautusaskel(p) r p := α putkiaskel(p) r p := ϕ(r p )

Välttämättömät lisäoletukset Jos määriteltäisiin esimerkiksi ehto(p, q) identtisesti epätodeksi, algoritmissa ei olisi mitään mieltä. O 1 : (askelehto(p, q) askelehto (Ψ(p), Ψ(q))) (askelehto(p, q) pariehto(ψ(p), q) O 2 : (r p = r q = 0) pariehto(p, q)

Tärkeitä käsitteitä palautusvaiheessa oleva solmu algoritmin tarkastelussa keskeinen käsite: kehälle vakiintunut p V : naapurustoehto(p) kehälle vakiintuneessa järjestelmässä mikään prosessi ei ole palautusvaiheessa

Muutama esimerkki asynkroninen unisono: ehto(p, q) aina tosi geneerinen algoritmi: ehto(p, q) v p v q keskinäinen poissulkeminen: ehto(p, q) id p id q ryhmien keskinäinen poissulkeminen (naapuriprosessit eivät saa käyttää yhtäaikaisesti eri resursseja): ehto(p, q) resurssi p = resurssi q id p id q

Miten valitaan parametrit α ja K? jos parametrit valitaan väärin, voi käydä huonosti liian pieni K:n arvo voi johtaa lukkiutuneeseen tilanteeseen (alla K = 4) 0 1 2 3 2 3

Miten valitaan parametri α ja K? jos α on itseisarvoltaan liian pieni, toipuminen ei ehkä pääty koskaan (alla α = 1) ¹½ ½ ¹½ ½ ¹½ ¹½ ¼ ¹½ ¼ ¼ ¼ ½ ¼ ½ ¼ ½

Viiveen määritelmä oletuksena on, että järjestelmä on kehälle vakiintunut siis naapurisolmujen kellorekisterien arvot poikkeavat toisistaan enintään yhdellä pykälällä suuntaan tai toiseen polun µ = p 0 p 1... p k viive µ määritellään: k 1 ( µ = rpi+1 ) l r pi i=0

Esimerkki viiveen laskemisesta 0 1 2 3 2 3 yllä pitkän syklin viive on kiertosuunnasta riippuen 4 tai 4 ja K = 4

Viiveen ominaisuuksia µ = µ, missä µ ja µ ovat toistensa käänteispolkuja viiveen lineaarisuus: µ1 µ 2 = µ1 + µ2 polulla µ = p 0 p 1... p k pätee r p0 + µ r pk (mod K) syklissä µ = p 0 p 1... p k p 0 siis r p0 + µ r p0 (mod K) µ 0 (mod K) on muistettava, että näissä tarkasteluissa järjestelmä on kehälle vakiintunut

Kohti johtopäätöksiä viive on rajoitettu viive on 0 jokaisessa syklissä nyt kahden prosessin välinen viive ei riipu polun valinnasta mielivaltaisen syklin viive on muuttumaton kehälle vakiintuneessa järjestelmässä erityisesti jos viive on jossakin vaiheessa rajoitettu, se myös pysyy rajoitettuna voidaan helposti todeta: jos viive on rajoitettu, kehälle vakiintunut järjestelmä ei voi lukkiutua

Kohti johtopäätöksiä viive on rajoitettu viive on 0 jokaisessa syklissä nyt kahden prosessin välinen viive ei riipu polun valinnasta mielivaltaisen syklin viive on muuttumaton kehälle vakiintuneessa järjestelmässä erityisesti jos viive on jossakin vaiheessa rajoitettu, se myös pysyy rajoitettuna voidaan helposti todeta: jos viive on rajoitettu, kehälle vakiintunut järjestelmä ei voi lukkiutua

Syklikantaa tarvitaan nyt lausutaan syklin viive syklikannan avulla: ( km ) (C k ) = a ki C ki = i=1 k m i=1 a ki (C ki ) viive on rajoitettu järjestelmässä täsmälleen silloin, kun viive on 0 kaikissa verkon mielivaltaisen syklikannan sykleissä tarkastellaan seuraavaksi sitä syklikantaa, jonka pisin sykli on mahdollisimman lyhyt

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Lukkiutumattomuustulos oletetaan, että verkossa on ainakin yksi sykli olkoon verkon minimaalisen syklikannan pisimmän syklin pituus C G kuuluukoon sykli µ minimaaliseen syklikantaan järjestelmä on kehälle vakiintunut, joten kahden naapurisolmun välisen viiveen itseisarvo on korkeintaan 1 siis µ C G muistetaan, että syklissä µ 0 (mod K) jos valitaan K > C G, pätee µ = 0

Mitä äsken näytettiinkään? Jos valitaan K > C G, minimaalisen syklikannan kaikkien syklien viiveet ovat 0 viive on 0 verkon kaikissa sykleissä koska viive on rajoitettu, järjestelmä ei voi lukkiutua Parametrin K arvo määräytyy siis ainoastaan verkon minimaalisen syklikannan pisimmän syklin mukaan. 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4

Miten tästä eteenpäin? kun valitaan riittävän iso K, kehälle vakiintunut järjestelmä ei voi lukkiintua itse asiassa on helppo näyttää, että lukkiutunut järjestelmä on aina kehälle vakiintunut! tavoitteena on näyttää, että palautuksia ei olla äärettömän monta raapaistaan pintaa

Miten tästä eteenpäin? kun valitaan riittävän iso K, kehälle vakiintunut järjestelmä ei voi lukkiintua itse asiassa on helppo näyttää, että lukkiutunut järjestelmä on aina kehälle vakiintunut! tavoitteena on näyttää, että palautuksia ei olla äärettömän monta raapaistaan pintaa

Palautusverkko palautusverkon solmu on pari (p, t) solmu p palautetaan ajanhetkellä t verkon särmä kuvaa palautuksen etenemistä järjestelmää kuvaavassa verkossa palautusverkko on suunnattu ja syklitön jos palautusverkko on äärellinen, algoritmi on vakautuva kehälle vakiintuneisuuden suhteen

Parametrin α valitseminen nähtiin, että itseisarvoltaan liian pieni α johtaa ongelmiin puumaiset verkot nytkin ongelmattomia ratkaiseva asia on nyt verkon pisimmän reiän eli jänteettömän syklin pituus T G valitsemalla α T G 2 algoritmi on vakautuva

Lopuksi äärellinen askeltava järjestelmä K:n täytyy olla suurempi kuin minimaalisen syklikannan pisimmän syklin pituus α:n itseisarvon täytyy vähintään yhtä suuri kuin verkon pisimmän reiän pituus 2 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4