並列コンピューティング(へいれつ-、parallel computing、並列計算、並列処理)とは、コンピュータにおいて複数のプロセッサで1つのタスクを動作させること。問題を解く過程はより小さなタスクに分割できることが多い、という事実を利用して処理効率の向上を図る手法である。また、このために設計されたコンピュータを並列コンピュータという。ディープ・ブルーなどが有名。 関連する概念に並行計算があるが、並行計算は物理的な並列化のみならず、マルチスレッドなどで仮想的な資源の多重化を行い、プロセッサの待ち時間を他のタスクに利用する場合も含む。
一般的には多くのパーソナルコンピュータや、サーバ、スーパーコンピュータを接続し、並列コンピューティングを行うものはクラスターと呼ばれることが多い。 このクラスターをさらにインターネットなどの広域ネットワーク上で分散・協調させるものも広義には並列コンピューティングに属し(クラスターは1台のパーソナルコンピュータでも構わないことに注意)、分散コンピューティングあるいはグリッド・コンピューティングと呼び(狭義の)並列コンピューティングとは区別することが多い。
目次
1 可能性と問題点
2 背景
2.1 アムダールの法則とグスタフソンの法則
2.2 データ従属性
2.3 競合状態、相互排他、同期、並列スローダウン
2.4 細粒度並列性、粗粒度並列性、驚異的並列
2.5 一貫性モデル
2.6 フリンの分類
3 並列性の分類
3.1 ビットレベルの並列性
3.2 命令レベルの並列性
3.3 データ並列性
3.4 タスク並列性
4 ハードウェア
4.1 メモリと通信
4.2 並列コンピュータの分類
4.2.1 マルチコア・コンピューティング
4.2.2 対称型マルチプロセッシング
4.2.3 分散コンピューティング
4.2.3.1 クラスターコンピューティング
4.2.3.2 超並列プロセッサ
4.2.3.3 グリッド・コンピューティング
4.2.4 専用並列コンピュータ
5 ソフトウェア
5.1 自動並列化
5.2 アプリケーション・チェックポインティング
6 歴史