BOINC
![]() | |
![]() | |
Тип | Розподілені обчислення |
---|---|
Автори | Space Sciences Laboratoryd і David P. Andersond |
Розробники | Університет Каліфорнії (Берклі) |
Стабільний випуск | 7.14.2 Windows / 11 жовтня, 2018; 5 років тому (2018-10-11) 7.14.2 Mac OS X / 11 жовтня, 2018; 5 років тому (2018-10-11) 7.2.42 Linux / 28 лютого, 2014; 10 років тому (2014-02-28) 7.4.53 Android / 3 липня, 2016; 8 років тому (2016-07-03) |
Платформа | кросплатформова програма |
Операційна система | Крос-платформність |
GNU фреймворк | wxWidgets |
Мова програмування | C++ |
Ліцензія | LGPL |
Онлайн-документація | boinc.berkeley.edu/wiki/User_manual |
Репозиторій | github.com/BOINC/boinc |
Вебсайт | boinc.berkeley.edu |
|
BOINC (англ. Berkeley Open Infrastructure for Network Computing) — відкрита програмна платформа університету Берклі для GRID обчислень — некомерційне міжплатформне програмне забезпечення для організації розподілених обчислень. Використовується для організації добровольчих обчислень.
Опис
BOINC — програмний комплекс для швидкої організації розподілених обчислень. Складається з серверної та клієнтської частин. Спочатку розроблявся для найбільшого проєкту добровольчих обчислень — SETI@home, але згодом розробники з Каліфорнійського університету в Берклі зробили платформу доступною для сторонніх проєктів. На сьогодні BOINC є універсальною платформою для проєктів у галузі математики, молекулярної біології, медицини, астрофізики та кліматології. BOINC дає дослідникам можливість залучити величезні обчислювальні потужності персональних комп'ютерів з усього світу.
BOINC розроблений командою на чолі з Девідом Андерсоном (David Pope Anderson), який очолює також SETI@home, з Лабораторії космічних наук[en] Каліфорнійського університету в Берклі. На 21 січня 2019 BOINC є розподіленою мережею з більш ніж 904 тис. активних комп'ютерів (хостів) із середньою продуктивністю близько 29.331 petaFLOPS[1], що відповідає 5-й позиції в TOP 500 суперкомп'ютерів на листопад 2018 року. Національний науковий фонд США в 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 має одну з найбільш відданих і активних спільнот з відкритим кодом. Незалежно від того, чи йдеться про пошук лікування хвороби, дослідження космосу, пошук простих чисел або просто просування участі та залучення науки через розподілені обчислення, спільнота BOINC добровільно виділяє своє обладнання, електроенергію та час, щоб підтримати свою пристрасть[5].
Серверна частина 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 — аналізують дані, пов'язані з геномом людини, Мікробіомом людини[en], хворобами людини, моделюванням опадів, врожайністю рису, екологічно чистою енергією, очищенням води, та деякі інші дані. На разі допомога у пошуку ліків для лікування людських захворювань, таких як дитячий рак, ВІЛ/СНІД, 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»), і повторювати ці кроки, то наприкінці ми неминуче отримаємо одиницю.
Див. також
- Добровольчі обчислення
- Вільне програмне забезпечення
- Університет Каліфорнії (Берклі)
- SETI@home
- Список розподілених обчислювальних проєктів[en]
Посилання
- ↑ BOINCstats | BOINC combined — Credit overview [Архівовано 19 вересень 2010 у Wayback Machine.] — Об'єднана статистика
- ↑ "The National Science Foundation | Research and Infrastructure Development for Public-Resource Scientific Computing
- ↑ "The National Science Foundation | SCI: NMI Development for Public-Resource Computing and Storage [Архівовано 10 листопада 2004 у Wayback Machine.]
- ↑ "The National Science Foundation | SDCI NMI Improvement: Middleware for Volunteer Computing [Архівовано 12 травня 2009 у Wayback Machine.]
- ↑ The Science Commons Initiative. thesciencecommons.org (auto) . Процитовано 27 березня 2024.
- ↑ Офіційний сайт проєкту Collatz@home. Архів оригіналу за 4 грудня 2017. Процитовано 14 січня 2014.