分散コンピューティング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/24 03:06 UTC 版)
設計思想(アーキテクチャ)
分散コンピューティングでの設計思想(アーキテクチャ)
分散コンピューティングでは、様々なハードウェアおよびソフトウェアの設計思想(アーキテクチャ)が使われる。大きく分けると低レベルと高レベルに分けられる。
- 低レベルでの設計思想(アーキテクチャ)
- 複数のCPUを何らかのネットワークで相互接続する必要がある(そのネットワークは、基板上にプリントされた回路かもしれないし、疎結合された機器とケーブルの集合体かもしれない)。
- 高レベルでの設計思想(アーキテクチャ)
- 何らかの通信システムで個々のコンピュータ上で動作するプロセスを相互接続しなければならない。
分散プログラミングでの設計思想(アーキテクチャ)
分散プログラミングは、一般に以下の基本アーキテクチャのいずれかに分類される。
- クライアントサーバ
- クライアントがサーバに対してデータを要求し、それをフォーマットしてユーザー向けに表示する。クライアントへの入力がサーバのデータを変更するものである場合、サーバにそれが送られる。
- 3層アーキテクチャ
- 3層システムは、クライアントとサーバの間に中間層を置く形態で、それによってクライアントの処理が軽減される。そのためアプリケーション配布が単純化される。多くのウェブアプリケーションは3層である。
- N層アーキテクチャ
- N層とは、ウェブアプリケーションが要求をさらにバックエンドにあるエンタープライズサービスに転送するものを指す。アプリケーションサーバを使ったアプリケーションはここに分類される。
- 密結合(クラスター)
- 一般に、高度に集積されたマシン群で同じプロセスを並行して実行し、タスクを分割して個々のプロセッサに実行させる。計算結果は後に集約される。
- Peer-to-peer
- ネットワークにサービスを提供するマシンやリソースを管理する特別なマシンが存在しないアーキテクチャ。その代わりに全ての責任は参加している全マシンにある。各マシンはサーバとしてもクライアントとしても機能する。
- タプルスペース・ベース
- 単一のアドレス空間を共有しているかのように仮想化するアーキテクチャを指す。データは必要に応じて透過的にレプリケートされる。時間的/空間的結合度が弱められる。
分散コンピューティング・アーキテクチャの別の観点として、並行プロセス間の通信と作業配布の方法がある。プロセスは各種メッセージパッシングプロトコルを使って互いに直接通信でき、一般にマスタースレーブ型の関係にある。それとは別にデータベースを中心とするアーキテクチャもあり、直接のプロセス間通信をせず、データベースを共有することで分散処理を実現する[2]。
- ^ 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
- 1 分散コンピューティングとは
- 2 分散コンピューティングの概要
- 3 構成
- 4 設計思想(アーキテクチャ)
- 5 並行性
- 6 言語
- 7 参考文献
- 8 関連項目
固有名詞の分類
- 分散コンピューティングのページへのリンク