Настройка SETI@home на сервере Ubuntu 14.04 или Debian 7

SETI@home – это масштабный проект распределенных вычислений, который использует соединённые через Интернет компьютеры для выполнения анализа данных радиотелескопа с целью определить сигналы или признаки внеземной разумной жизни. SETI@Home использует программное обеспечение BOINC, которое поддерживается многими платформами, включая Linux.

Примечание: Название проекта SETI@home расшифровывается как Search for ExtraTerrestrial Intelligence at home.

BOINC может работать как при помощи интерфейса, так и через командную строку. Потому эту программу очень просто установить и запустить на виртуальном сервере. SETI@home не занимает много дискового пространства (100MB будет достаточно), но может использовать довольно много ресурсов процессора.

Требования

  • Предварительно настроенный сервер Ubuntu 14.04 или Debian 7;
  • Не-root пользователь с правами sudo.

1: Установка пакета boinc-client

Для работы SETI@home необходим клиент BOINC, который доступен в стандартных репозиториях Debian и Ubuntu.

sudo apt-get install boinc-client

2: Учётная запись SETI@home

За процессорное время, ушедшее на поиск сигналов, проект SETI@home начисляет участникам так называемый «кредит» (credit), который позволяет оценить вклад и производительность компьютера определённого участника.

Чтобы подключить аккаунт SETI@home и получить «кредит», нужно предоставить специальный ключ.

Сначала создайте учётную запись SETI@home и откройте её. Затем нажмите View возле Account keys.

В верхней части страницы появится необходимый ключ. Внесите ключ в следующую команду и запустите её:

boinccmd --project_attach http://setiathome.berkeley.edu account_key

После этого программа boinc будет запущена со стандартными настройками.

Остановите сервис boinc-client, чтобы настроить параметры использования CPU.

3: Настройка использования процессора

По умолчанию BOINC использует 100% доступных ресурсов процессора. Это нужно изменить.

Примечание: В окружении облачного хостинга крайне необходимо снизить использование процессора, поскольку в противном случае могут пострадать виртуальные серверы других клиентов хостинг-провайдера.

Настройки локального хоста устанавливаются в файле /var/lib/boinc client/global_prefs_override.xml; изначально этот файл пуст. Ниже в данном руководстве приведён пример конфигураций этого файла.

Отредактируйте /var/lib/boinc-client/global_prefs_override.xml.

sudo nano /var/lib/boinc-client/global_prefs_override.xml

На данный момент содержимое файла выглядит так:

<global_preferences>
</global_preferences>

Удалите этот текст и вставьте в файл следующие строки:

<global_preferences>
<run_on_batteries>0</run_on_batteries>
<run_if_user_active>1</run_if_user_active>
<run_gpu_if_user_active>0</run_gpu_if_user_active>
<suspend_cpu_usage>50.000000</suspend_cpu_usage>
<start_hour>0.000000</start_hour>
<end_hour>0.000000</end_hour>
<net_start_hour>0.000000</net_start_hour>
<net_end_hour>0.000000</net_end_hour>
<leave_apps_in_memory>0</leave_apps_in_memory>
<confirm_before_connecting>1</confirm_before_connecting>
<hangup_if_dialed>0</hangup_if_dialed>
<dont_verify_images>0</dont_verify_images>
<work_buf_min_days>0.100000</work_buf_min_days>
<work_buf_additional_days>0.500000</work_buf_additional_days>
<max_ncpus_pct>100.000000</max_ncpus_pct>
<cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
<disk_interval>60.000000</disk_interval>
<disk_max_used_gb>10.000000</disk_max_used_gb>
<disk_max_used_pct>90.000000</disk_max_used_pct>
<disk_min_free_gb>1.500000</disk_min_free_gb>
<vm_max_used_pct>75.000000</vm_max_used_pct>
<ram_max_used_busy_pct>50.000000</ram_max_used_busy_pct>
<ram_max_used_idle_pct>90.000000</ram_max_used_idle_pct>
<max_bytes_sec_up>0.000000</max_bytes_sec_up>
<max_bytes_sec_down>0.000000</max_bytes_sec_down>
<cpu_usage_limit>25.000000</cpu_usage_limit>
<daily_xfer_limit_mb>0.000000</daily_xfer_limit_mb>
<daily_xfer_period_days>0</daily_xfer_period_days>
</global_preferences>

Теперь нужно проверить две настройки процессора (здесь они выделены красным).

Параметр cpu_usage_limit ограничивает объём ресурсов CPU, используемый SETI@home. В данном файле установлено значение 25.000000, что ограничивает использование CPU до 25%. Это значение хорошо подходит для серверов, которые обслуживают ещё несколько задач помимо SETI@home.

Параметр suspend_cpu_usage временно приостанавливает работу SETI@Home, если использование процессора другим приложением достигает установленного здесь значения. В данном файле значение этого параметра – 50.000000, то есть 50%.

Примечание: Подробнее о настройках BOINC можно прочесть на вики-странице проекта.

Сохраните и закройте файл, а затем запустите boinc-client, чтобы сервер подключился к SETI@home.

sudo service boinc-client start

4: Проверка нового хоста

Примерно через пять минут новый хост должен появиться в сети. Подключенные серверы можно просмотреть на специальной странице SETI@home.

5: Проверка состояния сервера

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

boinccmd --get_simple_gui_info

Эта команда предоставляет общую информацию SETI@home, а также сообщает о текущих задачах, выполняемых на этом конкретном хосте.

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

boinccmd --get_simple_gui_info
======== Projects ========
1) -----------
name: SETI@home
master URL: http://setiathome.berkeley.edu/
user_name: stmiller
team_name: SETI.USA
resource share: 100.000000
user_total_credit: 33159.675770
user_expavg_credit: 1409.252845
host_total_credit: 0.000000
host_expavg_credit: 0.000000
nrpc_failures: 0
master_fetch_failures: 0
master fetch pending: no
scheduler RPC pending: no
trickle upload pending: no
attached via Account Manager: no
ended: no
suspended via GUI: no
don't request more work: no
disk usage: 0.000000
last RPC: 1423684749.199424
project files downloaded: 0.000000
GUI URL:
name: Message boards
description: Correspond with other users on the SETI@home message boards
URL: http://setiathome.berkeley.edu/forum_index.php
GUI URL:
name: Help
description: Ask questions and report problems
URL: http://setiathome.berkeley.edu/forum_help_desk.php
GUI URL:
name: Your account
description: View your account information
URL: http://setiathome.berkeley.edu/home.php
GUI URL:
name: Your preferences
description: View and modify your computing preferences
URL: http://setiathome.berkeley.edu/prefs.php?subset=global
GUI URL:
name: Your results
description: View your last week (or more) of computational results and work
URL: http://setiathome.berkeley.edu/results.php?userid=9351194
GUI URL:
name: Your computers
description: View a listing of all the computers on which you are running SETI@Home
URL: http://setiathome.berkeley.edu/hosts_user.php?userid=9351194
GUI URL:
name: Your team
description: View information about your team: SETI.USA
URL: http://setiathome.berkeley.edu/team_display.php?teamid=115396
GUI URL:
name: Donate
description: Donate to SETI@home
URL: http://setiathome.berkeley.edu/sah_donate.php
======== Tasks ========
1) -----------
name: 25fe12ab.24545.17667.438086664204.12.226_0
WU name: 25fe12ab.24545.17667.438086664204.12.226
project URL: http://setiathome.berkeley.edu/
report deadline: Wed Mar  4 02:06:18 2015
ready to report: no
got server ack: no
final CPU time: 0.000000
state: downloaded
scheduler state: scheduled
exit_status: 0
signal: 0
suspended via GUI: no
active_task_state: EXECUTING
app version num: 701
checkpoint CPU time: 352.733700
current CPU time: 378.866400
fraction done: 0.088431
swap size: 110309376.000000
working set size: 40030207.999996
estimated CPU time remaining: 2505.901220

Состояние кредита SETI@home можно просмотреть в своей учётной записи (вкладка Computing and credit).

Заключение

Узнать последние новости проекта или получить ответы на свои вопросы вы можете на форуме SETI@home.

Кроме того, участники проекта SETI@home могут объединяться в команды. Подробнее об этом можно прочесть здесь.

Tags: , , ,

Добавить комментарий