Hajautetut järjestelmät K07 LH 2 23-24.1.2007 Tanenbaum Ch 1 tai CoDoKi Ch 1,2 ... viitteet kuntoon 1. Maailmanlaajuisen hakemistopalvelun (kuten esimerkiksi DNS:n) suorituskykyä ja skaalautuvuutta voidaan parantaa käyttämällä ositusta (partitioning), toisintamista (replication) ja välimuisteja (caches). a) Miten näitä tekniikoita voidaan käyttää puumaisissa hakemistoissa? b) Miten kukin näistä - parantaa suorituskykyä - huonontaa suorituskykyä - parantaa skaalautuvuutta? 2. Suunnittelu- ja evaluointitehtävä (pituus n. 1-2 sivua) Tarkoituksena on suunnitella ad hoc -verkossa toimiva väliohjelmisto- tasolle sijoittuva sanomanvälitysjärjestelmä, joka toteuttaa "luotettavan yleislähetyksen, jonka kaikki saavat" (kyseessä on siis asiakkaan toivomus). Verkko muodostuu kannettavista tietokoneista, jotka ovat yhteydessä toisiinsa hyvin lyhyen kantaman omaavilla radiolähettimillä (koneet kuulevat tyypillisesti vain joidenkin naapurien lähetykset). Verkon niukat resurssit ovat sähkö ja ilma- tien kaistanleveys. Hahmottele järjestelmän ohjelmistoarkkitehtuuri (käyttöliittymäasiakas ja sanomanvälityskerros). Koneissa on valmiina kj-kerros, josta löytyvät varsinaiset tietoliikenneprotokollat - voit valita sellaiset kuin haluat). Arkkitehtuurihahmotelmassa siis kuvataan, mitä toimijoita on, mikä niiden toimenkuva on ja missä ne sijaitsevat. Evaluoi erilaisten sanomanvälitystyyppien (ks. Tanenbaum, kuva 2-22) tarkoituksenmukaisuutta järjestelmän eri tason komponenttien keskinäiseen kommunikointiin (asiakaskomponenttien kommunikointi, välikerrostason komponenttien kommunikointi, kj-tason kommunikointi). Esityksen ajateltu lukija: hajautettujen järjestelmien kurssin kävijä, joka on oppinut termit, mutta joka ei vielä ole ajatellut mitään niiden sisältöön liittyvää. 3. Johdonmukaisuuden (consistency) ylläpitäminen hajautetussa järjestelmässä on käyttäjän kannalta tärkeätä. Anna esimerkki käyttäjää hämmentävistä johdonmukaisuuden puuttumisista, joissa ongelma liittyy päivitykseen, toisintamiseen, välimuistin käyttöön, palvelinhäiriöön, kelloon ja käyttöliittymään. Esimerkkipohjina voit käyttää vaikkapa www-käyttöä, nimihakemiston päivitystä tms. Harjoitustehtävä HT 2 Kirjoita oppimispäiväkirja suorituskykyanalyysin perusideoista Suorituskykyanalyysi on eräs tärkeistä arkkitehtuurien arvointimenetelmistä. Laitoksen kurssitarjonnassa on toisinaan erillinen suorituskykyanalyysikurssi, jonka materiaali on nähtävissä sivulla http://www.cs.helsinki.fi/kurssit/syventavat/581372-6/ . Melko mukava teos aihepiiristä on saatavissa verkosta vapaasti: http://www.cs.washington.edu/homes/lazowska/qsp/ . Lue tuosta kirjasta luku 1. An Overview of Queueing Network Modelling (ja jos intoa riittää, myös luku 3. Fundamental Laws) ja kirjoita näiden perusteella oppimispäiväkirja. Selvitä erityisesti milloin ja missä tarkoituksessa näitä välineitä tarvitset, ja mitä erilaisia tilanteita varten on esimerkiksi ko. kirjaan lisäopiskelua varten syytä tarttua. Tavoitteellinen pituus: n. 2-4 sivua (oleellista on sisällön laatu, ei määrä). Oppimispäiväkirjan laatimisen yleiset ohjeet ovat tiedostossa http://www.cs.helsinki.fi/u/alanko/hj/K06/laskuharj/oppimispaivakirja. Harjoitustehtävä palautetaan sähköpostin liitetiedostona (mieluiten pdf-muodossa) viimeistään 1.2. klo 8 osoitteilla Lea.Kutvonen@cs.helsinki.fi, mika.karlstedt@cs.helsinki.fi . Liitetiedoston nimi voisi olla muotoa [sukunimi].[tiedostotyyppitunnus], sähköpostin otsakkeessa näkyvissä "hajautetut järjestelmät, harjoitustyö 2".