Berkeley Open Infrastructure for Network Computing

Berkeley Open Infrastructure for Network Computing (BOINC)
Logo Berkeley Open Infrastructure for Network Computing (BOINC)
Logo programu
Ilustracja
AutorUniwersytet Kalifornijski w Berkeley
Aktualna wersja stabilnaWindows x86: 7.14.2
11 października 2018; ponad 4 lata temu

Windows x64: 7.14.2
11 października 2018; ponad 4 lata temu

Mac OS X x64: 7.14.2
11 października 2018; ponad 4 lata temu

Mac OS X x86: 7.2.42
28 lutego 2014; ponad 8 lat temu

Mac OS X PowerPC: 6.12.35
11 sierpnia 2011; ponad 11 lat temu

Linux x64: 7.2.42
28 lutego 2014; ponad 8 lat temu

Linux x86: 7.4.22
17 września 2014; ponad 8 lat temu

Android: 7.4.53
3 lipca 2016; ponad 6 lat temu[1]
Platforma sprzętowaGrid
System operacyjnyMicrosoft Windows,
GNU/Linux,
Android,
Unix,
MacOS X
LicencjaGNU LGPL
Strona internetowa

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.

Podstawy działania

Poprzednie logo BOINC

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.

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.

Nowa ikona menadżera BOINC

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

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ą 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

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.

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

ProjektStrona projektuDziedzinaStatus
3x+1@homeOdwiedźmatematyka, problem CollatzaZarzucony
ABC@homeOdwiedźmatematykaAktywny
Alife@homebraksztuczna inteligencjaZarzucony
AlmereGridOdwiedźprzetwarzanie rozproszoneAktywny
AlmereGrid TestGridOdwiedźprzetwarzanie rozproszoneRozwojowy
AndrOINCOdwiedźRSAZakończony
APS@HomeOdwiedźziemska atmosferaWstrzymany
AQUA@HomeOdwiedźprzetwarzanie rozproszoneZakończony
Artificial Intelligence Systembraksztuczna inteligencjaZarzucony
Biochemical LibraryOdwiedźbiochemiaZakończony
BBC Climate Change ExperimentOdwiedźklimatologiaZakończony
BOINC Alpha TestOdwiedźBOINCAlfa
BRaTS@HomeOdwiedźfale grawitacyjneAlfa
BURPOdwiedźrendering grafiki 3DAlfa
CAS@HOMEOdwiedźprzetwarzanie rozproszoneAktywny
Cels@HomeOdwiedźbiologia, adhezja komórekWstrzymany
Chess960@homeOdwiedźszachy losoweAlfa
Citizen Science GridOdwiedźbiologia, matematykaBeta
Clean Energy@HarvardOdwiedźenergia odnawialnaAktywny
Climate PredictionOdwiedźklimatologiaAktywny
Climateprediction.net BetaOdwiedźklimatologiaZarzucony
Collatz ConjectureOdwiedźmatematykaAktywny
Constellation (Platforma)OdwiedźastronomiaAlfa
CorrelizerOdwiedźgenetykaAlfa
Cosmology@HomeOdwiedźastronomiaAktywny
DepSpidOdwiedźtestowanie WWWZarzucony
DistributedDataMiningOdwiedźanaliza danych, uczenie maszynoweAlfa
DistrRTgenOdwiedźkryptografiaAktywny
DNETCOdwiedźKryptologiaWstrzymany
Docking@HomeOdwiedźbiochemiaAktywny
Einstein@homeOdwiedźastrofizyka, poszukiwanie pulsarówAktywny
Enigma@HomeOdwiedźkryptografiaAktywny
Find@HomeOdwiedźbiologia, medycynaBeta
Goldbach's Conjecture ProjectOdwiedźmatematykaZarzucony
HashClashbrakkryptografia, informatykaZarzucony
iThenaOdwiedźinformatyka, sieci komputeroweBeta
The Lattice ProjectOdwiedźbiochemiaBeta
Leiden ClassicalOdwiedźtermodynamikaAktywny
LHC@homeOdwiedźinżynieria, fizykaAktywny
LHC@home alphaOdwiedźinżynieria, fizykaZakończony
MalariaControlOdwiedźepidemiologiaAktywny
MilkyWay@homeOdwiedźastrofizyka, droga mlecznaAktywny
MindModeling@HomeOdwiedźmodelowanie mózguBeta
NagrzewanieStali@homebrakmetalurgiaZakończony
NanoHive@HomeOdwiedźnanotechnologiaZakończony
NQueens@Homebrakproblem 8 hetmanówWstrzymany
NumberFields@homeOdwiedźmatematykaAktywny
OProject@homeOdwiedźmatematyka, mechanika kwantowa, klimatologiaAlfa
Orbit@homeOdwiedźastronomiaAktywny
Pirates@homeOdwiedźprojekt rozwojowy BOINCAlfa
PlanetQuestOdwiedźastronomiaZarzucony
POEM@HOMEOdwiedźbiochemiaZakończony
Predictor@homebrakbiochemia, genetykaWstrzymany
PrimeGrid (dawniej Message@home)Odwiedźkryptografia, matematykaAktywny
Project NeuronOdwiedźprojekt rozwojowy BOINCZakończony
Proteins@homebrakbiochemiaZakończony
QCN Alpha TestOdwiedźchemia kwantowaAlfa
QMC@homeOdwiedźchemia kwantowaBeta
Radioactive@HomeOdwiedźfizykaBeta
Rectilinear Crossing NumberOdwiedźteoria grafówBeta
Renderfarm.fiOdwiedźgrafikaBeta
RND@homeOdwiedźsieci radioweZakończony
Rosetta@homeOdwiedźbiochemiaAktywny
RALPH@homeOdwiedźbiochemiaAlfa
Seasonal Attribution ProjectOdwiedźklimatologiaZarzucony
SETI@homeOdwiedźastronomia, SETIAktywny
SETI@home/AstroPulse BetaOdwiedźastronomia, SETIBeta
SHA-1 Collision Search GrazbrakkryptoanalizaZakończony
SIMAPOdwiedźbiochemiaAktywny
Spinhenge@homeOdwiedźnanotechnologiaBeta
Sudoku@vtaiwanOdwiedźsudokuBeta
Superlink@TechnionOdwiedźbiochemiaAlfa
Sztaki Desktop GridOdwiedźmatematykaAktywny
Sztaki Research FacilityOdwiedźrozwojowy, matematykaBeta
TanpakubrakbiochemiaZakończony
Translator@homebraktłumaczenie literaturyW przygotowaniu
TSP@Homebrakproblem komiwojażeraAktywny
Universe@HomeOdwiedźastrofizykaAktywny
μFluidsOdwiedźmechanika płynówBeta
VGTU@homeOdwiedźbrak informacjiAlfa
VTU@homebrakbrak informacjiAlfa
WEP-M+2matematykaBeta
World Community GridOdwiedźbiochemiaAktywny
XtremLabOdwiedźstatystykaWstrzymany

Status projektów – objaśnienie

  • 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

W 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

  1. Download BOINC client software. [dostęp 2020-02-16]. (ang.).

Linki zewnętrzne

Systemy zarządzania kontami (AMS)

Polskie zespoły w BOINC

Media użyte na tej stronie

Boinc.svg
Autor: Andrew pmk, Licencja: CC-BY-SA-3.0
BOINC logo
BOINC logo July 2007.svg
Autor: Michal Krakowiak, Licencja: CC-BY-SA-3.0
The new Berkeley Open Infrastructure for Network Computing (BOINC) logo.
BOINCconproyectos.png
Autor: Praca własna, Licencja: CC BY-SA 3.0
A screenshot of BOINC Manager's Tasks screen (plus the About window)
BOINCManager.png
Autor: unknown, Licencja: GPL