Berkeley Open Infrastructure for Network Computing
Berkeley Open Infrastructure for Network Computing (BOINC) – niekomercyjne rozwiązanie z dziedziny obliczeń rozproszonych, które pierwotnie powstało dla potrzeb projektu SETI@home, aktualnie wykorzystywane jest również w projektach innych niż SETI. Jest to niekomercyjne oprogramowanie pośredniczące pozwalające na udział komputera zwykłego użytkownika w naukowych projektach. BOINC jest rozwijany na Uniwersytecie Kalifornijskim w Berkeley przez zespół pod kierunkiem szefa projektu SETI@home, Davida Andersona. BOINC jest wolnym i otwartym oprogramowaniem wydawanym na licencji GNU LGPL i jest wspierany finansowo przez amerykańską rządową agencję National Science Foundation.
Logo programu | |
Autor | Uniwersytet Kalifornijski w Berkeley |
---|---|
Aktualna wersja stabilna | Windows x86: 7.14.2 11 października 2018; ponad 6 lat temu Windows x64: 7.14.2 11 października 2018; ponad 6 lat temu Mac OS X x64: 7.14.2 11 października 2018; ponad 6 lat temu Mac OS X x86: 7.2.42 28 lutego 2014; ponad 10 lat temu Mac OS X PowerPC: 6.12.35 11 sierpnia 2011; ponad 13 lat temu Linux x64: 7.2.42 28 lutego 2014; ponad 10 lat temu Linux x86: 7.4.22 17 września 2014; ponad 10 lat temu Android: 7.4.53 3 lipca 2016; ponad 8 lat temu[1] |
Platforma sprzętowa | Grid |
System operacyjny | Microsoft Windows, GNU/Linux, Android, Unix, MacOS X |
Licencja | GNU LGPL |
Strona internetowa |
Podstawy działania
edytujOprogramowanie 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.
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 dla każdego z projektów – może to być wartość średnia, mediana, lub inna wartość.
Punkty kredytowe
edytujPunkty 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ą hojniejsze 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
edytujBOINC 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.
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.
Niektóre projekty platformy BOINC
edytujStatus projektów – objaśnienie
edytuj- Aktywny – projekt działa zgodnie z założeniami
- Pre-alfa / Alfa / Beta – różne fazy testów
- W przygotowaniu – projekt w fazie przygotowań
- Wstrzymany – prace nad projektem przerwano (najczęściej z braku funduszy)
- Zarzucony – prace nad projektem zostały zakończone
- Rozwojowy – projekt służący rozwijaniu nowych wersji aplikacji, lub innym ulepszeniom platformy BOINC
- Zakończony – projekt zakończony po osiągnięciu założeń
Polskie projekty w świecie BOINC
edytujW ostatnich dniach sierpnia 2006 roku powstał pierwszy polski projekt BOINC nazwany Nagrzewanie Stali@home. Projekt został uruchomiony w ramach pracy magisterskiej studenta informatyki. Projekt działał przez niecały tydzień, gromadząc w tym czasie ponad 130 uczestników z całego świata.
W lecie 2007 roku powstał projekt Enigma@Home mający na celu wspomożenie innego projektu próbującego złamać zaszyfrowaną Enigmą wiadomość z okrętu podwodnego. Od stycznia 2009 roku w ramach projektu PrimeGrid działa podprojekt AP26, wykorzystujący algorytm opracowany przez polskiego naukowca, dr. Jarosława Wróblewskiego, do znajdowania liczb pierwszych będących wyrazami ciągów arytmetycznych.
Od marca 2010 roku w ramach projektu DNETC utworzono wrapper na projekt distributed.net - obecnie jeden z najpopularniejszych projektów w świecie BOINC.
Od 2011 w fazie testów znajduje się projekt Radioactive@Home mający na celu stworzenie interaktywnej mapy promieniowania gamma. Specjalnie na potrzeby projektu został zaprojektowany licznik Geigera wyróżniający się bardzo niską ceną wykonania (możliwe jest także wykonanie licznika w warunkach domowych).
W sierpniu 2012 roku powstał projekt OProject zajmujący się weryfikacją Hipotezy Goldbacha.
W 2014 roku początkowo w formie testowej, a w 2015 już w fazie produkcyjnej działa projekt Universe@Home, projekt astrofizyczny uruchomiony przez Obserwatorium Astronomiczne Uniwersytetu Warszawskiego zajmujący się tematyką ewolucji układów gwiezdnych.
W 2019 roku uruchomiono projekt iThena. Obecnie prowadzony jest on przez Fundację Cyber-Complex.
Przypisy
edytuj- ↑ Download BOINC client software. [dostęp 2020-02-16]. (ang.).
Linki zewnętrzne
edytuj- Strona domowa projektu BOINC (ang.)
- BOINCstats Strony ze statystykami użytkowników. pl.boincstats.com. [zarchiwizowane z tego adresu (2006-04-14)]. (pol.)
Systemy zarządzania kontami (AMS)
edytuj- BAM. bam.boincstats.com. [zarchiwizowane z tego adresu (2008-12-03)]. (pl) – (BOINC Account Manager) zintegrowany z serwisem BOINCstats
- Grid Republic (en)