Berkeley Open Infrastructure for Network Computing

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Berkeley Open Infrastructure for Network Computing (BOINC)
BOINC logo July 2007.svg
Logo programu
BOINC screenshot.png
Interfejs programu
Producent Uniwersytet Kalifornijski w Berkeley
Platforma sprzętowa Grid
System operacyjny Microsoft Windows,
GNU/Linux,
Unix,
MacOS X
Aktualna wersja stabilna 7.2.42 / 27 lutego 2014 [1]
Licencja GNU LGPL
http://boinc.berkeley.edu/

Berkeley Open Infrastructure for Network Computing (BOINC) (Otwarta Infrastruktura Przetwarzania Rozproszonego Berkeley) to 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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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.

Projekty platformy BOINC[edytuj | edytuj kod]

Projekt Strona projektu Dziedzina Status
3x+1@home Odwiedź matematyka, problem Collatza Zarzucony
ABC@home Odwiedź matematyka Aktywny
Alife@home brak sztuczna inteligencja Zarzucony
AlmereGrid Odwiedź przetwarzanie rozproszone Aktywny
AlmereGrid TestGrid Odwiedź przetwarzanie rozproszone Rozwojowy
AndrOINC Odwiedź RSA Zakończony
APS@Home Odwiedź ziemska atmosfera Wstrzymany
AQUA@Home Odwiedź przetwarzanie rozproszone Zakończony
Artificial Intelligence System brak sztuczna inteligencja Zarzucony
Biochemical Library Odwiedź biochemia Zakończony
BBC Climate Change Experiment Odwiedź klimatologia Zakończony
BOINC Alpha Test Odwiedź BOINC Alfa
BRaTS@Home Odwiedź fale grawitacyjne Alfa
BURP Odwiedź rendering grafiki 3D Alfa
CAS@HOME Odwiedź przetwarzanie rozproszone Aktywny
Cels@Home Odwiedź biologia, adhezja komórek Wstrzymany
Chess960@home Odwiedź szachy losowe Alfa
Clean Energy@Harvard Odwiedź energia odnawialna Aktywny
Climate Prediction Odwiedź klimatologia Aktywny
Climateprediction.net Beta Odwiedź klimatologia Zarzucony
Collatz Conjecture Odwiedź matematyka Aktywny
Constellation (Platforma) Odwiedź astronomia Alfa
Correlizer Odwiedź genetyka Alfa
Cosmology@Home Odwiedź astronomia Aktywny
DepSpid Odwiedź testowanie WWW Zarzucony
DistributedDataMining Odwiedź analiza danych, uczenie maszynowe Alfa
DistrRTgen Odwiedź kryptografia Aktywny
DNETC Odwiedź Kryptologia Wstrzymany
Docking@Home Odwiedź biochemia Aktywny
Einstein@home Odwiedź astrofizyka, poszukiwanie pulsarów Aktywny
Enigma@Home Odwiedź kryptografia Aktywny
Goldbach's Conjecture Project Odwiedź matematyka Zarzucony
HashClash brak kryptografia, informatyka Zarzucony
The Lattice Project Odwiedź biochemia Beta
Leiden Classical Odwiedź termodynamika Aktywny
LHC@home Odwiedź inżynieria, fizyka Aktywny
LHC@home alpha Odwiedź inżynieria, fizyka Zakończony
MalariaControl Odwiedź epidemiologia Aktywny
MilkyWay@home Odwiedź astrofizyka, droga mleczna Aktywny
MindModeling@Home Odwiedź modelowanie mózgu Beta
NagrzewanieStali@home brak metalurgia Zakończony
NanoHive@Home Odwiedź nanotechnologia Zakończony
NQueens@Home brak problem 8 hetmanów Wstrzymany
NumberFields@home brak matematyka Aktywny
OProject@home Odwiedź matematyka, mechanika kwantowa, klimatologia Alfa
Orbit@home Odwiedź astronomia Aktywny
Pirates@home Odwiedź projekt rozwojowy BOINC Alfa
PlanetQuest Odwiedź astronomia Zarzucony
POEM@HOME Odwiedź biochemia Aktywny
Predictor@home brak biochemia, genetyka Wstrzymany
PrimeGrid (dawniej Message@home) Odwiedź kryptografia, matematyka Aktywny
Project Neuron Odwiedź projekt rozwojowy BOINC Zakończony
Proteins@home brak biochemia Zakończony
QCN Alpha Test Odwiedź chemia kwantowa Alfa
QMC@home Odwiedź chemia kwantowa Beta
Radioactive@Home Odwiedź fizyka Beta
Rectilinear Crossing Number Odwiedź teoria grafów Beta
Renderfarm.fi Odwiedź grafika Beta
RND@home Odwiedź sieci radiowe Zakończony
Rosetta@home Odwiedź biochemia Aktywny
RALPH@home Odwiedź biochemia Alfa
Seasonal Attribution Project Odwiedź klimatologia Zarzucony
SETI@home Odwiedź astronomia, SETI Aktywny
SETI@home/AstroPulse Beta Odwiedź astronomia, SETI Beta
SHA-1 Collision Search Graz brak kryptoanaliza Zakończony
SIMAP Odwiedź biochemia Aktywny
Spinhenge@home Odwiedź nanotechnologia Beta
Sudoku@vtaiwan Odwiedź sudoku Beta
Superlink@Technion Odwiedź biochemia Alfa
Sztaki Desktop Grid Odwiedź matematyka Aktywny
Sztaki Research Facility Odwiedź rozwojowy, matematyka Beta
Tanpaku brak biochemia Zakończony
Translator@home brak tłumaczenie literatury W przygotowaniu
TSP@Home brak problem komiwojażera Aktywny
μFluids Odwiedź mechanika płynów Beta
VGTU@home Odwiedź brak informacji Alfa
VTU@home brak brak informacji Alfa
WEP-M+2 matematyka Beta
World Community Grid Odwiedź biochemia Aktywny
XtremLab Odwiedź statystyka Wstrzymany

Status projektów – objaśnienie[edytuj | edytuj kod]

  • 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[edytuj | edytuj kod]

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.

Linki zewnętrzne[edytuj | edytuj kod]

Systemy zarządzania kontami (AMS)[edytuj | edytuj kod]

Polskie zespoły w BOINC[edytuj | edytuj kod]

Przypisy