如何在Ubuntu14.04或Debian7上设置SETI@home

来自菜鸟教程
跳转至:导航、​搜索

介绍

SETI@home 是一个大型志愿者分布式计算项目,参与者系统上运行的软件用于分析太空望远镜无线电数据,以识别智能生命的信号或迹象。 SETI@home 使用称为 BOINC 的软件,该软件可在包括 Linux 在内的许多平台上使用。

BOINC 有一个图形应用程序,但也可以通过命令行工作。 这使得在 Droplet 或其他无头服务器上运行 SETI@home 非常可行。 SETI@home 需要很少的磁盘空间来使用——通常,100MB 的空间就足够了——但可以使用尽可能多的 CPU。

先决条件

  • 任何大小的 Ubuntu 14.04 或 Debian 7 Droplet。
  • sudo 非 root 用户。 您可以按照本教程的前四个步骤在Ubuntu上进行设置,在Debian上按照本教程进行设置。

第一步——安装 boinc-client

SETI@home 通过标准 Debian 和 Ubuntu 存储库中提供的 BOINC 客户端运行。

sudo apt-get install boinc-client

第二步 - 连接到 SETI@home 帐户

使用 SETI@home,您将因完成的工作而获得 SETI 学分。 要将此主机连接到 SETI@home 帐户并获得信用,需要帐户密钥。

首先,创建一个SETI@home账号或者登录你现有的SETI@home账号。 进入后,单击帐户键旁边的查看

您将在下一页顶部看到您的 SETI@home 帐户密钥。 使用您的帐户密钥运行以下命令:

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

此时,boinc 将开始使用默认值进行处理。

现在,停止 boinc-client 服务,以便可以设置 CPU 使用首选项。

sudo service boinc-client stop

第三步 - 配置主机 CPU 使用首选项

默认情况下,BOINC 客户端将使用 100% of 个可用 CPU。 在这一步中,我们将配置主机以使用更少的 CPU。

注意:在云主机环境中,您需要将 CPU 使用率从 100% 降低到 100%,以避免过高的使用率,这可能会影响相邻的 Droplet。

本地主机首选项在文件 /var/lib/boinc client/global_prefs_override.xml 中设置,该文件最初为空。 下面给出了本指南的示例文件,这是 Droplet 的推荐配置。

编辑文件 /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 的两个设置,这些设置在上面突出显示。

第一个首选项是cpu_usage_limit,用于限制SETI@home使用的CPU数量。 示例文件使用 25.000000 的设置,这意味着 CPU 使用率限制为最大 25%。 如果您的机器专用于其他任务或服务,但仍需要对 SETI@home 的贡献,25.000000 是一个很好的设置。

第二个首选项是 suspend_cpu_usage,用于在其他应用程序的 CPU 使用率达到该级别时暂停 SETI@home 的操作。 在示例文件中,suspend_cpu_usage 设置为 50.000000,即 50%。

您可以在他们的 wiki 上阅读更多关于 BOINC 偏好 的信息。

保存并关闭文件后,启动 boinc-client。 这将允许 SETI@home 开始执行工作。

sudo service boinc-client start

第四步——验证新添加的主机

大约五分钟后,新主机应出现在线。 连接的电脑可以在SETI@home账号页面里面查看。

第五步——检查工作单元的状态

要查看工作单元或任务的状态,请使用以下命令:

boinccmd --get_simple_gui_info

请注意,这将显示您的常规 SETI@home 帐户信息,然后是当前在此特定主机上执行的任务。

下面是 --get_simple_gui_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的信用状态也可以在你的账户页面计算和信用下查看。

结论

SETI@home 论坛 是有关运行 SETI@home 的新闻和问题的最佳场所。

加入团队,查看团队页面