Dobrovoljno računanje

Dobrovoljno računanje je vrsta distribuiranog računanja kod kojeg korisnici dobrovoljno ustupaju svoje računarske resurse (kao što su procesorska snaga i memorijski kapacitet) za podršku jednom ili više naučnih projekata.

 Historija 
Prvi poznati projekat dobrovoljnog računanja bio je Great Internet Mersenne Prime Search (GIMPS), koji je pokrenut u januaru 1996. godine. Ubrzo nakon toga, 1997. godine pokrenut je distributed.net, a krajem 1990-ih i nekoliko akademskih istraživačkih projekata koji su koristili Javu za distribuirano računanje.

Izraz "dobrovoljno računanje" skovao je Luis F. G. Sarmenta, koji je razvio sistem Bayanihan. Ovaj termin odnosi se na kolektivne napore korisnika u pružanju računarskih resursa u svrhu društveno korisnih projekata.

Najveći rast u popularnosti dobrovoljno računanje je doživjelo 1999. godine pokretanjem projekata SETI@home i Folding@home, koji su privukli stotine hiljada dobrovoljaca širom svijeta.

Između 1998. i 2002. godine nekoliko kompanija je razvilo poslovne modele zasnovane na dobrovoljnom računanju, uključujući Popular Power, Porivo, Entropia, Inc., i United Devices.

 Middleware za dobrovoljno računanje 
U početnim fazama, klijentski softver za dobrovoljno računanje bio je monolitan i kombinovao je naučne proračune i mrežnu infrastrukturu u jednu aplikaciju. Međutim, moderni pristupi koriste naprednije middleware sisteme koji omogućavaju fleksibilniju distribuiranu infrastrukturu računanja.

Neki od najpoznatijih middleware sistema uključuju:

BOINC (Berkeley Open Infrastructure for Network Computing) – najrasprostranjeniji middleware otvorenog koda razvijen na Univerzitetu Kalifornije, Berkeley.

XtremWeb – istraživački alat razvijen na Univerzitet Pariz-Jug.

Xgrid – sistem razvijen od strane Apple-a, dostupan samo za MacOS.

Grid MP – komercijalna middleware platforma korištena u projektima poput World Community Grid, Cell Computing i Hikari Grid.

Većina ovih sistema koristi model povlačenja (pull model), gdje klijent povremeno kontaktira serverski sistem kako bi preuzeo novi zadatak i predao rezultate obrade.

 Izazovi dobrovoljnog računanja 
Dobrovoljni računarski sistemi suočavaju se s nekoliko izazova, uključujući:

 Heterogenost resursa – računari dobrovoljaca imaju različite performanse i konfiguracije.
 Nepredvidivost dostupnosti – računari nisu uvijek uključeni ili povezani na mrežu.
 Potreba za minimalnim utjecajem na performanse korisnika – softver mora raditi u pozadini bez ometanja svakodnevnog rada korisnika.

Dodatno, postoje i problemi vezani za tačnost podataka:

 Nepouzdani rezultati – neki računari, posebno oni s overclockingom, mogu slati netačne rezultate.
 Namjerno manipuliranje rezultatima – pojedini korisnici mogu pokušati poslati pogrešne rezultate kako bi dobili nepravedne nagrade.

Uobičajena metoda za ublažavanje ovih problema je korištenje ponovljenog računanja (redundant computation), gdje se isti zadatak izvršava na više računara, a rezultati se prihvataju samo ako su međusobno podudarni.

 Troškovi dobrovoljnog računanja 
Korisnici koji učestvuju u dobrovoljnom računanju mogu imati određene troškove, uključujući:

 Povećanu potrošnju električne energije.
 Potencijalno smanjenje performansi računara.

Međutim, za mnoge učesnike koristi od doprinosa naučnim istraživanjima nadmašuju potencijalne nedostatke.

 Reference 

 Vanjski linkovi 

Wanted: Your computer's spare time – physics.org, 2009.

BOINC – zvanična stranica

Kategorija:Distribuirano računarstvo
Kategorija:Računarstvo
Kategorija:Informatika