Как настроить SETI @ home в Ubuntu 14.04 или Debian 7

Вступление

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

BOINC имеет графическое приложение, но также работает через командную строку. Это делает возможным запуск SETI @ home на Droplet или на другом автономном сервере. Для использования SETI @ home требуется очень мало дискового пространства - обычно достаточно 100 МБ - но он может использовать столько же ресурсов ЦП, сколько ему выделено.

Предпосылки

  • Капля Ubuntu 14.04 или Debian 7, любого размера.

  • Пользователь sudo без полномочий root. Вы можете выполнить первые четыре шага thutorial для настройки в Ubuntu и https: // www .digitalocean.com / community / tutorials / initial-server-setup-with-debian-7 [это руководство] для Debian.

Шаг первый - установить boinc-клиент

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

sudo apt-get install boinc-client

Шаг второй - подключение к учетной записи SETI @ home

С SETI @ home вы получите кредит SETI за выполненную работу. Чтобы подключить этот хост к учетной записи SETI @ home и получить кредит, необходим ключ учетной записи.

Сначала create SETI @ home account или войдите в свою существующую SETI@home учетная запись. Оказавшись внутри, нажмите * Просмотр * рядом с * Ключи учетной записи *.

изображение: https: //assets.digitalocean.com/articles/seti@home_ubuntu/1.png [Ключи аккаунта]

Вы увидите свой ключ учетной записи SETI @ home в верхней части следующей страницы. Выполните следующую команду с вашим ключом учетной записи:

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

В этот момент boinc начнет обрабатывать значения по умолчанию.

Пока остановите службу boinc-client, чтобы можно было установить предпочтения использования ЦП.

sudo service boinc-client stop

Шаг третий - настройка параметров использования хоста

По умолчанию клиент BOINC будет использовать 100% доступного процессора. На этом шаге мы настроим хост на использование меньшего количества ЦП.

  • Примечание *: В облачной среде хостинга вам необходимо снизить загрузку ЦП со 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>

  <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>

  <daily_xfer_limit_mb>0.000000</daily_xfer_limit_mb>
  <daily_xfer_period_days>0</daily_xfer_period_days>
</global_preferences>

Далее мы проверим две настройки в этом примере файла, касающиеся CPU, которые выделены выше.

Первым предпочтением является + cpu_usage_limit +, который используется для ограничения количества процессоров, используемых SETI @ home. Файл примера использует настройку 25,000000, что означает, что загрузка ЦП ограничена максимум 25%. 25.000000 - это хорошая настройка, если ваша машина предназначена для другой задачи или обслуживания, но вклад в SETI @ home все еще желателен.

Второе предпочтение - + suspend_cpu_usage +, которое используется для временного приостановления SETI @ home из работы, когда использование ЦП другим приложением достигает этого уровня. В файле примера для suspendcpuusage установлено значение 50,000000 или 50%.

Вы можете прочитать больше о настройках BOINC on их вики.

После сохранения и закрытия файла запустите boinc-клиент. Это позволит SETI @ home начать выполнять работу.

sudo service boinc-client start

Шаг четвертый - проверка недавно добавленного хоста

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

изображение: https: //assets.digitalocean.com/articles/seti@home_ubuntu/2.png [Подключенные компьютеры]

Шаг пятый - Проверка статуса рабочих единиц

Чтобы просмотреть состояние рабочих единиц или задач, используйте команду:

boinccmd --get_simple_gui_info

Обратите внимание, что здесь отображается ваша общая информация об учетной записи SETI @ home, а затем текущие задачи на этом конкретном хосте.

Ниже приведен пример вывода для –getsimplegui_info:

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 credit также можно посмотреть на странице account в разделе * Компьютеры и кредит *.

Заключение

Http://setiathome.berkeley.edu/forum_index.php[SETI@home forum] - лучшее место для новостей и вопросов о работе SETI @ home.

Чтобы присоединиться к команде, просмотрите страницу team!