Najpotężniejszy komputer świata
Moc obliczeniowa projektu Folding@home jest ponad trzykrotnie większa niż najszybszego na świecie komputera Cray XT Jaguar, tymczasem jego koszt to zaledwie ułamek milionów dolarów, jakie wyłożono na Craya. To wszystko dzięki wolontariuszom, do których możesz także dołączyć.
Zastosowana w tym projekcie metoda nazywa się obliczeniami rozproszonymi. Zamiast uruchamiać algorytmy na maszynie, stojącej w jednym pomieszczeniu, dzieli się je na drobne części i rozsyła do setek tysięcy zwykłych pecetów. Te w dogodnym dla siebie tempie liczą zadanie i odsyłają wynik.
Idea obliczeń rozproszonych z wykorzystaniem maszyn wolontariuszy pojawiła się w połowie lat 90. Naukowcy postanowili zaprząc część niewykorzystywanej przez internautów mocy ich procesorów do liczenia czegoś pożytecznego. Było to możliwe dzięki rozwojowi internetu, który dostarczył powszechnej i taniej architektury do rozsyłania zadań i zbierania wyników.
Znajdź sobie UFO
Pierwszy projekt dotyczył poszukiwania bardzo dużych liczb pierwszych, które są istotnym składnikiem algorytmów szyfrujących. Cała idea nabrała rozmachu, gdy pojawił się projekt poszukiwania inteligencji pozaziemskiej SETI@home (Search for Extra-Terrestrial Intelligence). Program analizuje sygnały rejestrowane przez radioteleskopy pod kątem śladów, dowodzących istnienia w kosmosie inteligentnego życia. Koszt analizy danych przekraczał budżet programu, więc zwrócono się o pomoc do internautów. Internauci zaczęli masowo pobierać specjalny wygaszacz ekranu, który aktywował się po pewnym czasie bezczynności i rozpoczynał obliczenia. Po kilku latach działalności SETI@home miał 5 mln użytkowników. Chociaż ciekawych sygnałów nie wykryto, program był wielkim sukcesem i wypromował ideę udostępniania własnego komputera w szczytnym celu.
Jak to działa?
Najpopularniejsze obecnie w takich projektach środowisko BOINC (Berkeley Open Infrastructure for Network Computing) pozwala skutecznie zarządzać działaniem specyficznej i dość niestabilnej masy komputerów. Obejmuje oprogramowanie dla serwerów i klientów, przeznaczonych do instalacji na komputerach wolontariuszy. Dzięki udostępnieniu wyników pracy w sieci na licencji GPL może z niej skorzystać każdy zespół naukowców na świecie.
Kulisy Folding@home - wywiad:
Obecnie na platformie BOINC działa kilkadziesiąt zasilanych przez wolontariuszy projektów (patrz ramka). Wśród nich są także polskie projekty, np. Goldbach's Conjecture Project, którego celem jest rozwiązanie jednego z wielkich problemów matematycznych. Użytkownik pobiera menedżera, który jest dostępny także w języku polskim. Po jego zainstalowaniu można przejrzeć listę dostępnych projektów i wybrać jeden lub kilka. Menedżer według ustawień użytkownika wydziela projektom czas procesora albo - jeśli żaden projekt nie jest preferowany - dzieli po równo. Łączy się też z serwerami poszczególnych projektów i pobiera z nich algorytmy używane w konkretnych obliczeniach oraz wygaszacz ekranu czy wizualizację, która towarzyszy obliczeniom.
Mimo że obliczenia są prowadzone bez naszej kontroli, możemy ustalić, w jakim zakresie chcemy udostępnić maszynę. Najbezpieczniej jest ustawić uruchomienie obliczeń w czasie nieaktywności systemu. Jeśli chcemy bardziej zaangażować się w projekt, możemy zezwolić na działanie klienta BOINC w tle. Proces ten ma bardzo niski priorytet, co znaczy, że ustępuje każdemu innemu programowi, więc utrata mocy komputera w typowych zastosowaniach jest niezauważalna.
Konsola też może pomóc
W obliczenia rozproszone można się też włączyć za pomocą konsoli PlayStation 3. Klient na tę platformę, stworzony dla projektu Folding@home, wykorzystuje niesamowite możliwości obliczeniowe procesora Cell, a dodatkowo pozwala na uruchamianie algorytmów na wydajnym układzie graficznym, który jest w tej konsoli. To dzięki użytkownikom PlayStation projekt Folding@home dysponuje tak dużą mocą, chociaż ma znacznie mniej użytkowników niż SETI@home. Oprogramowanie można uruchomić na konsoli tak jak grę. Wówczas na telewizorze pojawią się wizualizacje składania molekuł, alternatywnie algorytmy mogą działać w tle, gdy używamy konsoli do odtwarzania filmów.
Bezpieczeństwo
Gdy słyszymy, że zainstalowane z sieci oprogramowanie zaczyna samodzielnie ściągać moduły, od razu zapala się nam światełko ostrzegawcze. Przecież tak samo działają trojany - infekują pecety i ściągają moduły, przekształcając maszynę w zombie, służące do rozsyłania spamu lub przeprowadzania ataków DoS. Jednak w tym wypadku nie ma obaw. Moduły z algorytmami nie mają żadnego połączenia z internetem, za pobieranie i odsyłanie porcji danych odpowiada menedżer. Poza tym wokół projektów działa czujna społeczność, która wszelkie naruszenia zasad stosunkowo szybko wykrywa i eliminuje.
Folding@home w wersji na PlayStation 3:
Jak dotąd najgroźniejsze przypadki naruszenia reguł były związane z działalnością firm, które podszywały się pod projekty naukowe, by zyskać dostęp do darmowej mocy obliczeniowej. Jednak te próby są szybko udaremniane - zasadą wolontariuszy jest udział w projektach, których wyniki są udostępniane w formie publikacji naukowych wszystkim badaczom.
Czynnik ludzki
Dzięki temu wyniki obliczeń są pewne w takim samym stopniu, jakby były liczone na zamkniętych superkomputerach w ośrodkach obliczeniowych.
Bartłomiej Mrożewski