分散コンピューティング[ぶんさんこんぴゅーてぃんぐ]=====================================〔語彙分解〕的な部分一致の検索結果は以下の通りです。computing)とは、プログラムの個々の部分が同時並行的に複数のコンピュータ上で実行され、各々がネットワークを介して互いに通信を行いながら全体として処理が進行する計算手法のことである。複雑な計算などをネットワークを介して複数のコンピュータを利用して行うことで、一台のコンピュータで計算するよりスループットを上げようとする取り組み、またはそれを実現する為の仕組みである。分散処理(ぶんさんしょり)ともいう。並列コンピューティングの一形態に分類されるが、一般に並列コンピューティングと言えば、同時並行に実行する主体は同じコンピュータシステム内のCPU群である。どちらもプログラムの分割(同時に実行できる部分にプログラムを分けること)が必須である。分散コンピューティングではさらに、それぞれの部分が異なる環境でも動作できるようにしなければならない。2台の異なるハードウェアを使ったコンピュータで、それぞれ異なるファイルシステム構成であっても動作するよう配慮する必要がある。問題を複数の部分問題に分けて各コンピュータに実行させるのが基本であり、素数探索や数多く試してみる以外に解決できない問題の対処として用いられているものが多い。分散コンピューティングの例としてBOINCがある。これは、大きな問題を多数の小さな問題に分割し、多数のコンピュータに分配するフレームワークである。その後、それぞれの結果を集めて大きな解を得る。一般的に処理を分散すると一台のコンピュータで計算する場合と比べ、問題データの分配、収集、集計するためのネットワークの負荷が増加し、問題解決の為のボトルネックとなるため、部分問題間の依存関係を減らすことが重要な課題となる。分散コンピューティングは、コンピュータ同士をネットワーク接続し、効率的に通信できるよう努力した結果として自然に生まれた。分散コンピューティングはコンピュータネットワークと同義ではない。コンピュータネットワークと言った場合、複数のコンピュータが互いにやり取りするが、単一のプログラムの処理を共有することはない。コンピュータネットワークの例であるが、分散コンピューティングの例ではない。分散処理を構築するための様々な技術や標準が存在し、一部はその目的に特化して設計されている。==コンピュータ同士の相互のやり取りを組織して系統立てることが重要である。様々なコンピュータを利用可能とするには、通信プロトコルや通信経路に特定のマシンが認識できない情報が含まれていてはならない。メッセージが正しく配布されるよう特に注意を払う必要があり、不正なメッセージがあるとシステムやネットワークが動作不能となる危険性があるため、それを拒絶しなければならない。1つの重要な要因は、ソフトウェアをコンピュータからコンピュータへ送信する機能であり、それによって送られたコンピュータが既存のネットワークとやり取りできるようになる。