BOINC

提供: ArchWiki
2020年5月22日 (金) 21:52時点におけるShota (トーク | 投稿記録)による版 (→‎World Community Grid でワークユニットをダウンロードできない: Accuracyテンプレートを付けた)
ナビゲーションに移動 検索に移動

BOINC ウェブサイト より:

あなたのコンピュータ (Windows, Mac, Linux) の待機時間を使って、疾病の治療、地球温暖化の研究、パルサー の解析などの科学的な研究へ寄与しませんか?簡単・安全に参加できます。

Wikipedia より:

Berkeley Open Infrastructure for Network Computing (BOINC) とは、分散コンピューティングプロジェクトのプラットフォームとして開発されたクライアント・サーバ型のソフトウェアである。SETI@home プロジェクトを助けるためのソフトウェアとして開発され、現在は数学・医学・分子生物学・気象シミュレーション・天体物理学など様々な分野のプラットフォームとして使われている。世界中のパーソナルコンピュータを集めて研究者に莫大な処理能力を寄与することを目的としている。

インストール

boinc または boinc-nox パッケージをインストールしてください。後者は Xorg に依存していないため、ヘッドレスサーバー向けです。

どちらのパッケージでも boinc-client.service という名前のユニットファイルがインストールされます。

ノート: boinc 7.10.3-1 において、ユニット boinc.service のファイル名は bonic-client.service に変更されました。

マネージャを接続するにはユーザーを boinc グループに追加する必要があります:

# usermod -a -G boinc $(whoami)

以下のセクションで必要なファイルを生成するために boinc-client.service起動してください。

BOINC を使う

GUI

デフォルトでは、デーモンに接続するためのパスワードは /var/lib/boinc/gui_rpc_auth.cfg に作成されます。GUI でデーモンに接続するには、ホームディレクトリから /var/lib/boinc/gui_rpc_auth.cfg へのリンクを作成して、boinc グループのメンバーが読み取れるように権限を変更します:

$ cd ~/
$ ln -s /var/lib/boinc/gui_rpc_auth.cfg gui_rpc_auth.cfg
# chmod 640 gui_rpc_auth.cfg

パスワードを変えたい場合、あるいはパスワードを使わない場合 /var/lib/boinc/gui_rpc_auth.cfg を編集して BOINC デーモンを再起動してください。

ホームディレクトリにファイルを作成したくない場合、BOINC Manager はカレントディレクトリの gui_rpc_auth.cfg ファイルも読み込みます。boinc グループからファイルを読み込めるようにして /var/lib/boinc をワーキングディレクトリとしてマネージャを起動すれば、クライアントはデーモンに自動的に接続されます。デスクトップ環境のメニューエディタを使うことで設定できます。

GUI を起動するときは boincmgr コマンドを使用:

$ boincmgr

起動するとプロジェクトへの参加に進みます。プロジェクトによってはアカウントの作成が必須となっており、GUI でアカウントを作成できたり、もしくはウェブサイトでアカウントを作成する必要があったりします。リソースが余っているのであれば複数のプロジェクトに参加することもできます。Tools / Attach to project メニューオプションからプロジェクトを選んでください。

BOINC がプロジェクトへの接続を要求しない場合、デーモンに接続されていることを確認してください。メニューの Advanced / Select computer からマシンの名前を選択してパスワードを入力してください。

GPU を使用するプロジェクト

GPU を使用したい場合、プロプライエタリの NVIDIA あるいは AMD ドライバーが必要な場合があります。ATI/AMD カードの場合は Catalyst ドライバーが必要です。 Ryzen 5 2400G のような新しめの AMD システムでは、オープンソースの AMDGPU の動作に OpenCL との互換性を持たせるため、opencl-amdAUR をインストールすればよいです。 NVIDIA の場合、opencl-nvidia パッケージが必要です。x86_64 でエラーが発生しないように Xorg#ドライバーのインストールに書かれている OpenGL (Multilib) のパッケージをインストールしてください。

さらに、boinc ユーザーを video グループに追加してください:

# gpasswd -a boinc video

コンピュータを使っているときに GPU 計算を停止したい場合、マウスやキーボードでクライアントと通信できるように boinc ユーザーから X セッションにアクセスできるようにする必要があります。xorg-xhost パッケージをインストールして以下のコマンドを実行することで boinc ユーザーに X セッションへのアクセス権を与えることが可能です:

 $ xhost si:localuser:boinc

Xorg の起動時に自動起動させるのもよいでしょう。

CLI

ヘッドレス環境で BOINC を使うには boinc-nox をインストールします。2つのコマンドラインツールが存在します: boinccmdboincboinccmd を使用することが推奨されています:

  1. BOINC サービスを起動してください。
  2. サービスの RPC API と通信するためのパスワードを boinccmd に指定してください。

BOINC サービスは boinc-client.service ユニットファイルで起動できます。BOINC を最初に起動した時、パスワードが生成され /var/lib/boinc/gui_rpc_auth.cfg に保存されます。boinccmd にパスワードを指定するには:

  • コマンドラインフラグを使ってパスワードを直接指定: boinccmd --passwd abc123 --get_host_info
  • カレントディレクトリに gui_rpc_auth.cfg ファイルが存在することを確認。

プロジェクトに登録して BOINC から参加してください。

コマンドラインからプロジェクトに登録する場合、BOINC Wiki Project List からプロジェクトを選んで boinccmd --passwd abc123 --create_account ${project_url} ${my_email} ${project_password} ${project_username} というようなコマンドを実行してください。登録方法によらず、プロジェクトのキーを取得する必要があります。boinccmd --passwd abc123 --project_attach ${project_url} ${project_key} のようなコマンドを実行してください。

デフォルトでは BOINC は最大でも CPU の 60% しか使わないように設定されています。設定ファイルの CPU 関連のオプションを編集することでもっと CPU を活用することができます:

/var/lib/boinc/global_prefs.xml
<global_preferences>
    <cpu_usage_limit>100.0</cpu_usage_limit>
    ...
</global_preferences>

ログファイル

BOINC はログファイルを /var/lib/boinc/ に作成します:

/var/lib/boinc/stderrdae.txt
/var/lib/boinc/stdoutdae.txt

参加するプロジェクトを選ぶ際のヒント

プロジェクトによって必要なハードウェアの要件は様々、作業ユニットを完了させるのにかかる時間もばらばらです。締め切り前にユニットを完了させられなかった場合、誰かに仕事が割り振られます。あなたのマシンの性能にあったプロジェクトを選ぶと良いでしょう。

また、プロジェクトが計算データや結果を公開するのかどうかという点も(あなたが気にするのであれば)確認すべき点です。

Arch64 で実行

一部のプロジェクトでは32ビットアプリケーションしか提供されておらず、ワークユニットを実行したりグラフィックを表示するのに32ビットライブラリを必要とすることがあります。ライブラリは multilib リポジトリからインストールしてください。

Climateprediction.net に参加する場合
lib32-glibc, lib32-glib2
WCG や Climateprediction などのプロジェクトでグラフィックを表示したい場合
lib32-pango, lib32-libxi, lib32-mesa, lib32-libjpeg6-turbo, lib32-libxmu, lib32-glu, lib32-freeglut

トラブルシューティング

GPU missing

以下のようなエラーが表示される場合:

GPU Missing

Work Unit が起動していません。boinc-client.service デーモンを再起動してください。

X セッションが完全に初期化される前に BOINC デーモンが起動してしまうとこの問題が発生します。

ノートパソコンが発熱してバッテリーの寿命が縮む

ondemand ガバナーを使ってノートパソコンで BOINC を動作させると、CPU が最大周波数で動き続けます。ノートパソコンが過熱状態になってバッテリーが短命になる可能性があります。BOINC で CPU の周波数を上げすぎないように設定することを推奨します:

# echo 1 >/sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load

起動時に設定したい場合、以下のファイルを作成:

/etc/tmpfiles.d/ondemand-ignore-nice.conf
w /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load - - - - 1

World Community Grid でワークユニットをダウンロードできない

この記事またはセクションの正確性には問題があります。
理由: 修正を加えた PKGBUILD を、公式のものとの違いを説明せずにリンクしています。また、英語版のページでは、2019年9月にこの節が削除されています。 (議論: トーク:BOINC#BOINC#World Community Grid でワークユニットをダウンロードできない 節の正確性)

World Community Grid プロジェクトで新しいワークユニットをダウンロードできない場合、修正を加えた PKGBUILD を使って openssl再ビルドしてから boinc.service再起動してください。

詳しくは こちら を参照。

参照