Wolontariat obliczeniowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Wolontariat obliczeniowy (ang. Volunteer computing) – jest to rodzaj obliczeń rozproszonych, w którym użytkownicy komputera udostępniają swoje zasoby obliczeniowe (czas pracy procesora lub/i miejsce na dysku) dla wykonania zadań obliczeniowych zazwyczaj w ramach projektów naukowych. Współczesne systemy dla wolontariatu obliczeniowego są oparte na systemach gridowych.

Historia[edytuj | edytuj kod]

Ideą obliczeń wolontariackich zainteresował się David Geyde w 1994 roku w Seattle. Wraz z Davidem Andersonem, specjalistą od obliczeń rozproszonych i Danem Werthimerem z UC Berkeley Space Sciences Lab wymyślili oni projekt SETI@home, w którym moc obliczeniową stanowiłyby komputery użytkowników dobrowolnie do niego partycypujących. Z tą ideą zaczęli oni poszukiwać inwestorów, niestety bez powodzenia. Dopiero w 1999 roku udało się uruchomić projekt i szybko okazał się on sukcesem, dzięki zainteresowaniu mediów[1].

Pierwszym uruchomionym projektem wolontariatu obliczeniowego był Great Internet Mersenne Prime Search, który rozpoczął działalność w styczniu 1996[2]. Następnie był kontynuowany w 1997 roku przez distributed.net. W latach 1997 i 1998 kilka ośrodków akademickich stworzyło swoje projekty na bazie wolontariatu obliczeniowego, na przykład Bayanihan, Popcorn, Suberweb i Charlotte.

Angielski termin „volunteer computing” został wprowadzony przez Luisa F. G. Sarmentę, dewelopera Bayanihan.

W 2002 roku uruchomiono system Berkeley Open Infrastructure for Network Computing (BOINC) stworzony przez University of California w Berkeley i finansowany przez National Science Foundation[3][4]. BOINC udostępnia kompletny system pośredniczący (ang. middleware) dla obliczeń na zasadzie wolontariatu, włączając klienta, klienta GUI, środowisko uruchomieniowe, oprogramowanie serwerowe oraz oprogramowanie implementujące stronę internetową projektu. Pierwszym projektem opartym o BOINC był Predictor@home stworzony w The Scripps Research Institute, uruchomiony w 2004 roku. Krótko po tym SETI@home i ClimatePrediction.net zaczęły korzystać z BOINC.

Oprogramowanie[edytuj | edytuj kod]

Oprogramowanie klienckie we wczesnych projektach wolontariatu obliczeniowego składało się z pojedynczego programu, który łączył w sobie obliczenia naukowe i infrastrukturę obliczeń rozproszonych. Taka architektura była niedoskonała, choćby ze względu na trudności w dostarczaniu aktualizacji. Najnowsze projekty starają się rozdzielić warstwę obliczeń od infrastruktury sieciowej.

Systemy wolontariatu obliczeniowego muszą stawić czoła kilku problemom związanym z wolontariacką partycypacją. Jednym z najważniejszych problemów jest zjawisko zwracania niepoprawnych wyników przez użytkowników. Występuje ono poprzez nieumyślne (usterka komputera) bądź umyślne działania wolontariuszy. Techniką zabezpieczającą przed tymi praktykami jest tak zwana duplikacja obliczeń, gdzie tę samą pracę wykonuje się na dwóch lub kilku niezależnych maszynach.

Polskie projekty wolontariatu obliczeniowego[edytuj | edytuj kod]

Pierwszym polskim projektem obliczeń wolontariackich jest system Comcute zaprojektowany przez naukowców z Wydziału Elektroniki Telekomunikacji i Informatyki na Politechnice Gdańskiej[5].

Comcute jest alternatywą dla systemu BOINC. Jego cechą szczególną jest to, że użytkownicy nie muszą instalować żadnych dodatkowych programów na swoim komputerze, gdyż system wykorzystuje jedynie przeglądarkę internetową. Przystąpienie do projektu jest bezpłatne i bezpieczne ze względu na fakt, że internauta może w każdej chwili zrezygnować z bycia wolontariuszem[6].

Koszty dla partycypujących w projekcie[edytuj | edytuj kod]

  • Wzrost zużycia prądu. Procesor, który jest nieużywany pobiera mniej energii, niż ten, który jest aktywny. Wiąże się to ze wzrostem kosztów zużycia energii elektrycznej. Dodatkowo, przy nieodpowiednim systemie chłodzenia komputera może dojść do jego przegrzania.
  • Spadek wydajności komputera. Obliczenia oprócz czasu pracy procesora, potrzebują także pewnej ilości pamięci RAM oraz niewielkiej przepustowości sieciowej.

Zobacz też[edytuj | edytuj kod]

Przypisy

  1. SETI@home In Memoriam
  2. Great Internet Mersenne Prime Search – GIMPS.
  3. Balicki, J., Krawczyk, H., Nawarecki E. (Eds.): Grid and Volunteer Computing. Gdańsk University of Technology Press, Gdańsk (2012)
  4. Anderson D.P.: Boinc: A system for public-resource computing and storage. In: Proceedings of 5th IEEE/ACM International Workshop on Grid Computing, Pittsburgh, USA (2004)
  5. Comcute: a Grid and volunteer computing system
  6. Polish Grid Infrastructure, Polish Grid Projects. European Regional Development Fund: Innovative Economy program