分散コンピューティングプロジェクト(Folding@home)に参加して新型コロナウィルスの解析に貢献してみよう


##分散コンピューティングとは
> 分散コンピューティング（ぶんさんコンピューティング、英: distributed computing）とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理（ぶんさんしょり）ともいう (wikipediaより抜粋)

簡単に言えば複数のマシンをあたかも一つのマシンのように使って処理を行いましょう、ということです

##Folding@homeとは
>Folding@homeは、世界中の家庭にあるパーソナルコンピュータ・ゲーム機・スマートフォンなどの身近なマシンを、分散コンピューティング技術によって科学研究に利用するプロジェクトである。参加者は無償のボランティアであり、おのおの所有するマシンに専用ソフトウェアをインストールし、アイドル時に余る計算リソースを提供する。研究者は、本プロジェクトの成果であるタンパク質の解析情報を手がかりにスクリーニング（ふるい分け）することで、アルツハイマー病・ハンチントン病・パーキンソン病・癌・各種ウイルス対策などの研究効率を上げることができる(またまたwikipediaより抜粋)

ここで紹介するFolding@homeとは、自分が所持するマシンの計算リソースをボランティアとして提供するプラットフォームです。上記の各種研究のシミュレーションを受け持つ事ができます

##Folding@homeに参加する意義・意味
幾ら最優先でワクチン開発などの研究を行っているとはいえ、それぞれの団体が持つ計算リソースというのは限られてしまいます。ウイルス研究には膨大な数のシミュレーションが不可欠であり、シミュレーションを処理する計算リソースの数が研究時間の鍵を握ると言っても過言ではないです。**数、数こそが正義なのです。**そこで注目されているのがFolding@homeです。
Folding@homeに登録することにより私達が持つPCやスマートフォン等が、ウイルス研究の手助けをすることが出来るのです。これはとても意義のある事だと私は思います。現に世界中の人々がこのプロジェクトに参加しており
>2020年2月末より新型コロナウイルスに対する取り組みを始めると、参加者が著しく増加し、同年3月25日には本プロジェクトの演算能力は1EFLOPSを優に超え、1.5EFLOPSにも達した[6][7]。TOP500の上位100スーパーコンピュータの合算を上回る能力を獲得し、これまでの数千倍長いタンパク質を対象とするシミュレーションが可能となっている。

このように膨大な計算能力を実際に提供することができております。さながら世界中の人々が立ち上がり共通の敵と戦う映画のインディペンデンス・デイみたいですね

##Folding@homeに参加するには
Folding@homeに参加するためのステップはとても簡単です。今回はWindowsで説明します
####Folding@homeをインストールする⇒設定をする（超簡単）⇒あとは放置するだけ

##Folding@homeをインストールする
[Foldin@homeのインストールサイト](https://foldingathome.org/start-folding/)でソフトをインストールし、セットアップを開始します。プログラムが実行されるとブラウザが立ち上がるので**Start Folding**をクリックします。そうすると下のような画面になります、これでFolding@homeに参加できました。次にこの画面の各部説明です
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424307/5f00e7fe-ec12-2902-06f9-9c951511b12b.png)

##各種設定
###ユーザー名と所属チームの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424307/409728fa-abd5-397c-69d6-3e0afb6ad0eb.png)
左上の**I'm folding as:**のところが自分のユーザー名と所属チームが表示されます。登録時はユーザー名がAnonymous、所属チームは無しの状態になっています。この状態でもプロジェクトに参加することは可能ですが、折角なので設定してみましょう。**Change Identity**をクリックすると設定画面が出てきます。Nameでユーザー名、Team Numberで自分の所属チームを設定できます。Passkeyは気にしなくていいです
所属チームは[こちらのチーム一覧ページ](https://stats.foldingathome.org/teams-monthly)で探すことが出来ます。ちなみにJapanというチームがあるので特に入るチームが無い方はTeam Numberを222にして登録してはどうでしょうか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424307/91f9f249-58cf-8717-85a7-bedf3bac0d84.png)

###研究対象の選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424307/8f7c17e0-5558-77e5-5c27-811a858d3c3d.png)
**I support research fighting**で手助けする研究領域の選択ができます。新型コロナウイルスの研究に参加したい場合は**Any disease**のままでOKです。その他にも
Alzheimer's：アルツハイマー病
Cancer：癌
Huntington's：ハンチントン病
Parkinson's：パーキンソン病
など特定の病気を選択することが可能です

###提供するリソース量と動かすタイミング
**Power**で提供するリソース量を調整します、Full・Mediumにすると動作が重くなる場合があるので適宜調整してください。
**When**ではリソースを提供するタイミングを設定します。**When I'm working**はPCが動いてる時に常時稼働します、**Only when idle**はPCが動いているが使われていない時のみ稼働します。自分がPCを使っているときは動作が重くなるからリソースの提供をしたくない、という場合はこちらを選択するといいです

##プロジェクトに参加すると
プロジェクトに参加すると画面のCPUとGPU（持っている場合）のマークがクルクル回り始めて進捗率を表すパーセンテージが増えていきます。また、自分が得られるポイントの予想値もここで確認できます。
![キャプチャ2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424307/3dfe9e47-1947-1551-17a9-bf423720616c.png)

また、**I'm contributing to**の欄を見ると自分が今どんなプロジェクトのシミュレーションに参加しているのかを確認することが出来ます。私の場合Project16411に参加しており、このプロジェクトはSARS-CoV-2(つまり新型コロナウイルス)が体内で自己増殖する時に重要な働きをする3CLプロテアーゼという酵素を不活性にする為の研究のようです（間違っていたらすみません）自分が携わるプロジェクトになりますので興味のある方は調べてみると面白いかもしれませんね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424307/85a8b830-a025-438e-4aec-25bbc8578173.png)

##おわりに
今回のような事態に対して私達が出来ることは基本的には守る、つまり感染を広げない事がメインです。しかし、Folding@homeを通じてウイルス研究に参加することで積極的なアクションを起こすことも可能になりました。是非皆さんも私達と一緒にコロナを、そして他の難病と戦いましょう