はじめに ~Folding@home について~
家庭用のパソコン、スマホやPlay Station等の身近な計算マシンのアイドリング時間を活用して、分子工学を中心とした科学研究に貢献する分散コンピューティングの市民参加型プロジェクトである。参加者は専用のパッケージをホームページFolding@homeからダウンロードし、いくつか簡単な設定をするだけで、後は専用ソフトウェアが通信を開始し計算を開始してくれる。
Folding@homeプロジェクトは、2000年にStandford大学のVijay Pande教授がタンパク質の立体構造の解析を更に効率化することを目的に発足させた。分子構造に関する数値シミュレーションには多くの計算資源が必要なため、各国の研究機関や大学はCPUやGPUを数百~千基積んだスーパーコンピューターと呼ばれる大型コンピューターを保有している。しかし、スーパーコンピューターは共同利用であり、1つのプロジェクトが多数の実験を長時間占有してコンピューター上で行うには限界がある。一般に普及している家庭用の計算機は、1台当たりの計算能力は低くいが多数を連結させることで同時並行的に大きな計算処理能力を生み出すことが可能になるため、スーパーコンピューターでの計算を補完することができる。
5分で参加できるコロナ研究
2020年3月から、Folding@homeでは新型コロナウイルス解析のプロジェクトを提供している。同プロジェクトに参加する個人や団体は増えており、2020年4月14日には、その合計演算能力は2.4EFLOPS($^1$エクサフロップス)を突破している。現在世界最速のスーパーコンピューターであるIBM Summit (米国; Oak Ridge National Laboratory) は、22コアのCPU約9,000台とNVidia-V100 GPU約27,000台で構成されている。そのSummmitの演算能力でさえ200PFLOPS($^2$ペタフロップス)であることから、1台およそ2-4コア程度の家庭用計算機で参加しているボランティアで形成された分散コンピューティングの規模の大きさに圧倒される。詳しくは Twitterをチェック!
https://twitter.com/foldingathome
Threadripper 1920x 12C24TとGeforce RTX2070を備えた研究用の自作PCに余裕があるため、Stay at home以外に何か自分にもできることはないかと思ってことがきっかけでこのプロジェクトに挑戦してみた。
$^1$エクサフロップス = 1秒間に100京($10^{18}$)回の浮動小数点演算
$^2$ペタフロップス = 1秒間に1000兆($10^{15}$)回の浮動小数点演算
インストールと設定
ここからは、専用のソフトウェアの具体的なインストール方法について解説する。簡単にインストール可能なように設定されているので臆せずに是非挑戦してみてほしい!インストールページは英語であるが、解説ページIntroduction to V7: Linuxにはステップごとにスクショが貼ってあるから、英語にも迷わずに設定できるはずだ。
ここではLinux OSへのダウンロードを中心に解説する。なおWindows/Macユーザーもほぼ手順は同じなので参考にしてほしい。参考までにWindows/Mac用のインストール手順のリンクを下記に貼っておいた。
- For Windows user Download instruction for Windows
- For Macbook user Download instruction for Mac
1. ホームページへ GO!
https://foldingathome.org/
にアクセス。
2. ダウンロード方法
START FOLDING NOW
、Download Now
の順にクリックし、サジェストされたインストーラーをクリックしてインストール。ここまでは共通。
例の自作PCは1万km離れたオフィスでお留守場中なので、メインのWindowsにLinuxインストーラーをインストールしてみる。その場合、alternative downloads
をクリックし、
インストール一覧のページから下記のLinux用のインストーラーを見つける。あとはディストリビューションに応じて適した方を選択。Ubuntuを使っているから、
fahclient_7.5.1_amd64.deb
fahcontrol_7.5.1-1_all.deb
fahviewer_7.5.1_amd64.deb
あとはscp
やWinSCP
等々使って目的のマシーンにそれらを移動させればダウンロードは完了。インストーラー自体は全体で30MB程度なので1-2分待機。
3. 設定 (Linux コマンドラインの場合)
Clientの解凍
適当なディレクトリにfahclient_7.5.1_amd64.deb
を移動。その後、
sudo apt install fahclient_7.5.1_amd64.deb
とコマンドラインで打つことでパッケージが解凍される。
必要なライブラリがダウンロードされると、ユーザー名を求められるので、AnonymousのままでEnterキーをクリック
以上で設定は完了。
Controlの解凍
fahcontrol_7.5.1-1_all.deb
も同様に
sudo apt install ./fahcontrol_7.5.1-1_all.deb
すると必要なライブラリが次々とダウンロードされていくので、これまた数分ほどコーヒーでも飲みながら見守ろう。FAHControl
が/usr/bin/FAHControl
にインストールされるはずである。
4. いざ参加!
あとは、
/usr/bin/FAHControl
とコマンドライン上でたたくだけで下記のような画面が起動するはずである。Status がRunningと緑色に光っていれば無事に参加完了!InactiveからActiveになるまで少し時間がかかるので焦らなくても大丈夫(おそらく日本からだと通信時間等がかかるはず?)。
おわりに
Zoom飲み会、Amazon PrimeやNetflixを見るだけで家庭用PCを使うのはもったいない。COVID-19のワクチン開発研究にあなたも微力でもお手伝いしてみませんか?
References
- Folding@home
- Wikipedia: Folding@home
- [PC Watch: 今からでも3分ではじめられるコロナ解析貢献「Folding@home」の使い方] (https://pc.watch.impress.co.jp/docs/news/1243458.html)
- PC Watch: Folding@homeがTOP 500の全スパコンを超える2.4EFLOPSに到達