BOINC

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

BOINC
Тип Розподілені обчислення
Автор(и) Space Sciences Laboratoryd і David P. Andersond
Розробник Університет Каліфорнії (Берклі)
Стабільний випуск

7.14.2 Windows / 11 жовтня, 2018 (2018-10-11)

7.14.2 Mac OS X / 11 жовтня, 2018 (2018-10-11)
7.2.42 Linux / 28 лютого, 2014 (2014-02-28)
7.4.53 Android / 3 липня, 2016 (2016-07-03)
Версії 7.16.11 (2 вересня 2020)[1]
Репозиторій github.com/BOINC/boinc
Платформа крос-платформова програма
Операційна система Крос-платформність
GNU фреймворк wxWidgets
Мова програмування C++
Ліцензія LGPL
Онлайн-документація boinc.berkeley.edu/wiki/User_manual
Вебсайт boinc.berkeley.edu

 BOINC у Вікісховищі

Опис

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

BOINC розроблений командою на чолі з Девідом Андерсоном (David Pope Anderson), який очолює також SETI@home, з Space Sciences Laboratory Каліфорнійського університету в Берклі. На 21 січня 2019 BOINC є розподіленою мережею з більш ніж 904 тис. активних комп'ютерів (хостів) із середньою продуктивністю близько 29.331 petaFLOPS[2], що відповідає 5-й позиції в TOP 500 суперкомп'ютерів на листопад 2018 року. Національний науковий фонд США в 2002 та 2005 роках відзначив заслуги розробників, тричі нагороджуючи BOINC: SCI/0221529[3], SCI/0438443[4] і SCI/0721124[5].

Платформа працює на різних операційних системах, включаючи 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 — допомога у пошуку ліків для лікування людських захворювань, таких як рак, ВІЛ/СНІД, COVID-19, розрахунок структури білків та інші проєкти. Організатор IBM.
  • Rosetta@home — обчислення 3-вимірної структури білків та їхніх амінокислотних послідовностей.
  • MilkyWay@home — створення високоточної тривимірної динамічної моделі зіркових потоків в нашій Галактиці Чумацький шлях.
  • Climate Prediction — вивчення і передбачення клімату Землі.
  • PrimeGrid — пошук різних великих простих чисел.
  • SIMAP@home — створення бази даних білків для обчислювальної біології.
  • Cosmology@Home — пошук моделі, яка найкраще описує наш Всесвіт і спектру моделей, які узгоджуються з сучасними даними астрономії і фізики елементарних частинок.
  • Collatz Conjecture[6] — дослідження з галузі математики, зокрема перевірка гіпотези Коллатца також відомої як 3x+1 або HOTPO. Суть її в тому, що якщо взяти будь-яке число, якщо воно парне, розділити на 2, інакше помножити на 3 і додати 1 (тому її і називають проблемою «3х +1»), і повторити ці кроки деяке число раз, то наприкінці ми неминуче отримаємо одиницю.

Див. також

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.