C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

vs. COVID-19: Folding@home の FAHControl でご家庭内で参加中の複数のクライアントをまとめて監視・制御する方法のメモ

ご家庭内から複数のPC端末等をクライアントとして Folding@home に参加する場合に、1箇所の FAHControl (管理画面ツール) でそれ自体はもちろん、他のクライアントも全て管理したい場合もあります。

f:id:USAGI-WRP:20200327170347p:plain

例えば↑な具合で管理できるようにしたい、と。こうしておくと、動作を監視するだけでなく、制御もできるため、アイドル時のみの設定ではなく手動で今は計算資源を提供しよう、あるいはちょっと止まって欲しい、そうした扱い方がしやすくなります。

設定方法は簡単なのですが、 FAHControl アプリは妙なところで癖の強さを残していて、たぶんこのメモを見ているであろう人には何か困っている事もある予感がするので、つまりメモを残すことにしました。

必要な予備知識

  • Folding@home が何か概要だけでも知っている (知らない場合は→ Wikipedia とか PC Watch - 自宅のPCで新型コロナウイルス治療に向けた解析が可能に とか )
  • FAHControl に関する特殊な操作方法
    • FAHControl には、たぶん Latin-1 的なキーボードじゃないとまともに文字を入力できません (何故か謎の半角カタカナが入力されても驚かない😅)
    • FAHControl には、キーボードで CTRL+V しても貼り付けが動作しないキーボードがあります
    • FAHControl には、ポインティングデバイスで右クリックメニューを出して Paste すれば任意の文字列を貼り付けで入力できます
    • まともに入力できて Copy できるテキストエディターか端末エミュレーターっぽい何かなどを起動してから始めましょう
  • ご家庭のネットワークに関する一般的な技術情報
    • ipconfig とか ip address とかして端末の IP を知れる程度の能力
    • ご家庭のネットワークの "ネットワークアドレス" の意味がわかっている程度の知識
    • ご家庭で使用中の OS やルーターFirewall 機能と設定を理解している程度の能力

方法

  1. 別のPCから接続を「受ける」側のPCで、
    1. FAHControl を起動し、
    2. 画面左側の Clients のリストにある local をダブルクリック

f:id:USAGI-WRP:20200327165245p:plain

3. Configure 画面の上部のタブを Remote Access へ切り替え
4. 実はスクロールするすごい縦長画面なので画面右側のスクロールバーを使い IP Address Restriction の囲いまで進み
5. Allow に 127.0.0.1 に加えて接続を許可する"ネットワークアドレス"(例: 192.168.0.0/24 )を「書き足し」ます ( 空白文字区切りなので `127.0.0.1 192.168.0.0/24` とか入力された状態にします )
6. Configure 画面を Save で閉じ
7. OSのタスクトレイ的なところにある Folding のアイコンを右クリックでコンテキストメニューを出し、
8. Quit で一端終了させ

f:id:USAGI-WRP:20200327165631p:plain

9. スタートメニュー的なところ、あるいはデスクトップにあるショートカットなどで [Folding@home][] を起動しなおします
  1. 接続「しに行く」側のPCで、
    1. FAHControl を起動し、
    2. 画面左側の Clients のリスト部分の下部にある Add をクリック
    3. Configure 画面の Connection タブの Address に先に「受ける」側の設定を施したクライアントの IP を入力
    4. Save

もし、この手順でやっても Clients の Status が Connecting のまま繋がらない場合は、

  • 設定を間違えていた (ネットワークアドレスの値、書き方)
  • 「受ける」側の Folding@home を再起動(手動でQuitして起動し直し)していなかった
  • Firewall でブロックしていた
  • そもそも別のネットワークに分離されていた

とかそういう状況かもしれません。よくわからないときは諦めるか、専門家に依頼しましょう。この程度ならスシやヤキニクで十分やってくれる技師もいるかもしれません。

ちなみに

"こういうの" の事は専門的には「グリッド・コンピューティング」と言います。似たようなので有名な例は BOINC とか。広義的には "スーパー・コンピューター" の一種です。実際に Folding@home が COVID-19 の根絶や特効薬の開発に寄与できるかはさておき、こうしたプロジェクトが稼働できる事、人類の危機に際して計算資源の提供が増加する様には、地球の人類にもまだ少しは浪漫を感じられますね😭

私も少なくとも今後しばらくは、 Folding@home に計算資源を提供する事にしましょう。

…そうそう、一般のご家庭では揉める事はないと思いますが、学校、会社、その他何らかの組織などで計算資源の管理者の承諾無く Folding@home のようなボランティアを設定すると人生が終了する可能性もありえなくはないのでご注意下さい。現在は COVID-19 の影響でオフィスや教室に未使用の計算機資源がたくさん眠っていて使い所のように感じる熱いハートをお持ちの方もおられるかと思いますが、先ずは管理者か、あるいは鶴の一声が可能なクラスの役員や大株主などの偉い人に相談しましょう。よほど高性能な計算機資源をたくさん抱えているわけでなければ電気代よりも売名効果の方が大きいかもしれませんが、少なくとも、他人の資産を勝手に使うと、ブラウザーのマイニングアプリでも警察に逮捕される地方があるみたいですし、みなさまどうかご安全に。