MIMD

MIMD(Multiple Instruction stream, Multiple Data stream)とは



MIMDは、コンピュータにおける並列処理を実現するためのアーキテクチャの一つです。複数のプロセッサが独立して動作し、それぞれが異なる命令と異なるデータを同時に処理できる点が特徴です。この並列処理能力により、CAD/CAM、シミュレーション、モデリング、通信スイッチなど、様々な分野で応用されています。

MIMDアーキテクチャは、プロセッサがどのようにメモリにアクセスするかによって、大きく2つのタイプに分類されます。

共有メモリ型MIMD



共有メモリ型MIMDは、複数のプロセッサが共通のメモリ空間を共有するアーキテクチャです。これにより、プロセッサ間でのデータ共有が比較的容易に行えます。共有メモリ型はさらに、バス方式と階層型バス方式に分けられます。

バス方式


バス方式は、最も単純な形態で、全てのプロセッサとメモリが単一のバスに接続されています。しかし、バスがボトルネックになりやすく、大規模なシステムには不向きです。主に小規模なシステムや、対称型マルチプロセッシング(SMP)で利用されます。

階層型バス方式


階層型バス方式は、複数のバスを階層的に接続した構造を持ちます。下位のバスはプロセッサとメモリを接続し、上位のバスは異なる下位バスを接続します。これにより、メモリアクセスに非一様性(NUMA)が生じ、アクセス速度が場所によって異なります。比較的小規模なNUMAマシンで採用されることが多いです。

分散メモリ型MIMD



分散メモリ型MIMDは、各プロセッサが専用のローカルメモリを持つアーキテクチャです。プロセッサ間でのデータ共有は、メッセージパッシングによって行われます。共有メモリがないため、メモリアクセス時の競合は発生しません。プロセッサ間の接続には、ハイパーキューブ型やメッシュ型などの相互接続ネットワークが利用されます。

ハイパーキューブ型ネットワーク


ハイパーキューブ型ネットワークは、超立方体の頂点にプロセッサとメモリを配置するネットワークです。2のn乗個のノードがある場合、各ノードはn個の他のノードと直接接続されており、最も遠いノードへはn個のノードを経由して到達します。ただし、ノード数が2のn乗個に限定されるため、必要なノード数よりも多く用意しなければならない場合があります。

メッシュ型ネットワーク


メッシュ型ネットワークは、2次元の格子状にプロセッサとメモリを配置するネットワークです。各プロセッサは、近傍の4つのプロセッサと直接接続されます。格子の端同士を接続し、トーラス型に構成されることも多いです。ハイパーキューブ型に比べてプロセッサ数の自由度が高い一方、最も遠いプロセッサとの距離は大きくなります。

まとめ



MIMDは、並列処理を効果的に行うための重要なアーキテクチャです。共有メモリ型と分散メモリ型にはそれぞれ特徴があり、アプリケーションの要件に応じて適切なアーキテクチャを選択する必要があります。MIMDアーキテクチャは、今日の高性能コンピュータシステムにおいて不可欠な要素となっています。

関連用語



対称型マルチプロセッシング
NUMA
フリンの分類
SPMD
* マルチコア

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。