並列および分散コンピューティングの原理

並列および分散コンピューティングの原理

クラウド コンピューティングは、IT インフラストラクチャ、サービス、およびアプリケーションのより有効な活用を可能にする新しいテクノロジ トレンドです。クラウド コンピューティングでは、従量課金制のサービス提供モデルを採用しています。ユーザーは独自の基本的な機器、プラットフォーム、アプリケーションを所有する必要はなく、必要なときにのみこれらのサービスを利用できます。シリアルとパラレルは、2 つの基本的な主要なコンピューティング モデルです。シリアル コンピューティングは、並列 (分散) コンピューティングよりも約 10 年早い 1940 年代に始まりました。当時、アーキテクチャ、コンパイラ、アプリケーション、問題解決環境がコンピューティング開発の 4 つの重要な要素になりました。

コンピューティング時代の台頭はハードウェア アーキテクチャの発展と切り離せないものであり、最終的には特にコンパイラやオペレーティング システムの分野でシステム ソフトウェアが生まれ、システム管理とアプリケーション開発が可能になりました。アプリケーションとシステムの開発は最も関心が高い分野であり、問​​題解決環境が設計され、エンジニアにとって容易になると、この開発は徐々に統合されます。これは、コンピューティングパラダイムが成熟し、主流になったことを示しています。さらに、コンピューティング時代のあらゆる側面は 3 つの段階を経ます。研究開発(R&D)、商業化、コモディティ化。

並列コンピューティングと分散コンピューティング

並列コンピューティングと分散コンピューティングには微妙な違いがありますが、これら 2 つの概念は多くの場合同じ意味で使用されます。並列は密結合システムのクラスを表しますが、分散は密結合システムを含むより広いクラスのシステムを表します。

より正確に言えば、並列コンピューティングとは、同じメモリを共有する複数のプロセッサにコンピューティング タスクを分散するコンピューティング パラダイムを指します。並列コンピューティング システムのアーキテクチャは通常、コンポーネントの均質性によって特徴付けられます。各プロセッサは同じタイプであり、同じ処理性能を備えています。共有メモリには、すべてのプロセッサがアクセスできる個別のアドレス空間があります。並列プログラムは複数の実行ユニットに分割され、異なるプロセッサに割り当てられ、共有メモリを介して相互に通信します。当初は、複数のプロセッサが同じ物理メモリを共有するアーキテクチャだけが並列システムと呼ばれることができました。時間の経過とともに、これらの制限は緩和され、物理メモリ システムであれ、ライブラリ、専用ハードウェア、効率的なネットワーク インフラストラクチャで構成されるシステムであれ、共有メモリの概念に基づくアーキテクチャはすべて並列システムと呼ぶことができます。たとえば、ノードが無限帯域幅ネットワークで接続され、分散共有メモリ システムで構成されたクラスターは、並列システムと呼ぶことができます。

分散コンピューティングとは、コンピューティング タスクを分割し、異なるコンピューティング ユニット (コンピューティング ユニットが異なるノード上のプロセッサ、同じコンピュータ上のプロセッサ、同じプロセッサ内のコアなど) で同時に実行するアーキテクチャまたはシステムを指します。したがって、並列コンピューティングと比較すると、分散コンピューティングはより広範囲のシステムとアプリケーションをカバーし、より一般的な概念です。明記されていませんが、「分散」という用語は通常、コンピューティング ユニットが異なる場所に配置され、これらのユニットのハードウェアおよびソフトウェアの機能も異なる可能性があることを意味します。分散システムの典型的な例としては、さまざまなアーキテクチャ、システム、アプリケーションを世界規模で統合するコンピューティング グリッドやインターネット コンピューティング システムがあります。

並列処理ハードウェアアーキテクチャ

並列処理の中核となる要素は CPU です。コンピュータ システムは、同時に処理できる命令ストリームとデータ ストリームの数に基づいて 4 つのカテゴリに分類できます。

●SISD(単一命令単一データ)方式。

●SIMD(Single Instruction Multiple Data)方式。

● 複数命令単一データ(MISD)システム。

●MIMD(Multiple Instruction Multiple Data)方式。

1. SISDシステム

SISD コンピューティング システムは、単一のデータ ストリームに対して単一の命令を実行できる単一プロセッサ マシンです。 SISD システムでは、マシン命令が順次処理されるため、このモードを使用するコンピューターはシーケンシャル コンピューターと呼ばれることがよくあります。従来のコンピューターのほとんどは、SISD モデルを使用して構築されています。処理する必要があるすべての命令とデータはメインメモリに保存する必要があります。 SISD モデルでは、処理ユニットの速度は、コンピューター内で情報が転送される速度によって制限されます。典型的な SISD システムには、32 台の IBM PC、Macintosh、ワークステーションが含まれます。

2. SIMDシステム

SIMD コンピューティング システムは、異なるデータ ストリームを操作しながら、複数の CPU で同じ命令を実行できるマルチプロセッサ マシンです。 SIMD モデルに基づくマシンは、多数のベクトル演算と行列演算を伴うため、科学計算に適しています。たとえば、ステートメント Ci = Ai × Bi をすべての処理要素 (PE) に渡すことができ、ベクトル A と B 内の整理されたデータ要素を複数のグループに分割でき (N グループは N 個の PE システムに対応)、1 つの PE で 1 つのデータ セットを処理できます。

3. MISDシステム

MISD コンピューティング システムは、同じデータ セットで動作しながら、異なる PE で異なる命令を実行できるマルチプロセッサ マシンです。たとえば、ステートメント 33y = sin(x) + cos(x) + tan(x) は、同じデータ セットに対して異なる演算を実行します。 MISD モデルを使用して構築されたマシンはほとんどのアプリケーションには適しておらず、設計された数少ないマシンはいずれも商品化されていません。これらは実用的な構成というよりも知能テストのようなものです。


4. MIMDシステム

MIMD コンピューティング システムは、複数のデータ セットに対して複数の命令を実行できるマルチプロセッサ マシンです。 MIMD モデルの各 PE には個別の命令とデータ ストリームがあるため、このモデルを使用するマシンはあらゆる種類のアプリケーションに適しています。 SIMD および MISD モデルとは異なり、MIMD マシンの PE は非同期で動作します。

MIMD マシンは、PE とメイン メモリ間の結合方法の違いにより、共有メモリ MIMD と分散メモリ MIMD に大別されます。

(1)共有メモリMIMDコンピュータ

共有メモリ MIMD モデルでは、すべての実行ユニットがアクセスできる単一のグローバル メモリに接続されます。このモデルに基づくシステムは、密結合マルチプロセッサ システムとも呼ばれます。このモデルでは、PE は共有メモリを介して相互に通信します。 1 つの PE がグローバル メモリに格納されているデータを変更すると、そのデータは他のすべての PE に表示されます。共有メモリ MIMD モデルの代表的なシステムには、Silicon Graphics コンピュータや Sun/IBM SMP (対称型マルチプロセッサ) などがあります。

(2)分散メモリMIMDコンピュータ

分散メモリ MIMD モデルでは、すべての PE にローカル メモリがあります。このモデルに基づくシステムは、疎結合マルチプロセッサ システムとも呼ばれます。モデル内の PE は、内部相互接続ネットワーク (プロセス間通信チャネル/IPC) を介して相互に通信します。 PE 間のネットワーク接続は、ツリー、メッシュ、ブロックなどに構成できます。各 PE は非同期操作を実行します。タスク間で通信/同期が必要な場合は、相互に情報を交換することで実現できます。

分散メモリ MIMD モデルと比較すると、共有メモリ MIMD アーキテクチャはプログラミングが容易ですが、障害に対する耐性が低く、拡張が困難です。共有メモリ MIMD の障害はシステム全体に影響を及ぼしますが、各 PE を簡単に分離できる分散モデルではそうではありません。さらに、共有メモリ MIMD アーキテクチャは、PE を追加するとメモリ競合が発生するため、拡張が困難です。分散メモリ MIMD モデルでは、各 PE が独自のメモリを持っているため、このようなことは起こりません。

分散システムアーキテクチャとコンポーネント

分散システムは、ハードウェアからソフトウェアまでのコンピューティング階層モデル全体に​​おける複数のコンポーネントの相互作用の結果です。多くのコンポーネントが連携して、単一の総合的なシステムをユーザーに提供します。次の図は、分散システム サービスを提供するさまざまなレイヤーの概要を示しています。

最下位レベルでは、コンピューターとネットワーク ハードウェアが物理インフラストラクチャを構成し、これらのコンポーネントはオペレーティング システムによって直接管理されます。オペレーティング システムは、プロセス間通信、プロセスのスケジュールと管理、ファイル システムとローカル デバイスのリソース管理のための基本的なサービスを提供する役割を担います。ネットワークとコンピュータの 2 つの層を 1 つのプラットフォームに統合し、このプラットフォーム上で特定のソフトウェアを構成することで、ネットワーク化されたコンピュータを分散システムに編成できます。

認められた標準をオペレーティング システム層、さらにはハードウェア ネットワーク層に適用することで、異種コンポーネントを使用して統一された統合システムを簡単に構築できます。たとえば、異なるデバイス間のネットワーク接続はプロトコルによって制御され、デバイス間のシームレスな相互作用が可能になります。オペレーティング システム層では、TCP/IP プロトコル、UDP プロトコルなどの標準化された通信プロトコルに基づいてプロセス間通信サービスが実装されます。

ミドルウェア層はこれらのサービスを使用して、分散アプリケーションを開発および展開するための統合環境を構築します。このレイヤーは、分散システムのプログラミング パラダイムをサポートします。ミドルウェア層は、オペレーティング システムによって提供されるサービスに依存して、分散アプリケーションを開発するためのプロトコル、データ形式、プログラミング言語またはフレームワークを開発します。これらは、基盤となるオペレーティング システムから完全に独立し、基盤となる異種性を保護する、分散アプリケーション開発者向けの統一されたインターフェイスを提供します。

分散システム階層の最上位層は、ミドルウェアを使用して設計および開発されたアプリケーションまたはサービスです。アプリケーション層は複数の目的を満たすように設計されており、ローカル ブラウザーまたは Web ブラウザーからアクセスできるグラフィカル ユーザー インターフェイス (GUI) を備えています。たとえば、クラウド コンピューティング システムでは、エンド ユーザーに分散アプリケーション インターフェイスを提供する場合でも、分散システムを構築するためのプラットフォーム サービスを提供する場合でも、Web テクノロジを使用することが強く推奨されます。 IaaS プロバイダーの良い例としては、仮想マシンの作成、それらのクラスターへの編成、クラスター内でのアプリケーションとシステムの展開を容易にする Amazon Web Services (AWS) などが挙げられます。図 2-11 は、分散システムの一般的なリファレンス アーキテクチャがクラウド コンピューティング システムにどのように適用されるかを示しています。

ハードウェア層とオペレーティング システム層は、1 つ以上のデータ センターの最も基本的な構造を構成します。データ センターには、サーバーが展開され、高速ネットワークを介して相互に接続されます。このハードウェアは、コンピューターとネットワークを管理するための基本的な機能を提供するオペレーティング システムによって管理されます。コアビジネスロジックは仮想化層を管理するミドルウェア上に実装され、リソースの使用率を最大化するために物理マシン上に仮想化が展開されます。また、カスタマイズ可能なアプリケーション ランタイム環境も提供します。利益は顧客に提供されるサービスの種類によって決まります。ミドルウェアは、アプリケーション開発者にさまざまなツールを提供します。これらのツールは、Web 2.0 互換のインターフェイスを通じて、仮想マシンの作成、アプリケーションの開発、ランタイム環境の展開など、さまざまなサービスを提供します。

<<:  オンラインでお試しください! 3ステップでHarmonyOSの分散タスクスケジューリングを完了

>>:  分散システム調整カーネル - Zookeeper

推薦する

ハイブリッドクラウドの長所と短所は何ですか?

大企業はもはやオンプレミスのシステムだけで済ませることはできません。そのため、一部のデジタル業務をク...

Baidu 検索リソース プラットフォーム チュートリアル

石家荘 SEO トレーニングは、Baidu 検索リソース プラットフォームは、トラフィックやキーワー...

VMware Li Ying: 従来のデータセンターの限界を打ち破り、企業のデジタル変革を促進

[51CTO.com からのオリジナル記事] クラウド環境では、企業はビジネスの急速な発展に対応でき...

個人ブログでは、ウェブサイトの位置付けとキーワードの選択も適切に行う必要がある。

最近、突然ひらめきがあり、SEOをしている友達がみんな自分のブログを持っているのを見て、自分でWor...

ブラック 5 の推奨事項: secureservers-2.86% オフのサーバー/古いフェニックス データ センター

フェニックス (米国西海岸アリゾナ州) 最大のデータ センターであり、米国で最も古いコンピューター ...

クラウド移行の実際のコスト

クラウド コンピューティング アプリケーションの急増により、多くの組織が従来のワークロードとオンプレ...

クラウドコンピューティングは多様化と総合的な発展の時代に入る

現在の企業 IT インフラストラクチャ技術の唯一の選択肢として、クラウド コンピューティングは探索と...

ZoroCloud: 30% オフ、34 元から、香港/ロサンゼルス、5 ネットワーク CN2 GIA 回線/AS9929、高防御 VPS/専用サーバー

Zorocloudは現在、香港データセンターの5ネットワークCN2 GIA回線の製品を補充しており、...

ウェブサイトのトラフィックとクリック数を増やすことは、ウェブサイトの墓を掘ることに等しい

最近はトラフィックを増やすツールが多すぎます。インターネットで検索すれば、トラフィックを増やすソフト...

国内のデータベースメーカーは、50兆ドル規模の新しいインフラ市場にどのように参入するのでしょうか?

今年の両会期で初めて「新インフラ」が政府活動報告に盛り込まれたため、業界では関連テーマが注目の的とな...

インデックスが適切に行われたウェブサイトが突然インデックスされなくなった理由の分析

実際、SEO 作業では、いくつかの問題に遭遇することがよくあります。これらの問題が単純であるかどうか...

inet.ws はどうですか?米国中部のシカゴデータセンターにおけるVPS評価

inet.ws は、米国中部のシカゴで VPS ビジネスを展開しています。KVM 仮想化、純粋な S...

#無料 cpanel# cloudcone - $13/KVM/4g メモリ/120g/1T 高防御 + Alipay

Cloudcone は、時間単位で料金を請求し、VPS と専用サーバーを提供する人気の VPS ベン...

無視されているウェブコンテンツの書き方

「絵で読む時代」と言われる現在、動画、音声、画像などインターネット上のさまざまな表現が勢いを増してい...

画像は重要: ウェブサイトの画像を最適化して SEO を強化する方法

世の中に出るとき、イメージはとても重要です。インターネット上で活動する場合、あなたのイメージはあなた...