BOINC
| Тип | |
|---|---|
| Разработчик | |
| Операционная система | |
| Последняя версия | |
| Лицензия | |
| Сайт | |
|
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. BOINC распространяется под лицензией GNU Lesser General Public License, как свободное программное обеспечение с открытым исходным кодом.
Серверная часть BOINC [править]
Серверная часть состоит из HTTP-сервера с веб-сайтом проекта, базы данных MySQL и набора демонов (генератор заданий, планировщик, валидатор, ассимилятор результатов. Сервер — только на Linux, предпочтительно Debian.
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] [править]
- SETI@home — анализ радиосигналов с радиотелескопа Аресибо, а также ряда других радиотелескопов мира, для поиска внеземных цивилизаций.
- Rosetta@home — вычисление 3-мерной структуры белков из их аминокислотных последовательностей.
- World Community Grid — помощь в поиске лекарств для лечения человеческих заболеваний, таких как рак, ВИЧ/СПИД, расчёт структуры белков и другие проекты. Организатор — IBM.
- Einstein@Home — проверка гипотезы Альберта Эйнштейна о гравитационных волнах, а также поиск радио- и гамма-пульсаров.
- Climate Prediction — изучение и предсказание климата Земли.
- LHC@home — расчёты для усовершенствования большого адронного коллайдера.
- MilkyWay@home — создания высокоточной трёхмерной динамической модели звёздных потоков в нашей Галактике — Млечный путь.
- SIMAP@home — создание базы данных белков для вычислительной биологии.
- PrimeGrid — поиск различных больших простых чисел.
- Spinhenge@home — проект в области нанотехнологий по исследованию молекулярного магнетизма.
Прочие проекты [править]
- ABC@home — проект в области математики.
- AQUA@home — проект распределённых вычислений канадской компании D-Wave Systems Inc. Цель проекта — спрогнозировать эффективность сверхпроводимого адиабатического квантового компьютера на целый ряд проблем, начиная от материаловедения до машинного обучения. Разрабатываются и анализируются алгоритмы квантовых вычислений используя квантовый метод Монте-Карло.
- BBC Climate Change Experiment — предсказание изменений климата на 160 лет. Проводится при поддержке BBC (Би-Би-Си).
- Leiden Classical — проект в области физики.
- GPUGrid[6] — проект, организованный университетом Помпеу Фабра. Проект занимается полно-атомным моделированием молекулярной биологии с использованием Cell-ячеек используемых в PlayStation 3 и в CUDA совместимых GPU от Nvidia.
- RNA World[7]. Целью проекта, запущенного в январе 2010 года, является систематизация РНК всех живых организмов.
- Magnetism@home[8] — проект по расчету магнитных конфигураций цилиндрических нано-элементов. Первый украинский проект на платформе BOINC, с поддержкой операционных систем Linux и Windows. Создан в июне 2008 года физиком Константином Метловым из Донецкого физико-технического института. Проект решает задачи статики, динамики и термодинамики для магнитных нано-элементов различной формы.
- 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), в настоящее время приложение находится в разработке.
- FreeHAL@home[10] — немецкий проект, направленный на создание искусственного интеллекта, способного пройти тест Тьюринга. FreeHAL@home основан на технологии конвертирования открытых лингвистических баз знаний[11] в семантические сети для обучения системы FreeHAL общению с человеком без предварительного заготавливания ответов программистом.
- Collatz@home[12] — проект, обрабатывающий одну из нерешенных проблем математики — проблему Коллатца. Суть её в том, что если взять любое число, если оно четное, разделить на 2, иначе умножить на 3 и прибавить 1 (поэтому её ещё называют проблемой «3х+1»), и повторить эти шаги некоторое число раз, то в конце мы неизбежно получим единицу.
- Malaria Control Project — контроль распространения Малярии в Африке (AFRICA@home).
- Predictor@home — моделирование 3-хмерной структуры белка из последовательностей аминокислот. Целью проекта является проверка и оценка новых алгоритмов и методов предсказания структуры белка и применение этих методов к реальным биологическим целям. Predictor@home дополняет Folding@home, который изучает фолдинг белков, в то время как Predictor@home предсказывает какой будет их окончательная третичная структура. Кроме того, Predictor@home напрямую конкурирует с другим проектом на платформе BOINC — Rosetta@home. Оба этих проекта проверяют скорость и точность различных методов предсказания окончательной третичной структуры белков.
- SLinCA@Home — проект распределенных вычислений в области физики и материаловедения, запущенный при поддержке Академии наук Украины.
- sudoku@vtaiwan[13] — проект по исследованию игры-головоломки судоку. Занимается поиском судоку с 16-ю ключами, которая имела бы единственное решение.
- QMC@Home — расчёты с использованием метода Монте-Карло в квантовой химии.
- eOn — моделирование «медленного» движения молекул для химии и физики.
Проекты в стадии разработки и тестирования [править]
Данные проекты находятся в стадии разработки и отладки программного обеспечения (альфа и бета). Участие в данных проектах рекомендуется лишь с целью их тестирования. На данном этапе никто не гарантирует отсутствие сбоев в программном обеспечении, а также наличие какого-либо смысла от полученных результатов.
Планируемые проекты [править]
Проекты с модифицированным клиентом BOINC [править]
См. также [править]Примечания [править]
Ссылки [править]
|