BOINC
#distributedcomputing
https://boinc.berkeley.edu/
https://github.com/BOINC/boinc
Abstract
Open-source software for volunteer computing and grid computing.
科学的研究やその他の大規模な計算タスクを個人のコンピューターの空きリソースを活用して実行することができます
SETI@Home、World Community Grid、Rosetta@Home、Einstein@Homeなど、多くの有名なプロジェクトがBOINCを使用
BOINC@TOKYOというプロジェクトもある
Architecture
クライアント: 個々のユーザーが自分のコンピューターにインストールするソフトウェア。クライアントは、サーバーからタスクをダウンロードし、ローカルの空きリソースを使用してタスクを実行します。タスクが完了すると、結果をサーバーに送信し、新しいタスクをリクエストします。
サーバー: プロジェクトのデータと管理機能をホストするコンピューター。サーバーは、クライアントにタスクを配布し、結果を受け取り、プロジェクトの進捗状況を追跡します。
アプリケーション: タスクを実行するためにクライアントが使用する、プロジェクト固有のソフトウェア。アプリケーションは、研究者によって作成され、サーバーを通じてクライアントに配布されます。
データベース: サーバー上に存在し、プロジェクトデータ、ユーザーアカウント情報、タスクの状態、計算結果などを格納します。
Webインターフェース: ユーザーがアカウントを作成し、プロジェクトに参加し、自分の貢献と進捗状況を追跡できるようにするためのウェブベースのインターフェース。