BOINC

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
BOINC
BOINC logo July 2007.svg
Розробник(и) Університет Каліфорнії (Берклі)
Стабільний випуск 7.2.42(Win)
7.2.42(Mac)
7.2.42(Linux) (28 лютого 2014)
Операційна система Крос-платформність
Тип Розподілені обчислення
Ліцензія LGPL
Сайт boinc.berkeley.edu

BOINC (англ. Berkeley Open Infrastructure for Network Computing) — відкрита програмна платформа (університету) Берклі для GRID обчислень) — некомерційне міжплатформене ПО для організації розподілених обчислень. Використовується для організації добровольчих обчислень.

Опис[ред.ред. код]

BOINC — програмний комплекс для швидкої організації розподілених обчислень. Складається з серверної і клієнтської частин. Спочатку розроблявся для найбільшого проекту добровольчих обчислень — SETI@home, але згодом розробники з Каліфорнійського університету в Берклі зробили платформу доступною для сторонніх проектів. На сьогоднішній день BOINC є універсальною платформою для проектів у галузі математики, молекулярної біології, медицини, астрофізики та кліматології. BOINC дає дослідникам можливість задіяти величезні обчислювальні потужності персональних комп'ютерів з усього світу.

BOINC розроблений командою на чолі з Девідом Андерсоном (David Pope Anderson), який очолює також SETI@home, з Space Sciences Laboratory Каліфорнійського університету в Берклі. На 16 квітня 2012 BOINC являє собою розподілену мережу з більш ніж 460 000 активних комп'ютерів (хостів) із середньою продуктивністю близько 6100 TeraFLOPS[1]. Національний науковий фонд США в 2002 та 2005 роках відзначив заслуги розробників, тричі нагороджуючи BOINC: SCI/0221529[2], SCI/0438443[3] і SCI/0721124[4].

Платформа працює на різних операційних системах, включаючи Microsoft Windows і варіанти юніксоподобних GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris і Mac OS X. BOINC поширюється під ліцензією GNU Lesser General Public License, як вільне програмне забезпечення з відкритим вихідним кодом.

Серверна частина BOINC[ред.ред. код]

Серверна частина в основному представляє собою набір PHP-скриптів і необхідна організаторам проектів для спільного управління проектом: реєстрація учасників, розподіл завдань для обробки, отримання результатів, управління базами даних проекту.

BOINC-клієнт[ред.ред. код]

Для користувачів поняття BOINC частіше використовується в контексті поняття BOINC-клієнт — універсальний клієнт для роботи з різними (BOINC-сумісними) проектами розподілених обчислень. BOINC-клієнт дозволяє брати участь одночасно в декількох проектах з допомогою однієї загальної програми управління (boinc або boinc.exe).

Для візуалізації процесу управління BOINC-клієнтом можна використовувати або офіційну програму-менеджер, що поставляється за замовчуванням (boincmgr або boincmgr.exe), або скористатися «неофіційною» програмою для моніторингу та управління BOINC-клієнтом. Слід зазначити, що власне BOINC-клієнт в академічному розумінні не має користувацького інтерфейсу як такого, а являє собою сервіс, що запускається разом із системою і управляється по протоколу TCP/IP. Однак, для кінцевого користувача це не має значення, оскільки дистрибутив програми комплектується програмою-менеджером, яка відразу за замовчуванням встановлюється разом з BOINC-клієнтом як єдине ціле і абсолютно прозора для користувача. У цьому випадку в якості адреси керованого програмою менеджером BOINC-клієнта вказується адреса «localhost». Таким чином, з одного боку, ніщо не заважає користувачеві використовувати альтернативну програму-менеджер для управління BOINC-клієнтом, а з іншого боку дає можливість керувати кількома BOINC-клієнтами, що перебувають на різних комп'ютерах з однієї програми-менеджера. Також така організація управління BOINC-клієнтом передбачає можливість використовувати BOINC-клієнт в «невидимому» режимі, коли запускається виключно сервіс, без користувацького інтерфейсу взагалі.

Налаштування[ред.ред. код]

У більш ранніх версіях клієнта відсутні локальні налаштування програми. Майже всю конфігурацію (наприклад, час роботи, час з'єднання, максимальне завантаження тощо) учасник вказує на сайті конкретного проекту (для кожного проекту окремо), а оболонка (клієнт) самостійно підвантажує конфігурацію разом із завданнями за необхідності. Проте в останніх версіях це можна налаштувати через інтерфейс самого клієнта.

Організація проектів[ред.ред. код]

Створити проект на платформі BOINC може будь-хто — вся платформа BOINC спочатку розроблялася в рамках LGPL, тому будь-хто може ознайомитися з вихідними текстами. В основному цим займаються різні університети і наукові центри для вирішення завдань, що вимагають великих обчислювальних ресурсів, але не мають необхідних матеріальних засобів для покупки суперкомп'ютерів, або потужностей сучасних суперкомп'ютерів недостатньо для вирішення поставленого завдання.

10 найбільш популярних проектів[ред.ред. код]

  • SETI@home — аналіз радіосигналів з ​​радіотелескопа Аресібо, а також низки інших радіотелескопів світу, для пошуку позаземних цивілізацій.
  • Einstein@Home — перевірка гіпотези Альберта Ейнштейна про гравітаційні хвилі, а також пошук радіо-і гамма-пульсарів.
  • World Community Grid — допомога у пошуку ліків для лікування людських захворювань, таких як рак, ВІЛ/СНІД, розрахунок структури білків та інші проекти. Організатор — IBM.
  • Rosetta@home — обчислення 3-мірної структури білків з їх амінокислотних послідовностей.
  • MilkyWay@home — створення високоточної тривимірної динамічної моделі зіркових потоків в нашій Галактиці — Чумацький шлях .
  • Climate Prediction — вивчення і передбачення клімату Землі.
  • PrimeGrid — пошук різних великих простих чисел.
  • SIMAP@home — створення бази даних білків для обчислювальної біології.
  • Cosmology@Home — пошук моделі, яка найкраще описує наш Всесвіт і знайти спектр моделей, які узгоджуються з сучасними даними астрономії і фізики елементарних частинок.
  • Collatz Conjecture[5] — дослідження з галузі математики, зокрема перевірка гіпотези Коллатца також відомої як 3x+1 або HOTPO. Суть її в тому, що якщо взяти будь-яке число, якщо воно парне, розділити на 2, інакше помножити на 3 і додати 1 (тому її і називають проблемою «3х +1»), і повторити ці кроки деяке число раз, то наприкінці ми неминуче отримаємо одиницю.

Див. також[ред.ред. код]

Посилання[ред.ред. код]