BOINC – przetwarzanie rozproszone (a pieniądze roztrwonione?)

W poprzednim wpisie snułem rozważania o projektach naukowych, w których aktywnie uczestniczyć może każdy zainteresowany. Skupiłem się na programach poświęconych badaniu kosmosu, ale to nie jedyna tematyka wśród której można wybierać.

Dziś chciałbym zapoznać was z nauką dla leniwych, czyli udziałem w projektach nie wymagających aktywnego uczestnictwa, a jedynie zainstalowania odpowiedniego oprogramowania na swoim komputerze lub smartfonie. Mowa tu o BOINC (Berkeley Open Infrastructure for Network Computing) czyli sieciach komputerowych przetwarzania rozproszonego. Ten nieco enigmatycznie brzmiący skrót, oznacza udostępnianie swojego komputera a dokładniej jego mocy obliczeniowej, do analizy danych w wybranym projekcie naukowym. Tu już nie ma potrzeby wpatrywania się w monitor, porównywania setek niemal identycznych zdjęć i ciągłego klikania. Wystarczy wybrać projekt na rzecz którego chcemy poświęcić gigaherce naszych procesorów i gotowe! To tak jakby twój komputer był częścią superkomputera. Analiza wielkich ilości danych na pojedynczym superkomputerze nie jest tania, a nierzadko trzeba długo czekać w kolejce, aby mieć sposobność skorzystania z tak potężnej maszyny obliczeniowej. Tak więc jakiś mózgowiec wpadł na pomysł, aby skorzystać z mocy obliczeniowej uwięzionej w milionach domowych komputerów osobistych i to niemal za darmo. Genialne!

Nauka dla leniwych?

Idea, jaka przyświecała autorom projektu, jest bardzo wzniosła. W zamyśle oprogramowanie ma działać najczęściej w ramach „wygaszacza ekranu”, czyli czasu, kiedy komputer nie jest przez jego właściciela używany. To dobre rozwiązanie dla wszelakich instytucji badawczych, uniwersytetów czy laboratoriów, gdzie istnieje wewnętrzna sieć z dużą ilością komputerów. Pozwala to na analizę danych bez zastosowania wydajnej ale drogiej jednostki centralnej. Oczywiście od warunkiem, gdy nie ma potrzeby szybkiego liczenia danych. Od strony technicznej przetwarzanie rozproszone polega na rozsyłaniu pakietów danych do poszczególnych komputerów – klientów. Pakiet taki jest wysyłany najczęściej tylko do jednego komputera i jest mu przydzielony okres ważności, czyli czas w jakim powinien być przeanalizowany. Jeżeli komputer nie zdąży z obliczeniami, pakiet jest usuwany u danego klienta i wysyłany do innego komputera. Czynność ta jest powtarza do czasu, aż dane zostaną przeliczone i zwrócone do serwera. Dopiero teraz użytkownik, którego komputer zdołał przeliczyć dany pakiet w całości, jest nagradzany punktami. Widać tu zasadniczą różnicę między przetwarzaniem rozproszonym, a projektami z serii www.zooniverse.org. W BOINC całe liczenie przypada komputerowi, więc nie ma możliwości, aby ten się pomylił. Zasadniczym minusem jest szybkość takiej analizy, albowiem należy czekać, aż pakiety zostaną policzone przez komputery klienckie. W zooniverse to człowiek podejmuje decyzje, a że jest omylny, to te same dane są wielokrotnie analizowane przez wiele osób. To oczywiście tylko ogólne porównanie, albowiem idee, jakie stoją za poszczególnymi projektami, są odmienne. Zooniverse zostało stworzone ze względu na specyfikę analizowanych danych, z którymi algorytmy komputerów nie radzą sobie najlepiej. To co łączy te przedsięwzięcia, to możliwość oddania części zadań w ręce zwykłych użytkowników internetu, którzy być może poza samym dobrowolnym poświęceniem swojego czasu i komputera, postanowią poszerzyć swoją wiedzę w jakimś temacie z pożytkiem dla nich samych, a może nawet ogółu społeczeństwa.

Być może niektórzy z was kojarzą lub nawet sami brali, tudzież nadal biorą udział w programie SETI? To przedsięwzięcie mające na celu poszukiwanie pozaziemskich cywilizacji poprzez analizę sygnałów radiowych, było właśnie prekursorem BOINC. Początkowo (1999r.) dane zbierane od wielu lat, zostały udostępnione poprzez obliczeniową sieć rozproszoną stworzoną tylko na potrzeby tego projektu. Kilka lat później na fali ogromnego sukcesu SETI (ilość udostępnionej mocy obliczeniowej przez indywidualnych pasjonatów astronomii a nie wykrycia pozaziemskiego życia), spowodowała w roku 2002 rozbudowę sieci obliczeń rozproszonych na inne projekty naukowe pod nazwą BOINC. Program SETI@home ma już swój dość spory staż, niemniej jednak jak dotąd nie przyniósł żadnego pozytywnego wyniku pod postaciom odkrycia pozaziemskiej, inteligentnej formy życia. Innymi słowy, nie odebrano żadnego radiowego sygnału od obcej cywilizacji, a w każdym razie nie takiego, który potrafimy odczytać. Kiedy kilka lat temu brałem udział w tym programie, w czasie bezczynności komputera uruchamiał się „profesjonalny” wygaszacz ekranu z mnóstwem wykresów. Był efektowny, ale wymiernych skutków nie miał żadnych. Tak samo ja w zooniverse, projekty rozpoczynają się i kończą. Trwają dużej lub krócej. Jedne cieszą się ogromną popularnością, inne już niekoniecznie. Swojego czasu byłem uczestnikiem między innymi takich programów jak Asteroids@home, Einstein@home, LHC@home, Milkyway@home, Radioactive@Home (ciekawy polski projekt), SETI@home. Już po samych nazwach można się domyśleć, czego dotyczą. Pełna lista wraz z opisem jest dostępna między innymi pod adresami http://boinc.berkeley.edu/projects.php oraz http://www.boincatpoland.org/wiki/Lista_projekt%C3%B3w

Nie ma kosmitów

Chwilowo nie dowiedliśmy istnienia odległych, obcych cywilizacji ale nie oznacza to bynajmniej, że ludzkość nie ma innych palących potrzeb. Jak napisałem wcześniej, w BOINC mogą partycypować projekty z różnych dziedzin nauki. Od astronomii, przez matematykę po medycynę. Naprawdę jest w czym wybierać. Wierzysz w szczepionkę przeciwko wirusowi HIV? Proszę bardzo. Możesz poświęcić kilkaset godzin pracy komputera na obliczenia. A może bliższy jest Ci problem raka zżerającego ludzkość? Mówisz i masz. Nie interesuje Cię medycyna? Obliczanie liczb pierwszych, sztuczna inteligencja, poszukiwanie odległych pulsarów, fal grawitacyjnych, analiza zjawisk pogodowych, poszukiwanie cząstek elementarnych. Każdy powinien znaleźć coś dla siebie a ambitni mogą sami użyć ogromnej mocy obliczeniowej, tworząc swoje projekty. Projektem, który rokuje duże nadzieje z mojej strony, jest Clean Air Project tworzony przez kilku zapaleńców z polski a który mam nadzieję przeobrazi się w pełnowartościowe przedsięwzięcie, nie koniecznie oparte o platformę BOINC. Ma on na celu stworzenie sieci niedrogich czujników pomiaru pyłów i innych zanieczyszczeń powietrza, co w ostatnich latach zostało mocno nagłośnione w polskich mediach pod postacią smogu. 

O czasu do czasu instytucje korzystające z możliwości BOINC publikują artykuły poświęcone postępom w swoich badaniach. To bardzo ważne, ponieważ właściciele komputerów klienckich lubią wiedzieć czy i jaki sposób przyczynili się do ratowania ludzkości. Niestety próżno szukać jakiś spektakularnych sukcesów, jak wynalezienie szczepionki na raka dzięki pomocy milionów komputerów anonimowych wolontariuszy. Nawet jeśli kiedykolwiek takowa powstanie, to BOINC będzie tylko niewielką częścią sukcesu, ponieważ to tylko kalkulator o ogromnej mocy obliczeniowej. Sporo publikacji można znaleźć na stronie http://boinc.berkeley.edu/wiki/Publications_by_BOINC_projects

Rachunek za prąd.

 

I teraz rzecz bardzo ważna jeśli nie najważniejsza! Zanim się zdecydujesz na uczestnictwo w BOINC dobrze przeczytaj instrukcję obsługi klienta, czyli oprogramowania, które masz zamiar zainstalować na swoim komputerze. Najważniejsze to dobrze go skonfigurować, aby później nie żałować kiedy przyjdzie rachunek za prąd! Tak, tak! W świecie w którym żyjemy, nic nie ma za darmo. Chcesz pomóc w rozwiązaniu jakiegoś naukowego „problemu” nie wysilając swojego mózgu? To płać! Niekiedy bardzo słono. Jak napisałem powyżej: udostępniasz moc obliczeniową swojego komputera, a ta idzie w parze ze zużyciem elektryczności.

W opcjach oprogramowania, jakie zainstalujesz, masz wiele opcji do skonfigurowania. Między innymi kiedy komputer ma liczyć, czyli czy ma liczyć cały czas w tle, czy tylko w czasie gdy jest bezczynny. Możesz ustawić procent mocy procesora jaki ma być poświęcony na obliczenia, ilość pamięci RAM, ilość miejsca na dysku twardym, priorytety, którym projektom przyznajesz pierwszeństwo w obliczeniach itp. Pamiętaj, że najważniejsze to kiedy i z jaką mocą ma liczyć procesor. Pewnie niektórym z Was już zaświeciła się czerwona lampka – „A co ja z tego będę mieć?”. No cóż. Jeżeli nie wystarczy Ci satysfakcja Twojego malutkiego udziału w postępie naukowym ludzkości, to być może usatysfakcjonują Cię punkty, jakie są przyznawane za poświęconą moc komputera. W zależności od projektu, są okresy premiowane większą ilością punktów i tak dziś projekt X nagradza swoich uczestników mnożnikiem x4, a jutro projekt Y, będzie nagradzać x2. I tu zaczyna się coś, co uważam za przerost formy nad treścią.

Punkty. Tysiące punktów. Setki tysięcy, miliony punktów!

 

Decydując się na udział w BOINC zacząłem przeglądać internet w celu znalezienia dodatkowych, nieoficjalnych informacji o tym projekcie. Bardzo szybko zorientowałem się, ze są ludzie, a nawet całe zespoły reprezentujące drużyny, uniwersytety czy nawet kraje w punktowej rywalizacji. Wkopując się głębiej w kolejne internetowe pokłady informacji, wkrótce trafiłem na fora poświęcone przetwarzaniu rozproszonemu. Czytam, czytam i zastanawiam się, o co tu tak naprawdę chodzi. Otóż okazuje się, że nie samym CPU człowiek żyje. Dawniej szybki komputer równał się szybki procesor główny CPU. Te czasy już dawno minęły. Teraz się liczy GPU, czyli karta graficzna. Potrafi ona policzyć z nieporównywalnie większą wydajnością dane, z którymi CPU będzie się pocić znacznie dłużej. Specyficzna architektura z jaką zostały zaprojektowane niektóre karty graficzne powoduje, że ich wydajność jest wielokrotnie większa w liczeniu specyficznych danych. I tak oto już niemal normą stało się pisanie oprogramowania liczącego specjalnie pod karty graficzne a nawet projektowanie kart graficznych, których głównym zadaniem nie jest wyświetlanie grafiki (!!!), ale właśnie liczenie. Kopanie bitcoin’ów, łamanie haszy czy właśnie liczenie z BOINC jest oparte w dużej mierze na kartach graficznych.

No dobrze, ale co z tego? – zapytacie. Są osoby, które konfigurują swoje komputery specjalnie pod software obliczeniowy, w tym przypadku BOINC. Komputery takich osób składają się niejednokrotnie z kilku kart graficznych najwyższej klasy, które potrzebują duuuuużo energii elektrycznej. Myślisz, że jesteś kozak, bo twój PC bez problemów pociągnie GTA V na ULTRA detalach z zasilaczem 600W? A więc schowaj się lepiej z Twoim przerośniętym kalkulatorem, bo są komputery które zjadają 1200W na rozgrzewkę. I tu dochodzimy do sedna idei, z jaką został pomyślany BOINC i każdy uczestnik musi sobie sam odpowiedzieć na pytanie – „Po co ja to robię?”. Czy to nadal chęć uczestniczenia w jakimś symbolicznym wymiarze w programie (mniej lub bardziej) naukowym, czy może celem samym w sobie są tak naprawdę… punkty? Kto tak naprawdę jest beneficjentem tej idei i czy jest ona dla Ciebie warta rachunku za prąd wyższego nawet o kilkaset złotych miesięcznie? Czy nie lepiej te pieniądze przeznaczyć na jakiś faktyczny program naukowy, gdzie widać w wymierny sposób efekty podarowanych pieniędzy? A może faktycznie lepiej przerobić swojego kompa na koparkę bitcoin’ów, ewentualnie dorobić sobie do kieszonkowego łamiąc hash’e za pieniądze? To już zostawiam pod rozwagę każdemu uczestnikowi BOINC. Pamiętać należy, że w zdecydowanej większości program BOINC został stworzony dla szczytnych idei umożliwiających uczestnictwo zwykłemu Kowalskiemu w naukowym programie, który być może kiedyś zmieni świat na lepszy. Tymczasem ustawcie procesory na 5% w idle’u.

Od 2013 roku poza zylionami punktów, uczestnicy mogą zdecydować się na wynagradzanie ich w kryptowalucie zwanej Gridcoin. Została ona stworzona specjalnie dla platformy BOINC w celu częściowego zrekompensowania poniesionych przez wolontariuszy nakładów, tudzież zwerbowania kolejnych poszukiwaczy złota. Na obecną chwilę wartość tej kryptowaluty jest niemal symboliczna w porównaniu do kultowego bitcoin’a, ale jeśli kogoś nie satysfakcjonują punkty, to wirtualna waluta może nieco bardziej go zmotywuje. Ale przecież ideowcy nie robią tego dla pieniędzy! Nieprawdaż??

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s