Boinc что это за программа

Программный комплекс для автоматической связи с платформой BOINC

Была поставлена цель создать систему, автоматизирующую процесс установки и настройки приложений BOINC-клиент и BOINC-сервер для разработки проектов системы распределенных вычислений BOINC. Далее нужно запустить BOINC-клиенты для работы над созданным проектом.

BOINC-сервер – центральный сервер, к которому делают запросы клиентские машины. Рассмотрим алгоритм сборки и установки сервера. Общую схему можем увидеть на рис. 1.

Рисунок 1. Алгоритм сборки и установки сервера

В данной работе нам нужно иметь понимание о кластерах. Кластер – это многопроцессорный, многоядерный компьютер, на котором выполняются задачи пользователя, связанные высокоскоростной сетью и объединенные специальным программным обеспечением. Для расчетных операций используются кластерные (распределенные) вычисления. Именно открытая программная платформа BOINC организует распределенные вычисления.

Платформа BOINC-клиент-сервер состоит из программы-клиента и составного сервера BOINC, это дает возможность использовать несколько компьютеров в качестве сервера.

Майнер, помоги человечеству! Развитие науки и платформа BOINC

Разработка алгоритма автоматической сборки и установки сервера BOINC

Для установки сервера потребуется выполнить следующее.

Шаг 1. Определяем установленный на компьютере дистрибутив (Ubuntu или Debian).

Шаг 2. В зависимости от установленной операционной системы добавляются совместимые репозитории с нашим дистрибутивом.

Выполняем с правами администратора команды:

Подключаемся и добавляем репозиторий, в котором хранится пакет PHP 5, необходимый для запуска веб-сервера (который входит в состав BOINC):

sudo add-apt-repository ppa:ondrej/php -y

Обновляем данные репозитория:

sudo apt-get update

Шаг 3. Cкачивание и установка всех необходимых для сборки BOINC-сервера пакетов и библиотек:

sudo apt-get install -y git apache2 python-pip m4 pkg-config autoconf automake perl libtool build-essential libssl-dev mysql-server libmysqlclient-dev libmysqld-dev curl libcurl4-openssl-dev software-properties-common python-software-properties php5.6 php5.6-mysql libapache2-mod-php5.6 php5.6-mbstring php5.6-simplexml

Шаг 4. Клонируем репозиторий с исходным кодом BOINC-сервера:

git clone https://github.com/BOINC/BOINC.git BOINC-server

Шаг 5. Переходим в папку со скачанными файлами:

Шаг 6. Конфигурирование и подготовка к сборке сервера:

./_autosetup 1>../server-autosetup.log 2>../server-autosetup-error.log

./configure —disable-manager —disable-client 1>../server-config.log 2>../server-config-error.log

  • Параметр 1>./*.log – перенаправление стандартного потока в указанный файл.
  • Параметр 2>./*.error.log – вывод сообщений об ошибках в указанный файл.

Скрипт configure означает, что компиляция будет только серверной части и дополнительных библиотек – если установка идет успешно, об этом скажет последняя строчка, выведенная с помощью скрипта.

BOINC manager — программа клиент, настройка, и общая информация по использованию.

  • —disable-manager
  • —disable-client

Эти параметры указывают конфигуратору, что в процессе сборки нашего проекта не соберутся manager и client.

— Build Components: ( libraries server) —

Обратите внимание на сообщения, выдаваемые в ходе работы скрипта configure, возможно, будут выведены предупреждения наподобие этого:

checking if CFLAG ‘-include fcgi_stdio.h’ works. no

configure: WARNING: fcgi-stdio.h not found.

Disabling FCGI. Will not build components that require FCGI

Если это не привело к ошибкам скрипта, вам можно либо игнорировать предупреждения, что может привести к возможным проблемам в будущем, либо установить недостающие компоненты и использовать скрипт по новой.

Шаг 7. Сборка сервера:

make 1>../server-make.log 2>../server-make-error.log

Шаг 8. Создание проекта:

./tools/make_project —db_passwd=’123123′ —db_user=’root’ —delete_prev_inst —drop_db_first —url_base=»http://unixubuntu.my-BOINC-test-project.com» testappw

Параметрами —db_passwd и —db_user мы указываем логин и пароль для доступа к базе данных.

Скрипт выводит сообщения процесса сборки нового проекта. Прежде всего устанавливаются параметры, связанные с доступом к веб-странице проекта (здесь *server -IP* – это имя сервера в сети):

Creating project ‘ my_example_app ‘ (short name ‘ meapp ‘):

PROJECT_ROOT = /home/BOINCadm/projects/ meapp /

URL_BASE = http://*server -IP*/

HTML_USER_URL = http://* server -IP*/ meapp /

HTML_OPS_URL = http://* server -IP*/meapp_ops/

CGI_URL = ://*server -IP*/meapp_cgi/

Затем создаются необходимые каталоги:

Setting up server: creating directories

Происходит генерация криптографических ключей:

Keys don’t exist in /home/BOINCadm/projects/meapp/keys/; generate them? [Y/n]

Setting up server files: generating keys

Копирование необходимых файлов, создание таблиц базы данных и файлов настроек, установка независимых от приложения служб:

Setting up server files: copying files

Setting up database

Setting up server files: writing config files

Setting up server files: linking cgi programs

Done installing default daemons

Шаг 9. Настройка веб-страницы. Перед настройкой Apache, нужно установить правильные права доступа на папку, где содержится сама страница:

chmod –R 755 html/*

Настройки веб-сервера Apache для нового проекта содержатся в файле testappw.httpd.conf. Откроем файл, в котором мы видим, что данная конфигурация была сгенерирована для Apache 2.2, так как у нас установлена версия Apache 2.4, нам нужно заменить:

Читайте также:
Что за программа форсайт

Order deny, allow

Require all denied

Order allow, deny

Require all granted

Содержимое файлов настроек подключается либо напрямую, либо подключением через основной файл настроек (все действия необходимо выполнить с правами root):

cat meapp.httpd.conf >> /etc/apache2/httpd.conf

Необходимо перезапустить сервер Apache:

Установим пароль для доступа к административной части:

sudo htpasswd -c html/ops/.htpasswd admin

Мы видим главную страницу тестового проекта BOINC, с помощью нее мы связываемся с пользователями нашего проекта (см. рис. 2). Данная страница является шаблоном сайта проекта, который в дальнейшем необходимо модифицировать или заменить под нужды проекта.

Рисунок 2. Веб-страница

Для написания программы инсталлятор автоматической установки и развертывания BOINC-сервера использовался скриптовый язык программирования Bash.

Для автоматической установки BOINC-сервера нужно ввести адрес сервера, название проекта, а также пароль от администратора веб-страницы:

read -p «url to server: http://» -e BOINC_URL

read -p «project_name: » -e BOINC_NAME

read -p «password for admin web-page: » -e ADMIN_PASSW

echo «url: $BOINC_URL»

echo «project_name: $BOINC_NAME»

  • «url to server: http://» -e BOINC_URL – ввод с клавиатуры адреса BOINC-сервера;
  • «project_name: » -e BOINC_NAME – ввод с клавиатуры названия проекта;
  • «password for admin web-page: » -e ADMIN_PASSW – введение пароля от администратора веб-сервера.

За определение установленного на компьютере дистрибутива отвечает специальная команда:

dpkg -s lsb-release >/dev/null 2>/dev/null || sudo apt-get -y install lsb-release

LINUX_DIST=$(lsb_release -a 2>/dev/null | grep «Distributor ID:»)

  • lsb-release – проверка на установку программы lsb-release, которая отвечает за определение дистрибутива;
  • install lsb-release – установка программы, если не была найдена;
  • «Distributor ID:» – получение установленного дистрибутива.

Для успешной работы инсталлятора нужно настроить веб-сервер Apache:

python -c «exec(«f=open(»$’.httpd.conf’, ‘r’)\nf2 = open(‘BOINC.httpd.conf’, ‘w’)\nfor line in f: f2.write(line.replace(‘Order deny,allow’, »).replace(‘Order allow,deny’, »).replace(‘Allow from all’, ‘Require all granted’).replace(‘Deny from all’, ‘Require all denied’))»)»

sudo sh -c «cp BOINC.httpd.conf /etc/apache2/BOINC.httpd.conf»

sudo sh -c «echo ‘Include BOINC.httpd.conf’ >> /etc/apache2/apache2.conf»

Здесь представлен код изменения конфигурации Apache на более новую версию. Пайтоновская программа открывает файл с конфигурацией для Apache и заменяет строчки.

В ходе исследования была выполнена следующая работа:

  • определение дистрибутива;
  • скачивание и установка пакетов и библиотек;
  • конфигурирование и сборка сервера;
  • создание проекта;
  • настройка веб-страницы;
  • проверка функциональности проекта в рамках сервера BOINC;
  • разработана программа на языке программирования Bash;
  • тестирование разработанной программы.

Источник: samag.ru

Скачать бесплатно BOINC 7.16.20

BOINC очень простая в настройке и использовании. После первого запуска вы можете выбрать, в каком проекте участвовать – возле каждого из них будет краткое описание, где сообщается, чем он, собственно, занимается. Далее вам нужно будет указать электронную почту и пароль, и при желании выбрать логин или присоединиться к команде. Добавить можно несколько проектов. Также для некоторых проектов могут быть ограничения по характеристикам ПК – например, необходимое количество ОЗУ.

В BOINC вы сами выбираете, когда и для каких проектов использовать ресурсы ПК. Например, программа может работать все время или только тогда, когда компьютер не используется. В настройках можно выбрать, при каких условиях приостанавливать работу программы.

Особенности программы

  • Использует ресурсы ПК для добровольных вычислений.
  • Возможность выбора проекта.
  • Программу можно настроить таким образом, чтобы она работала только во время бездействия ПК.
  • Интерфейс на русском языке.
  • Кроссплатформенность – есть версии для Windows, Linux, MacOS и Android.

Скачать бесплатно BOINC:

Источник: besplatnye-programmy.com

Boinc — программный комплекс для быстрой организации распределённых вычислений

BOINC — программный комплекс для быстрой организации распределённых
вычислений. Состоит из серверной и клиентской частей. Первоначально разрабатывался
для крупнейшего проекта добровольных вычислений — [email protected], но впоследствии
разработчики из Калифорнийского университета в Беркли сделали платформу
доступной для сторонних проектов. На сегодняшний день BOINC является
универсальной платформой для проектов в области математики, молекулярной
биологии, медицины, астрофизики и климатологии. BOINC даёт исследователям
возможность задействовать огромные вычислительные мощности персональных
компьютеров со всего мира.
Эта программа позволяет различным исследовательским, учебным заведениям или
просто энтузиастам науки найти помощь у людей, которые готовы поделиться с ними
процессорным временем. Задача, требующая значительной вычислительной мощности,
разбивается на более простые части и рассылается различным людям, если решение
является верным для своей части – сервер проекта начисляет определённое количество
баллов участнику.
2

3. Серверная часть

В среднем за 24 часа: 28.545 петафлопс (х1015 оп/сек).
Активно: 125,587 участников, 498,161 компьютеров.
Daily change: +194 участников, +363 компьютеров.
(8:30 МСК 13.11.2019)
Серверная часть состоит из HTTP-сервера с веб-сайтом проекта, базы данных MySQL
и набора демонов (генератор заданий, планировщик, валидатор, ассимилятор
результатов.
Сервер

только
на
Linux,
предпочтительно
Debian.
HTTP сервер представляет собой набор PHP-скриптов и необходим организаторам
проектов для общего управления проектом: регистрация участников, распределение
заданий для обработки, получение результатов, управление базами данных проекта.
В базе данных хранятся пользователи, пароли, записи заданий, результатов,
информация о хостах, программах проекта и прочее.
Демоны — набор программ на C++.
3

Читайте также:
Winmail что это за программа

4. Клиентская часть

BOINC-клиент позволяет участвовать одновременно в нескольких проектах с помощью
одной общей программы управления (boinc.exe).
Для визуализации процесса управления BOINC-клиентом можно использовать либо
поставляемую по умолчанию официальную программу-менеджер (boincmgr.exe), либо
воспользоваться «неофициальной» программой для мониторинга и управления BOINCклиентом.
Следует отметить, что собственно BOINC-клиент в академическом понимании не имеет
пользовательского интерфейса как такового, а представляет собой сервис, запускаемый
при запуске системы и управляется по протоколу TCP/IP. Однако для конечного
пользователя это не имеет значения, поскольку дистрибутив программы комплектуется
программой-менеджером, которая сразу по умолчанию устанавливается вместе с
BOINC-клиентом как единое целое и абсолютно прозрачна для пользователя. В этом
случае в качестве адреса управляемого программой менеджером BOINC-клиента
указывается адрес «localhost». Таким образом, с одной стороны, ничто не мешает
пользователю использовать альтернативную программу-менеджер для управления
BOINC-клиентом, а с другой стороны даёт возможность управлять несколькими BOINCклиентами, находящимися на разных компьютерах из одной программы-менеджера.
Также такая организация управления BOINC-клиентом подразумевает возможность
использовать BOINC-клиент в «невидимом» режиме, когда запускается исключительно
сервис, без пользовательского интерфейса вообще.
4

5. Финансовый аспект

Gridcoin — криптовалюта, использующая
технологию блокчейн для краудсорсинга вычислен
ий научных проектов. Протокол Gridcoin
опубликован 16 октября 2013 года, и он построен
таким образом, что при эмиссии
применяется доказательство доли владения.
Ключевой особенностью Gridcoin является то, что
эмиссия связана с участием в научных
распределённых вычислениях, т.е. пользователи
получают вознаграждение за «вычислительный
вклад» в науку.
11 октября 2014 года был осуществлён переход между версиями протокола —
с оригинальной Gridcoin-Classic на Gridcoin-Research. Gridcoin-Classic использовал
гибридную систему эмиссии, сочетавшую доказательство выполнения работы и
доказательство доли владения. В результате перехода были устранены не связанные
с BOINC вычисления. Количество используемых вычислительных мощностей для
защиты блокчейна является минимальным, в отличие от типичных криптовалют,
таких как Биткойн. Дополнительно с переходом на Gridcoin-Research был улучшен
уровень безопасности подтверждения доли участия.
5

6. Проекты

Создать проект на платформе BOINC может любой желающий — вся платформа BOINC
изначально разрабатывалась в рамках LGPL, поэтому любой может ознакомиться с
исходными текстами.
В основном этим занимаются различные университеты и научные центры для решения
задач, требующих больших вычислительных ресурсов, но не имеющих необходимых
материальных средств для покупки суперкомпьютеров, либо мощностей современных
суперкомпьютеров недостаточно для решения поставленной задачи.
Некоторые из наиболее популярных проектов:
[email protected]
[email protected]
[email protected]
[email protected]
6

7. [email protected]

SETI (Search for Extraterrestrial Intelligence) — область науки, чьей целью ставится
нахождение разумной внеземной жизни. Один из методов, известный как «радио SETI»,
заключается в использовании радиотелескопов для приёма узкополосных сигналов из
космоса. Сигналы, не характерные для естественных явлений, будут служить
доказательством использования внеземных технологий.
Раньше проекты SETI использовали специальные суперкомпьютеры, расположенные у
телескопа для анализа поступающей информации. В 1995 году, Дэвид Геди предложил
использовать большое количество домашних компьютеров, подключённых к сети
Интернет как виртуальный суперкомпьютер для анализа радиосигналов. Для изучения
этой идеи он организовал проект [email protected] Проект [email protected] был запущенн в мае
1999 года.
7

8. [email protected]

Проект [email protected] направлен на вычисление трёхмерной структуры белков. Подобные
исследования могут привести к созданию лекарств от таких заболеваний как ВИЧ, малярия,
рак и болезнь Альцгеймера.
Результаты вычислений не доступны напрямую. Так же, нельзя использовать результаты
вычислений собственного компьютера. Однако они используются для большого количества
научных публикаций.
Основные задачи:
поиск структуры с наименьшей энергией для заданной аминокислотной
последовательности для предсказания структуры белка;
решение обратной задачи — поиск аминокислотной последовательности с наименьшей
энергией для заданной белковой структуры;
расчёт взаимодействия комплекса белок-белок.
8

9. [email protected]

[email protected] направлен на определение местонахождения
пульсаров, используя данные Лазерно-интерферометрической
гравитационно-волновой обсерватории (LIGO), радиотелескопа
Аресибо, космического гамма-телескопа Ферми (GLAST).
Сигнал, доказавший существование гравитационных волн был
слишком коротким для обработки проектом, однако теперь
производится подготовка данных для нового поиска
продолжительных гравитационных волн по всему небу.
Основной задачей расчетов является выделение полезного
сигнала (интерференционной картины) из шума, который
является следствием тепловых колебаний атомов в
зеркалах, квантовой природы света, сейсмических движений
земной коры или резонансных колебаний нитей, на которых
подвешена оптика. Процесс обнаружения осложняется также
влиянием вращения Земли вокруг Солнца и вокруг своей оси, в
совокупности вызывающими сдвиг частоты сигнала изза эффекта Доплера.
9

Читайте также:
Что за программа rm

10. [email protected]

Подпроект SixTrack, созданный для помощи учёным улучшения работы БАК, просчитывает
различные траектории 60 частиц, при которых луч сохранит стабильность в ускорителе.
Количество циклов от 100000 до миллиона циклов, что соответствует менее 10 секундам
реального времени. Этого достаточно, чтобы проверить будет ли пучок сохранять
траекторию на протяжении гораздо большего времени или существует риск потери
стабильности пучка, что может привести к серьёзным проблемам в реальности, например,
к остановки ускорителя или к выходу из строя некоторых детекторов.
В настоящее время также существует проект
[email protected] 2.0, который открыт для всех
желающих. Целью данного проекта является
моделирование столкновений пучков протонов
с целью последующего сопоставления полученных
экспериментальных и модельных данных и
выявления отклонений. В рамках проекта
в том числе проводятся симуляции потенциальных
проявлений «Новой физики» за пределами
Стандартной модели.
10

11. Резюмируя

Эффективность сети BOINC по сравнению со специализированными
суперкомпьютерами заметно ниже. Так, например «СанВей Тауху Лайт» имеет в
своём составе около 11 млн ядер. Его потребляемая мощность составляет около
28 МВт. В сети BOINC активных около 835 тыс. хостов. При среднем потреблении
современного компьютера около 100 Вт (без монитора) и наличии 2,5 ядер,
коэффициенте загрузки 10 % — суммарная потребляемая мощность составляет
около 10 МВт, 2 млн 130 тысяч ядер, что позволяет говорить о достаточной
эффективности сети BOINC. В качестве недостатка можно отметить то, что
гарантированная вычислительная мощность отсутствует. (по данным с википедии)
11

Источник: ppt-online.org

BOINC

28 августа, 2013 0

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

Платформа работает на различных операционных системах, включая Microsoft Windows и варианты юниксоподобных GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Mac OS X и Android. 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-клиент в «невидимом» режиме, когда запускается исключительно сервис, без пользовательского интерфейса вообще.

Ссылки

Источник: wikiprograms.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru