BOINC

BOINC

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ł zwykłego użytkownika komputera 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. 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. 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, mediana, lub inna wartość. – za wikipedią

Moje aktualne wyniki można łatwo sprawdzić:

Każdy może się przyłączyć do największego polskiego teamu Boinc@Poland

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

CommentLuv badge