フリンの分類とは? わかりやすく解説

フリンの分類

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/07 09:30 UTC 版)

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

分類

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

分類 概要
Single Instruction, Single Data stream (SISD) 命令にもデータにも並列性のない逐次的なコンピュータ。SISDアーキテクチャの例としては、いわゆるシングルプロセッサのマシンが挙げられ、旧式のパーソナルコンピュータや古いメインフレームがある。
Single Instruction, Multiple Data streams (SIMD) 命令列は1つだが、それを複数のデータストリームに適用する形態のコンピュータ。画像、音声、動画などを扱うマルチメディア処理で多用されている。例えば、ベクトル計算機GPUMMXSSE3DNow!SPEがある。
Multiple Instruction, Single Data stream (MISD) 命令列が複数あり、それを1つのデータストリームに適用する形態のコンピュータ。あまり一般的ではないが、フォールトトレラント設計のシステムで冗長性を確保するために使われる。理論的にMISD型で提案されたコンピュータもいくつかあったが、高価である割に性能はあまり高くなく、大量生産されるには至っていない。
Multiple Instruction, Multiple Data streams (MIMD) 複数のプロセッサが同時並行的にそれぞれ異なるデータを異なる命令で処理するコンピュータ。一般に分散システムはMIMD型であると言われ、単一の共有メモリを使う場合と、分散メモリを使う場合がある。近年のパーソナルコンピュータではプロセッサが複数のコアを搭載し(マルチプロセッサマルチコア)、マルチタスクをアプリケーション単位で分散している。

図解

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

SI– MI–
–SD
–MD

さらなる分類

2006年現在、TOP500で上位に並ぶマシンは、ほとんどがMIMD/SIMDヘテロジニアスアーキテクチャである。MIMDをさらに以下のように分類することもある。[3][4][5][6]

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

これ以外の分類法も提案されている[8]

また批判として、フリンの分類は「機械的に過ぎ」、現在[9]までに提案された並列計算機を特徴に応じてうまく分類できないとして、新しい分類を試みた書籍もある。[10]

出典・脚注

  1. ^ Flynn, M., Some Computer Organizations and Their Effectiveness, IEEE Trans. Comput., Vol. C-21, pp. 948, 1972.
  2. ^ Duncan, Ralph, "A Survey of Parallel Computer Architectures", IEEE Computer. February 1990, pp. 5-16.
  3. ^ SPMD ローレンス・リバモア国立研究所
  4. ^ Programming requirements for compiling, building, and running jobs アメリカ大気研究センター
  5. ^ SPMD or Manager/Worker コーネル大学
  6. ^ Distributed-memory programming アメリカ国立標準技術研究所
  7. ^ single program multiple data アメリカ国立標準技術研究所
  8. ^ Distributed Memory Programming コーネル大学
  9. ^ 1988年の書籍
  10. ^ 雨宮真人・田中譲『コンピュータアーキテクチャ』ISBN 4-274-07426-9 pp. 26-

外部リンク

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。


フリンの分類

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/25 13:20 UTC 版)

並列計算」の記事における「フリンの分類」の解説

マイケル・J・フリンは、並列(および逐次コンピュータ/プログラム分類であるフリンの分類を提案したフリン命令列が単一複数かという点と、その命令列(群)が扱うデータ単一複数かによって4種類分類したSISD単一命令単一データ)は、完全に逐次的プログラム等価である。SIMD単一命令複数データ)は同じ操作多数データに対して行う場合意味する。これは信号処理などで一般的である。MISD複数命令単一データ)はあまり使われない分類だが、フォールトトレラントシステム冗長構成を指すことがある。シストリックアレイのようなアーキテクチャがこれに相当するが、実際の応用例少ない。MIMD複数命令複数データ)は、ほとんどの並列プログラム対応するデイビッド・パターソンジョン・ヘネシー著書には「もちろん一部マシンはこれらの混成であるが、単純で分かりやすくとりあえずの近似としては最適であるが故にこの分類が今も使われている」とある。

※この「フリンの分類」の解説は、「並列計算」の解説の一部です。
「フリンの分類」を含む「並列計算」の記事については、「並列計算」の概要を参照ください。

ウィキペディア小見出し辞書の「フリンの分類」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「フリンの分類」の関連用語

フリンの分類のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



フリンの分類のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのフリンの分類 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの並列計算 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS