如何在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 的新闻和问题的最佳场所。
加入团队,查看团队页面!