2019.09.27
wolfgang

BOINC

こんにちは、皆様!
ジェダイです。

今回は、科学話なので、
誰もできるもの!世界のために、BOINCがあります!
いっしょうに、科学しましょう!
私は、World Community GridとMilkyWay@homeやってます。

Berkeley Open Infrastructure for Network Computing(バークレー オープン インフラストラクチャ フォー ネットワーク コンピューティング)とは、
分散コンピューティングプロジェクトのプラットフォームとして開発されたクライアント・サーバ型のソフトウェアである。
開発元はカリフォルニア大学バークレー校。
略称は BOINC。

SETI@home の運用実績をもとに、より柔軟で汎用的なシステムを目指している。
BOINC の公開後、SETI@home は BOINC ベースへと移行し、BOINC を使用しない単独プログラム用 SETI@home は2005年12月に運用を終了した。
BOINCはその開発に際し、アメリカ国立科学財団(NSF)の支援を受けている。

BOINC の特徴
参加者が最初に導入するのは、後述する BOINC クライアントであるが、ここではクライアント側ソフトウェアの構造から説明を始める。
まず、参加者側に配置されるクライアント・ソフトウェアが稼動するのに必須な部分は以下の2つである。

(a) アプリケーション: 分散コンピューティング・プロジェクトのそれぞれが目的とする計算をする部分
(b) コア・クライアント: どのプロジェクトでも使う共通部分(運用サーバとの送受信機能や 上記の(a)部分から呼び出すライブラリ機能)
前者(a)アプリケーションは、各プロジェクトのサーバから参加者側へダウンロードされて複数プロジェクトが共存できる。

上記の必須部分 (a)+(b) に加えて、操作を楽にするための GUI が追加できる。
GUI 部分と、(a)、そして(b)はこのように構造上分離されているが、今ではほとんどのプラットフォーム向けにそれぞれ GUI が用意されている。
このため参加者からみると GUI がオプションであるとは意識されていないことがほとんどである。
配布に際しても (b)コア・クライアントと GUI は一体として配られているので、コア・クライアント+ GUI を BOINC クライアントと呼ぶことが多い。つまり、

(c) BOINC クライアント: コア・クライアント+ GUI 部分
である。たとえば、Windows用や、macOS用の標準GUI版の BOINC クライアントがある。
GUI の中には、機能を絞ったシンプルな画面と細かい操作のできる Advanced View の 2層構造になっているものもある。
コア・クライアントには、スクリーンセイバーを組込む仕組みが用意されており、旧来の SETI@home でもあったようなグラフィカルな動作画面が表示される。
スクリーンセイバーは アプリケーションごとに用意するものなので、スクリーンセイバーが表示されないプロジェクトもある。以下ではBOINC クライアントを、主にコア・クライアント + GUI の意味で使うが、さらにおおまかに、(a)も集合的に含めたクライアント側ソフトウェア全体を意味することもある。

BOINC ベースの分散コンピューティングプロジェクトへの参加者は、まず BOINC クライアントを入手し、プロジェクトへの参加登録は BOINC クライアントを通じて行う。

参加登録が終わるとただちにそのプロジェクトのアプリケーションと最初の仕事が自動的にダウンロードされ、運用が始まる仕組みである。
アプリケーションの新しいバージョンがリリースされた際も、BOINC クライアントが自動的にダウンロードする。稼動の一時停止や再開、プロジェクトからの脱退は、BOINC クライアント上で指示できる。

複数のプロジェクトに同時に参加する場合も、BOINC クライアント上から参加手続きをすればよい。
同時に稼動できるプロジェクトは CPUコア1つ(INTELCPUのHTが有効時は二分の一つ)につき一プロジェクトのみだが、一定時間ごとに BOINC クライアントが自動的にプロジェクトを切り替える。

BOINC クライアントの設定や各プロジェクトの設定、プロジェクト間の稼動比率の設定は、現状では BOINC クライアント上からは設定できない。
プロジェクトのウェブサイトに設けられたユーザーページ上で設定変更し、後ほど変更情報を BOINC クライアントに取り込む方法が採られている。

プロジェクト一覧

Einstein@home
重力波の検出を試みる。
Cosmology@home
宇宙マイクロ波背景放射の非等方性についての研究。観測結果により良く適合する宇宙モデルを構築する。
MilkyWay@home
天の川銀河の進化モデルを構築。スローン・デジタル・スカイサーベイによってもたらされたデータを基とし、天の川銀河の精密な三次元モデルを構築する。また、銀河同士の衝突により天の川銀河が作られた過程や渦巻構造が作られた方法についての知見を得る。
Orbit@home
地球近傍小惑星の軌道をモニタリング。
SETI@home
地球外知的生命体探査。天球上の一点から届く狭帯域信号を検出する。
ClimatePrediction.net
長期的気候予測技術の改善・気候変動調査
Quake-Catcher Network Seismic Monitoring
簡易地震計ネットワークを構築する。
Collatz Conjecture
数論の未解決問題の一つ、コラッツの問題を解決する。
Goldbach’s Conjecture
ゴールドバッハの予想で2*10^1346以下のものを解く。
PrimeGrid
素数探索全般。
Rectilinear Crossing Number
幾何学的な命題のひとつ、線分の交わる個数の最も少なくなるような頂点の配置を求める。
SZTAKI Desktop Grid
11次元までの一般化された2進数系 (generalized binary number system) の探索。
WEP-M+2
メルセンヌ数+2の形式の素数を探索。
物理学
AQUA@home
超伝導断熱量子コンピュータの性能予測。
LHC@home
粒子加速器の改善。欧州原子核研究機構 (CERN) の大型ハドロン衝突型加速器 (LHC) の稼動シミュレーションを行う。
μFluids@Home
微小重力状態での流体工学研究。
Hydrogen@home
水素生産の研究。
Leiden Classical
古典力学全般。現在は分子動力学法に基づく水分子の運動モデルの検証が主。
Magnetism@home
ナノスケールの磁気現象を研究。
QMC@home(英語版)
モンテカルロ法を用いて量子化学方程式を解く。
Spinhenge@home
分子磁石およびナノスケールの磁気現象を研究。
構造生物学
Docking@Home
タンパク質のリガンドを探索、および探索方法そのものの新規開拓。
GPUGRID
CUDA対応のGPUやLinuxを導入したプレイステーション3を用いて分子動力学に基づくシミュレーションを行う。
POEM@home
タンパク質構造予測。
proteins@home
タンパク質構造予測。
Rosetta@home
タンパク質構造予測。
SIMAP
タンパク質の相似性データベースの構築。
The Lattice Project
タンパク質構造予測、ほか分子生物学全般。
Superlink@Technion
糖尿病、高血圧、癌、統合失調症などの原因となる遺伝子を発見する。
Malaria Control Project
臨床疫学の確率論的なモデリング。
認知科学
MindModeling@home
ACT-R上での認知モデルの構築とその評価を行う。
DistrRTgen
ハッシュ関数の逆引きを可能とする、巨大なレインボーテーブルの作成。
Enigma@home
M4 ProjectにBOINCクライアントから参加できるように仲介するラッピングプロジェクト。ナチス・ドイツの暗号機「エニグマ」で作成された未解読の暗号文を解読する。
FreeHAL@home
人工無能の研究。構文解析やタグ付けを行っている。
Genetic Life
進化的アルゴリズムの研究。Tierraを分散コンピューティング上で動作させる。
SHA-1 Collision Search Graz
SHA-1ハッシュ関数の脆弱性を見つけ出す。
アニメーションレンダリング
BURP(英語版)
3Dアニメーションレンダリングの公共システム開発。
パズル
NQueens Project
チェスの盤面を使ったパズル「Nクイーン問題」の解を求める。
Sudoku
ペンシルパズルのナンバープレース(数独)における数学的命題、問題として成立する最も少ない初期配置を求める。
Gerasim@home
Pirates@Home
テストプロジェクト。もともとはEinstein@homeのスクリーンセーバ用画像を制作するプロジェクトだったが、現在は分散コンピューティングについて理解するための学習教材に転用されている。
VTU@home
テストプロジェクト。本格的なプロジェクトを立ち上げる前の運用習熟で、素因数分解の単純な総当り式による素数探索を行うダミーワークが配布されている。
オムニバス
World Community Grid
yoyo@home
BOINCを採用していない分散コンピューティングプロジェクトに対し、BOINC クライアントで参加できるよう仲介するラッピングプロジェクト。以下のプロジェクトに対応している。
distributed.net の OGR (最短ゴロム定規) 探索プロジェクト
最短ゴロム定規を求める。
ECM
素因数分解の楕円曲線法(英語版)に関する研究。
evolution@home
進化の研究。マラーのラチェットの定量化を試みる。
Muon1 Distributed Particle Accelerator Design
ミュー粒子の研究。粒子加速器のシミュレーションを行う。
Ibercivis
AlmereGrid Boinc Grid
複数の分散コンピューティングの受け皿となるプロジェクト。世界最初の市営分散コンピューティングプロジェクトでもある。運営元はオランダ・フレヴォラント州にある町アルメレである。
出展:Wikipedia