分散コンピューティング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/24 03:06 UTC 版)
構成
コンピュータ同士の相互のやり取りを組織して系統立てることが重要である。様々なコンピュータを利用可能とするには、通信プロトコルや通信経路に特定のマシンが認識できない情報が含まれていてはならない。メッセージが正しく配布されるよう特に注意を払う必要があり、不正なメッセージがあるとシステムやネットワークが動作不能となる危険性があるため、それを拒絶しなければならない。
もう1つの重要な要因は、ソフトウェアをコンピュータからコンピュータへ送信する機能であり、それによって送られたコンピュータが既存のネットワークとやり取りできるようになる。アーキテクチャが異なっているとこれができない場合があり、クロスコンパイラなどを使った移植が必要になる。
目標と利点
この節には独自研究が含まれているおそれがあります。 |
分散コンピューティング・システムには様々な形態がある。分散コンピューティングの主な目標は、透過的でオープンでスケーラブルな方法でユーザー群とリソース群を結びつけることである。理想的には、スタンドアローンシステム群の単なる組合せよりも、よりフォールトトレラントでより強力なシステムとなることが期待される。
次のような利点があるとされる。
オープン性
分散システムのオープン性とは、各サブシステムが他のシステムとの相互作用について継続的にオープンであることをいう(参考文献参照)。Webサービスプロトコルは、分散システムを拡張・拡大することを可能にする標準である。一般に、拡張性のあるオープンシステムは、自己完結型の完全にクローズなシステムよりも優れている。
オープンな分散システムは以下のような特性を持つ。
- 単調性
- オープンシステム上で何かが公開されれば、それを取り消すことはできない。
- 複数性
- オープンな分散システムの個々のサブシステムは、異質で重複し、場合によっては競合するような情報を含む。中心となる調停機能はオープンな分散システムには存在しない。
- 無制限の非決定性
- オープンな分散システムでは、個々のサブシステムは非同期的に立ち上がったりダウンしたりし、サブシステム間の通信リンクも非同期に接続されたり切断されたりする。従って、ある処理が完了する時間を予測することはできない。
欠点と問題
この節には独自研究が含まれているおそれがあります。 |
- 不特定多数、または特定多数のコンピューターに処理させるためにセキュリティ面で脆弱になりやすい
- 上記されているように問題データの分配、収集、集計するためのネットワークの負荷が増加する
- 一般参加者を募る場合、志願者が少ないとその分処理も遅れる
技術的問題
計画に不備があると、分散システムは全体の計算の信頼性が低下し、ノードのダウンによって他のノードも動作不能に陥る可能性がある。レスリー・ランポートは、「分散システムは、そんな障害があるとは思ってもみなかった障害によって利用不能になるシステムである」と述べている[1]。
分散システムにおけるトラブルシューティングや診断はますます困難になりつつある。問題の原因を突き止めようとすれば、遠隔ノードへの接続が必要であり、ノード間の通信内容を調べる必要がある。
分散環境に適さない計算の種類も多い。特に通信量が多くなるものや同期が必要なものは適さない。必要な帯域幅があまりに大きくレイテンシが少ないほどよいという場合は、分散コンピューティングは不適切であり、分散でない環境の方が性能がよいと予想される。
- ^ Leslie Lamport. “Subject: distribution (Email message sent to a DEC SRC bulletin board at 12:23:29 PDT on 28 May 87)”. 2007年4月28日閲覧。
- ^ A database-centric virtual chemistry system, J Chem Inf Model. 2006 May-Jun;46(3):1034-9
- ^ CS236370 Concurrent and Distributed Programming 2002
- ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Annex E Distributed Systems
固有名詞の分類
- 分散コンピューティングのページへのリンク