Vabatahtlik arvutusteenus

Allikas: Vikipeedia

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[muuda | muuda lähteteksti]

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[1], Popcorn[2], Superweb[3].

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

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.[5]

Vahetarkvara[muuda | muuda lähteteksti]

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[muuda | muuda lähteteksti]

Ü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).

(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.[6][7](lisa 1)

Veakontroll[muuda | muuda lähteteksti]

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.[8]

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.[9]

Viited[muuda | muuda lähteteksti]

  1. Masunaga, Yoshifumi; Katayama, Takuya; Tsukamoto, Michiharu (16. veebruar 1998). Worldwide Computing and Its Applications - WWCA'98: Second International Conference, Tsukuba, Japan, March 4-5, 1998, Proceedings (inglise). Springer Science & Business Media. ISBN 978-3-540-64216-9.
  2. Regev, Ori; Nisan, Noam (28. oktoober 1998). "The POPCORN market—an online market for computational resources". Proceedings of the first international conference on Information and computation economies. ICE '98. New York, NY, USA: Association for Computing Machinery: 148–157. DOI:10.1145/288994.289027. ISBN 978-1-58113-076-8.
  3. Alexandrov, 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.
  4. Chien, Andrew; Calder, Brad; Elbert, Stephen; Bhatia, Karan (2003-05). "Entropia: architecture and performance of an enterprise desktop grid system". Journal of Parallel and Distributed Computing. 63 (5): 597–610. DOI:10.1016/s0743-7315(03)00006-6. ISSN 0743-7315. {{ajakirjaviide}}: kontrolli kuupäeva väärtust: |kuupäev= (juhend)
  5. Vyas, Deepti; Subhlok, Jaspal. "Volunteer Computing on Clusters" (PDF). Department of Computer Science, University of Houston.
  6. Yi, Sangho; Kondo, Derrick; Anderson, David P. (2010). D’Ambra, Pasqua; Guarracino, Mario; Talia, Domenico (toim-d). "Toward Real-Time, Many-Task Applications on Large Distributed Systems". Euro-Par 2010 - Parallel Processing (inglise). Berlin, Heidelberg: Springer: 355–366. DOI:10.1007/978-3-642-15277-1_35. ISBN 978-3-642-15277-1.
  7. Durrani, Muhammad Nouman; Shamsi, Jawwad A. "Volunteer computing: requirements, challenges, and solutions". Journal of Network and Computer Applications (39): 369-380. ISSN 1084-8045.
  8. "BOINC". boinc.berkeley.edu. Vaadatud 1. mail 2024.
  9. 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