Jak działa system obliczeń rozproszonych – BOINC
|
|
Centralny komputer sterujący dzieli obliczenia na małe fragmenty i przesyła je do komputerów wolontariuszy podłączonych do internetu. Te, po wykonaniu kalkulacji, odsyłają wynik do komputera centralnego. Aby uniknąć błędów, każdą kalkulację wykonują przynajmniej dwie niezależne od siebie maszyny, wynik jest sprawdzany i jeśli jest zgodny, akceptowany.
|
Gigantyczna moc obliczeniowa Folding@home została osiągnięta dzięki współpracy milionów internautów, którzy z dobrej woli udostępnili badaczom czas obliczeniowy na swoich domowych pecetach. Obecnie średnia liczba rdzeni obliczeniowych pracujących na rzecz badania białek to ok. 330 tys.
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.
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.
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.
Obecnie na platformie BOINC działa kilkadziesiąt zasilanych przez wolontariuszy projektów. 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.