はてな村定点観測所

運動、瞑想、睡眠、野菜350g

自宅のパソコンで世界を救える Folding@home

   

今、世界は新型コロナウイルス(COVID-19)の感染拡大で重大な危機に直面しています。不要不急の外出は自粛をという要請を各国政府が出しており、自宅待機の方も多いのではないでしょうか。そんな自宅からあなたが世界を救える手段があります。Folding@home です。

Folding@homeとは

Folding@home は分散コンピューティング技術を使ってタンパク質の折り畳みを巡るメカニズムを解析して医学に役立てようというプロジェクトです。最近はタンパク質の折り畳みから派生してアルツハイマー・癌・エボラ出血熱などの難病研究の解析が行われています。そして今回新たに新型コロナウイルス(COVID-19)の解析がプロジェクトに追加されました。

パソコンやサーバーなどの計算機資源を持っている人ならば誰もがプロジェクトに参加することができます。解析はこちらのページからアプリケーションをインストールするだけで自動的に行われ、コンピュータの余剰計算リソースが使われます。解析結果はプロジェクトのサーバーに送信されます。つまり一度自分のマシンにインストールしたら、放っておくだけで自動的に解析が行われ、人類の医学の発展に貢献できるというプロジェクトです。Windows / Mac / Linuxに対応しています。またVMware用のovaファイルも提供されています。

f:id:netcraft3:20200328014825j:plain

(Folding@home でCOVID-19の解析を行っている画面)

Folding@homeの歴史は古く、インターネット老人会には馴染み深いプロジェクトであるかもしれません。あるいはSETI@homeで宇宙からのシグナルの解析に協力した人も多数いると思います。SETI@homeは残念ながら今年3月31日で終了予定ですが、SETI@homeの公式サイトではCOVID-19解析の分散コンピューティングに協力するよう呼びかけています。

f:id:netcraft3:20200328074209p:plain

Folding@homeの直接的な成果として223件の科学論文が発表されています。

世界中から続々と Folding@home への支援が始まっている

COVID-19の脅威に対抗するため、世界中から多くの人々が続々と Folding@home のプロジェクトに参加しています。2020年3月26日、Folding@home のプロジェクトの演算能力は1EFLOPSに達しました。これは世界で最も高速なスーパーコンピュータを遙かに上回る演算能力です。映画「サマーウォーズ」のようにウイルスという脅威に立ち向かうため人々が協力し合うということが現実に起きています。

pc.watch.impress.co.jp

f:id:netcraft3:20200328022806j:plain

(映画「サマーウォーズ」)

GItHubのCEOであるNat Friedman氏も、Folding@homeのために1日あたり6万コア時間のコンピュータ資源を提供すると表明しています。

NVIDIA社も、世界中のゲーマーに向けてCOVID-19と戦うため Folding@home へGPU資源を提供しようと呼びかけています。今までゲームをクリアすることでゲームの世界を救うことができましたが、今度はその力を使って現実世界を救うチャンスです。

ASRockも自作PCユーザーに Folding@home のプロジェクトに参加するよう呼びかけています。強力なCPUやGPUを搭載した自作パソコンをTwitterに使っている人々も、その真価を発揮するときが来ました。ASRockではFolding@homeのチーム機能を使ってASRockManiaチーム(Team ID 252872)を結成して解析を行っています。

さくらインターネットでも、さくらのクラウドの未使用リソースを使ってFolding@homeへの参加を表明しています。

cloud-news.sakura.ad.jp

Folding@homeに参加するには

Folding@homeに参加するには、ダウンロードページから各OSに応じたアプリケーションファイルをダウンロードします。

以下はWindowsの場合のインストール方法です。ダウンロードしたファイルを実行するとウィザードが起動します。基本全てデフォルトで次へ進んで問題ありません。

f:id:netcraft3:20200328042445p:plain:w400

インストールが完了するとブラウザでFolding@homeの管理ページに移動します。ここで解析の進捗の確認をしたり、マシンリソースをどれだけ振り分けるかを3段階のレベルで調整したりできます。

f:id:netcraft3:20200328042332p:plain

Folding@homeのクライアントのアイコンはタスクバーに常駐しています。このアイコンを右クリックすることでアプリケーションを終了させたり、コントローラーやビューアを起動させたりできます。

f:id:netcraft3:20200328043021p:plain:w200

コントローラーは以下のような画面です。Configureで詳細な設定ができるのですが、かなり玄人向けな項目も多数あります。まずはFolding@homeをしばらく動かしてみて慣れてきたら触ってみましょう。

f:id:netcraft3:20200328042211p:plain

ビューアは以下のような画面です。分析対象のタンパク質が視覚的に表示され、対象プロジェクトや進捗状況などが表示されます。インストール直後の状態ではDemoという仮の解析処理が実行されます。Demoが完了すると実際のプロジェクトが開始されます。

f:id:netcraft3:20200328043618p:plain

Folding@homeに参加するにあたっての注意点

このように世界中から大勢の人々が参加してきているFolding@homeですが、参加するにあたって以下の注意点があります。

必ずCOVID-19のプロジェクトに割り当てられるとは限らない

Folding@homeでは先に紹介したようにアルツハイマーや癌の研究など複数のプロジェクトを扱っています。アプリケーションをインストールすると自動的に解析がスタートしますが、どのプロジェクトに割り当てられるかも自動的に決まります。私もCOVID-19だけではなく、癌のプロジェクトに何度か割り当てられました。割り当てられた数時間のタスクが完了するまで、そのプロジェクトに貢献することになります。現在のところCOVID-19のみの解析を指定することはできません。

ただ、COVID-19は最優先で取り組まれているプロジェクトであるため、何度も解析を行っているとCOVID-19の解析をする機会も多くなります。また癌なども大勢の人々を苦しめている難病であり、これを機会にその治療に貢献することは良いことだと思います。COVID-19の解析だけに協力したい人にとっては注意が必要です。

自分がどのプロジェクトをいま解析しているのかは、プロジェクトサマリのページで確認できます。

コンピュータ資源が激しく使われる

アイドル状態のコンピュータリソースを活用するため、マシンの通常処理が極端に遅くなることはありませんが、バックグラウンドで激しく動作するプログラムであることは確かです。ノートパソコンを使って外出先で解析処理を動かしているとバッテリー消費が激しくなる問題が起きます。またCPUやGPUを駆使するため冷却が問題になる場合もあります。また通常利用でマシンに何か大きな処理を実行させる場合は、実効時間などに影響が出る場合もあります。

どれくらいマシンリソースを使用するかなどのカスタマイズは行えますが、基本的にリソースをバックグラウンドでかなり消費するアプリケーションであることへの理解は必要です。

Folding@homeが不安定

いま世界中から想像を絶する数のマシンが参加してきている関係で、Folding@homeのタスク(ワークユニット)がなかなか割り当てられない、解析が始まらないなどの問題も起きています。

f:id:netcraft3:20200328030237p:plain

このような時は家でプレイステーションでもしながら気長に待つしかありません。世界を救うには時に忍耐も必要でしょう。

f:id:netcraft3:20200328034411p:plain

FAHControlでログを閲覧し、"No WUs available for this configuration"や"ERROR:WU01:FS00:Exception: Could not get an assignment"と出ていたらワークユニットの割り当てに失敗しています。これはサーバー側の問題であり、参加しているクライアント側の問題ではありません。Folding@homeの稼働状況はアナウンスページで確認できます。

f:id:netcraft3:20200328035755p:plain

サーバーの停止と制限のアナウンスが出ていました。マシンを実行し続けていると解析処理が再開される件もアナウンスされています。今までもこの問題で数時間以上クライアントの解析処理が動かなかったケースが多々ありました。

f:id:netcraft3:20200328040321p:plain

誰もが無闇にクライアント何度も再起動しようとするとサーバーへの負荷となり、ワークユニットの再開が遅くなる要因となり得ます。ワークユニットが割り当てられない時には、公式サイトの情報を確認しながらしばらく待ちましょう。

世界を救うために

人類がCOVID-19を克服していくためには、COVID-19の特徴を分析してワクチン開発などのヒントを見つけていく必要があります。高度な専門知識や臨床実験と共に正確な情報が必要です。Folding@homeはそのための情報解析であり、専門知識を持たない人でもマシンさえあれば誰もが参加することのできるプロジェクトです。いつでも自由に始めることができ、いつでもやめることができます。そして今、世界中から多くの人々がFolding@homeに結集しています。

思いつきでCOVID-19対策を考案することも誰にでもできます。その思いつきはもちろん当たっている可能性もありますが、正確な情報の裏付けがなければ混乱を招きノイズであるだけでしょう。いま世界を救えるのは正確なデータです。このような人々の願いが、世界で最も演算能力が高いコンピューティング環境を実現させました。まだFolding@homeに参加していない方もぜひ参加を検討されてみてはいかがでしょうか。

foldingathome.org

追記:チーム機能について

チームに参加するには

Folding@home は個人でも解析に参加できますが、チーム機能もあります。チームを組んで解析作業を進め、そのスコアを他のチームと競い合うことができます。チームに参加するには、FAHコントローラーの左上にある「Configure」ボタンをクリックします。

f:id:netcraft3:20200424232054p:plain

Configure画面が開いたら「Identity」タブを開きます。Nameに自分の名前を入れ、Team numberにチーム番号を入れます。2020年4月24日に「ハッキング・ラボ」チームを結成しました。「ハッキング・ラボ」のチーム番号は263723です。

f:id:netcraft3:20200424232446p:plain

最後にSaveを押すとチームに参加できます。

f:id:netcraft3:20200424234007j:plain

チームに参加すると、ビューアの右上にもチーム番号が表示されます。

チームのスコアは下記のURLで公開されます。

https://stats.foldingathome.org/teams

f:id:netcraft3:20200424232759p:plain

チームを作成するには

チームを新しく結成するには、以下のフォームで申請すると作成できます。

https://apps.foldingathome.org/team

f:id:netcraft3:20200424233047p:plain

1人1人の力は弱くても、みんなが集まればもっと強くなれます。みんなで大きな元気玉をつくってCOVID-19に打ち勝ちましょう。