freebsd:freebsd_12_install_foldingathome

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
freebsd:freebsd_12_install_foldingathome [2020-03-29 00:57]
Decomo 作成
freebsd:freebsd_12_install_foldingathome [2020-03-29 11:25] (現在)
Decomo
行 1: 行 1:
 ====== FreeBSD 12とFolding@homeで新型コロナウイルス解析に参戦する ====== ====== FreeBSD 12とFolding@homeで新型コロナウイルス解析に参戦する ======
  
 +流行りに乗じて新型コロナと絡めてみたけど、単にFreeBSD 12でFolding@homeを動かそうっていうお話。
  
 +以前にもやったことあったなぁ…とサイト内をあさってみたら、ちょうど14年前だった([[blog:2006:2006-03-27]])。VIA C3のマシンで運用してた記憶。当時はまだportsがなかったけど、記事書いたのが3月、portsが出来たのが8月のようで、振り返ってみるとちょっとの差だったんだなと中々に感慨深い。
 +
 +しかしあれから14年か…。
  
 ===== 試した環境 ===== ===== 試した環境 =====
行 7: 行 11:
   * FreeBSD 12.1-RELEASE-p3   * FreeBSD 12.1-RELEASE-p3
   * linux_base-c7-7.7.1908_1   * linux_base-c7-7.7.1908_1
-  * +  * linux-foldingathome-7.5.1.1_1
  
 ===== インストール ===== ===== インストール =====
行 18: 行 22:
 # portsnap biology/linux-foldingathome # portsnap biology/linux-foldingathome
 </code> </code>
 +
 +専用ユーザーfahclientが追加されるんだけど、2020-03-29現在、ユーザーDBの更新が正しく行われず有効なユーザーとして認識されないので手動で更新する。''pw''コマンドでfahclientユーザーの情報が表示されればOK。
 +<code>
 +# pwd_mkdb -p /etc/master.passwd
 +# pw usershow -n fahclient
 +fahclient:*:246:246::0:0:Folding@home User:/nonexistent:/usr/sbin/nologin
 +</code>
 +
 +fahclientユーザーが使えない状態では、「su: unknown login: fahclient」と怒られてサービスとして起動できなかったりする。
  
 ===== Linuxエミュレータの設定 ===== ===== Linuxエミュレータの設定 =====
行 35: 行 48:
 ここで再起動するか、自前でカーネルモジュールを読み込む&上記FS類をマウントする。 ここで再起動するか、自前でカーネルモジュールを読み込む&上記FS類をマウントする。
 <code> <code>
 +# reboot
 +または
 # kldload linux64 # kldload linux64
 # mount /compat/linux/proc # mount /compat/linux/proc
行 45: 行 60:
 Folding@homeのデフォルトの作業ディレクトリは''/var/db/fahclient''となっており、ここに配置した解析プログラムを実行するようになっている。 Folding@homeのデフォルトの作業ディレクトリは''/var/db/fahclient''となっており、ここに配置した解析プログラムを実行するようになっている。
  
-ZFS環境の場合、通常''/var/db''以下はexecプロパティがoffでプログラム実行が許可されていない。よってexec=onでFSを作ってしまう。もし作るのが嫌なら''/usr/local/etc/rc.d/fahclient''をいじって作業ディレクトリの場所を変更すべし。+ZFS環境の場合、通常''/var/db''以下はexecプロパティがoffでプログラム実行が許可されていない。よってexec=onでFSを作ってしまう。所有者の変更も忘れずに行う事。 
 + 
 +もしFS作るのが嫌なら''/usr/local/etc/rc.d/fahclient''をいじって作業ディレクトリの場所を変更すべし。
  
 <code> <code>
 # zfs create -o exec=on zroot/ROOT/var/db/fahclient # zfs create -o exec=on zroot/ROOT/var/db/fahclient
 +# chown -R fahclient:fahclient
 +</code>
 +
 +fahclientの実行ログを見るかぎり、''/usr/local/etc/fahclient/''以下の所有者も変えた方が良さそう。
 +<code>
 +# chown -R fahclient:fahclient /usr/local/etc/fahclient/*
 </code> </code>
  
行 60: 行 83:
 <code> <code>
 # sysrc fahclient_enable="YES" # sysrc fahclient_enable="YES"
-</code> 
- 
-2020-03-29現在、Folding@homeを立ち上げようとすると 
-<code> 
-Starting fahclient. 
-su: unknown login: fahclient 
-/usr/local/etc/rc.d/fahclient: WARNING: failed to start fahclient 
-</code> 
-と怒られて起動しない。fahclientユーザーが正しく反映されてないようなので、pwd_mkdbコマンドでユーザーDBを手動で更新してやる。''pw''コマンドでfahclientユーザーの情報が表示されてればOK。 
-<code> 
-# pwd_mkdb -p /etc/master.passwd 
-# pw usershow -n fahclient 
-fahclient:*:246:246::0:0:Folding@home User:/nonexistent:/usr/sbin/nologin 
 </code> </code>
  
行 79: 行 89:
 # service fahclient start # service fahclient start
 </code> </code>
 +
 +''service fahclient log''でズラズラとログが出たり、topでFAHClient/FahCore_xxあたりのプロセスが動いてれば解析が行われている。
  
 ===== トラブルシューティング ===== ===== トラブルシューティング =====
  
-動で起動する場合+==== アプリケーション起動 ==== 
 + 
 +デーモンはなく単発アプリケーションとして起動したい場合は、以下のようにする。
 <code> <code>
 # /usr/local/bin/FAHClient --config=/usr/local/etc/fahclient/config.xml # /usr/local/bin/FAHClient --config=/usr/local/etc/fahclient/config.xml
 </code> </code>
 +
 +==== CPU割り当ての最適化 ====
 +
 +Foldgin@homeはFolding slot単位でWUの割り当てを行うが、標準では1スロットに全CPUスレッドを割り当てる構成となっている。そしてスロットの処理能力に適したWUが割り当てられるっぽいが、多コアCPUの場合これが徒となり、WUが降ってこない原因ともなるようだ。
 +
 +そんな時は、あえて4スレッド程度のスロットを複数個作った方が、効果的にWUの割り当てが行われるっぽい。
 +<code>
 +<config>
 +  ...
 +  <!-- Folding Slots -->
 +  <!-- 8C/16TのCPUで4スレッド×4スロットにする -->
 +  <slot id='0' type='CPU'>
 +    <cpus v='4'/>
 +  </slot>
 +  <slot id='1' type='CPU'>
 +    <cpus v='4'/>
 +  </slot>
 +  <slot id='2' type='CPU'>
 +    <cpus v='4'/>
 +  </slot>
 +  <slot id='3' type='CPU'>
 +    <cpus v='4'/>
 +  </slot>
 +</config>
 +</code>
 +
 +===== 参考サイト =====
 +
 +  * [[https://foldingathome.org/|olding@home – Fighting disease with a world wide distributed super computer.]]
  
  • freebsd/freebsd_12_install_foldingathome.1585411021.txt.gz
  • 最終更新: 2020-03-29 00:57
  • by Decomo