Vabatahtlik arvutusteenus

Vabatahtlik arvutusteenus (ingl. Volunteer computing) on hajusarvutuse tüüp, kus inimesed annetavad oma arvutite kasutamata ressursse teaduslikule projektile, mis kasutavad neid ressursse hajutatud arvutamiseks ja/või salvestamiseks.

Enamjaolt on vabatahtlikud tavainimesed kellel on isiklikud arvutid, mis on ühendatud internetiga. Lisaks võivad ka organisatsioonid, nagu koolid ja ettevõtted, pakkuda oma arvutite ressursse. Projektid on tavaliselt akadeemilised (ülikoolipõhised) ja teostavad teadusuuringuid. Siiski on erandeid, nagu näiteks GIMPS ja distributed.net mis ei ole akadeemilised.

 Ajalugu 
Esimene vabatahtliku arvutustehnoloogia projekt oli Suur Interneti Mersenne'i algarvu otsing (ingl. Great Internet Mersenne Prime Search GIMPS), mis algas jaanuaris 1996. Sellele järgnes 1997. aastal distributed.net. Aastatel 1997 ja 1998 arendas mitu akadeemilist uurimisprojekti vabatahtliku arvutustehnoloogia jaoks Java-põhiseid süsteeme; näiteks Bayanihan, Popcorn, SuperwebAlexandrov, A.D.; Ibel, M.; Schauser, K.E.; Scheiman, K.E. (1996). "SuperWeb: Research issues in Java-Based Global Computing". Proceedings of the Workshop on Java for High performance Scientific and Engineering Computing Simulation and Modelling. New York: Syracuse University..

Aastatel 1998 kuni 2002 loodi mitmed ettevõtted mille ärimudelid kasutasid vabatahtlikku arvutusteenust, näiteks Porivo, Popular Power, United Devices, Entropia.

Aastal 2002 loodi Berkeley Open Infrastructure for Network Computing (BONIC), mille vabatahtliku arvutustehnoloogia raamistikku kasutatakse erinevate teaduslike simulatsiooniprojektide jaoks, sealhulgas valkude voltumine, kliimaprognoosid ja biomeditsiinilised arvutused.

 Vahetarkvara 
Varajaste vabatahtliku arvutustehnoloogia projektid koosnesid ühest klientprogrammist, mis ühendas nii teadusliku arvutuse kui ka hajutatud arvutusinfrastruktuuri. Selline arhitektuur oli jäik ning uute klienttarkvarede versioonide kasutuselevõtt oli keeruline.

Viimasel ajal on vabatahtlik arvutustehnoloogia liikunud vahetarkvara süsteemidele, mis pakuvad teaduslikust arvutamisest sõltumatut hajutatud arvutusinfrastruktuuri.

Näited vahetarkvaradest:

 BOINC on kõige laialdasemalt kasutatav vahendusvara süsteem. See pakub klienttarkvara Windowsi, macOS-i, Linuxi, Androidi ja teiste Unixi variantide jaoks.
 XtremWeb'i kasutatakse peamiselt uurimistööriistana. Seda arendab rühm Pariisi Lõuna-Ülikoolis.
 Xgrid on Apple'i poolt välja töötatud. Selle klient- ja serverikomponendid töötavad ainult	macOS-i platvormil.
 Grid MP on kaubanduslik vahendusvara platvorm, mida arendab United Devices.

 Tööpõhimõte 

Üks suurematest vabatahtliku arvutusteenuse vahetarkvaradest on BOINC server koosneb kahest põhiosast, nimelt põhiandmebaasist ja serveri deemonprotsessidest (söötur, ülekandija, assimilaator, validaator, (failide) kustutaja, töö generaator ja planeerija). 
alt=|pisi|(lisa 1) BOINC arhitektuur

Kui projektihaldur saadab töö BOINC-i serverisse, loob töö generaator mitu tööülesannet põhiandmebaasis. Seejärel teeb ülekandija andmebaasis tööülesande-tulemuspaarid. Paarid söödetakse sööturi poolt planeeriasse ja jaotatakse mitmele BOINC-i töölisele (vabatahtlikule). Kui iga tööline tagastab oma tulemuse, teatab planeerija selle validaatorile. Kui valideerimine on lõpule jõudnud, töödeldakse andmeid ning viimaks viiakse läbi assimileerimine. 

Lõpuks saab projektihaldur BOINC-i serverist assimileeritud tulemused.(lisa 1)
 Veakontroll 
Arvutustulemuste veakontrolli saab teostada mitmel viisil, üheks meetodiks on hääletamine, teine aga sabotaažikontroll.

Hääletamise puhul iga ülesanne kopeeritakse ja eraldatakse mitmele klientprogrammile, et vahetarkvara saaks koguda mitmeid tulemusi ja võrrelda nende väärtusi. Ülesande jaoks kogutud tulemused klassifitseeritakse seejärel tulemusgruppidesse vastavalt tulemuste väärtusele. Vahendusprogramm otsustab hääletamise teel, millise tulemusgrupi tulemus peaks olema ülesande lõplik tulemus. 

Kaks levinud hääletamismeetodit on enamuse ja m-esimese hääletamine.

 Enamuse hääletamine: Kõige	rohkem tulemusi kogunud tulemusgrupp võetakse vastu kui lõplik	tulemus.
 m-esimese hääletamine: Esimesena m sobiva (sama väärtusega)	tulemust kogunud tulemusgrupp võetakse vastu kui lõplik tulemus.

Lihtsuse tõttu kasutatakse lihtsaid hääletamismeetodeid laialdaselt reaalsetes vabatahtliku arvutamise süsteemides nagu näiteks BOINC.

Töötaja sabotaažikontrolliks määrab vahetarkvara mõnikord kontrollülesande, mille õige tulemus on juba teada. Vahetarkvara saab tuvastada töötaja kui sabotööri, kui too tagastab vale tulemuse kontrollülesandele. 

Sabotööri tabamisel veakontrolliga võib kasutada järgmisi kahte meetodit:

 Tagasikeeramine: Juht tühistab	kõik sabotööri poolt tagastatud tulemused, sest igaüks võib	olla vale.
 Must nimekiri: Juht lisab sabotööri identifitseerimisinfo	(nt IP-aadress) musta nimekirja, et takistada sabotööri tulemuste	tagastamist või uute ülesannete saamist.

Tagasikeeramist ja musta nimekirja saab kasutada samaaegselt efektiivseks sabotaaži vältimiseks.Kan Watanabe, Masaru Fukushi, Michitaka Kameyama, Adaptive Group-Based Job Scheduling for High Performance and Reliable Volunteer Computing, Journal of Information Processing, 2011, Volume 19, Pages 39-51, Released on J-STAGE February 09, 2011, Online ISSN 1882-6652, https://doi.org/10.2197/ipsjjip.19.39, https://www.jstage.jst.go.jp/article/ipsjjip/19/0/19_0_39/_article/-char/en

 Viited 

Kategooria:Samaaegsus