インターコネクト・ネットワークを使った並列コンピュータは、直接接続されていないノード間でメッセージパッシングできるように何らかのルーティング機構が必要となる。大規模なマルチプロセッサ機では、プロセッサ間の通信媒体は複数の階層を構成することもある。
並列コンピュータの分類.
並列コンピュータは、ハードウェアのどのレベルで並列性をサポートするかによって大まかに分類できる。これは、基本計算ノード間の距離とも大まかに対応している。
なお、以下の分類は相互排他的ではない。例えば、対称型マルチプロセッサを複数束ねたクラスターというのもよくある構成である。
マルチコア・コンピューティング.
対称型マルチプロセッシング.
分散コンピューティング.
クラスターコンピューティング.
超並列プロセッサ.
グリッド・コンピューティング.
専用並列コンピュータ.
並列処理専用のマシンには、利用分野が限定されているものや、特定の並列問題のクラスしか解けないものもある。
ソフトウェア.
並列型コンピュータでのプログラミング向けに、プログラミング言語、ライブラリ、API、並列プログラミングモデルが生み出されてきた。
自動並列化.
アプリケーション・チェックポインティング.
GPGPU.
歴史.
課題.
一般に、プログラムの処理全体のうち、複数のプロセッサで均等に処理できる部分の割合をプログラムの並列度と言う。並列コンピュータの処理性能を活かすには、プログラムの並列度が高くなければならない。
買い物を例にとろう。まず買い物の前に、財布の中身を確かめなければならないし、足りなければ銀行で補充もしなければならない。その後はじめてお店にも行かなければならない。銀行に行くのと、お店に訪れるのは同時にできないし、財布の中身を確認してからでなければ、お店には行けない。プログラムもこれと似て、実行順番が変えられなかったり、同時に実行できなかったりする部分がどうしてもできてしまう。このため複数のプロセッサで同時に、かつ実行順番に依存しないようなプログラムのみでプログラムを構成することは難しい。