超並列マシン
超並列マシン (ちょうへいれつマシン、Massively parallel machine) は1990年代から台頭してきた、並列計算機の中で規模の大きなもの(CPU数の多いもの)を言う。大規模クラスターマシン、大規模ワークステーションクラスター、地球シミュレーターなども超並列マシンの範疇に入れることができる。時代と共に並列度は大きくなり、CPU性能は向上するため、何個以上のCPU数(或いは性能)で超並列であるというはっきりとした定義はない。
超並列マシンは分散メモリ型のコンピュータシステムであり、多数のノードから構成され、各ノードは基本的に独立したコンピュータとなっている。本来の超並列マシンはnCUBEやコネクションマシンなどのように、ほとんどのノードがCPUとメモリとノード間接続用の通信ポートのみで構成されるものであった。ノード間通信にはMPIのような標準的なプロトコルを使用してメッセージをやり取りする。2005年現在のスーパーコンピュータはほとんどが超並列マシンである。超並列マシンの性能は、実行しようとするアプリケーションの並列性と、スレッド間の通信量に左右される。アプリケーションの並列性が高ければ多くのノードに展開して並列実行できるため、性能向上が期待できる。しかし、共有メモリ型と異なり、あるスレッドの実行結果をメモリに置くだけでは他のスレッドからは見えないため、通信が必要となる。したがって、計算途中に他のスレッドの結果を待ち合わせなければならないようなアプリケーションではノード数に比例した性能向上は期待できない。超並列マシンでの計算性能の向上は研究の活発な領域である。
コンシューマー市場での超並列
超並列処理技術は、ハイパフォーマンスコンピューティング以外の用途でも使われている。その最も普及した例が、Graphics Processing Unit(GPU)である。最新世代のGPUは、少なくとも100個以上、ハイエンドモデルでは1000個以上の汎用プロセッサエレメント(俗称シェーダーユニット)を持ち、これらを8個から32個を一つの命令デコーダに接続し、一つの命令で8~32個のデータを同時処理できる。このプロセッサエレメントのクラスターを巨大なクロスバースイッチデータバスや、リングバスに接続し、汎用のシェーダ記述言語をSIMDやVLIW技術を駆使した内部命令セットへ変換し、10GFLOPSもの性能を持つ製品もある。近年、このGPUを多数接続して安価な大規模超並列コンピュータを製造しようと言う動きがあり、GPUメーカーもGPGPU向けに倍精度浮動小数点計算を強化したバージョンを徐々に浸透させつつある。近い将来GPGPUの為に単精度・倍精度の両方を処理できる高精度プロセッサエレメントを多数搭載した製品の登場も見込まれる。