フロントエンドエンジニアのほりでーです。
年末、家のPCに、久しぶりにあるソフトをインストールしました。
自宅のサーバへ超久しぶりにBOINCクライアントをインストールした。これがあると分散コンピューティングを通じて癌やHIVといった難病の研究に、自分のPCを参加させることができる。完全なボランティアとなるから、満足感以外にはPCが重くなるデメリットしかないよ! pic.twitter.com/abZdTAkp84
— hokkey (@y_hokkey) 2016年12月8日
このBOINCと呼ばれるソフトをPCやスマホにインストールするだけで、科学的な研究にボランティアとして貢献できます。このような取り組みはボランティアコンピューティングと呼ばれています。
また、ボランティアコンピューティングは2ちゃんねるとの関係も深く、日本のインターネット文化の思い出を語る上でも欠かせない要素と言えます。
今回は、このボランティアコンピューティングの仕組み・注意点・インストール方法をご紹介します。
目次
ボランティアコンピューティングとは
ボランティアコンピューティング(以下VC)とは、がんやHIVといった難病の解明、気候の解析、天文学の研究など、多くの計算リソースを必要とする科学の研究へ、誰もが参加することができる社会貢献活動のことです。
複雑なデータを高速に解析するには、高価なスーパーコンピューターが必要です。しかし、分散コンピューティング(=複数台のコンピューターを束ねて1つの大きな問題に取り組むための技術)の仕組みを使うことで、世界中のPCの余った計算能力を集めて、スーパーコンピューターに匹敵する計算速度を安価に実現できます。
VC大手のWorld Community Gridの場合、活動に参加しているボランティアは70万アカウント以上。コンピューターの数は300万台以上にも及んでいます。

VCの登場により、研究者は従来よりも安価に計算リソースを調達し、参加者はパソコンやスマホ(現状はAndroidにのみ対応)があれば科学的な研究に貢献ができるようになったのです。
BOINCによる大規模分散コンピューティング
VCではよくBOINCというソフトウェアが使われています。
BOINCとは、大規模な分散コンピューティングのためのオープンソースソフトウェアの名称で、研究機関側も、ボランティア参加者も無料で使うことができます。
BOINC以外の独自のツールを使うVCもありますが、BOINCはオープンソースで実績も多いのでよく採用されているようです。
BOINCは、計算を細かく分割して配信するBOINCサーバと、計算を受け取って処理・報告をするBOINCクライントが連携する仕組みになっています。
BOINCクライアントは必ず結果を返してくれるかどうかが分からないので(利用者が電源を切ったままにしたり、BOINCを削除したりするかもしれないですよね!)、あらじめ複数のクライアントへ同じ計算を配信しておき、後で答え合わせして信頼性を保っています。
ボランティア参加者は、参加したいVCプロジェクトのアカウントを作成した後、BOINCクラインアントをインストール/ログインすれば準備は完了です。あとは自動的にBOINCサーバから計算が配信されてくるため、パソコンを放置しておけばOKなようになっています。
BOINC以前のVC──SETI@home・distribued.net・GIMPS
BOINCは特定のVCプロジェクトに依存したものではありませんが、前身は、1999年に登場したSETI@homeです。カラフルなグラフによるユーザーインターフェースが特徴的で印象に残っている方もいらっしゃるかもしれません。
これは電波望遠鏡から地球外知的生命体の通信を探し出そうというSETI計画のためのプロジェクトで、ボランティアコンピューティングを一躍有名にしました。
さらに遡るとSETI@homeの2年前、1997年にはdistributed.netという暗号解析プロジェクト、その1年前の1996年にはメルセンヌ素数を探索するGIMPSという分散コンピューティングのプロジェクトが存在していました。
(ちなみに、SETI@home・distributed.net・GIMPSは、2016年12現在も継続しているプロジェクトです!)
このSETI@homeとdistributed.netで確立された大規模分散コンピューティングの技術が元となり、現在のBOINCが生まれています。
UDがん研究プロジェクト
同じくSETI@homeとdistributed.netを前身とするソフトウェアにUD(United Devices)というものもありました。
これは2000年代に2ちゃんねるなどで「UDがん研究プロジェクト」として広く紹介され、参加を促すバナーやFLASH動画が多く作られました。FLASH全盛期だったこともあり、覚えている方もいらっしゃるかもしれません。
(参考:金鵄屋:team2ch:F)
その後、UD社は別の会社に吸収合併されて消滅し、現在VCプロジェクトではBOINCが主流となっています。
注意点と楽しみ方
注意したい点として、VCへの参加は完全なるボランティアとなります。そのため、参加者への直接的なメリットや見返りは全くありません。
それどころか、私たちが計算リソースを提供したプロジェクトが必ず成功したり、常に役立つ成果を残せるという保証はありません。もし成功だったとしても、具体的な成果に繋がるまでに何年もかかるかもしれません。
また、いくらPCの余剰計算能力を使うといっても、本来使わないはずの電力を消費している為、その分の電気代は自分で支払う必要があります。
そのため、職場や学校、公共のPCへ勝手にクライアントをインストールして周るのは絶対にやめましょう。増えた電気代と現状復帰のための損害賠償を請求される可能性もあります。
参考:BBC News | SCI/TECH | When screensavers are a crime(意訳「スクリーンセーバーが犯罪となると」)
世界ランキング上位を占めるTeam2ch
以上のリスクを前提とした上で、楽しみとなる要素もあります。
多くのVCでは個人や団体で計算量をランキングしており、他の参加者と計算量を競い合うことができます。少しだけオンラインゲームに似ていますね。
日本では「UDがん研究プロジェクト」の時代から、2ちゃんねらー有志によるTeam2chという名前のチームが複数のVCプロジェクトで立ちあがっており、国内では最大の規模を誇っています。
Team 2ch – BOINC Team 2ch Wiki
なお、2016年11月時点での、World Community GridでのTeam2chは世界ランキングで3位です。
個人ランキングで上位を狙うのは難しいと思うので、こういったチームに所属して世界1位をめざしてみるのも面白いと思います!
World Community Gridとは
VCプロジェクトに参加してみたいという方は、まずはWorld Community Gridへの登録をおすすめします。
World Community Grid(以下WCG)とは、IBM社が社会貢献活動の一貫で取り組んでいる、世界でも最大規模のVCのプラットフォームです。WCGでは
- 人類に利益をもたらすための問題解決に焦点を当てた研究
- 公的または非営利組織が主導する研究
- パブリック・ドメインに貢献する研究
- グリッド・コンピューティング・テクノロジーによって促進される研究
という4つの項目から研究プロジェクトを公募していて、WCGに参加したボランティアは、そのプロジェクトから好きなものを選んで計算リソースを提供できます。
現在有効なプロジェクトには、以下のようなものがあります(2016年12月調べ。プロジェクトは随時入れ替わりがあります)。
- OpenZika:ジカウイルスの治療薬候補を特定する研究
- Help Stop TB:結核菌の治療薬研究
- FightAIDS@Home:HIVウイルスの治療薬候補を特定する研究
- MappingCancer Markers: 健康な組織と腫瘍組織の細胞を比較・分析してがんの腫瘍マーカー同定に役立てる研究
こんな研究に貢献できるなんてちょっとワクワクしてきませんか?
WCGでのアカウントの作り方
アカウントを作成するにはWCGのトップページへ移動し、左上の「いますぐ参加」をクリックし、登録フォームに情報を入力していきます。必要なのはユーザ名・メールアドレス・パスワードだけです。
このユーザー名とパスワードは後でもう一度使うので、覚えておきましょう。
次の画面では、自分が参加したいプロジェクト名を選択します。特にこだわりがなければ「Select all projects」でもOKです。プロジェクト一覧で右側にAndroidマークがある項目は、Android版のBOINCでも解析ができるプロジェクトです。
プロジェクトを選択したらアカウント作成は完了です。次はBOINCクライアントのインストールをしましょう!
BOINCクライアントのインストール
Mac/Windows/Linuxの場合
先程の画面の指示に従ってBOINCクライアントをダウンロードするか、
下記ページから最新版のBOINCクライアントがダウンロードできます。
https://boinc.berkeley.edu/download_all.php
自分が持っているパソコンのOSに適合したバージョンを探しましょう。
自分のOSの「Recommended version」と書かれているものをダウンロードし、Zipを解凍して出てきたインストーラーの指示に従ってください。
Androidの場合
https://play.google.com/store/apps/details?id=edu.berkeley.boinc&hl=ja
Google PlayからBOINCクライアントを無料で入手できます。
BOINCの起動とアカウントの設定
BOINCクライアントをインストールしたらBOINC Managerを起動します。今回はmacOSを例に説明します。
起動時に参加プロジェクトの追加を求められるので、WCGの場合は以下のように設定します。
設定が完了すると、ベンチマークの後に最初の解析がスタートします!
このウィンドウは閉じてもOKですが、BOINC Manager自体を終了すると解析もストップしてしまうので注意しましょう。
詳細な動作設定
デフォルトの設定だとCPUの6割までの処理能力をVCに使うようになっています。この設定が重過ぎると感じられる場合、メニューの「BOINC Manager > 設定…」から 詳細な挙動を変更できます。
最近のPCは高性能なので、10%以下のCPU使用率でもちゃんと処理をすすめてくれます。

ボランティアコンピューティングの魅力
ところで、実質的な見返りがほとんどないVCになぜこんなにも多くの参加者が集っているのでしょう? それは、アカウントを作るだけという手軽さに加え、世界的な規模の計算へ自分のPCが繋がっているワクワク感が得られるからではないでしょうか。
私がはじめてVCに参加したのは、2000年頃の初期のSETI@homeが初めてでした。世界的なプロジェクトに自分のコンピューターが繋がっているという感動があり、子供心にもドキドキしたものです。
VCの魅力は、インターネットやコンピューターがまだ持っている可能性や夢といったものと直結しているように思います。皆様もぜひ一度、このワクワクを感じてみてはいかがでしょうか。
参考サイト:
* United Devices – Wikipedia
* SETI@home – Wikipedia
* Berkeley Open Infrastructure for Network Computing – Wikipedia