BOINC
BOINC | |
---|---|
![]() | |
![]() | |
Тип | связующее программное обеспечение, добровольные вычисления, distributed computing software[вд], гражданская наука, грид и открытое программное обеспечение |
Авторы | Space Sciences Laboratory[вд] и David P. Anderson[вд] |
Разработчики | David P. Anderson[вд], Rom Walton[вд] и Калифорнийский университет в Беркли |
Написана на | C++ |
Интерфейс | wxWidgets |
Операционные системы | Linux, FreeBSD, Android, Windows, macOS, Solaris, OS/2 и Raspberry Pi OS |
Первый выпуск | 10 апреля 2002 |
Аппаратная платформа | кроссплатформенность |
Последняя версия | |
Репозиторий | github.com/BOINC/boinc |
Лицензия | GNU GPL 3[2] и LGPL-3.0[вд] |
Сайт | boinc.berkeley.edu (англ.) |
![]() |
BOINC (англ. Berkeley Open Infrastructure for Network Computing) — открытая программная платформа университета Беркли для грид-вычислений — некоммерческое межплатформенное ПО для организации распределённых вычислений. Используется для организации добровольных вычислений.
Описание
BOINC — программный комплекс для быстрой организации распределённых вычислений. Состоит из серверной и клиентской частей. Первоначально разрабатывался для крупнейшего проекта добровольных вычислений — SETI@home, но впоследствии разработчики из Калифорнийского университета в Беркли сделали платформу доступной для сторонних проектов. На сегодняшний день BOINC является универсальной платформой для проектов в области математики, молекулярной биологии, медицины, астрофизики и климатологии. BOINC даёт исследователям возможность задействовать огромные вычислительные мощности персональных компьютеров со всего мира.
BOINC разработан командой во главе с Дэвидом Андерсоном (David Pope Anderson), возглавляющим также SETI@home, из Space Sciences Laboratory Калифорнийского университета в Беркли. На 27 марта 2017 года BOINC представляет собой распределённую сеть из более чем 830 000 активных компьютеров (хостов) со средней производительностью всей сети более 20 петафлопс[3]. Для сравнения, самый мощный суперкомпьютер на март 2017 года «Sunway TaihuLight» имеет пиковую мощность 93 петафлопса. Пиковая мощность проекта BOINC зафиксирована на уровне 320 петафлопс, что более чем в три раза превосходит пиковую мощность самого мощного суперкомпьютера на Земле. Национальный научный фонд США в 2002 и 2005 годах отметил заслуги разработчиков, трижды награждая BOINC: SCI/0221529[4], SCI/0438443[5] и SCI/0721124[6].
Платформа работает на различных операционных системах, включая Microsoft Windows и варианты юниксоподобных GNU/Linux, CentOS/RHEL, FreeBSD, NetBSD, OpenBSD, Solaris, macOS, Android и Raspberry Pi OS. BOINC распространяется под лицензией GNU Lesser General Public License, как свободное программное обеспечение с открытым исходным кодом.
Серверная часть BOINC
Серверная часть состоит из HTTP-сервера с веб-сайтом проекта, базы данных MySQL и набора демонов (генератор заданий, планировщик, валидатор, ассимилятор результатов). Сервер — только на Linux, предпочтительно Debian[источник не указан 4267 дней].
HTTP сервер представляет собой набор PHP-скриптов и необходим организаторам проектов для общего управления проектом: регистрация участников, распределение заданий для обработки, получение результатов, управление базами данных проекта.
В базе данных хранятся пользователи, пароли, записи заданий, результатов, информация о хостах, программах проекта и прочее.
Демоны — набор программ на C++.
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 наиболее популярных проектов[7]
- Einstein@Home — проверка гипотезы Альберта Эйнштейна о гравитационных волнах, а также поиск радио- и гамма-пульсаров.
- World Community Grid — помощь в поиске лекарств для лечения человеческих заболеваний, таких как рак, ВИЧ/СПИД, расчёт структуры белков и другие проекты. Организатор — IBM.
- WUProp@home — не тратящий ресурсы проект для сбора различной статистики по всем другим проектам. Полезен тем, что позволяет на основе собранных данных подобрать проект наиболее эффективно использующий ресурсы самых разных вычислительных устройств.
- Rosetta@home — вычисление 3-мерной структуры белков из их аминокислотных последовательностей.
- MilkyWay@home — создания высокоточной трёхмерной динамической модели звёздных потоков в нашей Галактике — Млечный Путь.
- Universe@home
- yoyo@home
- PrimeGrid — поиск различных больших простых чисел.
- Collatz Conjecture[8] — проект, обрабатывающий одну из нерешённых проблем математики — проблему Коллатца. Суть её в том, что если взять любое число, если оно чётное, разделить на 2, иначе умножить на 3 и прибавить 1 (поэтому её ещё называют проблемой «3х+1»), и повторить эти шаги некоторое число раз, то в конце мы неизбежно получим единицу.
- Cosmology@home
Прочие проекты
- CAS@Home (Chinese Academy of Sciences)[9] — проект с целью поддержки китайских учёных в развитии технологий добровольного метакомпьютинга. Проект запущен при поддержке Вычислительного центра Института физики высоких энергий (англ. Computer Centre of the Institute of High Energy Physics, IHEP) и Китайской академии наук (англ. Chinese Academy of Sciences, CAS). Проект официально начал работу в январе 2010 года. В настоящее время проект включается в себя два приложения: Short-Cut Threading — предсказание пространственной структуры белка; моделирование столкновений элементарных частиц на ускорителе BEPC (Пекинский электрон-позитронный коллайдер, англ. Beijing Electron Positron Collider), в настоящее время приложение находится в разработке.
- Climate Prediction — изучение и предсказание климата Земли.
- eOn — моделирование «медленного» движения молекул для химии и физики.
- FreeHAL@home[10] — немецкий проект, направленный на создание искусственного интеллекта, способного пройти тест Тьюринга. FreeHAL@home основан на технологии конвертирования открытых лингвистических баз знаний[11] в семантические сети для обучения системы FreeHAL общению с человеком без предварительного заготавливания ответов программистом.
- GPUGrid[12] — проект, организованный университетом Помпеу Фабра. Проект занимается полно-атомным моделированием молекулярной биологии с использованием Cell-процессоров используемых в PlayStation 3 и в CUDA-совместимых GPU от Nvidia.
- Leiden Classical — проект в области физики.
- LHC@home — обработка данных, полученных с большого адронного коллайдера, и расчёты д
- Malaria Control Project — контроль распространения Малярии в Африке (AFRICA@home (недоступная ссылка)).
- MLC@Home - проект, посвящённый пониманию и интерпретации сложных моделей машинного обучения с акцентом на нейронные сети.
- Radioactive@Home — Обнаружение радиоактивного фона окружающей среды
- RNA World[13]. Целью проекта, запущенного в январе 2010 года, является систематизация РНК всех живых организмов.
- SIMAP@home — создание базы данных белков для вычислительной биологии.
- SLinCA@Home — проект распределённых вычислений в области физики и материаловедения, запущенный при поддержке Академии наук Украины.
- Spinhenge@home — проект в области нанотехнологий по исследованию молекулярного магнетизма.
- sudoku@vtaiwan[14] — проект по исследованию игры-головоломки судоку. Занимается поиском судоку с 16-ю ключами, которая имела бы единственное решение.
- QMC@Home — расчёты с использованием метода Монте-Карло в квантовой химии.
- Quake-Catcher Network — Обнаружение распространения сейсмических волн
Завершённые проекты
- ABC@home — проект в области математики.
- AQUA@home — проект распределённых вычислений канадской компании D-Wave Systems Inc. Цель проекта — спрогнозировать эффективность сверхпроводимого адиабатического квантового компьютера на целый ряд проблем, начиная от материаловедения до машинного обучения. Разрабатываются и анализируются алгоритмы квантовых вычислений используя квантовый метод Монте-Карло.
- Magnetism@home[15] — проект по расчёту магнитных конфигураций цилиндрических наноэлементов. Первый украинский проект на платформе BOINC, с поддержкой операционных систем Linux и Windows. Создан в июне 2008 года физиком Константином Метловым из Донецкого физико-технического института. Проект решает задачи статики, динамики и термодинамики для магнитных наноэлементов различной формы.
- Predictor@home — моделирование 3-мерной структуры белка из последовательностей аминокислот. Целью проекта является проверка и оценка новых алгоритмов и методов предсказания структуры белка и применение этих методов к реальным биологическим целям. Predictor@home дополняет Folding@home, который изучает фолдинг белков, в то время как Predictor@home предсказывает какой будет их окончательная третичная структура. Кроме того, Predictor@home напрямую конкурирует с другим проектом на платформе BOINC — Rosetta@home. Оба этих проекта проверяют скорость и точность различных методов предсказания окончательной третичной структуры белков.
- SETI@home — 31 марта 2020 года SETI@home обработал последний блок данных и прекратил рассылать пользователям новые задания[16].
Проекты в стадии разработки и тестирования
Данные проекты находятся в стадии разработки и отладки программного обеспечения (альфа и бета). Участие в данных проектах рекомендуется лишь с целью их тестирования. На данном этапе никто не гарантирует отсутствие сбоев в программном обеспечении, а также наличие какого-либо смысла от полученных результатов.
Проект | Стадия тестирования | Краткое описание | Область знания | Страна | Сайт |
---|---|---|---|---|---|
Malaria Control Project | Бета | контроль распространения малярии в Африке | биология | Malaria Control Project | |
QMC@Home | Бета | исследования в квантовой химии | химия, физика | QMC@Home | |
SETI@home Beta | Бета | тестирование для проектов SETI@home и AstroPulse | software | SETI@home/AstroPulse Beta | |
Spinhenge@home | Бета | изучение молекулярного магнетизма | физика | Spinhenge@home | |
Proteins@home | Бета | изучение структуры белков | биология | Proteins@home | |
NanoHive@Home | Бета | устройство мира с точки зрения наномира | физика | NanoHive@Home | |
µFluids@Home | Бета | микрогравитация в жидких средах | физика | µFluids@Home | |
BURP | Бета | рендеринг 3D объектов | графика | BURP | |
Superlink@Technion | Бета | анализ генетических связей | биология | Superlink@Technion | |
XtremLab | Альфа | изучение грид-технологий | software | XtremLab | |
Chess960@home | Альфа | создание коллекции из вариантов игры в шахматы Chess960 | математика, шахматы | Chess960@home | |
RALPH@home | Альфа | тестирование для проекта Rosetta@home | биология | RALPH@home | |
Orbit@home | Альфа | расчёт траекторий близколетящих к Земле небесных объектов | астрономия | Orbit@home Архивная копия от 11 августа 2006 на Wayback Machine | |
Gerasim@Home | Альфа | построение разбиений параллельных граф-схем алгоритмов | дискретная математика, комбинаторная оптимизация, логическое управление | Россия | Gerasim@home http://vk.com/topic-11963359_24035902 |
Pirates@home | Альфа | тестирование ПО BOINC | software | BOINC test Архивная копия от 9 февраля 2007 на Wayback Machine | |
DrugDiscovery@Home | Альфа | российский проект, занимающийся тестированием методов компьютерной разработки лекарств, моделированием белков с использованием платформы BOINC | медицина | Drugdiscovery@home | |
BOINC test | Бета | тестирование BOINC | software | BOINC test Архивная копия от 9 февраля 2007 на Wayback Machine | |
BOINC alpha test | Альфа | тестирование BOINC | software | BOINC test alpha | |
evo@home | Альфа | проект распределённых вычислений, целью которого является применение генетических алгоритмов для фолдинга белков. | биология | https://web.archive.org/web/20110817075110/http://boinc.run.montefiore.ulg.ac.be/evo/ | |
Optima@home | Альфа | поиск минимума функции в различных задачах (например, расчёт атомных кластеров молекул с использованием потенциала Морзе) | *** | Россия | https://web.archive.org/web/20110630212030/http://boinc.isa.ru/dcsdg/ |
Correlizer | Альфа | исследование корреляций между последовательностями в трёхмерной структуры генома | биоинформатика | https://web.archive.org/web/20110926193340/http://svahesrv2.bioquant.uni-heidelberg.de/correlizer/index.php | |
NumberFields@Home | Альфа | исследования в области полей Галуа | алгебраическая теория чисел | https://web.archive.org/web/20110914235420/http://stat.la.asu.edu/NumberFields/ | |
YAFU | Альфа | тестирование серверной части программного обеспечения BOINC | *** | https://web.archive.org/web/20120209190926/http://yafu.dyndns.org/yafu/ | |
SAT@home | Бета | решение задачи о выполнимости булевых формул | *** | Россия | https://web.archive.org/web/20111105003628/http://sat.isa.ru/pdsat/ http://vk.com/topic-11963359_29737436 http://vk.com/topic-11963359_25484181 |
Volpex@UH | Альфа | имитация поведения белков в клеточной среде с целью разработки лекарственных препаратов | биология | https://web.archive.org/web/20111014200746/http://129.7.248.104/VCP/index.php | |
NRG | Альфа | молекулярное распознавание, вычислительная биология, докинг | биология | https://web.archive.org/web/20120206223916/http://boinc.med.usherbrooke.ca/nrg/ | |
Wildlife@Home | Альфа | анализ видеоданных записи жизни в дикой природе | биология | https://web.archive.org/web/20120406142235/http://volunteer.cs.und.edu/wildlife/ | |
SubsetSum@Home | Альфа | решение задачи о нахождении подмножества среди элементов заданного множества целых чисел, сумма элементов которого равна искомому значению | математика | https://web.archive.org/web/20120417020646/http://volunteer.cs.und.edu/subset_sum/ | |
Solar@Home | Альфа | создание более эффективных солнечных батарей | вычислительная химия | https://web.archive.org/web/20120701045156/http://shasta.chem.uh.edu/SolarAtHome/ | |
FightMalaria@Home | Альфа | моделирование докинга протеинов малярии | биология | https://web.archive.org/web/20120722072001/http://boinc.ucd.ie/fmah/ | |
theSkyNet POGS | Альфа | построение спектрального атласа ближайшей части Вселенной в области длин волн от ближнего инфракрасного излучения до ультрафиолета по данным GALEX, Pan-STARRS1 и WISE | астрономия | http://pogs.theskynet.org/pogs/ | |
OProject@Home | Альфа | анализ алгоритмов, доказательство проблемы Гольдбаха | математика | https://web.archive.org/web/20120827025605/http://oproject.goldbach.pl/ | |
Convector | Альфа | решение задачи оптимизации конструкции 10-элементной строительной фермы | математика | https://web.archive.org/web/20130529121209/http://convector.fsv.cvut.cz/ | |
USPEX@Home | Альфа | Численное предсказание и моделирование новых материалов и химических соединений | физика, химия, материаловедение | USPEX@Home |
Планируемые проекты
- PlanetQuest[17] — проект нацелен на поиск новых планет и звёздную классификацию по снимкам с обсерваторий, расположенных на Земле. В настоящий момент находится в стадии разработки. Для поиска планет «PlanetQuest» разработали метод транзитного обнаружения (англ. Transit Detection Algorithm (TDA)) — фотометрический метод, позволяющий автоматически определять новые планеты, используя информацию из наземных оптических телескопов. Метод транзитного обнаружения был доработан для использования в миссии НАСА-вского телескопа Кеплер. Некоторые из кеплеровских данных будут обработаны в проекте «PlanetQuest».
Проекты с модифицированным клиентом BOINC
- Cell Computing — несколько подпроектов различной направленности, основное направление — медицина (например, исследование ДНК человека). Ориентирован на Японию (всё только на японском). Поддерживается компанией NTT DoCoMo. Архивная копия фициального сайта.
Эффективность сети
Эффективность сети BOINC по сравнению со специализированными суперкомпьютерами заметно выше. Так, например «СанВей Тауху Лайт» имеет в своём составе около 11 млн ядер. Его потребляемая мощность составляет около 28 МВт. В сети BOINC активных около 835 тыс. хостов. При среднем потреблении современного компьютера около 100 Вт (без монитора) и наличии 2,5 ядер, коэффициенте загрузки 70 % — суммарная потребляемая мощность составляет около 10 МВт, 2 млн 130 тысяч ядер, что позволяет говорить о достаточной эффективности сети BOINC. В качестве недостатка можно отметить то, что гарантированная вычислительная мощность отсутствует.
Майнинг
C 2013 года криптовалюта Gridcoin в проектах BOINC рассматривается как валюта для вознаграждения. Gridcoin использует модифицированную систему доказательства доли владения для того, чтобы вознаграждать тех, кто выполняет вычисления в рамках проектов BOINC.
Для World Community Grid также выплачивается вознаграждение в криптовалюте Obyte[18].
См. также
Примечания
- ↑ https://github.com/BOINC/boinc/releases/tag/client_release%2F8.0%2F8.0.2 — 2024.
- ↑ https://boinc.berkeley.edu/trac/browser/boinc-v2/COPYING.LESSER
- ↑ BOINCstats | BOINC combined — Credit overview Архивная копия от 22 января 2013 на 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
- ↑ BOINC project popularity (неопр.). Дата обращения: 5 августа 2016. Архивировано 26 августа 2016 года.
- ↑ Официальный сайт проекта Collatz Conjecture (неопр.). Дата обращения: 24 декабря 2011. Архивировано 4 декабря 2017 года.
- ↑ Официальный сайт проекта CAS@Home (неопр.). Дата обращения: 20 ноября 2010. Архивировано из оригинала 11 февраля 2016 года.
- ↑ Официальный сайт проекта FreeHAL@home (неопр.). Дата обращения: 20 ноября 2010. Архивировано из оригинала 9 июля 2009 года.
- ↑ На первом этапе проекта пользователи скачивали материалы с немецкого раздела Википедии
- ↑ Официальный сайт проекта GPUGrid (неопр.). Дата обращения: 4 мая 2022. Архивировано 12 апреля 2022 года.
- ↑ Официальный сайт проекта RNA World (неопр.). Дата обращения: 18 ноября 2010. Архивировано 17 ноября 2010 года.
- ↑ Официальный сайт проекта sudoku@vtaiwan Архивировано 19 августа 2013 года.
- ↑ Официальный сайт проекта Magnetism@home Архивировано 19 января 2012 года.
- ↑ SETI News. On March 31, the volunteer computing part of SETI@home will stop distributing work and will go into hibernation. (неопр.) setiathome.berkeley.edu. Дата обращения: 16 апреля 2020. Архивировано 8 марта 2020 года.
- ↑ PlanetQuest: A nonprofit organization dedicated to cutting edge research in planet detection and citizen science (неопр.). Дата обращения: 16 ноября 2010. Архивировано 4 октября 2006 года.
- ↑ World Community Grid | Obyte — a ledger without middlemen (англ.). obyte.org. Дата обращения: 24 апреля 2021. Архивировано 24 апреля 2021 года.
Ссылки
- boinc.berkeley.edu — официальный сайт BOINC (рус.)
- BOINC wiki (англ.)
- BOINC.RU — В мире распределённых вычислений (российский сайт).
- NativeBOINC (англ.) — неофициальная версия клиента для платформы Android.
- Сергей Попов. Весь мир как суперкомпьютер // Троицкий вариант — Наука. № 16 (110) от 14 августа 2012. С. 7. (рус.) HTML-версия
- Андрей Васильков. Распределённые вычисления: как собрать с миру по гигафлопсу на развитие науки, 06 декабря 2012 (рус.)