
コンピューティングにおいて、マルチインストゥルメントシングルデータ(MISD )は、多数の機能ユニットが同じデータに対して異なる操作を実行する並列コンピューティングアーキテクチャの一種です。パイプラインアーキテクチャはこのタイプに属しますが、パイプラインの各ステージで処理された後のデータが異なるという点で、MISDとは明らかに異なります。タスクレプリケーションと呼ばれる方法で、同じ命令を冗長に実行してエラーを検出および隠蔽するフォールトトレランスも、このタイプに属すると考えられます。このアーキテクチャのアプリケーションは、MIMDやSIMDに比べてはるかに一般的ではありません。後者の2つは、一般的なデータ並列技術により適していることが多いためです。具体的には、 MIMDとSIMDは、より優れたスケーリングと計算リソースの使用を可能にします。ただし、コンピューティングにおけるMISDの顕著な例の1つは、スペースシャトルの飛行制御コンピュータです。[ 2 ]
HT KungとCharles E. Leisersonによって初めて記述されたシストリックアレイ(ウェーブフロントプロセッサ)は、 MISDアーキテクチャの一例です。典型的なシストリックアレイでは、並列入力データがハードワイヤードされたプロセッサノードのネットワークを流れ、人間の脳のように、入力データを結合、処理、統合、またはソートして派生結果を生成します。
シストリックアレイは、多くの場合、「乗算と累積」などの特定の演算のためにハードワイヤリングされており、大規模並列積分、 畳み込み、相関、行列乗算、またはデータソートタスクを実行します。シストリックアレイは通常、特定のアプリケーション用にハードワイヤリングまたはソフトウェア構成できるプリミティブコンピューティングノードの大規模なモノリシックネットワークで構成されています。ノードは通常固定で同一ですが、相互接続はプログラム可能です。対照的に、より一般的なウェーブフロントプロセッサは、アレイのサイズと設計パラメータに応じて、モノリシックである場合とそうでない場合がある、高度で個別にプログラム可能なノードを使用します。シストリックアレイを通過するデータの波のような伝播が人間の循環器系の脈拍に似ているため、シストリックという名前は医学用語から作られました。
シストリックアレイの大きな利点は、すべてのオペランドデータと部分的な結果がプロセッサアレイ内に保持される(通過する)ことです。標準的な逐次マシンとは異なり、各演算中に外部バス、メインメモリ、または内部キャッシュにアクセスする必要はありません。また、データ依存性はプログラマブルノード相互接続によって暗黙的に処理されるため、アムダールの法則によって規定される並列性能の逐次的な制限も、シストリックアレイでは同様には適用されません。
したがって、シストリックアレイは、人工知能、画像処理、パターン認識、コンピュータビジョンなど、動物の脳が非常に得意とするタスクにおいて極めて優れた性能を発揮します。また、ウェーブフロントプロセッサは、ハードウェア上で自己構成型ニューラルネットワークを実装することで、機械学習においても非常に優れた性能を発揮できます。
シストリックアレイは公式にはMISDに分類されますが、その分類にはやや問題があります。入力は通常、独立した値のベクトルであるため、シストリックアレイはSISDではありません。これらの入力値は結果にマージされ結合されるため、 SIMDベクトル処理ユニットのように独立性を維持しません。したがって、このアレイをSISDとして分類することはできません。結果として、MIMDは単に小型のSISDおよびSIMDマシンの集合と見なせるため、このアレイをMIMDとして分類することもできません。
最後に、データ群はアレイをノードからノードへと通過する際に変換されるため、複数のノードは同じデータに対して動作しているわけではなく、そのためMISDという分類は不適切です。シストリックアレイがMISDとして認められないもう1つの理由は、 SISDカテゴリから除外される理由と同じです。入力データは通常、単一のデータ値ではなくベクトルですが、任意の入力ベクトルは単一のデータセットであると主張することもできます。
上記にもかかわらず、シストリック配列は並列コンピューティングの教科書や工学の授業でMISDアーキテクチャの典型的な例としてよく挙げられます。配列を外部からアトミックと見なす場合、おそらくSFMuDMeR =単一関数、複数データ、マージされた結果として分類されるべきでしょう。 [ 3 ] [ 4 ] [ 5 ] [ 6 ]
{{cite book}}: CS1メンテナンス: 場所 (リンク)