Berkeley Open Infrastructure for Network Computing
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Berkeley Open Infrastructure for Network Computing(バークレー オープン インフラストラクチャ フォー ネットワーク コンピューティング)とは、分散コンピューティングプロジェクトのプラットフォームとして開発されたプログラムである。開発元はカリフォルニア大学バークレー校。略称は BOINC。
SETI@home の運用実績をもとに、より柔軟で汎用的なシステムを目指している。BOINC の公開後、SETI@home は BOINC ベースへと移行し、BOINC を使用しない単独プログラム用 SETI@home は2005年12月に運用を終了した。
目次 |
[編集] BOINC の特徴
[編集] 参加者側からみて
参加者が最初に導入するのは、後述する BOINC クライアントであるが、ここではクライアント側ソフトウェアの構造から説明を始める。 まず、参加者側に配置されるクライアント・ソフトウェアが稼動するのに必須な部分は以下の2つである。
- (a) アプリケーション: 分散コンピューティング・プロジェクトのそれぞれが目的とする計算をする部分
- (b) コア・クライアント: どのプロジェクトでも使う共通部分(運用サーバとの送受信機能や 上記の(a)部分から呼び出すライブラリ機能)
前者(a)アプリケーションは、各プロジェクトのサーバから参加者側へダウンロードされて複数プロジェクトが共存できる。
上記の必須部分 (a)+(b) に加えて、操作を楽にするための GUI が追加できる。 GUI 部分と、(a)、そして(b)はこのように構造上分離されているが、今ではほとんどのプラットフォーム向けにそれぞれ GUI が用意されている。 このため参加者からみると GUI がオプションであるとは意識されていないことがほとんどである。 配布に際しても (b)コア・クライアントと GUI は一体として配られているので、コア・クライアント+ GUI を BOINC クライアントと呼ぶことが多い。つまり、
- (c) BOINC クライアント: コア・クライアント+ GUI 部分
である。 たとえば、Windows用や、Mac OS X用の標準GUI版の BOINC クライアントがある。GUI の中には、機能を絞ったシンプルな画面と細かい操作のできる Advanced View の 2層構造になっているものもある。 コア・クライアントには、スクリーンセイバーを組込む仕組みが用意されており、旧来の SETI@home でもあったようなグラフィカルな動作画面が表示される。スクリーンセイバーは アプリケーションごとに用意するものなので、スクリーンセイバーが表示されないプロジェクトもある。以下ではBOINC クライアントを、 主にコア・クライアント + GUI の意味で使うが、さらにおおまかに、(a)も集合的に含めたクライアント側ソフトウェア全体を意味することもある。
BOINC ベースの分散コンピューティングプロジェクトへの参加者は、まず BOINC クライアントを入手し、プロジェクトへの参加登録は BOINC クライアントを通じて行う [1]。参加登録が終わるとただちにそのプロジェクトのアプリケーションと最初の仕事が自動的にダウンロードされ、運用が始まる仕組みである。アプリケーションの新しいバージョンがリリースされた際も、BOINC クライアントが自動的にダウンロードする。稼動の一時停止や再開、プロジェクトからの脱退は、BOINC クライアント上で指示できる。
複数のプロジェクトに同時に参加する場合も、BOINC クライアント上から参加手続きをすればよい。同時に稼動できるプロジェクトは CPU コア一つにつき一プロジェクトのみだが、一定時間ごとに BOINC クライアントが自動的にプロジェクトを切り替える。
BOINC クライアントの設定や各プロジェクトの設定、プロジェクト間の稼動比率の設定は、現状では BOINC クライアント上からは設定できない。プロジェクトのウェブサイトに設けられたユーザーページ上で設定変更し、後ほど変更情報を BOINC クライアントに取り込む方法が採られている。
[編集] プロジェクト側からみて
サーバ運用の手法が確立しているため、新たにプロジェクトを起こす際に一からインフラ部分を整備する労力を要しない。また、関連プログラムはオープンソース化されている。
SETI@home で得られた分散コンピューティングの運用ノウハウを他の科学研究にも役立てることを主眼としているため、サーバ運用の省力化を念頭に置いて開発されている。通常、分散コンピューティングでは計算結果の信頼性を高めるため、同一の仕事を複数の参加者に配布して返却された計算結果を比較している。この、仕事の複製 → 配布 → 計算結果の回収 → 真偽判定 → 参加者への功績値の付与 → 不要ファイルの抹消、という一連の運用が自動化されている。
旧SETI@home では、終了直前の仕事を複製しておき不正に功績値を稼ぐチート行為が問題となったが、個々の仕事がどの参加者のどのコンピュータに配布されたかを把握している BOINC ではこのようなことはない。
BOINC クライアントでは、自身が走っているコンピュータの情報を細かく調べてプロジェクト側に申告している。これにより、特定のプラットフォームや CPU の計算能力、プロジェクトに提供するメモリやハードディスク容量の多寡によって、参加の可否や配布する仕事の軽重を選択できるようになっている。
[編集] BOINCのアーキテクチャ
BOINCは、プロジェクト主催者が運営するサーバに対し、参加マシンはコアクライアントを通してHTTPを用いてアプリケーションおよび計算ユニットを取得し、ローカルに処理するモデルとなっている。
幅広くボランティアを募って行うプロジェクトの場合、扱うデータ量に対するCPUによる計算量の比が大きい処理が好ましい。商用インターネット接続はコストが掛かりまたネットワーク帯域が必ずしも広くないため、特に一日あたり1Gバイト以上のデータを送受信するようなアプリケーションでは、自組織内のコンピュータクラスタを用いたほうが安価である[2]。
[編集] プロジェクトサーバ
プロジェクト主催者のサーバは、次のような構成をとる。
- プロジェクト バックエンドサーバ
- 参加クライアントに配布するプログラムや計算ユニットをデータサーバに供給する、また参加者から送られてきた計算結果を処理するサーバ
- BOINCサーバ群
- スケジューリングサーバ群
- 参加クライアントと通信を行う。
- 計算ユニット、計算結果、参加者アカウントを管理するリレーショナルデータベースサーバ
- バックエンドサーバとBOINCサーバ群を連携するユーティリティ
- プロジェクト参加者や開発者のためのWebインタフェース
- データサーバ群
- 参加クライアントへのファイル配信と計算結果の収集を行う。これらの通信はHTTPを使って行う。
- スケジューリングサーバ群
[編集] BOINCアプリケーション
[編集] プロジェクト一覧
[編集] 現在アカウント作成・稼働可能なもの
オープンβのプロジェクトも含む。
[編集] 天文学
- SETI@home - http://setiathome.berkeley.edu/
- 地球外知的生命体探査。天球上の一点から届く狭帯域信号を検出する
- Einstein@home - http://einstein.phys.uwm.edu/
- SETI@home Beta - http://setiweb.ssl.berkeley.edu/beta/
- Cosmology@home - http://www.cosmologyathome.org/
- 宇宙マイクロ波背景放射の非等方性についての研究。観測結果により良く適合する宇宙モデルを構築する
- MilkyWay@home - http://milkyway.cs.rpi.edu/milkyway/
- 天の川銀河の進化モデルを構築
- Orbit@home - http://orbit.psi.edu/oah/
[編集] 気候学
- ClimatePrediction.net - http://climateprediction.net/
- 長期的気候予測技術の改善・気候変動調査
- CPDN Beta - http://cpdnbeta.oerc.ox.ac.uk/
- Climateprediction.net 次期バージョンのβテスト
[編集] 大気化学
- APS@home - http://www.apsathome.org/
- 生態系から発するガスなどの流動体が、計測地点に到達するまでにどのような軌跡を辿ったかを求める
[編集] 地震学
- QCN Alpha Test - http://qcn.stanford.edu/qcnalpha/
[編集] 数学
- SZTAKI DesktopGrid - http://szdg.lpds.sztaki.hu/szdg/
- 11次元までの一般化された2進数系(generalized binary number system)の探索
- Rectilinear Crossing Number - http://dist.ist.tugraz.at/cape5/
- 幾何学的な命題のひとつ、線分の交わる個数の最も少なくなるような頂点の配置を求める
- PrimeGrid - http://www.primegrid.com/
- RieselSieve - http://boinc.rieselsieve.com/
- ABC@home - http://abcathome.com/
- 数学上の未解決問題の一つ、ABC予想(en:abc conjecture)を解く
- WEP-M+2 - (Project bearnol.is-a-geek.com/wanless2/)
- メルセンヌ数+2の形式の素数を探索
- TSP - http://bob.myisland.as/tsp/
- 巡回セールスマン問題の研究。遺伝的アルゴリズムのほか、さまざまな検索アルゴリズムをテストする
- 3x+1@home - http://allprojectstats.com/collatz/
[編集] 物理学
- uFluids - http://www.ufluids.net/
- LHC@home - http://lhcathome.cern.ch/lhcathome/
- 粒子加速器の改善。欧州原子核研究機構(CERN)の大型ハドロン衝突型加速器(LHC)の稼動シミュレーションを行う
[編集] 化学
- Spinhenge@home - http://spin.fh-bielefeld.de/
- 分子磁石およびナノスケールの磁気現象を研究
- Leiden Classical - http://boinc.gorlaeus.net/
- Hydrogen@home - http://hydrogenathome.org/
- 水素生産の研究
- QMC@home - http://qah.uni-muenster.de/
[編集] 構造生物学
- Predictor@home - http://predictor.chem.lsa.umich.edu/
- たんぱく質構造の予測
- Rosetta@home - http://boinc.bakerlab.org/rosetta/
- SIMAP - http://boinc.bio.wzw.tum.de/boincsimap/
- たんぱく質の相似性データベースの構築
- TANPAKU
- RALPH@home - http://ralph.bakerlab.org/
- Rosetta@home次期バージョンのαテスト
- Lattice Project - http://boinc.umiacs.umd.edu/
- たんぱく質の構造予測、ほか分子生物学全般
- proteins@home - http://biology.polytechnique.fr/proteinsathome/
- たんぱく質構造の予測
- POEM@home - http://boinc.fzk.de/poem/
- たんぱく質構造の予測
- Cels@home - http://cels-at-home-dev.dyndns.org/cels/
- PS3GRID - http://www.ps3grid.net/
- Linuxを導入したプレイステーション3に特化したプロジェクト。分子動力学に基づくシミュレーションで、現在は猛毒グラミシジンが細胞膜を変質するメカニズムを研究している。
- Docking@home - http://docking.cis.udel.edu/
- たんぱく質のリガンドを探索、および探索方法そのものの新規開拓
[編集] 分子生物学
- Superlink@Technion - http://cbl-boinc-server2.cs.technion.ac.il/superlinkattechnion/
[編集] 疫学
- Malaria Control - http://www.malariacontrol.net/
- 臨床疫学の確率論的なモデリング
- UCT : malariacontrol.net - http://boinc.cs.uct.ac.za/malaria/
- malariacontrol.netのβテスト。協力関係にある団体により運営されている。
[編集] 生態学
- Virtual Prairie - http://vcsc.cs.uh.edu/virtual-prairie/
[編集] 認知科学
- MindModeling@home (Beta) - http://mindmodeling.org/beta/
- MindModeling@homeのβテスト。ACT-R上での認知モデルの構築とその評価を行う
- Artificial Intelligence System - http://www.intelligencerealm.com/aisystem/system.php
- 将来の大規模な人工知能システム構築の参考にするため、巨大なニューラルネットワークを構築する
[編集] 計算機科学
- SHA-1 Collision Search Graz - http://boinc.iaik.tugraz.at/sha1_coll_search
- SHA-1ハッシュ関数の脆弱性を見つけ出す
- Enigma@home - http://www.enigmaathome.net/
- M4 ProjectにBOINCクライアントから参加できるようにするラッピングプロジェクト。ナチスドイツの暗号機「エニグマ」で作成された未解読の暗号文を解読する
- DepSpid - http://www.depspid.net/
- ウェブクローラーを分散コンピューティングで構築
[編集] アニメーションレンダリング
- BURP - http://burp.boinc.dk/
- 3Dアニメーションレンダリングの公共システム開発
[編集] パズル
- Sudoku - http://dist2.ist.tugraz.at/sudoku/
- ペンシルパズルのナンバープレース(数独)における数学的命題、問題として成立する最も少ない初期配置を求める
- NQueens Project - http://nqueens.ing.udec.cl/
- チェスの盤面を使ったパズル「Nクイーン問題」の解を求める
[編集] テスト、その他
- VTU@home
- テストプロジェクト。本格的なプロジェクトを立ち上げる前の運用習熟で、素因数分解の単純な総当り式による素数探索を行うダミーワークが配布されている。
- Pirates@Home
- テストプロジェクト。もともとはEinstein@homeのスクリーンセーバ用画像を制作するプロジェクトだったが、現在は分散コンピューティングについて理解するための学習教材に転用されている。
- IBERCIVIS
- 調査中
- Gerasim@home
- 調査中
- Cunning Plan
- 調査中
[編集] オムニバス
- World Community Grid
- #World Community Gridを参照のこと。
- yoyo@home
- BOINCを採用していない分散コンピューティングプロジェクトに対し、BOINC クライアントで参加できるよう仲介するラッピングプロジェクト。以下のプロジェクトに対応している。
- distributed.net の OGR(最短ゴロム定規)探索プロジェクト
- 最短ゴロム定規(en:Golomb ruler)と呼ばれる、同一直線上に位置する複数の点で二点間の距離に一つとして同一のものが無いような最短配置を求める
- evolution@home(en:Evolution@Home)
- Muon1 Distributed Particle Accelerator Design
- ミュー粒子の研究。粒子加速器のシミュレーションを行う
- UH Second Computing
- 複数の分散コンピューティングの受け皿となるプロジェクト。現在はまだテスト段階で、ダミーワークが配布されるのみである。
[編集] 参加者の募集を停止中のもの
クローズドβ、あるいは参加者数を限定して運用しているプロジェクト群。
- Chess960@home
- Climateprediction.net Beta
- Climateprediction.net 次期バージョンのβテスト。オープンβは別サイトに移動した。
- IMP@home
- 既に終了したプロジェクトIMPFarmの後続。
- BRaTS@home
- Superlink@clusters
- Superlink@Technionのαテスト。一般の参加はできない。
- MindModeling@home
- BOINC Alpha
- BOINC自体のαテスト。一般の参加はできない。
[編集] 運用にむけて準備中のもの
参加者登録は可能なものの、まだワークの配布が始まっていないプロジェクト。
- NCSSM Grid Computing Project
- 調査中
- NNSIMU Project
- AlmereGrid TestGrid
- The Clean Energy Project
- Satisfaction@home
- 調査中
- DECS
- 調査中
- MapTheGap Project
- 調査中
[編集] 活動を休止中のもの
長期に渡って運用停止していたり、運営側が休止を宣言したプロジェクト。
- LHC@home alpha
- LHC@home次期バージョンのαテスト
- ABC@home beta
- ABC@homeのβテスト
- BBC Climate Change Experiment
- climateprediction.net Seasonal Attribution Project
- climateprediction.net の一プロジェクト。2000年秋に英国で発生した洪水のシミュレーションを試みる
- NanoHive@home
- ナノテクノロジーの研究
- XtremLab
- 分散コンピューティングのパフォーマンス向上を目的とした BOINC 自体の研究・分析
- HashClash
- MD5ハッシュ関数の脆弱性を見つけ出す
- Project Neuron
- 分散コンピューティングプロジェクトの効率性評価手法の確立
- RenderFarm@home
- アニメーションのレンダリングを行うプロジェクト
- SciLINC
- 植物学に関する膨大な文献をデータベース化する
- Distributed Rainbow Table Generator
- Zebra RSA Bruteforce
- スマートカードで使われるRSA暗号を、ブルートフォース(総当たり)によって無力化
- Zivis Superordenador Ciudadano
- 調査中
- BelgianBeer@home
- 調査中
- EternityII.net
- 懸賞金の掛けられたパズル「Eternity II Puzzle」(en:Eternity II Puzzle)の早解きを行う
- RND@home
- 無線基地局の効率よい配置・運用を行うためのシミュレーション
[編集] BOINC の技術をベースにした分散コンピューティングプロジェクト
[編集] cell computing βirth
BOINC をベースに運用されている商用プロジェクト。2008年3月末をもってすべての活動を終了した。cell computing βirth の項も参照のこと。
BOINC 標準クライアントからの参加はできないが、cell computing βirth のクライアントから各 BOINC プロジェクトへの参加は可能。 ただしクライアントが BOINC クライアント ver.4 をベースとしているため、ver.5 以降のクライアントを前提とした BOINC プロジェクトには参加できない。
- CHRONOS
- ヒトゲノム染色体間法則性解明プロジェクト
- sekigahara(セキガハラ)
- 関ヶ原の合戦映像製作プロジェクト
[編集] World Community Grid
IBM 社の支援の下、複数の医療系プロジェクトを展開している。既にいくつかのプロジェクトが完了、もしくはフェーズ2に移行している。World Community Grid の項も参照のこと。
United Devices 社のシステムで運用されているプロジェクトであったが、BOINC クライアントからも参加できるようになった。当初は脇役的な扱いで BOINC からの参加方法も分かり辛かったが、grid.org の終了前後から主客が逆転し、ウェブサイトでの参加登録後に現れるクライアントダウンロードページでも BOINC クライアントが上位に表示されるなど、現在では UD クライアントの方が脇へと追いやられている。
WCG サイトからの参加手続きは通常とは若干異なるが、これは初心者に対する配慮から WCG プロジェクトに参加した状態でのインストールになっていることによる。そのため、BOINC で WCG に参加する場合は、WCG サイトからインストールするのが最も簡単で手間がかからない。また BOINC クライアントは最新版が使用されており、インストール後に他プロジェクトを追加する場合も特に制限はなく、別途 BOINC に参加した人との差異はないと言って良い。
既に全体のうち BOINC クライアントからの功績値は半数を超えている。
特徴としては BOINC での功績値(クレジット)とは別に、UD クライアントからの参加者との整合性を取る必要性からポイント(1クレジット=7ポイント)による功績値集計を行っている。ただBOINC Stats 等では、通常のクレジットで集計がなされる点に違いは無い。
グラフィック表示可能。(ただしグラフィックサイズは640×480px)
- FightAIDS@Home([1])
- HIVの新しい候補薬の特定
- Human Proteome Folding – Phase 2
- タンパク質構造予測の限界探索
- Discovering Dengue Drugs – Together
- AfricanClimate@Home
- アフリカでの気候モデル構築
- Help Conquer Cancer
- がん治療のためのたんぱく質解析
- Help Cure Muscular Dystrophy
- 筋ジストロフィー治療支援:フェーズ2(準備中):フェーズ1は UD クライアント限定であったが、フェーズ2 からは BOINC クライアントでの参加が期待されている。
[編集] BBC Climate Change Experiment
ClimatePrediction.netのBBC協賛版。1920年から2080年までの160年間もの気候変動をシミュレートする。
ウェブサイトでは独自クライアントをダウンロードするよう誘導されるが、BOINC 標準クライアントからも問題なく参加できる。
ワークの配布は2007年1月で打ち切られ、運用結果をもとにイギリス本国で特番が放映された。(ダイジェスト版は YouTube で閲覧できる。[4]既に参加者登録は終了しており、現在は解析中ワークの返却のみ受け付けている。
[編集] 関連項目
[編集] 脚注
- ^ BOINC クライアントのバージョン4までは、まずプロジェクトのウェブサイト上で参加登録を行い、メールで送られてきたアカウントキーを BOINC クライアントに入力する必要があった。一部プラットフォームではバージョン5 以降の BOINC クライアントが提供されておらず、ウェブサイト上での参加登録ページは現在も残されている。
- ^ Overview of BOINC
- ^ AstroPulse - パルサー、ET そしてブラックホールの探索
- ^ climateprediction.net - Results Programme Documentary - YouTube
[編集] 外部リンク
- Berkeley Open Infrastructure for Network Computing (日本語訳)
- BOINC の開発元サイト。BOINC クライアントの配布のほか、BOINC に関する詳細な解説を参加者・プロジェクト運営者双方にむけて公開している。有志による日本語訳サイトあり。
- 惑星協会によるBOINC 開発時の記事
[編集] チュートリアル
- Team 2ch - BOINC Team 2ch Wiki
- 2ちゃんねらー有志のチーム「Team 2ch」のうち、UDがん研究プロジェクトの運営終了をきっかけにBOINCに移ってきた一派が拠点とするサイト。なお、SETI@homeクラシックからBOINCに移ってきた一派については別に拠点サイトがある。[2]
- BOINC まとめページ
- Flashを使った BOINC チュートリアル
- BOINCでの分散コンピューティング、BOINCとは
[編集] 外部統計サイト
- BOINCstats
- 各 BOINC プロジェクトが XML データで提供する貢献値データを定期収集し、個人別・チーム別・国別でのランキング、貢献値獲得の履歴やランキング変動履歴の提供を行う統計サイトのひとつ。プロジェクト横断での功績値合算にも対応しており完成度が高い。
- All Project Stats
- BOINC Statistics for the WORLD
- Team Starfire World BOINC Stats 'N Stones
|
|
---|---|
現在活動しているプロジェクト | cell computing | Climateprediction.net | Einstein@Home | LHC@home | Predictor@home | Rosetta@home | Seasonal Attribution Project | SETI@home | SIMAP | SZTAKI Desktop Grid | World Community Grid |
ベータ版のプロジェクト | Cosmology@Home | The Lattice Project | Malaria Control Project | Nano-Hive@Home | Proteins@home | QMC@Home | Riesel Sieve | SETI@home beta | Spinhenge@Home |
アルファ版のプロジェクト | Astropulse | BURP | Chess960@Home | Docking@Home | Orbit@home | Pirates@home | PrimeGrid | RALPH@home | TANPAKU | μFluids@Home | |
将来予想されているプロジェクト | PlanetQuest |
休止中・終了したプロジェクト | BBC Climate Change Experiment | HashClash@home | XtremLab |
ツールと技術 | BOINC Account Manager | BOINC client-server technology | BOINC Credit System |