序章

SETI @home は、参加者のシステムで実行されているソフトウェアを使用して宇宙望遠鏡の無線データを分析し、インテリジェントライフの信号や兆候を特定する大規模なボランティア分散コンピューティングプロジェクトです。 SETI @home は、Linuxを含む多くのプラットフォームで利用可能なBOINCと呼ばれるソフトウェアを使用しています。

BOINCにはグラフィカルアプリケーションがありますが、コマンドラインからも機能します。 これにより、Dropletまたは別のヘッドレスサーバーでSETI @homeを実行することが非常に実現可能になります。 SETI @home は、使用するために必要なディスク容量はごくわずかです(通常、100 MBの容量で十分です)が、与えられた量のCPUを使用できます。

前提条件

ステップ1—boinc-clientをインストールします

SETI @home は、標準のDebianおよびUbuntuリポジトリで利用可能なBOINCクライアントを介して動作します。

sudo apt-get install boinc-client

ステップ2— SETI @homeアカウントに接続します

SETI @home を使用すると、完了した作業に対してSETIクレジットを獲得できます。 このホストをSETI@home アカウントに接続してクレジットを受け取るには、アカウントキーが必要です。

まず、 SETI @home アカウントを作成するか、既存の SETI @homeアカウントにログインします。 中に入ると、アカウントキーの横にある表示をクリックします。

Account Keys

次のページの上部にSETI@homeアカウントキーが表示されます。 アカウントキーを使用して次のコマンドを実行します。

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

この時点で、boincはデフォルト値でクランチを開始します。

今のところ、boinc-clientサービスを停止して、CPU使用率のプリファレンスを設定できるようにします。

sudo service boinc-client stop

ステップ3—ホストのCPU使用率設定を構成する

デフォルトでは、BOINCクライアントは100% ofの使用可能なCPUを使用します。 このステップでは、使用するCPUが少なくなるようにホストを構成します。

:クラウドホスティング環境では、隣接するドロップレットに影響を与える可能性のある過度の使用率を回避するために、CPU使用率を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に関するこのサンプルファイルの2つの設定を調べます。これらは、上記で強調表示されています。

最初の設定はcpu_usage_limitで、SETI @homeが使用するCPUの量を制限するために使用されます。 サンプルファイルは25.000000の設定を使用しています。これは、CPU使用率が最大25%に制限されていることを意味します。 25.000000は、マシンが別のタスクまたはサービス専用であるが、SETI @homeへの貢献が依然として望まれる場合に適した設定です。

2番目の設定はsuspend_cpu_usageで、他のアプリケーションによるCPU使用率がそのレベルに達したときに、SETI @homeの動作を一時的に停止するために使用されます。 サンプルファイルでは、suspend_cpu_usageは50.000000、つまり50%に設定されています。

BOINCプリファレンスの詳細については、Wikiを参照してください。

ファイルを保存して閉じた後、boinc-clientを起動します。 これにより、SETI @homeが作業を開始できるようになります。

sudo service boinc-client start

ステップ4—新しく追加されたホストを確認します

約5分後、新しいホストがオンラインで表示されます。 接続されたコンピューターは、 SETI @homeアカウントページ内で表示できます。

Connected Computers

ステップ5—ワークユニットのステータスを確認する

ワークユニットまたはタスクのステータスを表示するには、次のコマンドを使用します。

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の実行に関するニュースや質問に最適な場所です。

チームに参加するには、チームページをご覧ください。