zaloguj się   |    zarejestruj się   |   
RSS
SmodCMS

Berkeley Open Infrastructure for Network Computing

       

Berkeley Open Infrastructure for Network Computing (BOINC) (Otwarta Infrastruktura Przetwarzania Rozproszonego Berkeley) to rozwiązanie z dziedziny obliczeń rozproszonych, które pierwotnie powstało dla potrzeb projektu SETI@home, aktualnie wykorzystywane jest również w zastosowaniach innych niż SETI. Jest to niekomercyjny system middleware pozwalający na udział zwykłego użytkownika komputera w naukowych projektach. BOINC jest rozwijany na Uniwersytecie Kalifornijskim w Berkeley w Kalifornii przez zespół pod kierunkiem szefa projektu SETI@home, Davida Andersona. BOINC jest otwartym oprogramowaniem wydawanym na licencji GNU LGPL i jest wspierany finansowo przez amerykańską rządową agencję National Science Foundation.

Podstawy działania
Oprogramowanie BOINC dzieli się na oprogramowanie pracujące po stronie serwera projektu, oraz na oprogramowanie uruchamiane przez wolontariuszy na swoich komputerach.
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.
Szacuje się, iż ogólna moc wszystkich komputerów podłączonych do projektu wynosi 1.200.000 TFlops czyli 1,2 eksaFlops'a! Należy pamiętać, iż najszybsze superkomputery osiągają wydajność 1,0 petaFlops'a, czyli są o ponad 1000 wolniejsze! Komputery projektów Boinc wykonują więc w każdej sekundzie 1,2 biliona operacji zmiennoprzecinkowych na sekundę.
Jeżeli na komputerze otrzymującym dane do przetwarzania nie została jeszcze zainstalowana aplikacja mająca je przetwarzać, jest ona również przesyłana do uczestnika projektu. W ramach jednego projektu może funkcjonować wiele aplikacji, a wysyłane dane mogą być przeznaczone dla którejkolwiek z nich.
Gdy na komputerze uczestnika 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. 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 są jednostki projektu DepSpid, który nie wykorzystuje mocy CPU, lecz mierzy wagę wysłanych i odebranych danych poprzez połączenie internetowe. Jednostki tego projektu mogą być przetwarzane równolegle z jednostkami pozostałych projektów, ale ich liczba nie zależy od rodzaju czy ilości procesorów - przydzielana jest jedna jednostka na jedno połączenie. 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 przetworzeniu porcji danych, wyniki obliczeń przesyłane są do serwera projektu. Jednocześnie komputer użytkownika żąda pewnej ilości tzw. punktów kredytowych, zależnej od czasu poświęconego na przetworzenie danej jednostki i mocy obliczeniowej procesora.
W większości projektów te same dane są rozsyłane do kilku użytkowników, co daje możliwość porównania ich wyników w celu weryfikacji i wykluczenia ewentualnych błędów i oszustw. Następnie uczestnikom którzy przeliczyli daną jednostkę przyznawana jest taka sama ilość punktów kredytowych, zależna od punktów zażądanych przez poszczególne komputery. Sposób wyliczenia tej ilości jest różny w różnych projektów - może to być wartość średnia, lub mediana, lub inna wartość.

Punkty kredytowe
Punkty kredytowe (ang. credits) są metodą nagradzania ochotników za przekazany przez nich czas i moc obliczeniową ich komputerów. W teorii punkty kredytowe 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. (Ogólnoświatowych, krajowych itp.). Możliwe jest także łączenie się uczestników projektów w zespoły, które również mogą ze sobą konkurować.

Bezpieczeństwo
BOINC w sposób automatyczny ściąga i uruchamia na komputerze ochotnika aplikację projektu, co może budzić uzasadniony niepokój o możliwość uruchomienia złośliwego oprogramowania. Aby temu zapobiec BOINC korzysta z cyfrowego podpisywania aplikacji, aby nie dopuścić do "podstawienia" fałszywej aplikacji w miejsce oryginalnej.
Użytkownicy ze swojej strony powinni zwrócić uwagę, czy projekty, do których chcą się podłączyć nie są podejrzane (w razie podejrzeń warto poszukać opinii na forach dyskusyjnych innych projektów). Co prawda jak dotąd nie pojawił się "fałszywy" projekt, ale taka możliwość istnieje. Warto też zwrócić uwagę na status danego projektu, ponieważ projekty "młode" czyli pre-alfa i alfa mogą powodować niestabilna pracę systemu, ale zwykle projekty będące na stronie głównej BOINC są już pod tym względem bezpieczne.
Kolejnym potencjalnym zagrożeniem są nieoficjalne aplikacje obliczeniowe. Dla niektórych projektów dostępne są zoptymalizowane przez użytkowników wersje aplikacji, pozwalające znacznie (niekiedy kilkukrotnie) skrócić czas obliczeń. Należy jednak zwrócić uwagę, aby aplikacje te pobierać ze sprawdzonych źródeł. Ponownie w razie wątpliwości należy skonsultować się z forum dyskusyjnym danego projektu.
Generalnie wśród użytkowników BOINC krąży opinia, że praca w platformie naraża komputer na niebezpieczeństwo mniej niż przeglądanie stron WWW, należy jednak pamiętać że nie ma w 100% bezpiecznych aplikacji.

Najpolularniejsze projekty

SETI@home to projekt internetowy obliczeń rozproszonych koordynowany przez Uniwersytet Kalifornijski w Berkeley, będący częścią programu SETI (Search for Extraterrestrial Intelligence), którego celem jest poszukiwanie w kosmicznym szumie radiowym sygnałów od pozaziemskich cywilizacji.
Uczestnicy programu ściągają ze strony internetowej projektu klienta, który pobiera porcje szumu kosmicznego rejestrowanego przez radioteleskop w Arecibo. Następnie klient analizuje szum pod kątem cech które mogą świadczyć o tym że sygnał został nadany przez pozaziemską inteligencję. Program działa jako wygaszacz ekranu lub aplet, w celu analizy sygnału wykorzystujący wolne moce obliczeniowe procesora komputera domowego, nie spowalniając jego normalnej pracy.
Oficjalna premiera projektu SETI@home miała miejsce 17 maja 1999 roku.
W ramach projektu zarejestrowany sygnał przeszukiwany jest pod kątem:
* poszukiwania fal radiowych o amplitudzie mającej kształt regularnej krzywej Gaussa, co może sugerować, że sygnał ten jest wysyłany przez sztuczne źródła fal.
* poszukiwania w miarę regularnych sygnałów impulsowych, które mogą wskazywać na jakiś rodzaj przekazu cyfrowego.
* poszukiwanie trypletów radiowych - tj. trzech identycznych, następujących po sobie sygnałów radiowych. Prawdopodobieństwo naturalnego pojawienia się takiego trypletu w kosmicznym szumie radiowym jest na tyle małe, że jego wystąpienie może wskazywać na odnalezienie sygnału wysłanego przez pozaziemską cywilizację.
15 grudnia 2005 roku zakończono migrację na nową platformę programową BOINC. Poprzednią platformę nazwano SETI@home Classic i zaprzestano jej dalszego rozwoju i obsługi.
Projekt w wersji klasycznej zgromadził ponad 5,4 miliona internautów (w tym około 84 000 z Polski) i był największym na świecie projektem internetowym wykorzystującym moc obliczeniową komputerów domowych.
Od roku 1999 do 2005 łączna suma pracy wszystkich kopii programu wyniosła ponad 2,4 miliona lat, udało się przeliczyć ponad 2 miliardy próbek. Mimo że w ramach projektu nie znaleziono jeszcze żadnego konkretnego sygnału, o którym dałoby się powiedzieć, że na pewno został wysłany przez pozaziemską cywilizację, udało się zidentyfikować kilkanaście szczególnie interesujących gwiazd, w których szumie szczególnie często natrafiano na regularne fale nośne i tryplety.
W kwietniu 2006 roku w nowej wersji projektu zarejestrowanych było 444 000 uczestników, w tym blisko 10 000 z Polski.
Przyszłe plany to zaprzęgnięcie radioteleskopu pracującego na południowej półkuli ziemskiej, gdyż dotychczas wszystkie próbki szumu kosmicznego, analizowanego przez SETI@home, pochodziły z północnej półkuli. Ponadto planowane jest stworzenie aplikacji Astropulse, która w tych samych danych będzie poszukiwał śladów po supernowych.
Z powodu ograniczenia oficjalnych funduszy, w marcu 2006 roku projekt wystosował do uczestników list, podpisany przez Arthura C. Clarke'a - znanego futurologa i pisarza science-fiction, oraz Dana Werthimera – kierownika naukowego projektu SETI@home, w którym proszą oni o wsparcie finansowe. Aby zrealizować założone cele konieczne jest zebranie 750 tysięcy USD.
Do maja 2006 zebrano ponad 250 tysięcy USD. Pozwoliło to na ukończenie prac nad nową wersją aplikacji przeszukującej dane, oraz wznowienie prac nad projektem Astropulse. Ponadto w czerwcu 2006 roku w radioobserwatorium w Arecibo został zainstalowany nowy, wielokanałowy detektor sygnałów.

inne projekty to:
World Community Grid
Einstein@Home
Rosetta@Home
Climate Prediction

Strona domowa projektu: http://boinc.berkeley.edu
Statystyki projektów: http://pl.boincstats.com
Statystyka dla zespołu Boinc@Poland - http://pl.boincstats.com/stats/user_stats.php?pr=sah&st=0&to=100∨=&ti=30228
Przykład statystyki dla AstroCD (w projekcie od 3 kwietnia 1999) - http://pl.boincstats.com/stats/user_graph.php?pr=sah&id=7791451


Wersja do druku Generuj PDF