Hajusarvutus

Hajusarvutus on töömahukate arvutusülesannete lahendamine, kasutades kahte või enamat arvutivõrku ühendatud arvutit. 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. 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. Praeguseks on loodud mitu tasulist, kuid ka tasuta arvutiprogrammi hajusarvutusprojektide organiseerimiseks ja haldamiseks. 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. 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. Tuntumad vabatahtlikkusel põhinevad hajusarvutusprojektid on toodud alljärgnevas tabelis. 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. 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. 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/ David P. Anderson, "A Million Years of Computing" https://web.archive.org/web/20160304122342/http://www.ngp.org.sg/seminars/DavidAnderson.htm United Device'i platvormi hostide arv näitab tegelikult klientprogrammi installeerimiste arvu, mis on suurem tegelikust hostide arvust.