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

Samankaltaiset tiedostot
Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

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

Stabilointi. Marja Hassinen. p.1/48

Yleinen paikallinen vakautuva synkronointialgoritmi

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestinvälitykseksi

Stabiloivat synkronoijat ja nimeäminen

Stabilointi. arvosana. arvostelija. Marja Hassinen

Stabiloivat synkronoijat ja nimeäminen

Konsensusongelma hajautetuissa järjestelmissä

7.4 Sormenjälkitekniikka

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

Itsestabiloivabysanttilainen yhteisymmärrys. Timo Virkkala

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

11. Javan toistorakenteet 11.1

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto

Itsestabiloituva johtajan valinta vakiotilassa

Paikallinen stabilointi

Itsestabiloiva bysanttilainen yhteisymmärrys

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

Seminaari: Hajautetut algoritmit syksy 2009

2017 = = = = = = 26 1

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

Todistamisessa on tärkeää erottaa tapaukset, kun sääntö pätee joillakin tai kun sääntö pätee kaikilla. Esim. On olemassa reaaliluku x, jolle x = 5.

12. Javan toistorakenteet 12.1

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

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Miten osoitetaan joukot samoiksi?

12. Javan toistorakenteet 12.1

Lisää pysähtymisaiheisia ongelmia

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

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Diofantoksen yhtälön ratkaisut

Algoritmi on periaatteellisella tasolla seuraava:

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

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

Verkon värittämistä hajautetuilla algoritmeilla

Äärellisten mallien teoria

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset

Ensimmäinen induktioperiaate

Ensimmäinen induktioperiaate

Yleinen vakautuva paikallinen synkronointialgoritmi

Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg

Shorin algoritmin matematiikkaa Edvard Fagerholm

Tarkennamme geneeristä painamiskorotusalgoritmia

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

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Luonnollisen päättelyn luotettavuus

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Seminaarit. sen jälkeen Teollisuuslaitos-seminaari / SWOT analyysi (esitelmät ja

Kandidaatintyöprosessi Sähköenergiatekniikan laitoksella

Toispuoleiset raja-arvot

TK Tietojenkäsittelyn seminaari 4 op Kevät Tietojenkäsittelyn seminaari

isomeerejä yhteensä yhdeksän kappaletta.

Kandidaatintutkielma, ryhmän ohjaus Teemu Kerola. Referaatti

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

Algoritmit 1. Demot Timo Männikkö

1. Universaaleja laskennan malleja

Vieruskaverisi on tämän päivän luennolla työtoverisi. Jos sinulla ei ole vieruskaveria, siirry jonkun viereen. Esittäytykää toisillenne.

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

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

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan valitseminen päätöksellä ja toistaminen silmukalla.

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

Formalisoimme nyt edellä kuvatun laskennan.

13 Lyhimmät painotetut polut

Itsestabiloivat algoritmit: Paikallinen stabilointi

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Algoritmit 1. Demot Timo Männikkö

Ominaisvektoreiden lineaarinen riippumattomuus

1.4 Funktioiden kertaluokat

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Tehtävä 2: Tietoliikenneprotokolla

Luentorunko keskiviikolle Hierarkkinen ryvästäminen

Johdatus matemaattiseen päättelyyn

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Algoritmit 1. Luento 13 Ti Timo Männikkö

missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Lue ohjeet huolellisesti!

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

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

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

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

Kellojen synkronointi itsestabiloituvasti

Todistusmenetelmiä Miksi pitää todistaa?

Positiivitermisten sarjojen suppeneminen

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

v 8 v 9 v 5 C v 3 v 4

Tieteellisen kirjoittamisen kurssi, kevät Teemu Kerola. Referaatti. Valitse tutkielman aihepiiriin sopiva artikkeli

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Transkriptio:

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

Seminaarin suorittaminen kirjoitelma (10-15 sivua) 50% esitelmä (n. 45 min) 40% muu aktiivisuus (ml. kirjallinen palaute muille) 10% Läsnäolopakko: kuunneltava vähintään 9 esitelmää (oman lisäksi); esitelmiä kaikkiaan 13. 2

Toiminta periodilla I ei esitelmiä (poikkeus: 12.10.) 7.9. ensimmäinen kokoontuminen: seminaarin ja aihepiirin esittely 14.9. toinen kokoontuminen: aiheiden jakaminen, niihin tutustuminen 21.9. työsuunnitelman määräaika (lähdeluettelo, muutaman virkkeen hahmotelma sisällöstä) 12.10. luonnoksen määräaika (ainakin 5 sivua valmista tekstiä, loppu ranskalaisin viivoin) henkilökohtaista ohjausta saa pe 10-12 ja tarvittaessa muinakin aikoina (mutta joka tapauksessa sovi etukäteen sähköpostitse) yksinkertaisiin kysymyksiin saa vastauksia sähköpostitse 3

Toiminta periodilla II ensimmäinen esitelmä 12.10. (I periodin viikko 6) loput esitelmät periodilla II 2 esitelmää / kokoontuminen esitelmä n. 45 min, mistä 5 min varataan keskustelulle kirjoitelman lopullisen version määräaika 29.10. 4

Määräaikojen luonteesta Työsuunnitelman ja kirjoitelmaluonnoksen tekemiselle voi saada (hieman) jatkoaikaa tekemällä perustellun hakemuksen ennen määräajan umpeutumista. Perusteeton myöhästely alentaa arvosanaa. Varsinaisen kirjoitelman määräaika on tiukka: mikä tahansa myöhästyminen alentaa arvosanaa myöhästyminen yli 3 vrk tai ilman ennakkoilmoitusta johtaa hylkäämiseen. 5

Materiaali Shlomi Dolev: Self-Stabilization (melkein kokonaan) Nancy Lynch: Distributed Algorithms (luvut 5 ja 6) muutama artikkelilähde 6

Johdatus seminaarin aihepiiriin Hajautettu laskenta: joukko prosessoreita rinnakkaisesti suorittaa paikallista laskentaa kommunikoi keskenään. Huomio kiinnittyy järjestelmän vikasietoisuuteen kommunikoinnin määrään. Erilaisia malleja: synkroninen vs. asynkroninen viestien lähettäminen vs. yhteinen muisti prosessorit samanlaisia / yksilöllisiä / yksi johtaja erilaiset virhemahdollisuudet 7

Itsestabiloinnin perusajatus Perusversiossa ajatellaan, että järjestelmä on toiminut jonkin aikaa mielivaltaisella tavalla virheellisesti erityisesti järjestelmä on voinut päätyä mihin tahansa ristiriitaiseen tilaan sitten virheet loppuvat. Pystyykö järjestelmä palaamaan konsistenttiin tilaan (kun virheetön jakso kestää riittävän kauan)? Eroaa malleista, joissa tehdään oletuksia virhemahdollisuuksista (esim. rajoitetaan virheellisten prosessorien lukumäärää): itsestabilointi on vahvempi: alkutila voi olla mielivaltainen itsestabilointi on heikompi: edellytetään täysin virheetön toipumisperiodi. 8

Esimerkki itsestabiloinnista orkesteri soittaa ulkona tuuli yltyy ja kääntelee satunnaisesti soittajien nuotteja orkesteri joutuu epätahtiin sitten tuuli lakkaa soittaja näkee, miltä sivuilta lähinaapurit soittavat pystyykö orkesteri synkronoimaan itsensä? 9

Menetelmä, joka ei toimi: jos enemmistö naapureista on keskenään samalla sivulla, seuraa heitä voi jäädä oskilloimaan. Menetelmä, joka toimii: seuraa naapuria, joka on pieninumeroisimmalla sivulla. 10

Klassinen esimerkki: keskinäinen poissulkeminen [Dijkstra 73] n prosessoria P i, i = 1,..., n, joilla jokaisella oma rekisteri x i prosessorit kytketty renkaaseen P 1 P 2 P 3... P n 1 P n P 1 P i, 1 i n 1, voi lukea myös rekisterin x i 1 (vasen naapuri); P 1 voi lukea rekisterin x n keskusdemoni antaa suoritusvuoron yhdelle prosessorille kerrallaan (reilusti) suoritusvuoron saanut prosessori saa suorittaa häiriöttä jonon käskyjä kierros on ajanjakso, jonka kuluessa jokainen prosessori on saanut ainakin yhden suoritusvuoron. 11

Protokolla keskinäiselle poissulkemiselle Prosessori P 1 on erikoisasemassa: se suorittaa ohjelmaa do forever if x 1 = x n then x 1 := (x 1 + 1)mod(n + 1). Prosessori P i, i = 2,..., n, suorittaa ohjelmaa do forever if x i x i 1 then x i := x i 1. Saadessaan suoritusvuoron keskusdemonilta prosessori suorittaa yhden iteraation do-silmukkaansa. 12

Jos jollain ajanhetkellä arvo x i muuttuisi jos P i saisi suoritusvuoron, sanomme että P i voisi muuttaa tilaansa tällä ajanhetkellä Tilannejono on laillinen keskinäisen poissulkemisen kannalta, jos sen aikana koskaan kaksi eri prosessoria eivät yhtä aikaa voisi muuttaa tilaansa jokainen prosessori voi muuttaa tilaansa äärettömän monta kertaa. Väite 1: jos protokolla käynnistetään tilanteesta, jossa x 1 = x 2 =... = x n, niin syntyvä tilannejono on laillinen. Väite 2: jos protokolla käynnistetään mistä tahansa tilanteesta, niin x 1 = x 2 =... = x n tulee voimaan O(n 2 ) kierroksen kuluessa. Väitteet 1 ja 2 yhdessä implikoivat, että protokolla on itsestabiloituva. 13

Väitteen 1 totuus on melko ilmeinen. Tarkastellaan esim. tilannetta n = 4 ja x i = 3 kaikilla i: x 1 3 4 4 4 4 0 0 0 0 1 1 1 1 2 2... x 2 3 3 4 4 4 4 0 0 0 0 1 1 1 1 2... x 3 3 3 3 4 4 4 4 0 0 0 0 1 1 1 1... x 4 3 3 3 3 4 4 4 4 0 0 0 0 1 1 1... Sarakkeet eivät tyypillisesti edusta perättäisiä ajanhetkiä, koska välillä aktivoidaan prosessoreita jotka eivät voi muuttaa tilaansa. Kuitenkin jokaisella kierroksella siirrytään ainakin yksi sarake eteenpäin. 14

Väitteen 2 todistamiseksi todetaan ensin, että x 1 ei voi pysyä muuttumattomana n kierrosta. Vastaoletus: x 1 = a yhtäjaksoisesti n kierrosta. Kun yksi kierros on kulunut, pätee oletuksen mukaan edelleen x 1 = a. Koska P 2 on ollut suorituksessa ainakin kerran, pätee myös x 2 = a. Kun toinen kierros on kulunut, pätee x 1 = x 2 = x 3 = a. Kun n 1 kierrosta on kulunut, pätee x 1 = x 2 =... = x n = a. Siis kierroksella n asetetaan x 1 := (a + 1)mod(n + 1); ristiriita. 15

Lähdetään nyt liikkeelle mielivaltaisesta tilanteesta c. Olkoon j {0,..., n } sellainen, että tilanteessa c kaikille i pätee x i j. Ainakin yksi tällainen j on olemassa, sillä muuttujia x i on n ja mahdollisia arvoja n + 1 kappaletta. Olkoon t tilanteen c jälkeen ensimmäinen ajanhetki, jolla arvo j tulee arvoksi jollekin x i. Protokollasta nähdään suoraan, että tässä i = 1. Lisäksi t tulee vastaan korkeintaan n 2 kierroksen jälkeen, sillä edellisen kalvon mukaan x 1 saa uuden arvon joka n. kierros. Hetken t jälkeen x 1 säilyttää arvon j, kunnes x n = j. Koska j ei voi tulla minkään x i :n arvoksi spontaanisti vaan ainoastaan propagoitumalla muuttujasta x 1 lähtien, tämä tapahtuu n kierroksen kuluessa, ja tällöin x 1 = x 2 =... = x n = j. Kaikkiaan kului korkeintaan n 2 + n = O(n 2 ) kierrosta. 16

Aiheita esitelmille Dolev luku 2: perustekniikoita, keskeisiä esimerkkejä Dolev luku 3: mallin motivointia tietoliikenneprotokollien mahdollisilla virhetiloilla Dolev luku 4: itsestabiloivan algoritmien muuntaminen laskentamallista toiseen (kolme esitelmää): yhteisestä muistista viestinvälitykseen yksilölliset prosessorit vs. yksi johtaja synkronointi 17

Dolev luku 5: tekniikoita ei-stabiloivan algoritmin muuttamiseksi stabiloivaksi Dolev luku 6: itsestabiloinnin yhdistäminen erilaisiin vikamalleihin (prosessorien nukahtaminen ; bysanttilainen tapaus) Dolev luku 7: stabilointi siten, että paikalliset virheet eivät sotke koko verkkoa 18

Beauquier, Gradinariu, Johnen: ylä- ja alarajoja muistintarpeelle itsestabiloivassa johtajan valinnassa Chen, Welch: itsestabiloiva keskinäinen poissulkeminen ad hoc -verkossa Johnen, Nguyen: ad hoc -verkon ryvästäminen itsestabiloivasti Boulinier, Petit, Villain: tehokkaampi itsestabilointi kun rajoitteet ovat lokaaleja 19

Lynch luku 5: yksimielisyyden saavuttaminen kun viestejä voi kadota Lynch luku 6: yksimielisyyden saavuttaminen kun joukossa voi olla salaliittolaisia ( bysanttilaiset kenraalit ) Daliot, Dolev: sama itsestabiloivasti 20