フリンの分類

フリンの分類（フリンのぶんるい、）は、計算機科学の分野で並列処理に関するコンピュータ・アーキテクチャの分類である。マイケル・J・フリン（Michael J. Flynn）が1966年に提案した。。

分類 
フリンが提唱した分類は、アーキテクチャ上の命令(または制御)の並行度とデータストリームの並行度に基づく4種類である。

図解 
4つのアーキテクチャを図解したものを以下に示す。"PU" はプロセッシングユニット（処理単位）、"Instruction Pool" は命令プール、"Data Pool" はデータプールである。

さらなる分類 
2006年現在、スーパーコンピュータの性能比較（TOP500）で上位に並ぶマシンは、ほとんどがMIMD/SIMDヘテロジニアスアーキテクチャである。MIMDをさらに以下のように分類することもある。

 Single Program, Multiple Data streams (SPMD)
 複数のプロセッサが同時並行的に同じプログラムを実行する。ただし、SIMDやMISD（ロックステップ実行）のように同じ箇所ではなく、それぞれ別の箇所を実行し、別々のデータを使用する。'Single Process, multiple data' とも呼ばれ、並列プログラミングでは最も一般的とされる。
 Multiple Program Multiple Data (MPMD)
 複数のプロセッサが同時並行的に少なくとも2つ以上の独立したプログラム群を実行する。これは例えばマルチプロセッサで複数のプロセスを同時に実行するという意味ではない。その場合は単にハードウェアがマルチプロセッサになっているだけで、それをオペレーティングシステムが複数のコンピュータであるかのように見せているだけである。ここでいうのは、1つのノードを「ホスト」または「マネージャ」とし、そこで第一のプログラムを実行して、そのプログラムが他のノード群に第二のプログラムとデータを分配して実行されるような形態である。そのようにして各ノードが実行した結果をマネージャノードに返す。

これ以外の分類法も提案されている。

脚注

外部リンク 
Michael J. Flynn

コンピュータアーキテクチャ
コンピュータの形態
並列コンピューティング
エポニム