Hajusarvutus on töömahukate arvutusülesannete lahendamine, kasutades kahte või enamat arvutivõrku ühendatud arvutit.

(a) ja (b) Hajussüsteem.
(c) Paralleelsüsteem

Hajusarvutus kujutab endast paralleelarvutuse erijuhtu. Paralleelarvutus on ühe arvutusülesande eri osade samaaegne lahendamine mitme protsessoriga, mis asuvad ühes või mitmes arvutis. Selleks peab ülesanne olema jaotatud osadeks, mida lahendatakse paralleelselt. Seejuures võib arvutusülesande eri osade lahendamiseks kasutada erinevaid arvutiressursse. Samas ei saa igat ülesannet jaotada osadeks, mida paralleelselt lahendada.

Ajalugu muuda

Viimasel ajal lahendavad arvutusülesandeid arvutid, mis on ühendatud erinevate andmesidevahenditega, kuid varem kasutati selleks inimesi. Näiteks arvutusi tuumapommi mudeli jaoks sooritas rühm USA teadlasi, kes kasutasid arvutusmasinaid.

Sõnumiedastusega samaaegsete protsesside kasutamise juured ulatuvad operatsioonisüsteemide ehituse uuringutesse 1960. aastatel. Esimesed laialt levinud hajussüsteemid olid kohtvõrgud nagu Ethernet, mis leiutati 1970. aastatel.

ARPANETi, mis on interneti eelkäija, esitleti 1960. aastate lõpus ja ARPANETi e-post leiutati 1970. aastate alguses. E-postist sai kõige kasutatavam ARPANETi rakendus ja see on kõige varasem näide suuremat sorti hajusrakendusest. Lisaks ARPANETile ja internetile kasutati teisi ülemaailmseid arvutivõrke, kaasaarvatud Useneti ja FidoNeti 1980. aastatel, toetamaks hajutatud arutelusüsteeme. Hajusarvutus kui uurimisvaldkond sai arvutiteaduse haruks 1970. aastate lõpus ja 1980. aastate alguses.

Seoses interneti tulekuga ja selle kiire arenguga kogus populaarsust idee kasutada hajusarvutusprojektides vabatahtlikke arvutikasutajaid, kellel on võimalus kasutada internetti. Selliste hajusarvutuse projektite, nagu näiteks SETI@home, Folding@home, Climateprediction.net ja paljude teiste projektide arvutusvõimsus on peaaegu sama suur kaasaegsete superarvutitega võrreldes. Folding@home on Guinnessi rekordite raamatu järgi maailma kõige mahukam hajusarvutuse kobar ehk klaster.[1] Praeguseks on loodud mitu tasulist, kuid ka tasuta arvutiprogrammi hajusarvutusprojektide organiseerimiseks ja haldamiseks.

Hajusarvutusprojektides osalemine muuda

Üldine skeem muuda

Hajusarvutusprojektis osalemine toimub üldjuhul järgmiselt: arvutikasutaja laadib oma operatsioonisüsteemis alla klientprogrammi, paigaldab selle oma arvutisse ja käivitab. Klientprogramm suhtleb aeg-ajalt projekti serveriga, küsides andmeid, mida töödelda, ja saates arvutustulemusi. Seejuures töötab klientprogramm võrreldes teiste arvutis töötavate programmidega madala prioriteediga ja ei takista põhitööd.

Osalejate motiveerimine muuda

Hajusarvutusprojektidesse osalejate meelitamiseks on olemas mitu võimalust. Eelkõige on selleks reklaam, muuhulgas projektiga seotud veebilehtedes. Peaaegu iga projekt püüab võimalikes osalejates äratada huvi, kirjeldades lahendatava ülesande ja selle tulemuste rakenduste tähtsust praktilises elus. Näiteks uute ravimite uuringud ja teised biomeditsiinilised projektid.

Paljud projektid loovad keskkonna osalejate võistlemisele arvutuste mahu osas ning seda üksikute osalejate kui ka võistkondade kaupa. Tähtsaks asjaoluks on siin põhjalik ja kena välimusega statistika osalejate tulemustest, punktitabelid, foorumid projekti aruteluks ja muu selline. Kõik see moodustab osalejate suhtlemiseks sotsiaalse võrgustiku. Seejuures jääb hajusarvutusprojekti põhieesmärk paljude osalejate jaoks tagaplaanile. Näiteks saab tähtsamaks veebilehe ja klienttarkvara kujundamine. Sellise lähenemise edukust tõestab see, et on olemas paljude eri projektides osalevate võistkondade veebilehed, kus reklaamitakse valitud projekti vabatahtlikult ja iseseisvalt ning tõmmatakse ligi uusi osalejaid. Mõnda hajusarvutusprojekti rahastatakse ning osalejatele pakutakse rahalist tasu teatud tulemuste eest. Selliseid projekte võib vaadelda kui loteriisid, milles osalejad midagi kasulikku arvutades panustavad oma arvuti ressursse ja loovad endale võimalust midagi võita. Seejuures on võiduvõimalus võrdeline panustatud arvutusvõimsusega; nagu loteriiski – mida rohkem on pileteid ostetud, seda suurem on võimalus võita.

Vaatamata sellele, et enamik hajusarvutusprojektidest toimib tänu vabatahtlikele personaalarvuti kasutajatele, on võimalus, et tavakasutaja satub tahtmatult osaliseks mingis projektis, mille klienttarkvara võib olla arvutisse paigaldatud mingi arvutiviiruse poolt. Nüüdisaegse infotehnoloogia ja andmesidevõrkude arengu juures võib selline viirusena käituv klienttarkvara, mis ei kahjusta arvutis olevat infot, kuid samas suurendab arvuti protsessori hõivatust, jääda avastamata.

Vabatahtlikud hajusarvutusprojektid muuda

Tuntumad vabatahtlikkusel põhinevad hajusarvutusprojektid on toodud alljärgnevas tabelis.[2]

Projekt Algus Seotud asutus Valdkond Suurim hostide arv Praegune staatus Arvutusvõimsus
GIMPS 1996 ? matemaatika 10 000 aktiivne 27 TFLOPS
distributed.net 1997 USA mittetulundusorganisatsioon krüptograafia 100 000 aktiivne ?
SETI@home 1999 California ülikool Berkeleys maavälise mõistuse otsing 362 000 aktiivne 684 TFLOPS
Electric Sheep 1999 ? kunst 57 000 aktiivne ?
Folding@home 2000 Stanfordi ülikool bioloogia 406 000 aktiivne 7,87 PFLOPS
BOINC 2002 California ülikool Berkeleys biomeditsiin, muu 550 000 aktiivne 2,39 PFLOPS
Grid.org 2002 United Devicesi filantroopia biomeditsiin, muu 3 734 000[3] suletud ?
Climateprediction.net 2003 Oxfordi ülikool kliimamuutused 150 000 aktiivne ?
LHC@home 2004 CERN füüsika 60 000 aktiivne ?
World Community Grid 2004 IBM-i filantroopia biomeditsiin, muu 700 000[3] aktiivne ?
Einstein@home 2005 LIGO astrofüüsika 200 000 aktiivne 181 TFLOPS
Rosetta@home 2005 Washingtoni ülikool bioloogia 100 000 aktiivne ?

Hajusarvutusprojektide haldamise tarkvara muuda

  • Apache Hadoop
  • BOINC – Berkeley ülikooli avatud infrastruktuur võrguarvutuste jaoks (Berkeley Open Infrastructure for Network Computing), levitatakse litsentsiga LGPL.
  • Condor
  • Globus Toolkit – programmide hulk, mis lihtsustab hajusarvutusprojektide loomist ja haldamist.

Kriitika ja vandenõuteooriad muuda

Hajusarvutusprojektide organiseerijad on algusest peale väitnud, et kõikide projektiga liitunud inimeste osavõtt ei ole tasustatav ja arvutuste tulemused on avalikud. Kuid on võimalus, et:

  • näiteks projekti väidetavad eesmärgid ei vasta tõele ja töötlemiseks saadetud andmed on uute relvastuse projektide väljatöötamiseks. Probleem on selles, et enamiku projektide klientprogrammide lähtekoodid ei ole avalikud ning projekti lõpposalejal ei ole võimalust analüüsida klienttarkvara tööd ning katsed programmi disassembleerida on ebaseaduslikud;
  • teaduslikud saavutused, mis saadakse uuringute käigus, kasutatakse algselt sõjalistel eesmärkidel ning seejärel tsiviilvaldkonnas. Neid saavutusi võivad samuti kasutada projekti korraldajad ja ülejäänud osalised ei pruugi saada mingit kasu.

Viited muuda

  1. Engadget ja mõned teised veebilehed teatavad, et Guinness on tunnistanud Folding@Home'i kõige võimsamaks hajusarvutuse klastriks, 31. oktoober 2007. http://www.engadget.com/2007/10/31/folding-home-recognized-by-guinness-world-records/
  2. David P. Anderson, "A Million Years of Computing" https://web.archive.org/web/20160304122342/http://www.ngp.org.sg/seminars/DavidAnderson.htm
  3. 3,0 3,1 United Device'i platvormi hostide arv näitab tegelikult klientprogrammi installeerimiste arvu, mis on suurem tegelikust hostide arvust.