Hajautetut järjestelmät K07 LH 6 1. Kuvaa atomisen monilähetykseen toteutus ja perustele sen oikeellisuus tilanteissa, joissa kesken monilähetyksen - paikalle tulee uusi solmu - jokin ryhmän jäsen katoaa - lähettävä solmu katoaa. Määrittele ensin tarkasti, mitä "atominen monilähetys" em. tapauksissa tarkoittaa. Miten tämä toteutus suhtautuu Chandy-Lamportin algoritmiin, jolla saadaan hajautetun järjestelmän tilannekuva (distributed snapshot)? 2. a) Osoita, että kaksivaiheinen sitoutumisalgoritmi toimii oikein, vaikka - koordinaattori kaatuisi (tilapäisesti) - "participant" kaatuisi (tilapäisesti). Miksi eri tilat ovat tarpeen? Tanenbaumin kirjassa esitetystä algoritmista puuttuu "haveCommitted" -sanoma. Onko sanoma ylipäänsä tarpeellinen? b) Miksi kaksivaiheinen sitoutuminen onnistuu, mutta Alice ja Bob eivät pääse syömään? Voitaisiinko ajatella, että joissain olosuhteissa kaksivaiheinen sitoutuminen onnistuisi myös Alicen ja Bobin suhteessa? Miksi sopiminen ei onnistu hieman rähjäisesti toimivan sähköposti- yhteyden yli, mutta onnistuu kyllä puhelimella? (Alicen ja Bobin tarina, ks. kalvot tai artikkeli: Turek,J., Shasha,S., The many faces of Consensus in Distributed Systems; Computer 25,6 pp 8-17; June 1992). 3. a) Millaisiin häiriötyyppeihin (failure types) on varauduttava - lähiverkossa - UDP-palvelussa - GPRS-järjestelmän ilmatiellä? b) Miten nämä voidaan havaita ja miten ne voidaan peittää? Voiko hiriön peittäminen johtaa uusiin häiriöihin? c) Mitä hyötyä on järjestelmien häiriöluokituksen määrittelystä? Käytä esimerkkinä etäproseduurikutsumekanismin toteuttamista. 4. Toteuttaako NFS johdonmukaisuusvaatimukset "entry consistency" ja/tai "release consistency"? Voitaisiinko väittää, että NFS toteuttaa (ainakin jossain määrin) myös upload/download-mallin (ks kuva 10-1,b )? Kts. 2 viimeistä kotiharjoitusta! Muistathan: kurssikoe 27.2.2007. Vastaa kurssikyselyyn!