分散コンピューティング
分散システムはフリンの分類によって次のように分類される。
SISD(Single Instruction, Single Data)
SIMD(Single Instruction, Multiple Data)
MISD(Multiple Instruction, Single Data)
MIMD(Multiple Instruction, Multiple Data)
分散コンピューティングには、ある種の並行性が実装される。並行コンピューティングとも密接な関係があり、しばしば同義に扱われる。
分散コンピューティング(ぶんさんコンピューティング、英: distributed computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。ただし、どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。例えば、2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。
問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。
M4 Project - 第二次世界大戦中に傍受されたナチス・ドイツの未解読暗号の解読を目指す。 World Community Grid - 主に医療系(エイズやがん、筋ジストロフィー)に関する新薬開発の為の分子解析、タンパク質解析に関するプロジェクト。上記BOINCを使って解析も出来る。 グーグル八分発見システム「∞Eyes」 - 検索エンジンでの検索結果を解析し、グーグル八分を発見しようというプロジェクト。
稼動終了(アルファベット順) cell computing - 遺伝子の周期性の検索による遺伝病の検知を目指す。NTTデータが提供。(2008年3月終了) SETI@home - 宇宙生物学。地球外からくる信号から非自然信号を抽出し、地球外生命体を探索。(2020年3月終了) United Devices Cancer Research Project - 癌治療薬開発の為の分子解析。(2007年4月終了)