Vertaisverkkotekniikat hilaympäristöissä: laskennan hajauttaminen ja tiedon varastointi



Samankaltaiset tiedostot
arvostelija OSDA ja UDDI palveluhakemistoina.

Arkkitehtuurinen reflektio

Selainpelien pelimoottorit

Aika/Datum Month and year Kesäkuu 2012

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Scheduling of Genetic Analysis Workflows on Grid Environments (valmiin työn esittely) Arttu Voutilainen

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

! #! %! & #!!!!! ()) +

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Luonnontieteiden popularisointi ja sen ideologia

Oppimateriaalin kokoaminen ja paketointi

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Laskennallinen yhteiskuntatiede

Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa

Avoin data ja sen hyödyntäminen tähtitieteessä. Juhani Huovelin Fysiikan laitos Helsingin yliopisto

Cisco Unified Computing System -ratkaisun hyödyt EMC- ja VMwareympäristöissä

TK Palvelinympäristö

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

IoT (Internet-of-Things) - teknologian hyödyntäminen rakennuksien paloturvallisuuden kehityksessä ja integroidussa älykkäässä ympäristössä

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

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

Grid-hankkeita ja tulevaisuuden näkymiä

CUDA. Moniydinohjelmointi Mikko Honkonen

MEMS-muisti relaatiotietokannoissa

pilvipalvelu tarkoittaa?

Aalto-yliopiston verkkopalveluiden arkkitehtuuri

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä


Algoritmit 1. Luento 10 Ke Timo Männikkö

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

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

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Kielitieteellisten aineistojen käsittely

Tietorakenteet ja algoritmit - syksy

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Loikkaa turvallisesti pilveen

Grid: Käsitteet, teknologiat, sovellukset sekä vaikutus CSC:läisten työhön

Yhteisöllinen tapa työskennellä

Sovellusarkkitehtuurit

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Tiedonsiirto- ja rajapintastandardit

Opetuksen ja opiskelun tehokas ja laadukas havainnointi verkkooppimisympäristössä

Solidin korkean käyttöasteen tietokantajärjestelmä

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka

EKSOTE Sähköisen asioinnin seminaari

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin

Tietoturvan haasteet grideille

Data-analyysi tieteenalana Professori, laitosjohtaja Sasu Tarkoma Tietojenkäsittelytieteen laitos Helsingin yliopisto

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi

Liikkuvuudenhallinta Mobile IP versio 6 - protokollalla

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa

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

Lausunto Linjausten tulisi perustua pilvipalvelujen käyttöön liittyvään yleiseen riskiarvioon

Asuntojen neliöhinnan vaihtelu Helsingissä ( )

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

ohjelman arkkitehtuurista.

KANSILEHDEN MALLISIVU

OpenUP ohjelmistokehitysprosessi

Tietojärjestelmien integroiminen hyödyntämällä palvelupohjaista arkkitehtuuria. CASE: Metropolia. Jaakko Rannila & Tuomas Orama 1

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Virtuaalitiimit ja Luottamuksen merkitys virtuaaliorganisaatioissa. Mari Mykkänen Hallman-Yhtiöt

DNS- ja DHCPpalvelut. Linuxissa. Onni Kytönummi & Mikko Raussi

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Kyber turvallisuus vesilaitoksilla Uhkakuvat ja varautuminen

Pilivipalavelut Cloud Business 2012 Parempaa paikallista pilveä

Rajattomat tietoverkot ja niiden rooli pilvipalveluissa. Jukka Nurmi Teknologiajohtaja Cisco Finland

Kuinka paljon dataa on tarpeeksi?

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

S09 04 Kohteiden tunnistaminen 3D datasta

Koko maassa pilvistä Ciscon arkkitehtuuri virtualisointiin ja Cloud Computingiin

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tilastotiede ottaa aivoon

Tarvitseeko informaatioteknologia matematiikkaa?

Tietokantojen erityispiirteitä MANET-verkoissa

Kauanko verkot kestävät? Pilvipalveluiden haasteet verkon kannalta - mitkä asiat oltava kunnossa?

Valtion konesali- ja kapasiteettipalvelun merkitys valtion konesalistrategian toteuttamisessa VM/JulkICT / Tuomo Pigg

Algoritmit 1. Luento 10 Ke Timo Männikkö

Kitkaton Suomi kasvu, kilpailukyky ja osaaminen uuden edessä

Uusia tuulia Soneran verkkoratkaisuissa

Grafiikkasuorittimen käyttö keskusmuistitietokannoissa

Tulevaisuuden Internet. Sasu Tarkoma

Pilvipalveluiden arvioinnin haasteet

Ammatillinen opettajakorkeakoulu

Rajoittamattomat kieliopit (Unrestricted Grammars)

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

Transkriptio:

hyväksymispäivä arvosana arvostelija Vertaisverkkotekniikat hilaympäristöissä: laskennan hajauttaminen ja tiedon varastointi Jesse Lankila Helsinki 9.11.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution Department Matemaattis-luonnontieteellinen tiedekunta Tekijä Författare Author Tietojenkäsittelytieteen laitos Jesse Lankila Työn nimi Arbetets titel Title Vertaisverkkotekniikat hilaympäristöissä: laskennan hajauttaminen ja tiedon varastointi Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level LuK-aine Tiivistelmä Referat Abstract Aika Datum Month and year 9.11.2008 Sivumäärä Sidoantal Number of pages 11 sivua Tässä kirjoituksessa esitellään hilaympäristö käsitteenä sekä kartoitetaan sen sovellutuksia ja niiden hilaympäristöltä vaatimia palveluita. Palveluista tarkastellaan tarkemmin tiedon varastointia ja laskennan hajauttamista. Tekstissä esitellään pintapuolisesti myös vertaisverkkolaskennan käsite ja vertaillaan vertaisverkkojen ja asiakas-palvelinarkkitehtuurin soveltuvuutta hilaympäristöihin. Vertaisverkkotekniikkojen käyttökelpoisuutta edellämainittuihin hilaympäristön palveluihin tarkastellaan lyhyesti esitellyin esimerkkitapauksin. Havaitaan, että vertaisverkkotekniikat soveltuvat ongelmitta hilaympäristön tarjoamien peruspalvelujen toteuttamiseen ja osassa tapauksista tarjoavat myös selviä etuja keskitettyihin ratkaisuihin nähden. Lopuksi todetaan myös, että vertaisverkko- ja hilalaskenta todennäköisesti lähestyvät toisiaan kehityksen myötä ja toivottavasti lopulta muodostavat jonkinlaisen välimuodon, joka yhdistää molempien tapojen paremmat puolet. Avainsanat Nyckelord Keywords hila, hilalaskenta, hajautettu laskenta, vertaisverkot Säilytyspaikka Förvaringställe Where deposited Muita tietoja Övriga uppgifter Additional information

ii Sisältö 1 Johdanto 1 2 Hilaympäristö ja sen tarjoamat mahdollisuudet 2 3 Hilalaskenta ja vertaisverkot 4 3.1 Asiakas-palvelinarkkitehtuuri...4 3.2 Vertaisverkot...5 4 Vertaisverkkotekniikat hilaympäristön palveluissa 6 4.1 Laskentatehtävien hajautus...6 4.2 Tiedon säilytys...8 5 Yhteenveto 9 Lähteet 10

1 1 Johdanto Viimeisten kymmenen vuoden aikana maailma on verkottunut ennennäkemätöntä vauhtia. Tietoliikenneyhteyksien kapasiteetti on moninkertaistunut samalla, kun PCkoneiden suorituskyky on noussut vanhojen superkoneiden tasolle. Internet-yhteyksistä on tullut sähkön ja viemäröinnin kaltainen peruspalvelu jo tammikuussa 2007 joka toisella suomalaisella kotitaloudella oli laajakaistayhteydeksi luokiteltava (väh. 256kbps) internet-yhteys, yleisimpänä yhteysnopeutena 2Mbps [LVM07]. Yhteyksien nopeutuminen on mahdollistanut monien uusien tai aiemmin kannattamattomien tekniikkojen käyttöönoton. Muun muassa tiedostojen jako vertaisverkkojen avulla yleistyi 2000-luvun alkupuolella lähes arkipäiväiseksi asiaksi. Huomattiin, että tiedostojen ohella verkko mahdollistaisi myös muiden resurssien jakamisen vaikkapa laskentatehon. Havaittiin myös, että vaikka tietokoneiden suorituskyky kasvoi Mooren lain mukaisesti, tietoverkkojen nopeus kasvoi sitäkin nopeammin. Laskentaa alettiin rinnakkaistaa hajauttaen se tietoverkon ylitse toisille fyysisille koneille, joko isoille laskentaklustereille (esim. NorduGrid) ja/tai laajamittaisesti tavallisille PC-koneille (esim. SETI@home) [NoL05]. Tämänkaltaiset hajautetut laskentaoperaatiot johtivat ajatukseen sähköverkon kaltaisista laskentaverkostoista, jotka olisivat lukemattomien yksittäisten koneiden ja resurssien muodostamia heterogeenisiä kokonaisuuksia. Tällaiset verkostot tarjoaisivat kelle tahansa halukkaalle laskentatehoa samaan tapaan kuin sähköverkko sähköä. Syntyi käsite grid computing (englannin kielen sanasta electric grid, sähköverkko) eli hilalaskenta [FoK99]. Tässä esseessä tarkastellaan mainitunlaisten kokonaisuuksien, hilaympäristöjen, mahdollistamia sovellutuksia, erityisesti laskentaa ja tiedon varastointia. Samoin tarkastellaan vertaisverkko- ja asiakas-palvelinarkkitehtuurien soveltumista hilaympäristöihin sekä vertaisverkkotekniikkojen käyttökelpoisuutta edellämainittujen sovellutusten toteuttamisessa.

2 2 Hilaympäristö ja sen tarjoamat mahdollisuudet Käsitteellä hila tarkoitetaan tässä tekstissä karkeasti sanottuna sähköverkon kaltaista verkostokokonaisuutta, joka tarjoaa laskentavoimaa verkostoon liittyville tahoille. Hilaympäristö puolestaan tarkoittaa tällaisen hilan tarjoamaa toimintaympäristöä. Samanlaisuus sähköverkon kanssa tarkoittaa sitä, että hilat koostuvat hyvin monenlaisista resursseista aivan kuten sähköverkot keskenään hyvin erikokoisista ja -tehoisista generaattoreista. Sähköverkon tarjoama energia on kaikkien verkkoon liittyvien käytettävissä samoin, kuin hilan tarjoamat resurssit ovat kaikkien siihen liittyneiden saatavilla [FoK99]. Tällaisia resursseja voivat olla esimerkiksi suoritusteho ja -aika, tutkimustietokannat, tiedon säilytystila sekä erikoisinstrumentit ja -sensorit [IaF01]. Jokainen hilan jäsen voi sekä käyttää resursseja että tarjota niitä. Nämä ominaisuudet toisaalta tekevät hilasta hyvin skaalautuvan ja joustavan, toisaalta aiheuttavat arkkitehtuurisia suunnitteluvaikeuksia vaikeuttaen siten sen tehokasta hyödyntämistä. Hilan jäseninä voi olla yhtälailla yksittäisiä henkilöitä kuin yliopistoja tai tutkimuskeskuksiakin. Koska eri tahot haluavat usein tarkasti määritellä, mitä resursseja muiden käyttöön jaetaan, hilaympäristön on tarjottava mahdollisuus jäsenkohtaisiin jakosääntöihin. Nämä säännöt määrittelevät, miten ja mitä resursseja jäsenten kesken jaetaan. Yksilöt ja tahot, jotka jakavat toisilleen resursseja tietyillä jakosäännöillä, muodostavat virtuaaliorganisaation (virtual organization) [FKT01]. Virtuaaliorganisaatioita voivat olla esimerkiksi tietovarastopalveluiden tarjoajat, laskentayksiköiden tarjoajat, mikropiirivalmistajat tai monivuotisen fysikaalisen tutkimuksen kansainväliset yhteistyötahot. Arkkitehtuurisesta näkökulmasta hilojen merkittävimmät ominaisuudet ovat dynaamisuus, koneverkoston laajuus sekä jäsenten heterogeenisyys resurssien laadun ja määrän suhteen. Hilaan liittyneiden koneiden määrä voi vaihdella nopeastikin niiden liittyessä siihen tai poistuessa siitä sekä ylläpitotoimien tai muun häiriöajan takia [IaF01]. Hilan jäseniä saattaa olla tuhansia ympäri maailmaa ja kommunikaatio hoidetaan täysin internetin kautta, mikä vaikeuttaa verkoston hallintaa. Hilan jäsenet saattavat olla yhtä lailla isoja laskentaryppäitä, levypalvelimia, mittauslaitteita kuin yksittäisiä työasemiakin. Nämä mahdollistavat monenlaisten resurssien tarjonnan, mutta

myös monimutkaistavat yhtenäisen palvelualustan toteuttamista. Hilan jäsenet vaikuttavat myös voimakkaasti siihen, millaisia palveluja hila voi tarjota. Onkin arveltu, että tulevaisuudessa voidaan nähdä useita tiettyä tarkoitusta varten muodostettuja hiloja yhden massiivisen laskentahilan sijaan [FoK99]. Mitä palveluja hilaympäristö voi siis tarjota? Teoriassa kaikkea sitä, mitä hilan jäsenetkin. Käytännössä mielenkiinto keskittyy kuitenkin ymmärrettävistä syistä lähinnä laskennallisiin operaatioihin niiden eri muodoissa. Operaatioiden laatu aiheuttaa puolestaan lisävaatimuksia ympäristölle esimerkiksi tiedon säilytystilan, toimintanopeuden tai -varmuuden suhteen. Foster ja Kesselman jaottelevat hilojen laskentasovellutukset viiteen kategoriaan niiden pääpiirteiden mukaan (taulukko 1). Kategoria Esimerkkejä Piirteet Hajautettu superlaskenta Kemian mallinnus, tähtitieteellinen laskenta, hajautettu simulaatio Suuri suoritusnopeus Tarvittaessa ( on demand ) Dataintensiivinen Yhteistoiminnallinen Mikropiirisuunnittelu, kryptografiset ongelmat Pilvien havainnointi, matemaattisten tehtävien ratkonta Fysikaaliset kokeet, Tähtihavaintojen yhdistely Yhteistoiminnallinen suunnittelu, Tiedon tutkiskelu Taulukko 1: Viisi hilasovellutusten pääluokkaa [FoK99] Isoja, paljon suoritinaikaa ja muistia vaativia laskennallisia ongelmia Käyttävät hiljaisena olevia resursseja kasvattaakseen kokonaissuoritustehoa etäresursseihin yhdistetty paikallinen laskenta rajoitetuksi ajaksi Uuden tiedon yhdistely useista tietolähteistä Tukee usean osallistujan kommunikointia tai yhteistyötä Hajautetussa superlaskennassa hiloja käytetään saavuttamaan ongelman järkevässä ajassa ratkaisemiseksi tarvittava laskentateho, mihin yksittäinen superkone ei välttämättä riitä. Tämä asettaa hilaympäristöille vaatimuksia vuorotuksen ja skaalautuvuuden suhteen. Suuren suoritusnopeuden laskennassa hajautetaan hilan avulla löyhästi toisiinsa liittyviä laskentatehtäviä yleensä muutoin hiljaisina oleville työasemille saavuttaen näin suuremman suoritusnopeuden. Tavoite on sama kuin hajautetussa superlaskennassa, mutta yksittäiset tehtävät eivät riipu toisistaan yhtä paljon ja hajauttaminen on siten helpompaa [FoK99]. Tarvittaessa suoritettava laskenta hyödyntää hiloja saavuttaakseen hetkellisesti 3

4 resurssimäärän, jota ei olisi kannattavaa tai mahdollista pitää paikallisesti. Resurssit voivat olla mitä tahansa laskentatehosta erikoissensoreihin. Tällainen laskenta asettaa hilaympäristölle monenlaisia haasteita mm. vuorotuksen, resurssien etsinnän ja viansiedon kannalta. Dataintensiivisessä laskennassa pyritään käsittelemään todella suuria määriä dataa ja yhdistelemään siitä uutta tietoa, jolloin ongelmia aiheuttaa suurien datavirtojen vuorotus ja ohjailu pitkin hierarkista rakennetta. Yhteistoiminnallinen laskenta, jossa usea osallistuja vuorovaikuttaa keskenään, vaatii puolestaan järjestelmältä reaaliaikaisuutta sekä tukea monenlaiselle vuorovaikutukselle [FoK99]. Edellämainitut laskentatyypit vaativat hilaympäristöltä monenlaisia palveluita. Sen on kyettävä tarjoamaan välineet resurssien etsintään, laskennan hajauttamiseen, tietojen säilytykseen, valvontaan, vuorovaikutukseen ja kommunikaatioon sekä taattava näiden tietoturvallinen ja vikasietoinen toteutus. Jatkossa keskitytään laskennan hajauttamiseen ja tiedon säilytykseen, erityisesti niiden toteuttamiseen vertaisverkkotekniikoin. 3 Hilalaskenta ja vertaisverkot 3.1 Asiakas-palvelinarkkitehtuuri Tämänhetkiset hilaympäristötoteutukset pohjautuvat laajalti asiakas-palvelinmalliin, jossa luotettu palvelin jakaa laskentatehtävät joukoille hilan jäseniä, asiakkaita, jotka sijaitsevat hajallaan eri puolilla internetiä. Tällaisessa ratkaisussa palvelin pitää jatkuvasti kirjaa, mikä laskentatehtävä on milläkin asiakkaalla, voidakseen tarvittaessa uudelleenjakaa tehtävän asiakkaan mahdollisesti epäonnistuessa siinä [Kim07]. Malli ottaa jossain määrin huomioon yksittäisten jäsenkoneiden epäluotettavuuden, mutta vaatii palvelimelta erinomaista luotettavuutta. Kun palvelin ei ole käytettävissä esimerkiksi ylläpidon tai verkko-ongelmien takia, uusia tehtäviä ei voida jakaa ja hilan tarjoamat resurssit jäävät käyttämättä. Kuvaillun kaltainen hierarkinen vuorotus aiheuttaa ongelmia hiloissa, jotka koostuvat enimmäkseen normaaleista työasemista. Palvelin vuorottaa tehtävät hilan jäseniltä saamiensa vuorotustilatietojen ja tehtävien asettamien vaatimusten mukaan. Tavallisista työasemista koostuva hila on kuitenkin koostumukseltaan erittäin dynaaminen, mikä

5 johtaa helposti tehtävien uudelleenjakamiseen. Työasemista voidaan muodostaa paikallisia ryppäitä, jolloin ryppäällä on oma vuorottajansa, ja työasemat liittyvät hilaan vain ryppään kautta, mikä puolestaan heikentää hilan skaalautuvuutta. Tämänhetkiset toteutukset eivät myöskään tue täysin automaattista hilan kuormitustasoon ja asiakkaiden tehtävänantoihin perustuvaa tehtävien jakamista, vaan vaatii manuaalista resurssien etsintää ja valikointia [TaZ06]. Keskitettyjen palvelinten käyttö vaatii myös tahon, joka suostuu ylläpitämään niitä, mikä voi jättää hilan toimivuuden yhden tietyn tahon käsiin [IaF01]. 3.2 Vertaisverkot Vertaisverkkolaskenta, peer-to-peer computing, käyttää hyväkseen vertaisverkkoarkkitehtuuria, jossa asiakas-palvelinroolijaon sijaan jokainen vertaisverkon jäsen toimii samalla sekä asiakkaana että palvelimena. Joissakin vertaisverkoissa käytetään keskitettyjä palvelimia tiettyihin verkon palveluihin, kuten verkkoon liittymiseen, toisissa verkon toiminnallisuus on täydellisesti hajautettu. Edellisiä kutsutaan usein hybridivertaisverkoiksi, jälkimmäisiä puhtaiksi vertaisverkoiksi [Bar00]. Erityisesti puhtaiden vertaisverkkojen suurimmiksi hyödyiksi voidaan laskea keskitetyn palvelimen aiheuttaman pullonkaulan eliminointi palvelintoimintojen hajauttamisella, sekä luotettavuuden paraneminen verkon toimivuuden ollessa riippumaton yhdestäkään tietystä sen osasta. Vertaisverkkolaskennan voidaan nähdä kehittyneen kilpailevana hajautetun laskennan suoritustapana hilalaskennan rinnalla. Molemmilla on kuitenkin useita yhtymäkohtia. Kumpikin pyrkii tarjoamaan virtuaaliyhteisöille keinon jakaa resursseja jäsentensä kesken ja lähestyvät ongelmaa luomalla olemassaolevien organisaatiorakenteiden rinnalle oman järjestelmänsä. Sekä hila- että vertaisverkkolaskennan suhteen on saatu aikaan varteenotettavaa teknistä kehitystä, mutta molemmilla on myös tämänhetkisissä toteutuksissaan kriittisiä rajoitteita. Yleistäen voidaan todeta hilalaskennan nykyisellään hallitsevan infrastruktuurin ylläpidon muttei kunnollista vikasietoisuutta, kun taas vertaisverkkolaskenta toteuttaa vikasietoisuuden, mutta siltä puuttuu kunnollinen infrastruktuuritoteutus [FoI03]. Yhtäläisyyksiensä sekä toisiaan tukevien ominaisuuksiensa myötä voidaan arvioida, että molemmat hajautetun laskennan tekniikat lähestyvät toisiaan lähitulevaisuudessa. Jo nyt

6 on huomattavissa selkeä trendi vertaisverkkoarkkitehtuurin laajenevasta käytöstä hilaympäristön palveluiden toteutuksessa [FoI03]. Olemassaolevia esimerkkejä on muun muassa resurssien etsinnästä [IaF01], laskentatehtävien hajauttamisesta, [Kim07, TaZ06] ja luottamuksenhallinnasta [ZhH06]. Myös datan hajauttamisesta on olemassa sekä täydellisesti hajauttamiskelpoisia ratkaisuja [Fos03, RaF02] että itsenäisiä, hilaympäristöönkin sopivia vertaisverkkototeutuksia [Kar07]. 4 Vertaisverkkotekniikat hilaympäristön palveluissa Vertaisverkkotekniikoita ja täydellistä hajauttamista on tähän mennessä yritetty soveltaa moneen yksittäiseen hilaympäristön tarvitsemaan palveluun sekä itse hilaympäristön kokonaisarkkitehtuuriin [TaZ06]. Erityisesti niillä on pyritty eliminoimaan pullonkauloja ja lisäämään luotettavuutta [Kim07]. Seuraavaksi tarkastellaan, mitä parannuksia niillä voidaan tuoda laskentatehtävien hajauttamiseen ja tiedon hajautettuun säilytykseen hilaympäristöissä, sekä käydään läpi olemassaolevia toteutuksia. 4.1 Laskentatehtävien hajautus Hilalaskenta on nimensä mukaisesti eräs hajautetun laskennan muoto. Laskentatehtävien tehokkaan ja käytännöllisen hajauttamisen voidaankin siten katsoa olevan hilaympäristön kenties tärkein palvelu. Siksi sen on oltava tehokas, skaalautuva ja vikasietoinen kaikki ominaisuuksia, jotka voidaan saavuttaa nimenomaan vertaisverkoilla [Kim07]. Asiakas-palvelinmallilla on erittäin vaikeaa toteuttaa toimiva, automaattinen tehtävien ja resurssien yhteensovitus sen mukautuessa huonosti hilan jatkuvaan muutokseen [TaZ06]. Käytännössä erityisesti skaalautuvuutta ja vikasietoisuutta on vaikea saavuttaa keskitetyllä, hierarkisella järjestelmällä, joten vertaisverkkojen ja hilalaskennan yhdistyminen vaikuttaa tässä mielessä väistämättömältä [FoI03]. Vertaisverkoilla on omat haasteensa hilalaskennassa. Jik-Soo Kimin et al. kehittämässä arkkitehtuurissa käytetään yhtä hajautettua tiivistettä (distributed hash table, DHT) pitämään kirjaa sekä tehtävänannoista että hilan jäsenistä, vertaisverkon solmuista (node). Laskentatehtävien antaminen ja suoritus sujuu kokonaisuudessaan seuraavanlaisesti: hilan jäsen, jolla on tehtävänanto, valitsee sattumanvaraisesti solmun tiivistetaulusta siirtää tehtävänannon sille. Tämä solmu

7 laskee tehtävänannolle uniikin tiivisteen ja välittää sen uudelle solmulle, josta tulee tehtävänannon omistajasolmu (owner node). Omistajasolmun tehtävänä on etsiä tehtävälle sopiva suorittajasolmu ja valvoa sen suoritusta sekä pitää huoli, että tehtävän lopputulos päätyy alkuperäiselle tehtävänantajalle. Suorittajasolmun valinta suoritetaan käynnistämällä sovittamismekanismi, joka etsii sopivan solmun tehtävänannon sisältämän tehtäväprofiilin asettamien kriteerien sekä hilan solmujen senhetkisen tilan perusteella. Tehtäväprofiili voi sisältää tehtävän suorittamiseen liittyviä vaatimuksia ja rajoitteita, kuten suorittimen miniminopeuden, käytettävän muistin määrän ja tuettujen suoritusympäristöjen listan. Löydettyään sopivat solmut sovittamismekanismi joko hajauttaa tehtävän usealle solmulle tai määrää sen yksittäisen solmun suoritettavaksi. Tämän jälkeen omistajasolmu antaa tehtävän suorittajasolmulle, joka asettaa sen suoritusjonoon. Suorittajasolmu lähettää tasaisin väliajoin elossaoloilmoituksen omistajasolmulle, kunnes se on saanut tehtävän suoritettua. Lopuksi suorittajasolmu lähettää tehtävän tuloksineen tehtävän antaneelle hilan jäsenelle [Kim07]. Esitetyn arkkitehtuurin suoritustehokkuus riippuu suuresti sovittamismekanismin käyttämästä algoritmista. Kim et al. esittelevät kaksi hieman toisistaan eroavaa, hajautetun tiivistetaulun varassa toimivaa algoritmia, vertaavat niiden suoritusnopeutta keskitettyyn sovittamiseen erilaisilla tehtävätyypeillä ja kuormitustilanteilla ja toteavat varsinkin monimutkaisemman algoritmin mahdollistavan suunnilleen yhtä tehokkaan sovittamismekanismin tarjoten samalla paremman skaalautuvuuden ja vikasietoisuuden kuin keskitetty sovittaminen. Arkkitehtuurin suurimpina kehityskohteina he listaavat annettujen tehtävien turvallisen suorittamisen ja sovittamisalgoritmien parantelun. Se ei nykyisellään tue myöskään toisistaan riippuvia laskentatehtäviä eikä takaa suurten tehtävämäärien reilua vuorotusta. Molempien todetaan kuitenkin olevan ratkaistavissa, riippuvuudenhallintaan aiotaan soveltaa olemassaolevia toteutuksia ja reiluuden takaaminen otetaan tutkimuksen kohteeksi. Arkkitehtuurin mainitaan myös soveltuvan lähinnä laskennallisesti raskaiden, vähän levyliikennettä vaativien laskentatehtävien suorittamiseen [Kim07]. 4.2 Tiedon säilytys Tiedon hajautettu säilytys hilaympäristöissä voitaneen jakaa kahteen tyyppiin: erityisesti dataintensiivisen laskennan tarvitsemaan väliaikaiseen säilytystilaan [FoK99] sekä

8 tutkimus- ja muun tiedon pidempiaikaiseen varastointiin. Väliaikaisen säilytystilan suuri haaste on siinä, että säilytettävä data on tiukasti sidoksissa sille suoritettaviin laskentatoimenpiteisiin. Data on toisinnettava useille tahoille sen etäkäytön minimoimiseksi ja keskitetty tiedonhajautus muuttuu nopeasti tehottomaksi laskentatehtävien ja käytettävien resurssien suuren määrän vuoksi [RaF02]. Käsiteltävän datan suuri määrä aiheuttaa lisävaatimuksia datan nopealle hajauttamiselle. Tiedon pitkäaikainen hajautettu varastointi puolestaan ei sinällään aseta erityiskriteereitä hilaympäristölle. On olemassa jo useita toimivia itsenäisiä toteutuksia, joista osa perustuu nimenomaan vertaisverkkotekniikalle [Has05]. Näiden soveltaminen hilaympäristössä ei liene kovin monimutkaista. Yuhui Deng et al. ovat kehittäneet kaksiportaiseen hybridivertaisverkkoon perustuvan datanhajautusjärjestelmän, joka tarjoaa skaalautuvuuden sekä datalle korkean paikallisuusasteen dataintensiivisessä laskennassa. Järjestelmä pyrkii jakamaan hilan jäsenet omiin piireihinsä niiden maantieteellisen sijainnin perusteella. Jokaisella piirillä on oma agenttisolmunsa, joka on yhteydessä muiden piirien agentteihin. Yhdessä nämä agenttipiirit mudostavat virtuaalisen agenttipiirin (virtual agent domain). Yksittäisen piirin kaikki solmut ovat toistensa kanssa vertaisia, poislukien agenttisolmu. Kaikki agentit ovat puolestaan tasavertaisia virtuaalisessa agenttipiirissä. Käsiteltävä data hajautetaan aina yhdelle piirille sen agentin kautta. Järjestelmän tehokas käyttö vaatii, että laskentatehtävät annetaan samalle piirille kuin niiden käsittelemä data. Tällöin dataintensiivisen laskennan vaatima korkea paikallisuusaste täyttyy ja kommunikaatioviiveet pysyvät pieninä. Järjestelmän suunnittelijat toteavat sillä olevan kolme heikkoa kohtaa: agenttisolmu saattaa muodostua pullonkaulaksi, mikäli piiri on kovan kuormituksen alainen; piirin sisäinen kuormantasaus ja varastoresurssien yhdisteleminen vaatii ylimääräistä laskentatehoa; pahimmassa tilanteessa agenttisolmu voi ylikuormittua pahasti suuresta pyyntömäärästä tarjoillessaan piiriin sijoitettua dataa ulospäin. Järjestelmä ei myöskään nykyisellään tue kunnolla tiedon toisintamista, joskin se on työn alla [Den07]. 5 Yhteenveto Hilalaskenta on vielä varsin tuore asia, ja sen kehitys on jokseenkin alkuvaiheessa. Se on kuitenkin tullut lyhyessä ajassa erittäin suosituksi hajautetun laskennan malliksi. Se

9 voi tarjota laskentaympäristön niin tavanomaiselle superlaskennalle, tilapäiselle laskennalle kuin datamassojen interaktiiviseen käsittelyynkin [FoK99]. Samaten vertaisverkot ovat lyhyessä ajassa kasvattaneet suosiotaan räjähdysmäisesti, joskin niiden pääasiallinen käyttötarkoitus on ollut tiedostojen jakaminen. Hilalaskentaa on toistaiseksi suoritettu lähinnä asiakas-palvelinarkkitehtuurissa, kun taas vertaisverkoissa ollaan siirrytty kohti täydellistä hajauttamista. Vertaisverkkojen hyödyntäminen laskemiseen on myös hyvin nuori idea [Bar00]. Nämä kaksi hajautusmallia ovatkin kehittyneet enimmäkseen rinnakkain, vaikka niillä on paljon yhteistä [FoI03]. Asiakas-palvelinarkkitehtuuri on ilmeisen suoraviivainen keino hilan infrastruktuurin ylläpitämiseen. Keskittämisen kaksi suurta ongelmaa ovat kuitenkin huono skaalautuvuus ja vikaantumisherkkyys [TaZ06]. Vertaisverkot, erityisesti täydellisesti hajautetut sellaiset, skaalautuvat hyvin ja poistavat riippuvuuden yksittäisestä palvelimesta. Niille ei kuitenkaan ole kehitetty kovin ihmeellistä tukea monipuoliselle ja vahvalle infrastruktuurille [FoI03]. Molempia tekniikoita yhdistelemällä voitaneen siis olettaa saatavan jonkinlaisia synergiaetuja. Hilaympäristön kenties tärkein palvelu, laskentatehtävien hajauttaminen, hyötyy selvästi vertaisverkkototeutuksen mahdollistamasta palvelun hajauttamisesta. Palvelun skaalautuvuus ja viansieto paranevat vasteaikojen pysyessä suunnilleen samalla tasolla kuin keskitetyssä ratkaisussa [Kim07]. Laskentadatan hajautetussa säilömisessä vertaisverkon tuomat edut ovat aika pitkälti samat, joskin esimerkkiarkkitehtuurin kaksiportaisuus johtaa joissain tapauksissa pullonkauloihin [TaZ06]. Tämä ei kuitenkaan varsinaisesti heikentänyt ratkaisun tuomia etuja. Rinnakkain kehittyneet, suuresti samankaltaiset hila- ja vertaisverkkolaskenta voivat näiden tietojen pohjalta siis hyötyä jossain määrin toisistaan. Tulevaisuudessa voitaneen toivottavasti odottaa näiden kahden tekniikan lähestyvän toisiaan ja kenties yhdistyvän lopulta jonkinlaiseksi hybridimalliksi, josta muodostuu laskennan hajauttamisen uusi standardi.

10 Lähteet Bar00 Den07 FKT01 FoI03 FoK99 Fos03 Has05 IaF01 Kar07 Barkai, D., An Introduction to Peer-to-Peer Computing, Intel Developer Update, tammikuu 2000, sivut 3-5. [Myös http://www.wi.unimuenster.de/wi/studieren/csc/ss02/6_peertopeer.pdf, 10.11.2008]. Deng, Y. et al., Dynamic and scalable storage management architecture for Grid Oriented Storage devices, Parallel Computing, 3, 1(2008), tammikuu 2008, sivut 17-31. Foster, I., Kesselman, C. ja Tuecke, S., The Anatomy of the Grid: Enabling Scalable Virtual Organizations, International Journal of Supercomputer Applications, 15, 3(2001), sivut 200-222. Foster, I. ja Iamnitchi, A., On Death, Taxes, and the Convergence of Peerto-Peer and Grid Computing. Teoksessa Kaashoek, M.F., Stoica, I. (Eds.), Lecture Notes in Computer Science, vol. 2735, Springer, 2003, sivut 118-128. Foster, I. ja Kesselman, C., Computational Grids. Teoksessa The Grid: Blueprint for a New Computing Infrastructure, Morgan-Kaufman, 1999, luku 2. Foster, I. et al., The virtual data grid: a new model and architecture for dataintensive collaboration, 15 th International Conference on Scientific and Statistical Database Management, heinäkuu 2003, sivut 11- Hasan, R. et al., A Survey of Peer-to-Peer Storage Techniques for Distributed File Systems, Proc. the International Conference on Information Technology: Coding and Computing (ITCC'05) Volume II, 2005, sivut 205-213. Iamnitchi, A. ja Foster, I., On Fully Decentralized Resource Discovery in Grid Environment. Proc. 2 nd International Workshop on Grid Computing, Denver, Colorado, USA, marraskuu 2001, sivut 51-62. Karnstedt, M. et al., UniStore: Querying a DHT-based Universal Storage, IEEE 23 rd International Conference on Data Engineering, huhtikuu 2007,

11 sivut 1503-1504. Kim07 Kim, J-S et al., Creating a Robust Desktop Grid using Peer-to-Peer Services, Proc. IEEE International Parallel and Distributed Processing Symposium 2007, Long Beach, Kalifornia, Yhdysvallat, maaliskuu 2007, sivut 1-7. LVM07 Liikenne- ja viestintäministeriö, Kansallinen laajakaistastrategia - loppuraportti. Liikenne- ja viestintäministeriön julkaisuja, 3(2007), verkkoversio. http://www.lvm.fi/fileserver/julkaisuja%203_2007.pdf [10.10.2008]. NoL05 RaF02 TaZ06 ZhH06 Nordlund, K. ja Lindén, T., Verkkolaskennan näkökulmia. Helsingin yliopiston tietotekniikkaosaston tiedotuslehti, 1(2005), verkkoversio. http:// www.helsinki.fi/atk/lehdet/105/art13.html [13.10.2008]. Ranganathan, K. ja Foster, I., Decoupling Computation and Data Scheduling in Distributed Data-Intensive Applications. Proc. 11 th IEEE International Symposium on High Performance Distributed Computing, Edinburgh, Skotlanti, heinäkuu 2002, sivut 352-358. Tang, J. ja Zhang, M., An Agent-based Peer-to-Peer Grid Computing Architecture: Convergence of Grid and Peer-to-Peer Computing. Proc. the 2006 Australasian workshops on Grid computing and e-research, Hobart, Tasmania, Australia, tammikuu 2006, sivut 33-39. Zhou, R. ja Hwang, K., Trust overlay networks for global reputation aggregation in P2P grid computing, Proc. 20 th IEEE International Parallel & Distributed Processing Symposium, Rhodos, Kreikka, huhtikuu 2006. [Myös http://gridsec.usc.edu/files/tr/ipdps-powertrust.pdf, 16.10.2008].