BOINC

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
BOINC
BOINC logo July 2007.svg
BOINCconproyectos.png
Тип

Распределённые вычисления

Разработчик

Калифорнийский университет в Беркли

Написана на

C++

Операционная система

Кросс-платформенность

Последняя версия

7.4.27 Windows / 2014-11-05; 16 дней тому назад
7.4.26 Mac OS X / 2014-10-29; 23 дня тому назад
7.2.42 Linux / 2014-02-28; 266 дней тому назад
7.3.7 Android / 2014-03-03; 263 дня тому назад

Лицензия

LGPL

Сайт

boinc.berkeley.edu

BOINC на Викискладе

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

Описание[править | править вики-текст]

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

BOINC разработан командой во главе с Дэвидом Андерсоном (David Pope Anderson), возглавляющим также SETI@home, из Space Sciences Laboratory Калифорнийского университета в Беркли. На 26 апреля 2013 года BOINC представляет собой распределённую сеть из более чем 1 200 000 активных компьютеров (хостов) со средней производительностью всей сети около 8,5 петафлопс[1]. Национальный научный фонд США в 2002 и 2005 годах отметил заслуги разработчиков, трижды награждая BOINC: SCI/0221529[2], SCI/0438443[3] и SCI/0721124[4].

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

Серверная часть BOINC[править | править вики-текст]

Серверная часть состоит из HTTP-сервера с веб-сайтом проекта, базы данных MySQL и набора демонов (генератор заданий, планировщик, валидатор, ассимилятор результатов. Сервер — только на Linux, предпочтительно Debian[источник не указан 698 дней].

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 наиболее популярных проектов[5][править | править вики-текст]

Прочие проекты[править | править вики-текст]

Проекты в стадии разработки и тестирования[править | править вики-текст]

Данные проекты находятся в стадии разработки и отладки программного обеспечения (альфа и бета). Участие в данных проектах рекомендуется лишь с целью их тестирования. На данном этапе никто не гарантирует отсутствие сбоев в программном обеспечении, а также наличие какого-либо смысла от полученных результатов.

Проект Стадия тестирования Краткое описание Область знания Сайт
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
Gerasim@Home Альфа построение разбиений параллельных граф-схем алгоритмов дискретная математика, комбинаторная оптимизация, логическое управление Gerasim@home
Pirates@home Альфа тестирование ПО BOINC software BOINC test
DrugDiscovery@Home Альфа российский проект, занимающийся тестированием методов компьютерной разработки лекарств, моделированием белков с использованием платформы BOINC медицина Drugdiscovery@home
BOINC test Бета тестирование BOINC software BOINC test
BOINC alpha test Альфа тестирование BOINC software BOINC test alpha
evo@home Альфа проект распределенных вычислений, целью которого является применение генетических алгоритмов для фолдинга белков. биология http://boinc.run.montefiore.ulg.ac.be/evo/
Optima@home Альфа поиск минимума функции в различных задачах (например, расчет атомных кластеров молекул с использованием потенциала Морзе) *** http://boinc.isa.ru/dcsdg/
Correlizer Альфа исследование корреляций между последовательностями в трехмерной структуры генома биоинформатика http://svahesrv2.bioquant.uni-heidelberg.de/correlizer/index.php
NumberFields@Home Альфа исследования в области полей Галуа алгебраическая теория чисел http://stat.la.asu.edu/NumberFields/
YAFU Альфа тестирование серверной части программного обеспечения BOINC *** http://yafu.dyndns.org/yafu/
SAT@home Альфа решение задачи о выполнимости булевых формул *** http://sat.isa.ru/pdsat/
Volpex@UH Альфа имитация поведения белков в клеточной среде с целью разработки лекарственных препаратов биология http://129.7.248.104/VCP/index.php
NRG Альфа молекулярное распознавание, вычислительная биология, докинг биология http://boinc.med.usherbrooke.ca/nrg/
Wildlife@Home Альфа анализ видеоданных записи жизни в дикой природе биология http://volunteer.cs.und.edu/wildlife/
SubsetSum@Home Альфа решение задачи о нахождении подмножества среди элементов заданного множества целых чисел, сумма элементов которого равна искомому значению математика http://volunteer.cs.und.edu/subset_sum/
Solar@Home Альфа создание более эффективных солнечных батарей вычислительная химия http://shasta.chem.uh.edu/SolarAtHome/
Asteroids@home Альфа определение формы и параметров вращения астероидов по данным фотометрических наблюдений астрономия http://asteroidsathome.net/boinc/
FightMalaria@Home Альфа моделирование докинга протеинов малярии биология http://boinc.ucd.ie/fmah/
theSkyNet POGS Альфа построение спектрального атласа ближайшей части Вселенной в области длин волн от ближнего инфракрасного излучения до ультрафиолета по данным GALEX, Pan-STARRS1 и WISE астрономия http://ec2-23-23-126-96.compute-1.amazonaws.com/pogs/
OProject@Home Альфа анализ алгоритмов, доказательство проблемы Гольдбаха математика http://oproject.goldbach.pl/
Convector Альфа решение задачи оптимизации конструкции 10-элементной строительной фермы математика http://convector.fsv.cvut.cz/

Планируемые проекты[править | править вики-текст]

  • PlanetQuest[14] — проект нацелен на поиск новых планет и звёздную классификацию по снимкам с обсерваторий, расположенных на Земле. В настоящий момент находится в стадии разработки. Для поиска планет «PlanetQuest» разработали метод транзитного обнаружения (англ. Transit Detection Algorithm (TDA)) — фотометрический метод, позволяющий автоматически определять новые планеты, используя информацию из наземных оптических телескопов. Метод транзитного обнаружения был доработан для использования в миссии НАСА-вского телескопа Кеплер. Некоторые из кеплеровских данных будут обработаны в проекте «PlanetQuest».

Проекты с модифицированным клиентом BOINC[править | править вики-текст]

  • Cell Computing — несколько подпроектов различной направленности, основное направление — медицина (например, исследование ДНК человека). Ориентирован на Японию (всё только на японском). Поддерживается компанией NTT DoCoMo. Официальный сайт.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]