Posts tagged ‘BIONIC’

Grudzień 30, 2011

Co to jest BIONIC czyli rozwinięcie SETI@home

- autor: tsissput

Wstęp
Ostatnio tj. 13listopada opisałem na naszym blogu co to właściwie jest SETI@home, jak to działa i jak powstało, dzisiaj postaram się przybliżyć projekt, który jest jakby rozwinięciem idei założeń SETI, ale rozciągniętym na inne dziedziny nauki. Projekt SETI powstał tylko po to aby zbadać czy możliwe jest użycie do badań naukowych, w tym przypadku poszukiwanie pozaziemskiej inteligencji, rozproszonych komputerów wolontariuszy oraz celu w samym sobie jakim jest wyszukiwanie sygnałów pochodzących od istot pozaziemskich. Rozwinięciem projektu SETI@home jest projekt BIONIC. Rozwinięcie tego projektu było możliwe tylko dlatego, że jego pierwotna wersja zgromadziła ponad 5 mln uczestników, gdyby jednak zainteresowanie było niewielkie projekt BIONIC prawdopodobnie nigdy by nie powstał. Kolejnym bodźcem w rozwoju tego projektu jest sukces:
15 sierpnia 1977r. Dr. Jerry R. Ehmana w ramach projektu SETI odebrał sygnał radiowy pochodzący z gwiazdozbioru Strzelca. Czas odbioru sygnału trwał 72 sekundy. Czas odbioru sygnału ograniczony był z powodu obracania się ziemi. Po 3 minutach w tym kierunku wycelowano drugi radioteleskop, który jednak nic nie wykrył. Nasłuchiwanie tego obszaru, kontynuowano przez miesiąc, jednak bezskutecznie.
Co to jest BIONIC
BOINC jest to projekt mający na celu wykorzystanie komputerów osobistych do obliczeń związanych z projektami badawczymi. W jego skład jako jeden z wielu projektów badawczych, korzystających z możliwości obliczeniowych komputerów użytkowników domowych, wchodzi rozwinięte SETI@Home. Przyłączenie się do tego projektu umożliwia już nie tylko poszukiwanie istnienia we wszechświecie innych istot inteligentnych, ale wzięcie udziału w rozwijaniu przedsięwzięć naukowych z całego świata i dołożenie własnej cegiełki w kształtowaniu przyszłości. Projekty naukowe należące do BIONIC prowadzą badania nad chyba wszystkimi możliwymi dziedzinami naszego życia. Nie sposób wymieniać wszystkich jednak działające na tej platformie projekty naukowe mogą przyczynić się do np.:
lepszego poznania natury wszechświata (LHC wspierający budowę akceleratora cząsteczek w CERN)
wynalezienia leków na AIDS, raka (WCG)
lepszego poznania kosmosu (MilkyWay@home)
wynalezienia leków na wiele innych chorób (projekty białkowe – Rosetta, SIMAP, Predictor, TANPAKU)
lepszego przewidywania zmian globalnego klimatu (CPDN, SAP)
uzyskania dalszych dowodów na poprawność teorii względności (Einstein, LHC)
rozwoju matematyki (ABC, RCN, Sztaki, PrimeGrid, Riesel Sieve)
rozwoju chemii i nanotechnologii (QMC, Spinhenge, NanoHive)
i wiele wiele więcej…
Jak to działa?
Cytując dosłownie za polską stroną projektu:
Gdy uruchamiasz program BOINC na swoim komputerze, program działa zgodnie z poniższym schematem.

1. Twój komputer otrzymuje zestaw instrukcji z serwera projektu. Instrukcje te są zależne od mocy twojego PC, np.: serwer nie przydzieli mu pracy wymagającej większej ilości pamięci RAM, niż posiadasz. Projekty mogą obejmować wiele aplikacji, a serwer może przesłać dane dla którejkolwiek z nich.
2. Twój komputer ściąga aplikacje i pliki do przetworzenia z serwera danego projektu. Aplikacje są ściągane bezpośrednio po dołączeniu do projektu, a następnie automatycznie ściągane są nowsze wersje, gdy tylko takowe staną się dostępne.
3. Aplikacje są uruchamiane na Twoim komputerze, przetwarzają dane za pomocą procesora (CPU) i karty graficznej (GPU) w technologii CUDA.
4. Przetworzone pliki i raport pracy odsyła z powrotem.
BOINC robi to wszystko automatycznie, a Ty nie musisz się niczym zajmować.
Jak To działa bardziej szczegółowo
Powyżej mamy wyjaśnienie działania projektu BIONIC dla laika, który nie posiada zbyt dużej wiedzy na temat działania aplikacji zwłaszcza działających w środowisku rozproszonym. Jako że większość osób czytających tego bloga jest niemal, że ekspertami w tej dziedzinie warto opisać szczegółowe zasady działania projektu BIONIC. Przede wszystkim należy zauważyć, że w ramach projektu BIONIC pracuje oprogramowanie które możemy podzielić na oprogramowanie pracujące na serwerze projektu, oraz to jest najważniejsze dla zwykłych użytkowników, oprogramowanie uruchamiane na zwykłych komputerach domowych przez wolontariuszy, którym może zostać każdy posiadający dostęp do komputera podłączonego do internetu. Do najważniejszych aplikacji pracujących po stronie serwera należy scheduler (serwer harmonogramów). Zajmuje się on dystrybucją fragmentów danych do obliczeń pomiędzy komputery uczestników projektu. W swoim działaniu scheduler uwzględnia między innymi możliwości komputerów uczestników (moc obliczeniowa, ilość pamięci RAM), oraz średni czas w ciągu doby, jaki komputery te przeznaczają na pracę z BOINC. W ten sposób unika się nadmiernego obciążenia słabych komputerów, oraz pozwala się na pełniejsze wykorzystanie mocnych maszyn. Oprócz aplikacji rozdzielającej zadania na serwerze pracują też aplikacje umożliwiające dostarczanie danych „od naukowców”, które potem są rozdzielane przez scheduler i przesyłane do obliczeń. Jak już wiemy projekt BIONIC pozwala na pracę nad różnymi projektami wymagającymi obliczeń. Stąd jeżeli na komputerze otrzymującym dane do przetwarzania nie została jeszcze zainstalowana aplikacja od danego projektu obliczeniowego która jest odpowiedzialna za sposób ich przetwarzania, jest ona również przesyłana do uczestnika projektu. Zarządzaniem całym projektem BIONIC oraz obliczeniami wykonywanymi dla konkretnych projektów – np. poszukiwanie leków, badanie poprawność teorii matematycznych, zajmuje się program BIONIC manager, który jest instalowany na komputerze wolontariusza. Gdy na komputerze uczestnika projektu BIONIC znajdą się zarówno dane do przetwarzania, jak i odpowiednia aplikacja, rozpoczyna się przetwarzanie danych. Czas przetwarzania jednej porcji danych jest różny w zależności od projektu i waha się od kilkunastu sekund do kilkuset godzin wszystko zależy od możliwości obliczeniowych komputera oraz aktywności użytkownika. Dzięki okresowemu zapisywaniu wykonanej pracy, obliczenia nie muszą odbywać się w jednym nieprzerwanym ciągu, lecz mogą być zawieszane, gdy zachodzi potrzeba przeznaczenia mocy obliczeniowej na inne zadania lub po prostu wyłączenia komputera. Na jednym komputerze mogą znajdować się jednocześnie dane i aplikacje wielu projektów platformy BOINC, lecz w danym momencie przetwarzana jest tylko jedna porcja danych na jednostkę CPU (procesory wielordzeniowe i procesory wyposażone w technologię HT mogą przetwarzać jednocześnie dwie lub więcej porcji danych adekwatnie do liczby rdzeni czy wątków). Wyjątkiem, aktualnie już zakończonym były są jednostki projektu DepSpid, który nie wykorzystywał mocy CPU, lecz mierzył wagę wysłanych i odebranych danych poprzez połączenie internetowe. Jeżeli komputer jest przyłączony do więcej niż jednego projektu, czas procesora jest przydzielany aplikacjom po kolei, zgodnie z ustalonymi przez uczestnika przydziałami dla poszczególnych projektów. Po zakończeniu obliczeń jednej porcji danych wyniki obliczeń przesyłane są do serwera danego projektu. Jednocześnie komputer użytkownika – wolontariusza otrzymuje nagrodę, pewną ilości tzw. punktów kredytowych, zależnej od czasu poświęconego na przetworzenie danej jednostki i mocy obliczeniowej procesora. Punkty kredytowe o których mowa wyżej, w teorii powinny być sprawiedliwe to znaczy – punkty przyznawane przez wszystkie projekty mają odpowiadać takiej samej ilości wykonanej pracy. W praktyce okazuje się, że niektóre z projektów są bardziej hojne niż inne. Punkty kredytowe pozwalają uczestnikom projektów na wzajemne współzawodnictwo w ramach różnorakich rankingów. Możliwe jest także łączenie się uczestników projektów w zespoły, które również mogą ze sobą konkurować.
Źródła:
http://www.boincatpoland.org/wiki/BOINC
http://pl.wikipedia.org/wiki/BOINC

Reklamy
Tagi: